A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Elaboração Projeto Final - APGS Adriana P. de Medeiros.

Apresentações semelhantes


Apresentação em tema: "Elaboração Projeto Final - APGS Adriana P. de Medeiros."— Transcrição da apresentação:

1 Elaboração Projeto Final - APGS Adriana P. de Medeiros

2 2 Análise, Projeto e Gerência de SistemasProjeto Final Elaboração Objetivo da fase Análise e Projeto n Modelo Conceitual n Modelo de Projeto n Diagramas de Sequência n Diagrama de Estados n Proposta de componentes Documentação

3 3 Análise, Projeto e Gerência de SistemasProjeto Final Objetivo Analisar o domínio do problema e estabelecer uma base arquitetural para o novo sistema Necessário: concluir os casos de uso de sistema construir o modelo conceitual construir o modelo de projeto construir os diagramas de sequência construir diagramas de estados (se necessário) preparar proposta de componentes para o sistema

4 4 Análise, Projeto e Gerência de SistemasProjeto Final Análise e Projeto Elaboração

5 5 Análise, Projeto e Gerência de SistemasProjeto Final UML: Perspectivas Múltiplas A UML descreve tipos puros de diagramas n Diagrama de Classes, Diagrama de Sequência, etc. A mesma notação diagramática pode ser usada em três tipos de perspectivas e modelos: n Perspectiva essencial ou conceitual Diagramas representam uma descrição de coisas no mundo real ou domínio de interesse n Perspectiva de especificação Diagramas representam uma descrição de abstrações de software ou componentes com especificações e interfaces n Perspectiva de implementação Diagramas representam uma descrição de implementação de software em uma tecnologia e linguagem específica (como Java)

6 6 Análise, Projeto e Gerência de SistemasProjeto Final Diagrama de Classes: Perspectivas Conceitual Especificação (Tipos e Interfaces) Implementação Modelo Conceitual Modelo de Projeto

7 7 Análise, Projeto e Gerência de SistemasProjeto Final Modelo Conceitual Ilustra as classes conceituais significativas em um domínio de problema Pode mostrar: n objetos do domínio ou classes conceituais n associações entre as classes conceituais n atributos de classes conceituais Usando a notação UML, um modelo conceitual é ilustrado como um conjunto de diagramas de classes, nos quais não se definem operações

8 8 Análise, Projeto e Gerência de SistemasProjeto Final Modelo Conceitual Um Modelo Conceitual é uma representação de classes conceituais do mundo real, não de componentes de software. Durante a Modelagem Conceitual levantamos conceitos relativos ao domínio de um problema. Devemos nos concentrar no negócio e não em detalhes de implementação.

9 9 Análise, Projeto e Gerência de SistemasProjeto Final Modelo Conceitual Modelos não são corretos ou incorretos; eles são mais úteis ou menos úteis [Fowler 97] Se modelamos um conceito de uma determinada maneira, devemos nos questionar quanto a sua utilidade e se a forma que modelamos é a que mais nos facilitará. Queremos: n Representar abstrações n Independência de implementações n Facilidade de comunicação [Fowler 97] Fowler, M., Analysis Patterns – Reusable Object Models, Addison Wesley, 1997

10 10 Análise, Projeto e Gerência de SistemasProjeto Final Pedido nome idade Funcionário LinhaDe ItemDePedido quantidade Organização Cargo Produto CD DVD Livro 1 1..* {incompleto} 1 * * Exemplo: Modelo Conceitual número data preenche 1 1 1

11 11 Análise, Projeto e Gerência de SistemasProjeto Final Dicas Se você não pensar em uma classe conceitual X como um número ou um texto no mundo real, então X provavelmente será uma classe conceitual, não um atributo Concentre-se nas associações cujo conhecimento do relacionamento deve ser preservado por algum tempo (associações que devem ser conhecidas) Relacione classes conceituais com uma associação, não com um atributo Fonte: Livro Utilizando UML e Padrões - Craig Larman

12 12 Análise, Projeto e Gerência de SistemasProjeto Final Modelo de Projeto Contém diversos tipos de diagramas, incluindo os diagramas de classes, de pacotes e de interação Um diagrama de classe de projeto ilustra as especificações para classes de software e interfaces em uma aplicação. Inclui: n classes, associações e atributos n informação de tipo de atributo n métodos n interfaces, com suas operações e constantes n navegabilidade n dependências

