Introdução
description
Transcript of Introdução
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
Motivação– Crise do Software– Desenvolvimento Cooperativo– Complexidade dos Sistemas– Soluções mais rápidas - menos testes,
menos reprogramação
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
Análise e Projeto Estruturados (APOF)– Modularidade x Fluxo Sequencial– Decomposição por função ou processo
Análise e Projeto Orientados a Objeto– Sistemas de grande porte - complexidade– Decomposição por conceito
Discussão: é possível combinar os dois métodos?
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
Método– Notação com semântica associada– Procedimento para aplicação da notação– Métricas de progresso – Critério para término do processo
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
Fases do desenvolvimento– Modelo de cascata - sequencial impossível– Número de iterações depende de vários
fatores• Clareza dos requisitos iniciais - onde queremos
chegar?• Estilo dos membros da equipe de
desenvolvimento• Ferramentas de apoio ao desenvolvimento
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
Discussão: Com método OO, ‘misturamos’ as fases de desenvolvimento?– Objetos tendem a persistir da fase de
análise até a implementação– MAS: Diferenças intrínsecas
• Análise: cliente• Projeto: solução• Implementação: linguagens OO
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
APOO– Perspectiva de objetos ou conceitos– Objeto:
• Identidade, estado e comportamento
Análise:– Descrever objetos no domínio do problema
• Ex: Livro, Biblioteca, Usuário• Objetos têm atributos e responsabilidades
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
Projeto– Selecionar objetos lógicos para futura
implementação em uma linguagem OO– Objetos têm atributos e métodos
Construção– Implementar e testar objetos
Prof. Aruanda Simões - Análise e Projeto OO
Introdução
Vantagens– Abstrações mais próximas ao domínio – Dividir para conquistar - facilita a
compreensão do domínio e a programação– Integração entre as fases– Encapsulamento - atualizações controladas– Herança - flexibilidade – Reutilização