quinta-feira, 28 de fevereiro de 2008

Aulas 7 e 8 - Projetos Orientado a Objetos

Padrões GRASP

· Criador

O padrão guia a atribuição de responsabilidades relacionadas com a criação de objetos.

Padrão criador segue 5 condições básicas para atribuir responsabilidades:

Atribua à classe B a responsabilidade de criar uma nova instância da classe A se uma das seguintes condições for verdadeira:

- B agrega objetos de A
- B contém objetos de A
- B registra instâncias de objetos de A
- B usa objetos de A
- B tem os valores iniciais que serão passados para
objetos de A, quando de sua criação

Objetos agregados, contêineres e registradores são bons candidatos à responsabilidade de criaroutros objetos, algumas vezes o criador é o objeto que conhece os dados iniciais do objeto a ser criado, o ideal é manter o Baixo Acoplamento e a Alta Coesão.

quarta-feira, 20 de fevereiro de 2008

Aulas 5 e 6 - Projetos Orientado a Objetos

Padrões GRASP

· Especialista na Informação
· Criador
· Coesão
· Acoplamento fraco
· Controlador

Especialista na Informação

Aplicam-se padrões para ter uma documentação da boa prática utilizada, catalogada com problemas e soluções, se um nome ao padrão, problema que resolve e solução apresentada para determinado problema, padrões GRASP tem por sua vez atribuir a objetos responsabilidades ao mesmo. De imediato estamos falando do padrão Especialista na Informação, nada mais é do que um conjunto de software responsável por identificar quem detém é responsável pela informação fornecida, o padrão mais utilizado para atribuir responsabilidades, sendo assim como há muita informação espalhada em vários objetos, há em cada objeto um Especialista parcial. Aplicam-se os dois principais métodos conhecer e saber, só assim chegará à solução desejável. O Padrão especialista não está explicito no modelo de Análise ele surgi no modelo de projeto isso não significa que se não houver informação suficiente ele não possa detalhar mais o modelo de análise ao ponto de haver mudança no modelo do projeto. As classes elas deverão ter o conhecimento de suas atribuições e responsabilidades para fornecer tais informações a partir daí outras classes terão acesso.
No padrão Especialista na Informação o encapsulamento é mantido ocultando as informações, pois utiliza suas próprias informações para executar suas responsabilidades, ou seja, as responsabilidades estão juntas com os dados isso faz com que haja um fraco acoplamento e uma alta coesão entre os objetos tornando os sistemas mais robustos e fáceis de manter.

quarta-feira, 13 de fevereiro de 2008

Aulas 3 e 4 - Projetos Orientado a Objetos

Diagramas de Interação

- Colaboração
- Seqüência

Diagrama de colaboração as ligações são feitas de forma simples e, representadas no modo de grafo, os objetos não tem uma localização especifica, a indicação das mensagens neste diagrama é feita através de setas específicas e paralelas à principal (associação), essas mensagens podem ir evoluindo de acordo com o projeto. Para se criar novas instancias é preciso deixar claro utilizando o comando create seguido do estereótipo utilizado na UML. No diagrama de colaboração pode ainda ser criadas condição e iteração, ou seja, se houver necessidade, no caso da iteração para identificá-la será antecedida por um *, na seqüência a condição geralmente um looping.

Diagrama de seqüência são apresentadas através de raias com a finalidade de determinar inicio, meio e fim, as trocas de mensagens entre os objetos são apresentadas de forma clara para que no decorrer do projeto facilite na implementação, se utilizam de métodos e instancias que por sua vez indicam a qual objeto está se relacionando. Através do diagrama de seqüência podemos ter idéia de como ficará o código na prática, uma visão geral de como o código do projeto poderá ficar.
O que são comuns entre os diagramas de Seqüência e Colaboração são as classes e instancias que no projeto irão surgir.

Padrões

Padrões é um conjunto de soluções para o problema nominado, segue referencias, modelos, regras etc. São utilizados para aplicar responsabilidades a cada atribuição, de forma que possam ser respeitados os limites que são impostos a cada uma, por exemplo, só começa a realizar o trabalho logo após que a outra atribuição terminou dentro do estudo de padrões há algumas definições:

- O saber - quando algo tenha o conhecimento de determinado tarefa, atribuição.
- O fazer - diz respeito a obrigatoriedade de fazer, executar a tarefa.

- Granularidade alta quando envolve vários objetos em uma operação.

- Granularidade Baixa quando um objeto é acionado e não depende de outros para execução da tarefa.


quinta-feira, 7 de fevereiro de 2008

Aulas 1 e 2 - Projeto Orientado a Objeto

Análise:

Não tem como falar de Projeto Orientado a Objeto sem antes passarmos por Análise Orientada a Objeto, onde é feito todo o levantamento dos dados que serão utilizados no decorrer do projeto, é na análise que definimos qual caminho que o projeto deverá percorrer, ou seja, quais detalhes, interações e interfaces que o sistema deverá atender aos requisitos que foram levantados a partir da investigação inicial do projeto, partindo desse preceito, saímos da análise para o projeto propriamente dito, chamamos de Transição da Análise para o Projeto.

Projeto:

Não que a análise foi mal elaborada, mas o projeto tem como objetivo ir mais a fundo em suas atribuições, refinando todo levantamento de requisitos que foi realizado pela Análise, na Análise do Projeto serão abordados objetos de software que se interagem, desenvolver o projeto para satisfazer os requisitos se utilizando de métodos e instancias que o projeto será desenvolvido a partir de uma Linguagem OO “JAVA” , Diagramas de Interação (Seqüência ou Colaboração), colaboração entre objetos onde há uma troca de mensagens entre os objetos de um para o outro, se utilizando de métodos que são adotadas na linguagem OO, sem contar que é indispensável o uso da UML para definição de interfaces, classes, domínios, diagramas de seqüência e atividades, tendo a UML como ferramenta de Apoio ao desenvolvimento, as decisões do projeto serão tomadas com maior precisão tornando o projeto mais visível como um todo.