13 13 Análise, Projeto e Gerência de SistemasProjeto Final Modelo de Projeto Considerar: Classes Abstratas Interfaces Padrões de Projeto Visibilidade de Atributos e Operações Operações necessárias Restrições Pacotes Diagramas de Sequência Diagramas de Estados Classes de Projeto

14 14 Análise, Projeto e Gerência de SistemasProjeto Final Pedido 1 Exemplo: Modelo de Projeto número: Integer data: Date criarLinhaDeItem(...) obterTotal () LinhaDeItemDePedido quantidade: Integer obterSubTotal () contém 1..* EspecificaçãoProduto descricao: String preco: Moeda... descreve 1 *

15 15 Análise, Projeto e Gerência de SistemasProjeto Final Revisão: Classes Abstratas Não podem ser instanciadas São usadas quando não conhecemos a implementação de seus métodos A implementação é dada por suas subclasses

16 16 Análise, Projeto e Gerência de SistemasProjeto Final Exemplo base x altura base x altura/2 PI x raio x raio calcularArea() altura base calcularArea() Retângulo altura base calcularArea() Triângulo raio calcularArea() Círculo Figura

17 17 Análise, Projeto e Gerência de SistemasProjeto Final Revisão: Interfaces Uma interface é uma coleção de operações usadas para especificar um serviço de uma classe ou componente Interfaces permitem separar a especificação de funcionalidade, em termos de operações, de sua implementação em termos de método n Esta separação torna o cliente que usa uma interface independente da implementação desta interface Uma implementação particular de uma interface, como por exemplo uma classe ou componente, pode ser substituída por uma outra implementação sem que seja necessário mudar o cliente

18 18 Análise, Projeto e Gerência de SistemasProjeto Final Exemplo Cliente Transacao > Transacao retirarDinheiro() depositarDinheiro() Conta create() obterNumero() retirarDinheiro() depositarDinheiro() numero:Integer > Cliente > Conta create() obterNumero() retirarDinheiro() depositarDinheiro() numero:Integer OU

19 19 Análise, Projeto e Gerência de SistemasProjeto Final Revisão: Pacotes Mecanismo de propósito geral para organizar elementos de um modelo em grupos Cliente FormPedido Pedido Regras de Negócio + Window + Form # EventHandler GUI Cliente FormPedido Pedido

20 20 Análise, Projeto e Gerência de SistemasProjeto Final Revisão: Generalização de Pacotes + Windows + Form # EventHandler GUI WindowsGUI + GUI::Window + Form # GUI::EventHandler + VBForm MacGUI

21 21 Análise, Projeto e Gerência de SistemasProjeto Final Revisão: Subsistemas Um subsistema é simplesmente uma parte de um sistema e é usado para decompor um sistema complexo em partes quase independentes Sistema de Varejo Gestão da Loja Atendimento ao cliente Controle de Estoque

22 22 Análise, Projeto e Gerência de SistemasProjeto Final Revisão: Padrões de Projeto São descrições de objetos e classes comunicantes que são customizados para resolver um problema geral de projeto num contexto particular São classificados por dois critérios: n Finalidade – o que o padrão faz Criação Estrutural Comportamental n Escopo – especifica se o padrão se aplica a Classes Objetos

23 23 Análise, Projeto e Gerência de SistemasProjeto Final Revisão: Padrões de Projeto Analisar o uso de padrões de projeto para modelar problemas já conhecidos n Criação Singleton, Factory Method, Abstract Factory, etc n Estrutural Composite, Decorator, Façade, etc n Comportamental Command, Observer, State, Strategy, etc O uso dos padrões deve ser justificado

24 24 Análise, Projeto e Gerência de SistemasProjeto Final Diagrama de Sequência Diagramas de Sequência apresentam a interação entre um grupo de objetos de um sistema, através de mensagens ou controles, em um determinado cenário Servem para modelar o funcionamento do sistema, inclusive a concorrência entre objetos Enfatizam a ordem temporal das mensagens Úteis para compreensão da dinâmica, principalmente para iniciantes na OO

25 25 Análise, Projeto e Gerência de SistemasProjeto Final Diagramas de Sequência são primariamente utilizados para a atribuição de responsabilidades a cada um dos objetos do sistema - operações Além de servir para descoberta das operações, serve para a modelagem da interação entre os objetos Completam o tripé da análise: n Casos de Uso - comportamento externo (funcional) n Diagramas de Classes - visão estática n Diagramas de Sequência - visão dinâmica Aplicação Internos

