Modelo de Análise e Projeto

Post on 12-Jan-2016

43 views 0 download

description

Modelo de Análise e Projeto. Luiz Felipe Libório lfol@cin.ufpe.br. 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

Modelo de Análise e Projeto

Luiz Felipe Libóriolfol@cin.ufpe.br

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