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
Download

Aula 5