Fundamentos de Engenharia
de SW
Diagramas da UML
Usados no
Projeto de Software
Representação de uma classe
Nome da classe
Atributos
+publicos
-privados
Métodos (serviços)
+publicos
-privados
Exemplo de Diagrama de classes
(DC)
Associações
Nome da associação: significado
Papéis:
Grau: 1,*,1..n
Graus
Agregação /Composição
Agregação
Composição
Classes associativas
Herança
Classes e Objetos

Conjuntos:


Elemento de uma classe
Programação:

variável dinâmica cujo tipo é dado pela classe
Classe existe em tempo de compilação
Objetos existem em tempo de execução
Objetos e estados


Estado: forma de comportamento de
um objeto
Estados de um objeto


complementa ao Modelo de Classes
especifica o comportamento dinâmico dos
objetos
Comportamento de objetos

Diagrama de Transição de Estados (DTE)


Componentes



descrevem o comportamento de sistemas
Estados: modo de comportamento
Transições: sinalizam mudanças de estado
Estilos


Mealy: tudo se passa nas transições
Moore: tudo se passa nos estados
Diagrama de Estados UML




Estados
Eventos
Transições
Ações
Estados

Estados:



Objeto pode estar ativo num estado
Executando operações
Tipos especiais de estados:


Inicial (somente 1)
Final ( vários)
Ações UML
entry: ações executadas ao entrar no estado;
do: ações executadas dentro do estado;
exit: ações executadas ao sair do estado.
Transições

Descreve uma mudança de estado

Elementos:



Evento
Condição de guarda (opcional)
Ações ( opcional)
Transições


Indica a passagem de um estado a outro
Sintaxe da especificação de uma transição de
estado :


assinatura-evento ‘[’ condição-de-guarda ‘]’ ’/’
ação
Assinatura do evento:

nome-evento ‘(‘ nome- parâmetro: tipo-parâmetro
‘,’ ... ‘)’
Eventos


Causador de uma transição
Sinal sem conteúdo informacional
Exemplo de DTE (1)
Exemplo de DTE (2)
Exemplo de DTE (3)
Especificando Comportamento
de Objetos

Controle


Visão


especificação formal da implementação de um caso de uso
especificação formal do comportamento de uma interfaceusuário
Domínio

especificação formal do ciclo de vida dos objetos do negócio
Como criar um DTE
1-Identificar modos de comportamento do objeto
sendo modelado
2-identificar e nomear os eventos que provocam as
transições entre estados
3-identificar o estado inicial e os possíveis estados
finais
4-associe a cada um dos estados as ações que
devem ser executadas
Implementando casos de uso




Caso de Uso: sequência de interações
Interações: objeto solicita serviços a
objeto
Solicitação de serviços: mensagem
Interações: ordem temporal
Diagrama de seqüência (DS)
da UML

Elementos principais:

Objetos

Linhas de vida

Mensagens
Exemplo de DS (1)
Exemplo de DS (2)
Linhas de vida



Representa a existência do objeto em uma
interação (vivo na memória)
Criação de um objeto: create para a etiqueta
do objeto.
Destruição de um objeto: destroy marcando a
linha da vida com um grande “X”.
Tipos de Mensagens
Mensagem: ativa um serviço no
objeto destino.
Síncrona: espera o término da execução
do serviço
Assíncrona: deixa uma mensagem e segue
Em frente
Para que servem os DS



Memória de cálculo
Ajuda a descobrir os serviços das
classes
Descartável (pode ser recuperado a
partir do código fonte)
Tipos de serviços

Visão





Domínio



Apresentar uma interface lógica
Retorna dados de entrada
Apresenta dados na saída
Sinaliza controle
Buscar um elemento/lista
Gravar um elemento/lista
Controle

Inicializar caso de uso
Como construir um DS
1-Inicialmente assuma um DS para cada caso de uso
2-Identifique os objetos participantes:
identifique e nomeie o objeto de interface (Visão) responsável pela interação com o ator,
crie um objeto de controle com o mesmo nome do caso de uso
identifique os objetos do modelo que participam da interação
3-Um passo de um caso de uso tem uma forma canônica que contém uma ou mais das seguintes ações:
ator envia informação ao sistema
sistema consulta modelo(s)
sistema envia informações ao ator
sistema registra resultados da transação no modelo
4-Estes passos podem ser mapeados da seguinte maneira
se o passo do caso de uso indica que o ator envia uma mensagem então crie um serviço pare obter os
dados da mensagem
se o passo envolve devolver informações para o ator crie serviços na interface para mostrar estes dados
se as informações forem passadas ao sistema, crie serviços nos objeto de domínio para receber estas
informações
se o passo envolve um registro de uma operação crie um serviço no objeto de domínio para executar a
operação.
Download

Domínio do problema