sexta-feira, 28 de agosto de 2009

Metodologias de Sistemas, Objetos, Classes

Sumário: Metodologia de Sistemas,Objetos,Classes


- O fundamento é não so ensinar Orientação a Objetos mais também a Arquitetura de JAVA(aqui eu não vou impor nada, vou dizer da onde vem)
Importante intender que esses tutoriais se baseiam totalmente na Plataforma JAVA.
- Não considero um bom tutorial para se aprender, mais por curiosidade. Muitas coisas você pode até não saber como funciona, mais usa, mesmo porque muita gente usa a Lâmpada mais nem imagina como funciona a eletricidade certo?


Advertência: É necessária a leitura do(s) Post(s): Princípios Básicos: Voce Tem que saber e Teoria Geral dos Sistemas, Paradigmas conceituados!



Oque é uma Metodologia?

É um ciclo de vida no desenvolvimento do seu Programa. Programadores não setam e começam a desenvolver um programa ao invez disso, eles seguem um planejamento, um CICLO DE vida que é seguido.(Temos varios tipos de Metodologias, aqui darei exemplo de um TIPO).


Oque é escopo?
Domínio do problema * oque é que voce vai fazer* Qual o motivo daquilo


Qual será a Metodologia escolhida?

Eu realmente não tenho muito conhecimento sobre metodologias a fundo. De um modo geral resumi muitas as quais eu ja usei em uma muito simples(Desculpa se ja existe uma com essa ideia abreviada, ISSO não fui eu que inventei, é um RESUMO):


Clique na figura para ampliar

Especificações = Classes

Análise -> É a definição concreta do escopo(domínio- Oque é!!!-) do seu problema. Um programa é feito em cima de uma NECESSIDADE(Essa necessidade é determinada no ESCOPO do problema). É um processo da análise de todas as necessidades referentes ao problema.


Projeto(Design) - Pega-se todas as necessidades encontradas na etapa de Análise e cria-se ESPECIFICAÇÕES que tem como objeto resolver o domínio do problema.

Codificação(Desenvolvimento) - Todas as especificações criadas no estágio de Projeto agora se tornarão OBJETOS.

Testes - Assegura que, a Junção de objetos criados na CODIFICAÇÃO resolve o domínio do problema(as necessidades) que o processo de análise encontrou.


Implementação - Com o programa ja pronto, Existe a disponibilização para os Clientes.


Trabalharemos aqui da seção Projeto em diante, o processo de Análise é importante(Alias o mais) porem não faz parte do Intuito desse Tutorial:


Executar e Testar fazem parte da Fase de Testes


Oque é um programa em java?


Um Conjunto de Objetos.(Que juntos são capazes de RESOLVER ou dominio do problema(FASE DE ANÁLISE da Metodologia))

Oque é um Objeto?

É uma abstração de algo.Qualquer elemento capaz de ter COMPORTAMENTO e CARACTERÍSTICA.(Lembra-se de DADOS E FUNÇÃO do post Teoria Geral dos Sistemas, Paradigmas conceituados!? É a relaçao!!!) - Todo objeto tem duas coisas,ATRIBUTOS(CARACTERÍSTICAS) MÉTODOS (COMPORTAMENTO) - So precisa disso agora em mente, um OBJETO TEM 2 coisas.


Desenhando e aprendendo:




Isso é um objeto, clique na imagem para ampliar

Oque são Atributos?

São características do Objeto,O valor atribuido a um atributo é referenciado como o estado do objeto.
Vamos a um Exemplo:

- Um objeto TV, tem o Atributo - COR - sua tv tem uma cor certo?


Oque são Métodos?
São Comportamento. Vamos a um Exemplo:
- um objeto TV, tem o coportamento - Ligar - você pode ligar sua tv certo?


Desenhando e aprendendo:

Isso é um objetoTv Sem estado no atributo cor que sabe Ligar, clique na imagem para ampliar

Onde eu armazeno Atributos no Objeto?

