Upload
tovi
View
43
Download
0
Embed Size (px)
DESCRIPTION
Modelo de Análise e Projeto. Luiz Felipe Libório [email protected]. Documento de Requisitos Modelo de Casos de Uso Precisamos converter os casos de uso especificados em um modelo de sistema. Contexto. Análise. - PowerPoint PPT Presentation
Citation preview
Modelo de Análise e Projeto
Luiz Felipe Libó[email protected]
ContextoDocumento de Requisitos
Modelo de Casos de Uso◦Precisamos converter os casos de uso
especificados em um modelo de sistema.
Análise
Análise - Objetivos
Encontrar 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
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
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>>
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>>
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;
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.
Exemplo: Efetuar LoginClasses de Análise
Exemplo: Efetuar LoginDiagrama de Sequência
Exemplo: Efetuar LoginDiagrama de Colaboração
Descrever Responsabilidades Baseado no diagrama de sequência (ou de colaboração),
são identificadas as responsabilidades das classes.
Descrever Atributos Os atributos das classes são identificados, sem especificar
tipos.
Identificar Relacionamentos Identifica como as classes estão relacionadas dentro do
contexto do caso de uso.
Projeto
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;
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
Exemplo: Efetuar Login
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;
Projetar a Arquitetura
Maneira mais comum: dividir o sistema em camadas.
◦ Modularidade;
◦ Dimunição de Dependências;
◦ Facilidade de troca de camadas;
Arquitetura em Camadas
Interface
Comunicação
Negócio
Dados
Dividir o sistema em pacotes
Agrupar as classes em pacotes, baseados em algum critério:
◦ Camadas;
◦ Lógica do sistema;
◦ Subsistemas.
Dividir o sistema em pacotes
PRÁTICA
Ferramenta:◦JUDE
Java and UML Developer Environment
Exercício:◦Analisar e Projetar os casos de uso “Comprar
Ações” e “Efetuar Pagamento do QIB Card”
ReferênciasEngenharia de Software e Sistemas – IF682
◦ www.cin.ufpe.br/~if682
Análise e Projeto de Sistemas – IF718◦ www.cin.ufpe.br/~if718