modelo de análise e projeto luiz felipe libório [email protected]

26
Modelo de Análise e Projeto Luiz Felipe Libório [email protected]

Upload: elisa-das-neves-do-amaral

Post on 07-Apr-2016

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Modelo de Análise e Projeto

Luiz Felipe Libó[email protected]

Page 2: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

ContextoDocumento de Requisitos

Modelo de Casos de Uso◦Precisamos converter os casos de uso

especificados em um modelo de sistema.

Page 3: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Análise

Page 4: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Análise - ObjetivosEncontrar as classes iniciais do sistema (classes

de análise) e distribuir comportamento dos casos de uso entre elas;

Para cada classe, descrever as responsabilidades, atributos e relacionamentos

Page 5: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Análise - FasesPara cada caso de uso:

◦ Encontrar classes de análise◦ Identificar persistência

Para cada classe:◦ Distribuir comportamento entre as classes◦ Descrever responsabilidades◦ Descrever atributos e associações

Revisar os Resultados

Page 6: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Identificando as Classes As classes são identificadas baseadas na separação em três

tipos:◦ Fronteira;

Representa a interface de um ator com o caso de uso. Esteriótipo: <<boundary>>

◦ Entidade; Representa as informações que são manipuladas pelo sistema, que podem

ser persistentes ou não. Esteriótipo: <<entity>>

◦ Controle; Representa o controle do fluxo de eventos do caso de uso; Esteriótipo: <<control>>

Page 7: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Identificar Persistência Se houver a necessidade de persistência de alguma

informação, é criada uma nova classe de análise, que representa um conjunto de entidades.

Esteriótipo: <<entity collection>>

Page 8: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Diagramas de InteraçãoDiagramas de interação (colaboração e

seqüência) modelam interações do sistema com seus atores;

A interação é iniciada por um ator e envolve instâncias (objetos) das classes;

Diagramas de interação capturam a semântica do fluxo de eventos do caso de uso◦ Auxiliam a identificar classes, responsabilidades e

relacionamentos;

Page 9: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Exemplo: Efetuar Login[UC-01] Efetuar Login

Usuários: Cliente

Entradas: Login do cliente, senha do cliente

Pré-condições: Nenhuma

Pós-condições: Um usuário válido é logado e sua sessão é registrada no sistema.

Fluxo Principal:1. O cliente informa login e senha.2. O sistema verifica se o login e a senha são válidos (verifica se o login e senha pertencem a uma conta).3. O sistema registra o início de uma sessão de uso.

Sub-Fluxos:

- No passo 2, se o login ou a senha forem inválidos, o sistema exibe uma mensagem e volta ao passo 1.

Page 10: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Exemplo: Efetuar LoginClasses de Análise

Page 11: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Exemplo: Efetuar LoginDiagrama de Sequência

Page 12: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Exemplo: Efetuar LoginDiagrama de Colaboração

Page 13: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Descrever Responsabilidades Baseado no diagrama de sequência (ou de colaboração),

são identificadas as responsabilidades das classes.

Page 14: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Descrever Atributos Os atributos das classes são identificados, sem especificar

tipos.

Page 15: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Identificar Relacionamentos Identifica como as classes estão relacionadas dentro do

contexto do caso de uso.

Page 16: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Projeto

Page 17: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Objetivo e Fases Melhoramento do modelo de análise, com o objetivo de

gerar facilmente o modelo da implementação do sistema.

Fases:

◦ Refinar o modelo de classes;

◦ Projetar a Arquitetura;

◦ Dividir o sistema em pacotes;

Page 18: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Refinar o Modelo de Classes Eliminar os estereótipos de análise;

Mapear associações em atributos;

Analisar a possibilidade de utilizar herança;

Definir os tipos dos atributos;

Adicionar modificadores de visibilidade aos métodos e atributos;

Detalhar assinatura dos métodos◦ definir todos os parâmetros dos métodos, seu tipos e o tipo de

retorno dos métodos

Page 19: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Exemplo: Efetuar Login

Page 20: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Refinar o Modelo de Classes Analisar se é necessário criar novas classes ou remover

classes existentes;

Juntar todas as classes em um só diagrama;

Identificar padrões de projeto◦ Ex: Fachada

Revisar as classes;

Page 21: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Projetar a ArquiteturaManeira mais comum: dividir o sistema em

camadas.◦ Modularidade;

◦ Dimunição de Dependências;

◦ Facilidade de troca de camadas;

Page 22: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Arquitetura em Camadas

Interface

Comunicação

Negócio

Dados

Page 23: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Dividir o sistema em pacotes

Agrupar as classes em pacotes, baseados em algum critério:

◦ Camadas;

◦ Lógica do sistema;

◦ Subsistemas.

Page 24: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

Dividir o sistema em pacotes

Page 25: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

PRÁTICAFerramenta:

◦JUDE Java and UML Developer Environment

Exercício:◦Analisar e Projetar os casos de uso “Comprar

Ações” e “Efetuar Pagamento do QIB Card”

Page 26: Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br

ReferênciasEngenharia de Software e Sistemas – IF682

◦ www.cin.ufpe.br/~if682

Análise e Projeto de Sistemas – IF718◦ www.cin.ufpe.br/~if718