Em Variaveis de Instancia - Por enquanto so saiba isso, Atributos estão nas variaveis de Instancia.(É pessimo o começo, cada hora eles dão um nome para um coisa, dão a volta ao mundo para não complicar, e COMPLICA MAIS AINDA). Variaveis Atributos guardam o ESTADO DO OBJETO.

Como eu crio objetos?
Na fase 2 Projeto(Design) - Temos o conceito de ESPECIFICAÇÃO, cria-se um MOLDE para que seus objetos sigam.Na biologia temos o conceito de classe exemplo: mamíferos, caninos etc(Ou seja todo OBJETO que tenha CARACTERISTA(Atributos em COMUM)). Então cria-se uma classe para dela se CRIAR um objeto.

Oque é uma classe?

É uma especificação. Com uma Classe você pode criar Objetos, a Classe é uma especificação para Objetos isso significa, que é como a JVM irá construir os seus Objetos.
A jvm pega essa Especificação(Classe) cria os seus objetos e preenche os atributos dos objetos(que vai representar o estado do objeto).

Onde moram os Objetos?

Isso é um nivel um pouco alto para quem esta aprendendo agora, porem eu acho muito melhor você aprender desenhando doque lendo,lendo,lendo,lendo e so lendo. Basicamente Objeto vivem na HEAP.Temos 2 áreas básicas que você tem que aprender, LOCAL VARIABLE E HEAP.(Local Variable e heap fazem parte da Arquitetura da JVM).

Desenhando e aprendendo:
Toda vez que for fazer algum Objeto, desenhe isso!!!


Processos em java:
Sabemos que um programa em execução vira processo. Todo processo tem ao menos uma thread(Não precisa estudar thread em java para saber isso!!!).


Desenhando e aprendendo:



Kernel é o gerenciador de Recursos e tarefas do S.O. so precisa saber isso. Ele que "controla".Clique na imagem para ampliar

Oque temos basicamente em uma thread?
Resumindo e somente para utilidade, toda thread tem uma STACK. Então todo processo tem ao menos uma thread, toda thread tem uma STACK.


Desenhando e aprendendo:

Clique na imagem para ampliar

Oque eu tenho dentro da Stack?

Toda Stack tem métodos. O método que será executado é aquele que esta no fim da STACK. O primeiro método que aprenderemos é o main. Se você não tiver o main, consequentemente não tem um método no fim da Stack, consequentemente não tem um programa que poderá ser PROCESSO.
Nesse exemplo sim, AGORA TEMOS UM PROGRAMA QUE PODE SER PROCESSO.

Clique na imagem para ampliar
Qual a relação Heap Local Variable e Stack?

Farei uma coisa ruim, porem farei. Todo Objeto mora em Heap, logo todo processo mesmo que não use, TEM HEAP. Todo processo tem ao menos uma thread, toda thread tem uma STACK. Toda Stack trabalha empilhando Métodos(Toda vez que um método é invocado(Chamado, O método ta na hora de trabalhar!!!), o método entra na STACK.E o método main é invocado automaticamente). Todo método tem uma área que se chama LOCAL VARIABLE.(Só precisa saber disso.)

O intuito é, mostrar oque é um objeto, oque é uma classe, oque é um PROCESSO e oque um PROCESSO EM JAVA PRECISA. No começo é meio confuso, mais Conforme o tempo te garanto que o entedimento doque esta fazendo, supera o de muita gente com experiência.


Erros de compilação:
Todos os erros de compilação são erros de Sintaxe e Semântica ou seja erros na estrutura da Classe.
Exemplo: faltando ; , faltando { } .

É hora da revisão:
- Todo processo tem ao menos uma thread(Não precisa saber de threads de java para saber isso)
- Toda thread tem uma Stack
- Toda Stack tem que ter um método que esta no fim dela, que é oque sera executado(Normalmente usamos o main)

- Local Variable,heap,Stack fazem parte da Arquitetura da JVM
- Classes são especificações para criação de objetos
- Variaveis Atributo dizem qual é o estado atual do objeto Próxima seção será mão na massa com tudo que vimos.
- Erros de Compilação são de Semântica e Sintaxe

CYA DUDES!


Nenhum comentário:

Postar um comentário