260 likes | 446 Views
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.
E N D
Modelo de Análise e Projeto Luiz Felipe Libório lfol@cin.ufpe.br
Documento de Requisitos • Modelo de Casos de Uso • Precisamos converter oscasos de usoespecificadosem um modelo de sistema. Contexto
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 - Objetivos
Para 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 Análise - Fases
As classes sãoidentificadasbaseadasnaseparaçãoemtrêstipos: • Fronteira; • Representa a interface de um ator com o caso de uso. • Esteriótipo: <<boundary>> • Entidade; • Representa as informaçõesquesãomanipuladaspelosistema, quepodem ser persistentesounão. • Esteriótipo: <<entity>> • Controle; • Representa o controle do fluxo de eventos do caso de uso; • Esteriótipo: <<control>> Identificando as Classes
Se houver a necessidade de persistência de algumainformação, é criadauma nova classe de análise, querepresenta um conjunto de entidades. • Esteriótipo: <<entity collection>> IdentificarPersistência
Diagramas 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; Diagramas de Interação
Classes de Análise Exemplo: Efetuar Login
Diagrama de Sequência Exemplo: Efetuar Login
Diagrama de Colaboração Exemplo: Efetuar Login
Baseado no diagrama de sequência (ou de colaboração), sãoidentificadas as responsabilidades das classes. DescreverResponsabilidades
Os atributos das classes sãoidentificados, semespecificartipos. DescreverAtributos
Identificacomo as classes estãorelacionadasdentro do contexto do caso de uso. IdentificarRelacionamentos
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 sistemaempacotes; Objetivo e Fases
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 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; Refinar o Modelo de Classes
Maneiramaiscomum: dividir o sistemaemcamadas. • Modularidade; • Dimunição de Dependências; • Facilidade de troca de camadas; Projetar a Arquitetura
Interface Comunicação Negócio Dados ArquiteturaemCamadas
Agrupar as classes empacotes, baseadosemalgumcritério: • Camadas; • Lógica do sistema; • Subsistemas. Dividir o sistemaempacotes
Ferramenta: • JUDE • Java and UML DeveloperEnvironment • Exercício: • Analisar e Projetar os casos de uso “Comprar Ações” e “Efetuar Pagamento do QIB Card” PRÁTICA
Engenharia de Software e Sistemas – IF682 • www.cin.ufpe.br/~if682 • Análise e Projeto de Sistemas – IF718 • www.cin.ufpe.br/~if718 Referências