26 26 Análise, Projeto e Gerência de SistemasProjeto Final Cada Caso de Uso provê vários cenários Um cenário é uma instância de um caso de uso O Diagrama de Classes mostra os objetos da aplicação Fazemos um Diagrama de Sequência mostrando a interação dos objetos em um determinado cenário, ou seja, para cada cenário de um Caso de Uso teremos um diagrama Construção

27 27 Análise, Projeto e Gerência de SistemasProjeto Final Construção (cont.) Diagrama de ClassesCaso de UsoDiagrama de Sequência ObjetosCenário Interação Operações

28 28 Análise, Projeto e Gerência de SistemasProjeto Final Exemplo Janela de Entrada de Pedido :Pedido :linha_Pedido :Item_Estoque :Item_Entrega :Item_Refabricação criar() * criar() verificar () [verfifica = true] retirar_item() refabricar_item() [refabricar_item = true] [verificar = true] criar () Atendente Informa dados data_entrega

29 29 Análise, Projeto e Gerência de SistemasProjeto Final Exemplo : Registro : Catálogo Produto : Lista Especificações : Venda li :LinhaDeItem criar(esp, qtd) criarLinhaDeItem (esp, qtd) entrarItem(id, qtd) obterEspec(id) buscarEspec(id) : Lista ItensDeVenda adicionar(li)

30 30 Análise, Projeto e Gerência de SistemasProjeto Final Diagrama de Estados Mostra as sequências de estados que um objeto ou uma interação assume em sua vida, em resposta a estímulos recebidos, juntamente com suas respostas e ações Complementa a classe e relaciona os possíveis estados que os objetos da classe podem ter e quais eventos podem causar a mudança de estado (transição)

31 31 Análise, Projeto e Gerência de SistemasProjeto Final Registrando pedido Alterando pedidoCancelando pedido Analisando pedido Aprovando pedido Colocando pedido em pendência Atendendo pedido Pedido enviadoAlteração de pedido solicitada Cancelamento de pedido solicitado Pedido para análise requisitado Pedido será cancelado Pedido cancelado Pedido p/ aprovação Pedido será atendido Pedido atendido Pedido já pode ser atendido Pedido não pode ser atendido no momento Exemplo

32 32 Análise, Projeto e Gerência de SistemasProjeto Final Proposta de Componentes Propor componentes para o novo sistema Especificar as classes para cada componente Definir as interfaces de cada componente n Especificar as operações de cada interface (incluindo a assinatura de cada operação) apenas componentes considerados necessários pelo grupo A proposta deve ser justificada

33 33 Análise, Projeto e Gerência de SistemasProjeto Final Referências 1.The Unified Modeling Language User Guide By Booch, Grady / Rumbaugh, Jim / Jacobson, Ivar; ISBN Understanding UML: The Developer's Guide, Harmon, Paul / Watson, Mark; ISBN Utilizando UML e Padrões: Larman, Craig; ISBN Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos, Gamma, Erich / Helm, Richard / Johnson, Ralph / Vlissides, John; ISBN http://hillside.net/patterns/

34 34 Análise, Projeto e Gerência de SistemasProjeto Final Documentação Gerada Introdução Apresentação da empresa (o cliente) Objetivos gerais do projeto Estrutura do documento Modelagem de Negócio Características da empresa (descrição, estrutura organizacional, recursos de informática, expectativa do cliente e processo atual ) Processos de negócio (Casos de uso de negócio) Problemas identificados Necessidades detectadas Requisitos Diagrama de Casos de Uso e descrições Requisitos Suplementares Alternativas de Solução Descrição de cada alternativa Análise comparativa das alternativas Alternativa recomendada pela equipe Alternativa escolhida pelo usuário e critério de escolha

35 35 Análise, Projeto e Gerência de SistemasProjeto Final Documentação Gerada Análise e Projeto Modelo Conceitual (diagrama de classes conceituais) Modelo de Projeto - Diagrama de Classes de Projeto tipos de atributos e operações classes abstratas e interfaces padrões de projeto pacotes, etc. - Justificativa para o uso de Padrões de Projeto - Diagramas de Sequência apenas para os casos de uso de sistema principais - Diagrama de Estados (se necessário) - Proposta de Componentes Glossário Anexos


Carregar ppt "Elaboração Projeto Final - APGS Adriana P. de Medeiros."

Apresentações semelhantes


Anúncios Google