modelo de análise e projeto
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 PresentationTRANSCRIPT
![Page 2: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/3.jpg)
Análise
![Page 4: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/4.jpg)
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
![Page 5: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/10.jpg)
Exemplo: Efetuar LoginClasses de Análise
![Page 11: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/11.jpg)
Exemplo: Efetuar LoginDiagrama de Sequência
![Page 12: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/12.jpg)
Exemplo: Efetuar LoginDiagrama de Colaboração
![Page 13: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/14.jpg)
Descrever Atributos Os atributos das classes são identificados, sem especificar
tipos.
![Page 15: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/15.jpg)
Identificar Relacionamentos Identifica como as classes estão relacionadas dentro do
contexto do caso de uso.
![Page 16: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/16.jpg)
Projeto
![Page 17: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/19.jpg)
Exemplo: Efetuar Login
![Page 20: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/21.jpg)
Projetar a Arquitetura
Maneira 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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/22.jpg)
Arquitetura em Camadas
Interface
Comunicação
Negócio
Dados
![Page 23: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/24.jpg)
Dividir o sistema em pacotes
![Page 25: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/25.jpg)
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”
![Page 26: Modelo de Análise e Projeto](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56814544550346895db21167/html5/thumbnails/26.jpg)
ReferênciasEngenharia de Software e Sistemas – IF682
◦ www.cin.ufpe.br/~if682
Análise e Projeto de Sistemas – IF718◦ www.cin.ufpe.br/~if718