ANÁLISE E PROJETO ORIENTADOS A OBJETO
OBJETIVOS
Comparar e contrastar Análise
e Projeto Definir Análise e Projeto Orientados a Objeto
O QUE VAMOS FAZER NA DISCIPLINA?
Saber uma linguagem de
programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem
que saber Análise e Projeto OO (APOO) Isto é, Análise e Projeto usando uma
perspectiva de objetos Nesta disciplina, vamos nos concentrar na fase de
Projeto, supondo que a Análise já foi feita Na prática, a análise e o projeto
são feitos em ciclos Em cada ciclo, a análise vem antes do projeto Ensinamos
Projeto primeiro porque Análise requer mais maturidade e será feita em semestre
posterior Usaremos a linguagem UML (Unified Modeling Language) para
criar modelos (de análise e de projeto) Um modelo é uma
representação abstrata dos aspectos essenciais de um sistema O que é
"essencial" depende do momento da modelagem A UML usa uma
representação principalmente gráfica para representar os modelos UML é muito popular hoje em dia para
modelar sistemas Não vamos ensinar UML nessa disciplina Estude aqui
ou aqui
Usaremos Design Patterns (padrões de
projeto) para mostrar soluções abstratas para problemas que surgem
freqüentemente durante o projeto de sistemas OO Os patterns tratarão
principalmente de: Como atribuir responsabilidades a objetos (uma das
atividades mais difícil no desenvolvimento de sistemas OO) Como separar o que
muda do que é constante numa determinada situação, com o objetivo de ganhar
flexibilidade Para evitar "o efeito gelatina" Análise e Projeto de
Software são feitos usando-se um processo de
desenvolvimento que mostra claramente quais são as etapas a seguir para
produzir software de qualidade Artefatos
devem ser produzidos na várias fases e etapas do processo Não falaremos muito
de processos de desenvolvimento (tem outras disciplinas para isso) Só são
mencionados aqui para mostrar que Análise e Projeto não são atividades soltas
mas fazem parte de uma "metodologia"
O QUE SÃO ANÁLISE E PROJETO?
Diferenças entre análise e
projeto: tem mais do que uma definição empregada
Primeira alternativa:
A análise modela o problema e
consiste das atividades necessárias para entender o domínio
do problema (o que deve ser
feito). É uma atividade de investigação. O
projeto modela a solução e consiste das atividades de criação (como pode ser feito)

Segunda alternativa:
A análise consiste de todas as
atividades feitas com ou para o conhecimento do cliente. A informação produzida
é aquela que o cliente deve discutir e aprovar O projeto inclui as atividades
que resultam em informação que interessa apenas ao programador Com essa
definição, a análise invade um pouco o "lado da solução", pois o cliente
deve discutir alguns tipos de interações que ocorrerão na interface do usuário,
etc.

Observe portanto que não há
definição binária que isole "análise" de "projeto" Nesta
disciplina, adotaremos a segunda alternativa, pois queremos associar as
palavras "análise" e "projeto" aos artefatos (deliverables) entregues nos final
de cada fase Um modelo de análise deve ser aprovado pelo cliente e pode incluir
alguma (pequena) discussão da solução, principalmente no que diz respeito à
interface com usuário, etc. Vamos mencionar também as fases de obtenção de
requisitos, implementação e testes A obtenção de requisitos é freqüentemente
incluída na fase de análise ("análise de requisitos")

O que é Análise e Projeto Orientados a
Objeto (APOO)?
A perspectiva empregada é de objetos (coisas, conceitos ou
entidades) Durante a Análise OO, a ênfase está em achar e descrever objetos (ou
conceitos) no domínio do problema Por exemplo, num sistema de informação para
uma biblioteca, alguns dos conceitos são Livro, Biblioteca, Usuário. Tais objetos podem ter
atributos e responsabilidades Durante o projeto orientado a objeto, a ênfase
está em achar objetos lógicos de software que poderão ser eventualmente
implementados usando uma linguagem de programação OO Tais objetos podem ter
atributos e métodos Cuidado! Não é verdade que haja correspondência 1-para-1
entre entidades no modelo de análise e entidades no modelo de projeto Pode
haver entidade do modelo de análise que não será representado no Projeto (é
raro) Pode haver entidade adicional no projeto (é freqüente) Exemplo: Conexão
de banco de dados, objeto controlador, cache de objetos, etc. Durante a
construção (programação OO), os objetos do projeto são implementados e testados

Nenhum comentário:
Postar um comentário