Fundamentos de Engenharia de SW
Diagramas da UMLUsados 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çãoObjetos 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)
descrevem o comportamento de sistemas
Componentes 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
especificação formal da implementação de um caso de uso
Visão especificação formal do comportamento de uma interface-
usuário Domínio
especificação formal do ciclo de vida dos objetos do negócio
Como criar um DTE1-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
finais4-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çãodo serviçoAssíncrona: deixa uma mensagem e segueEm 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
Apresentar uma interface lógica Retorna dados de entrada Apresenta dados na saída Sinaliza controle
Domínio Buscar um elemento/lista Gravar um elemento/lista
Controle Inicializar caso de uso
Como construir um DS1-Inicialmente assuma um DS para cada caso de uso2-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 usoidentifique 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 sistemasistema consulta modelo(s)sistema envia informações ao atorsistema registra resultados da transação no modelo
4-Estes passos podem ser mapeados da seguinte maneirase o passo do caso de uso indica que o ator envia uma mensagem então crie um serviço pare obter os
dados da mensagemse o passo envolve devolver informações para o ator crie serviços na interface para mostrar estes dadosse as informações forem passadas ao sistema, crie serviços nos objeto de domínio para receber estas
informaçõesse o passo envolve um registro de uma operação crie um serviço no objeto de domínio para executar a
operação.