Engenharia de Software I Rogério Eduardo Garcia ([email protected]) Bacharelado em Ciência da Computação 26/05/2015 Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos – Aula 5 BCC 26/05/2015 Contextualização UML Astah Diagramas no Astah 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 2 1 Análise Vs. Projeto 26/05/2015 BCC 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 3 A/POO BCC 26/05/2015 Como as responsabilidades devem atribuídas a classes de objetos? ser Como os objetos devem interagir? Quais classes devem fazer o quê? [Larman, 2004] 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 4 2 A/POO BCC 26/05/2015 Soluções consagradas para os problemas de projeto podem ser (e têm sido) expressas na forma de princípios, heurísticas ou padrões [Larman, 2004] 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 5 A/POO BCC 26/05/2015 Análise OO: enfatiza na descoberta e descrição dos objetos (conceitos) no domínio do problema Projeto OO: enfatiza na definição dos objetos de software e como eles colaboram para a satisfação dos requisitos Implementação OO: os objetos de projeto são implementados [Larman, 2004] 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 6 3 Exemplo Biblioteca BCC 26/05/2015 Livro titulo Conceito do domínio print() Representação em uma linguagem de programação OO Visualização de conceito de domínio public class Livro { private String titulo; public Capitulo print() { } } [Larman, 2004] 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 7 7 BCC 26/05/2015 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 8 4 UML BCC 26/05/2015 UML (Unified Modeling Language) é uma família de notações gráficas¹, apoiada por um metamodelo² único, que ajuda na descrição e no projeto de sistemas de software ¹É a sintaxe gráfica da linguagem de modelagem ²Descreve a semântica dos elementos de modelagem 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia UML 9 BCC 26/05/2015 UML nasceu da unificação das muitas linguagens gráficas de modelagem OO (final de 1980, início de 1990) UML é uma linguagem visual para especificar, construir e documentar os artefatos de software (OMG) 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 10 5 UML – Aplicação BCC 26/05/2015 UML como rascunho Diagramas incompletos e informais criados para explorar partes difíceis do problema ou espaço de soluções UML como planta de software Diagramas detalhados usados para: Engenharia reversa: para visualizar e melhor entender o código existente em diagramas UML Geração de código: engenharia avante 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia UML – Aplicação 11 BCC 26/05/2015 UML como linguagem de programação Especificação executável completa de um sistema de software Código executável será automaticamente gerado Ainda em desenvolvimento em termos de teoria, ferramentas robustas e usabilidade... 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 12 6 UML BCC 26/05/2015 A mesma notação pode ser usada para três perspectivas diferentes: Perspectiva conceitual Perspectiva de especificação Perspectiva de implementação 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia UML 13 BCC 26/05/2015 A mesma notação pode ser usada para três perspectivas diferentes: Conceitual Os diagramas são interpretados como descrevendo coisas em uma situação do mundo real ou domínio de interesse De especificação Os diagramas descrevem abstrações de software ou componentes com especificações e interfaces Sem comprometimento com uma implementação particular (LP) 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 14 7 UML BCC 26/05/2015 A mesma notação pode ser usada para três perspectivas diferentes (cont.): De implementação Os diagramas descrevem implementações software em uma tecnologia particular 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 15 Diagramas da UML 26/05/2015 de Diagrama Linhagem Atividades Na UML 1 Classes Na UML 1 Comunicação Colaboração da UML 1 Componentes Na UML 1 Estruturas Compostas Na UML 2 BCC 26/05/2015 Instalação Na UML 1 Visão Geral da Interação UML 2 Objetos Extra-oficialmente na UML 1 Pacotes Extra-oficialmente na UML 1 Sequência Na UML 1 Máquinas de Estado Na UML 1 Sincronismo Na UML 2 Casos de Uso Na UML 1 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia [Fowler, 2005] 16 8 Classificação dos diagramas da UML Diagrama Diagrama de estrutura Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 BCC 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Astah Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 17 BCC 26/05/2015 Astah Community é uma ferramenta para trabalhar com diagramas UML Link de download: http://astah.changevision.com/en/product/astah-community.html 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 18 9 Astah Elementos de diagrama Visão do projeto Editor de diagramas Visão das propriedades 26/05/2015 BCC 26/05/2015 Menu Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Astah 19 BCC 26/05/2015 Menu: é o menu principal e a barra de ferramentas do Astah Visão do projeto: Estrutura (em árvore): exibe a estrutura de modelos (diagramas) Herança: exibe a estrutura de herança Mapa: exibe um editor de diagrama inteiro Diagrama: exibe uma lista de diagramas no projeto 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 20 10 Astah BCC 26/05/2015 Visão das propriedades: em que é permitido a edição das propriedades dos modelos Editor de diagramas: área em que os diagramas são editados Elementos de diagrama: barra de ferramentas que disponibiliza elementos específicos para cada diagrama e elementos em comum 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Astah 21 BCC 26/05/2015 Criação de um projeto: “File” -> “New”, no menu principal ou “Create a New File”, na barra de ferramentas Criação de um projeto com um modelo: “File” -> “New By Template”, e selecione um arquivo de modelo 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 22 11 Astah BCC 26/05/2015 Criação de um modelo: “Diagram”, no menu principal, e escolha um diagrama 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 23 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 24 12 Casos de Uso BCC 26/05/2015 Os casos de uso são uma técnica para captar os requisitos funcionais de um sistema Um caso de uso é uma narrativa sobre como o sistema é utilizado por meio da descrição das interações entre os usuários de um sistema e o próprio sistema 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Casos de Uso – Exemplo 25 BCC 26/05/2015 Caso de Uso: Compra de Produto Cenário principal de sucesso: 1. O cliente navega pelo catálogo e seleciona itens para comprar 2. O cliente vai para o caixa 3. O cliente preenche o formulário da remessa (endereço de entrega; opção de entrega imediata ou em três dias) 4. O sistema apresenta a informação completa do faturamento, incluindo a remessa 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 26 13 Casos de Uso – Exemplo BCC 26/05/2015 Cenário principal de sucesso (cont.): 5. O cliente preenche a informação de cartão de crédito 6. O sistema autoriza a compra 7. O sistema confirma imediatamente a venda 8. O sistema envia uma confirmação para o cliente por e-mail 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Casos de Uso – Exemplo 27 BCC 26/05/2015 Extensões: 3a. Cliente regular .1: O sistema mostra a informação atual da remessa, a informação de preço e a informação de cobrança .2: O cliente pode aceitar ou escrever por cima desses padrões, retornando ao CPS, no passo 6 6a. O sistema falha na autorização da compra a crédito .1: O cliente pode inserir novamente a informação do cartão de crédito ou cancelar 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 28 14 Diagrama de Casos de Uso BCC 26/05/2015 Um diagrama de casos de uso mostra a fronteira de um sistema, o que está fora dele e como o sistema é usado Serve como uma ferramenta de comunicação que resume o comportamento do sistema e seus atores 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Casos de Uso no Astah 29 BCC 26/05/2015 “Diagram” -> “UseCase Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 30 15 Diagrama de Casos de Uso no Astah pacote associação BCC 26/05/2015 generalização ator dependência caso de uso 26/05/2015 <<extend>> <<include>> Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Casos de Uso no Astah 31 BCC 26/05/2015 Ator, caso de uso e associação Pacotes 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 32 16 Diagrama de Casos de Uso no Astah BCC 26/05/2015 Generalização (de ator e de caso de uso) 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Casos de Uso – Relacionamento entre casos de uso 33 BCC 26/05/2015 Inclusão: uma instância de “Realizar pedido” inclui o comportamento especificado por “Validar cliente” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 34 17 Diagrama de Casos de Uso – Relacionamento entre casos de uso BCC 26/05/2015 Extensão: uma instância de “Cadastrar cliente” pode ser acrescentado para descrever o comportamento de “Realizar pedido” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 35 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 36 18 Diagrama de Classes BCC 26/05/2015 Um diagrama de classes descreve os tipos de objetos presentes no sistema e os vários tipos de associações estáticas existentes entre eles Mostram, também, as propriedades e as operações de uma classe, e as restrições que se aplicam à maneira como os objetos estão conectados 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Classes no Astah 37 BCC 26/05/2015 “Diagram” -> “Class Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 38 19 Diagrama de Classes no Astah associação classe classe associativa BCC 26/05/2015 generalização dependência pacote agregação 26/05/2015 agregação para navegação composição para navegação composição Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Classes no Astah 39 BCC 26/05/2015 Classe privado Nome da classe Atributos público 26/05/2015 Operações Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 40 20 Diagrama de Classes no Astah BCC 26/05/2015 Associação 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Classes no Astah 41 BCC 26/05/2015 Associação com multiplicidade A multiplicidade é uma indicação de quantos objetos podem preencher a propriedade Comuns: “1”, “0..1” e “*” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 42 21 Diagrama de Classes no Astah BCC 26/05/2015 Agregação: é a associação “parte de”; os objetos contidos podem existir sem serem parte do objeto que os contém 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Classes no Astah 43 BCC 26/05/2015 Composição: os objetos contidos não fazem sentido fora do contexto do objeto que os contém 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 44 22 Diagrama de Classes no Astah BCC 26/05/2015 Generalização 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Classes no Astah 45 BCC 26/05/2015 Dependência: existe se mudanças na definição de um elemento (fornecedor) podem causar mudanças ao outro (cliente) cliente 26/05/2015 fornecedor Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 46 23 Diagrama de Classes no Astah BCC 26/05/2015 Classe de associação: permitem acrescentar atributos e operações na associação de duas classes 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 47 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 48 24 Diagrama de Atividades BCC 26/05/2015 Um diagrama de atividades descreve lógica de procedimento, processo de negócio e fluxo de trabalho Suportam comportamento paralelo 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Atividades no Astah 49 BCC 26/05/2015 “Diagram” -> “Activity Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 50 25 Diagrama de Atividades no Astah nó inicial partição vertical atividade final partição horizontal fluxo BCC 26/05/2015 bifurcação junção ação 26/05/2015 ação de chamada de comportamento nó de decisão/ intercalação Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 51 Diagrama de Atividades no Astah Nó inicial BCC 26/05/2015 Bifurcação Ação Decisão Fluxo Intercalação Junção Atividade final 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 52 26 Diagrama de Atividades no Astah BCC 26/05/2015 Nome da atividade Sub-atividade 26/05/2015 Parâmetro de entrada Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Atividades no Astah Parâmetro de saída 53 BCC 26/05/2015 Partição 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 54 27 Classificação dos diagramas da UML Diagrama Diagrama de estrutura Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 BCC 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Sequência Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 55 BCC 26/05/2015 Um diagrama de sequência captura o comportamento de um único cenário Mostra objetos e mensagens que são passadas entre esses objetos dentro de um caso de uso 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 56 28 Diagrama de Sequência no Astah BCC 26/05/2015 “Diagram” -> “Sequence Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 57 Diagrama de Sequência no Astah linha de vida Criação de participantes Mensagem de retorno Operador (loop, alt,...) mensagem Exclusão de participantes 26/05/2015 BCC 26/05/2015 Auto-exclusão Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 58 29 Diagrama de Sequência no Astah (análise) BCC 26/05/2015 Cenário simples de “Processar Venda” para pagamento com dinheiro: 1. O cliente chega a um ponto de pagamento equipado com um PDV, trazendo vários bens ou serviços que deseja comprar. 2. O caixa inicia uma nova venda. 3. O caixa digita o identificador do item. 4. O sistema registra a linha de item da venda e exibe a descrição, o preço do item e o total parcial corrente. O caixa repete os passos 3 e 4 até que indique ter terminado. 5. O sistema apresenta o total, com os impostos já calculados. 6. O caixa informa o total ao cliente e solicita o pagamento. 7. O cliente paga e o sistema trata o pagamento. 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Sequência no Astah (projeto) Diagrama para controle centralizado 59 BCC 26/05/2015 Participante Mensagem recebida Retorno Autochamada 26/05/2015 Linha de vida ativação Mensagem Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 60 30 Diagrama de Sequência no Astah (projeto) Diagrama para controle distribuído BCC 26/05/2015 parâmetro 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Sequência no Astah (projeto) Criação e exclusão de participantes 61 BCC 26/05/2015 criação Exclusão a partir de outro objeto Auto-exclusão 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 62 31 Diagrama de Sequência no Astah (projeto) BCC 26/05/2015 Quadro Operador 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 63 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 64 32 Diagrama de Comunicação BCC 26/05/2015 Um diagrama de comunicação ilustra as interações entre objetos em forma de grafo ou rede 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Comunicação no Astah 65 BCC 26/05/2015 “Diagram” -> “Communication Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 66 33 Diagrama de Comunicação no Astah Participante BCC 26/05/2015 Mensagem Ligação 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Comunicação no Astah 67 BCC 26/05/2015 autovínculo 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 68 34 Classificação dos diagramas da UML Diagrama Diagrama de estrutura Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 BCC 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Componentes Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 69 BCC 26/05/2015 Um diagrama de componente mostra como os componentes são interligados por intermédio de interfaces Um componente representa uma parte modular de um sistema que encapsula seu conteúdo e pode ser substituída 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 70 35 Diagrama de Componentes no Astah BCC 26/05/2015 “Diagram” -> “Component Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Componentes no Astah 26/05/2015 BCC 26/05/2015 Interface fornecida Componente Conector 71 Interface Interface requerida Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 72 36 Diagrama de Componentes no Astah BCC 26/05/2015 Notação alternativa para indicar o uso ou a solicitação de uma interface Componente Interface requerida 26/05/2015 Interface fornecida Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 73 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 74 37 Diagrama de Instalação BCC 26/05/2015 Um diagrama de instalação (implantação) mostra quais partes do software são executadas em quais partes do hardware 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Instalação no Astah 75 BCC 26/05/2015 “Diagram” -> “Deployment Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 76 38 Diagrama de Instalação no Caminho de comunicação Astah BCC 26/05/2015 Nó de ambiente de execução Nó de dispositivo 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 77 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 78 39 Diagrama de Estruturas Compostas BCC 26/05/2015 Um diagrama de estruturas compostas tem a capacidade de decompor hierarquicamente uma classe em uma estrutura interna Isso permite a divisão em partes de um objeto complexo 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Estruturas Compostas no Astah 79 BCC 26/05/2015 “Diagram” -> “Composite Structure Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 80 40 Diagrama de Estruturas Compostas no Astah BCC 26/05/2015 Parte Conector de delegação 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 81 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 82 41 Diagrama de Máquina de Estados BCC 26/05/2015 Um diagrama de máquina de estados ilustra os eventos e os estados de um objeto e o comportamento de um objeto em resposta a um evento 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Máquina de Estados no Astah 83 BCC 26/05/2015 “Diagram” -> “Statemachine Diagram” 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 84 42 Diagrama de Máquina de Estados no Astah BCC 26/05/2015 Estado de histórico Transição Estado inicial Estado 26/05/2015 Estado final Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 85 Diagrama de Máquina de Estados no Astah Estado inicial BCC 26/05/2015 Transição Estado 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 86 43 Diagrama de Máquina de Estados no Astah 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Máquina de Estados no Astah BCC 26/05/2015 87 BCC 26/05/2015 Estado de histórico 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 88 44 Classificação dos diagramas da UML Diagrama Diagrama de estrutura Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 BCC 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Pacotes Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 89 BCC 26/05/2015 Um pacote é uma construção que permite agrupar elementos UML em unidades de nível mais alto Os elementos podem ser classes, diagramas ou outros pacotes 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 90 45 Diagrama de Pacotes no Astah BCC 26/05/2015 Pacote 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Pacotes no Astah 91 BCC 26/05/2015 Pacote 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 92 46 Diagrama de Pacotes no Astah BCC 26/05/2015 Dependência 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Classificação dos diagramas da UML Diagrama Diagrama de estrutura BCC 26/05/2015 Diagrama de comportamento Diagrama de classes Diagrama de casos de uso Diagrama de objetos Diagrama de atividades Diagrama de instalação Diagrama de interações Diagrama de estruturas compostas Diagrama de máquina de estados Diagrama de componentes Diagrama de pacotes 26/05/2015 93 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de sequência Diagrama de comunicação Diagrama de sincronização Diagrama de visão geral da interação 94 47 Diagrama de Objetos (Instâncias) 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia Diagrama de Visão Geral de Interação 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia BCC 26/05/2015 95 BCC 26/05/2015 96 48 Diagrama de Temporização (Sincronização) 26/05/2015 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia BCC 26/05/2015 97 49