quinta-feira, 28 de fevereiro de 2008

Aula 7 e 8 de Projetos Orientado a Objetos

- Criador

O padrão de atribuição de responsabilidades é baseado na criação de objetos de uma classe, ou seja, uma classe tem a responsabilidade de instanciar uma outra para a criação de um objeto.
Vamos dizer que temos uma classe "Nota" e uma outra classe "Item", na classe Nota contém objetos da classe Item, assim também agrega os seus objetos pois o item faz parte da nota. Para buscar informações de um Item é preciso que a classe Nota instancie a Item para que assim utilize as informações de Item.
Nesse caso a classe Nota é um grande candidato para criar as instâncias, assim podemos definir que uma classe criador é uma classe que irá: conter, agregar, instanciar, usar ou possuir objetos de uma outra classe.

sexta-feira, 22 de fevereiro de 2008

Aula 5 e 6 de Projetos Orientado a Objetos

As cinco primeiras atribuições de responsabilidade nos princípios fundamentais de projetos baseados em objetos.
Especialista na informação surge do seguinte principio: Existe uma situação onde é esperado um resultado e para chegar a ate este resultado, devemos encontrar a classe que contenha a informação necessária para dar a solução.
Desta forma podemos fazer uma analogia de que para um software cada “especialista” tem sua responsabilidade, visualmente para o usuário do software esta tudo sendo realizado em um único lugar, porem na realidade para chegar ao resultado desejado o software junta todas as classes que contenham as informações onde irão gerar o resultado desejado. Como exemplo podemos citar um estoque onde manualmente o responsável pelo estoque deve retirar o produto diminuir do estoque e calcular a quantidade atual, já com isso automatizado o software terá varias classes onde cada uma terá sua responsabilidade, sendo assim as informações estão dispersas onde serão reunidas para se chegar ao resultado.
Assim temos como conseqüência o fraco acoplamento entre objetos, o encapsulamento é mantido e dando uma maior coesão sendo que os fazem tudo relacionado às suas informações.

quinta-feira, 14 de fevereiro de 2008

Aula 3 e 4 de Projetos Orientado a Objetos

Citados na postagem anterior, os diagramas de seqüência e de colaboração são duas ferramentas utilizadas para maior entendimento do que será executado no projeto e até mesmo uma forma de mostrar graficamente para leigos em código de programação entenderem. O diagrama de colaboração é mais simples em comparação com o diagrama de seqüência, ou até mesmo podemos dizer que um pouco desorganizado, pois as classes e associações não tem uma linha definida, pode ser organizada conforme ficar melhor no espaço existente sendo assim facilitando para quem criar uma desorganização, porem poderá ser organizado se o construtor o fizer bem. Já no diagrama de seqüência é criado em raias, ou seja para cada objeto criado surge uma raia que determinará o seu "tempo de vida", assim sendo mais assimétrico, e conforme as mensagem são criadas de objeto para objeto a linha de tempo vai descendo, ou seja, a seqüência respeita a ordem de cima para baixo e seguindo se as setas, como um mapa de caça ao tesouro. Em ambos diagramas para cada instancia criada é necessária a utilização da palavra create, para definir que esta sendo criada uma nova instancia de um objeto. Dentro disso existem padrões a serem seguidos, como qualquer outro projeto. Seguir regras, criar modelos e ter referencias e etc.

quarta-feira, 13 de fevereiro de 2008

Aula 1 e 2 de Projetos Orientado a Objetos

Em se tratando de projetos orientado a objetos podemos citar dois pontos fortes: Análise e Implementação. A parte de análise, que é o start do projeto pois é onde envolve toda parte levantamento de requisitos, entrevistas com usuários e definição dos pontos com o cliente e etc. Trabalhar com o princípio do 5W2H, Why(Por que), What(O que), When(Quando), Who(Quem), Where(Onde), How(Como), How Much(Quanto), utilizar a WBS como modelo de gestão de projeto, ou seja, todo planejamento de pessoas, tempo e custo. Definições de tecnologia são muito importantes nessa etapa do projeto, pois a analise é realizada com base na tecnologia a ser utilizada na implementação. Após esta fase de análise vem a parte de implementação do projeto, ou seja, o passo posterior a análise, colocar em prática o que foi levantado. Ferramentas de UML são muito importantes nesse momento, pois é da leitura de diagramas como: Seqüência ou colaboração, que irão definir as tarefas que serão executadas pelo software e de que forma quem esta utilizando deverá proceder. Sendo assim o uso de UML da se por importante pelo fato de que uma analise mal elaborada terá grandes chances de resultar em um projeto mal sucedido, alem de que mantém uma documentação completa do projeto facilitando em sua manutenção que se da durante toda elaboração do projeto.