Modelo de Análise e Projeto

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

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

Transcript of Modelo de Análise e Projeto

Page 1: Modelo  de  Análise  e  Projeto

Modelo de Análise e Projeto

Luiz Felipe Libó[email protected]

Page 2: Modelo  de  Análise  e  Projeto

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

Análise

Page 4: Modelo  de  Análise  e  Projeto

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

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

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

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

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

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

Exemplo: Efetuar LoginClasses de Análise

Page 11: Modelo  de  Análise  e  Projeto

Exemplo: Efetuar LoginDiagrama de Sequência

Page 12: Modelo  de  Análise  e  Projeto

Exemplo: Efetuar LoginDiagrama de Colaboração

Page 13: Modelo  de  Análise  e  Projeto

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

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

tipos.

Page 15: Modelo  de  Análise  e  Projeto

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

contexto do caso de uso.

Page 16: Modelo  de  Análise  e  Projeto

Projeto

Page 17: Modelo  de  Análise  e  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;

Page 18: Modelo  de  Análise  e  Projeto

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

Exemplo: Efetuar Login

Page 20: Modelo  de  Análise  e  Projeto

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

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

Arquitetura em Camadas

Interface

Comunicação

Negócio

Dados

Page 23: Modelo  de  Análise  e  Projeto

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

Dividir o sistema em pacotes

Page 25: Modelo  de  Análise  e  Projeto

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

ReferênciasEngenharia de Software e Sistemas – IF682

◦ www.cin.ufpe.br/~if682

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