Processo Unificado
description
Transcript of Processo Unificado
Marcio de Carvalho [email protected]
Processo Unificado
Unidade V: Projeto OO
(Aspectos Dinâmicos)
3
Modelo de Interação
Esse modelo representa as mensagens trocadas entre os objetos para a execução de cenários dos casos de uso do sistema.
Os objetivos da construção do modelo de interação são: obter informações adicionais para completar e
aprimorar outros modelos; fornecer aos programadores uma visão detalhada
dos objetos e mensagens envolvidos na realização dos casos de uso.
4
Interação através de Mensagens
O princípio básico da interação entre objetos é o conceito de mensagem.
Um sistema de OO pode ser visto como uma rede de objetos. funcionalidades são realizadas pelos objetos, que
só podem interagir através de mensagens.
5
Diagramas de Interação
Diagramas de interação representam como o sistema age internamente para que um ator atinja seu objetivo na realização de um caso de uso. A modelagem de um sistema de OO normalmente contém diversos diagramas de interação. O conjunto de todos os diagramas de interação de um sistema constitui o seu modelo de interações.
6
Tipos de Diagrama de Interação
Há dois tipos de diagrama de interação: Diagrama de seqüência Diagrama de colaboração
O diagrama de seqüência e o diagrama de colaboração são equivalentes entre si.
Diagrama de seqüência: mensagens enviadas no decorrer do tempo.
Diagrama de colaboração: mensagens enviadas entre objetos que estão relacionados.
7
Diagrama de Seqüência A posição vertical das mensagens permite
deduzir a ordem na qual elas são enviadas. Ordem de envio de mensagens em um
diagrama de colaboração pode ser deduzida a partir das expressões de seqüência.
Elementos básicos: Atores Objetos Classes Linhas de Vida Mensagens Focos de controle Criação de objetos Destruição de objetos
8
Diagrama de Seqüência
item: ItemPedido : ItemPedido
Objetonomeado
Objetoanônimo
9
Diagrama de Seqüência
Objeto1 Objeto2 Objeto3
mensagem1
mensagem2
Atormensagem0
mensagem3
Classe
Ator Objeto
Foco decontrole
Mensagem
Classe
Linha devida
10
Diagrama de Colaboração
Mostra os objetos relevantes para a realização de um caso de uso (ou cenário deste).
Estruturalmente, é bastante semelhante a um diagrama de objetos. A diferença é que são adicionados setas e rótulos de
mensagens nas ligações entre esses objetos. Objetos (nomeados e anônimos) e classes
podem aparecer. As ligações (linhas) entre objetos correspondem
a relacionamentos existentes entre os objetos.
11
Seqüência x Colaboração
Diagrama de seqüência: Exibe as mensagens ordenadas no tempo. A visualização fica dificultada conforme o número
de objetos cresce (disposição em uma dimensão). Diagrama de colaboração:
Exibe mensagens enfatizando relacionamentos. Melhor utilização do espaço (disposição em duas
dimensões). O diagrama de seqüência é equivalente ao
diagrama de colaboração Ferramentas CASE: transformação
automaticamente.
12
Seqüência x Colaboração
13
Seqüência x Colaboração
14
Mensagens para cumprir Responsabilidades
O fato de um objeto “precisar de ajuda” indica a necessidade de este enviar mensagens.
Na construção de diagramas de interação, mensagens de um objeto a outro implicam em operações que classes devem ter.
Uma mensagem implica na existência de uma operação no objeto receptor. A resposta ao recebimento de uma mensagem é a execução dessa operação.
15
Mensagens para cumprir Responsabilidades
umUsuário: Usuário
validar(in id : String, in senha : String) : bool
loginsenha
Usuário
validar(id, senha)
: ControladorAcesso
16
Utilização
São utilizados na fase de construção de um ciclo de vida incremental e iterativo. São construídos para os casos de uso alocados
para uma iteração desta fase. Controvérsia sobre utilização na análise ou
no projeto. Inicialmente (+análise), pode exibir apenas
os objetos participantes e mensagens exibindo somente o nome da operação.
Posteriormente (+projeto), pode ser refinado. criação e destruição de objetos, tipo e assinatura
completa de cada mensagem, etc.
17
Utilização
Em um processo incremental e iterativo, os modelos evoluem em conjunto.
Embora estes modelos representem visões distintas do sistema, eles são interdependentes. Modelo de classes modelo de interações. Modelo de interações refinamento do modelo
de casos de uso. Modelo de interações operações para o modelo
de classes. Modelo de interações novos atributos para o
modelo de classes.
18
Utilização
Fornece cenários
Modelo deCasos de Uso
Modelo de Interações(diagramas de colaboração ou de sequência)
Fornece objetos
Valida responsabilidadese fornece detalhes sobre objetos
Valida as interações
Modelo de Classes
Diagrama de Transição de Estados.
20
Diagrama de Transição de Estados.
Objetos do mundo real se encontram em estados particulares a cada momento. Um DVD pode estar reservado. Uma conta bancária pode estar inativa.
Da mesma forma, cada objeto participante de um sistema de software orientado a objetos se encontra em um estado particular.
Um objeto muda de estado quando acontece algum evento interno ou externo ao sistema.
21
Diagrama de Transição de Estados.
Através da análise das transições entre estados dos objetos de um sistema de software, podem-se prever todas as possíveis operações realizadas, em função de eventos que possam ocorrer.
O diagrama da UML que é utilizado para realizar esta análise é o diagrama de transição de estado (DTE).
22
Diagrama de Transição de Estados.
A UML tem um conjunto rico de notações para desenhar um DTE. Estados. Transições. Evento. Ação. Atividade. Transições internas. Estados aninhados. Estados concorrentes.
23
Estado
Situação na vida de um objeto em que ele satisfaz a alguma condição ou realiza alguma atividade.
Cada estado de um objeto é determinado pelos valores dos seus atributos e (ou) pelas suas ligações com outros objetos. Por exemplo: “o atributo reservado deste objeto
livro tem valor verdadeiro”. Outro exemplo: “uma conta bancária passa para o
vermelho quando o seu saldo fica negativo”.
24
Estados
O estado inicial indica o estado de um objeto quando ele é criado. Só pode haver um estado inicial em um DTE. Essa restrição serve para definir a partir de que
ponto um DTE deve começar a ser lido. O estado final é representado como um
círculo “eclipsado” e indica o fim do ciclo de vida de um objeto. Este estado é opcional e pode haver mais de um
estado final em um DTE.
25
Estados
Notação para representar estados na UML.
Estado
Estado Inicial Estado FinalEstado Ordinário
26
Transições
Os estados estão associados a outros pelas transições.
Uma transição é mostrada como uma linha conectando estados, com uma seta apontando para um dos estados.
Quando uma transição entre estados ocorre, diz-se que a transição foi disparada.
Uma transição pode ser rotulada com uma expressão da seguinte forma:
evento (lista-parâmetros) [guarda] / ação
27
Eventos
Uma transição possui um evento associado. Um evento é algo que acontece em algum
ponto no tempo e que pode modificar o estado de um objeto:
Pedido realizado Fatura paga Cheque devolvido
28
Exemplo
bloqueada
disponível
Realizar deposito(quantia)/depositar(quantia)
Conta Criada Conta Fechada
when(saldo>0)Realizar saque(quantia)
[quantia = saldo]/sacar(quantia)
Após(30 dias)/aplicarJuros()
Realizar deposito(quantia)/depositar(quantia)
Realizar saque(quantia)
29
Ações
Ao transitar de um estado para outro, um objeto pode realizar uma ou mais ações.
Uma ação é uma expressão definida em termo dos atributos, operações, associações da classe ou dos parâmetros do evento também podem ser utilizados.
A ação associada a uma transição é executada se e somente se a transição for disparada.
30
Atividades
Semelhantes a ações, atividades são algo que deve ser executado.
No entanto, uma atividade pode ser interrompida (uma ação não pode). Por exemplo, enquanto a atividade estiver em
execução, pode acontecer um evento que a interrompa.
Outra diferença: uma atividade sempre está associada a um estado (ao contrário, uma ação está associada a uma transição).
31
Exemplo
Diagrama de Atividades
33
Diagrama de Atividades É um tipo especial de diagrama de estados,
onde são representados os estados de uma atividade, ao invés dos estados de um objeto: Um diagrama de atividade exibe os passos de
uma computação. Cada estado é um passo da computação, onde o
sistema está realizando algo. É orientado a fluxos de controle (ao contrário dos
DTEs que são orientados a eventos). Fluxogramas estendidos... Além de possuir toda a semântica existente em
um fluxograma, permite representar ações concorrentes e sua sincronização.
34
Diagrama de Atividades: Elementos
Elementos utilizados em fluxos seqüenciais: Estado ação. Estado atividade. Estados inicial e final, e condição de guarda. Transição de término. Pontos de ramificação e de união.
Elementos utilizados em fluxos paralelos: Barras de sincronização. Barra de bifurcação (fork). Barra de junção (join).
35
Fluxos de controle seqüenciais
Um estado em um diagrama de atividade pode ser: um estado atividade: leva um certo tempo para ser
finalizado. um estado ação: realizado instantaneamente.
Deve haver um estado inicial e pode haver vários estados finais e guardas associadas a transições. pode não ter estado final, o que significa que o processo
ou procedimento é cíclico. Uma transição de término significa o término de um
passo e o conseqüente início do outro. ao invés de ser disparada pela ocorrência de um evento, é
disparada pelo término de um passo.
36
Fluxos de controle seqüenciais
Um ponto de ramificação possui uma única transição de entrada e várias transições de saída. Para cada transição de saída, há uma condição de
guarda associada. Quando o fluxo de controle chega a um ponto de
ramificação, uma e somente uma das condições de guarda deve ser verdadeira.
Pode haver uma transição com [else]. Um ponto de união reúne diversas transições
que, direta ou indiretamente, têm um ponto de ramificação em comum.
37
Diagrama de Atividades
EstadoAção1 EstadoAção2
EstadoAção4EstadoAção3
[x < 0][x = 0]
EstadoAção5
[x > 0]
EstadoAção6 EstadoAção7
Estadoinicial
Ponto deramificação
Estadoação
Bifurcação
Junção Estado final
Ponto deunião
38
Fluxos de controle paralelos
Fluxos de controle paralelos: dois ou mais fluxos sendo executados simultaneamente.
Uma barra de bifurcação recebe uma transição de entrada, e cria dois ou mais fluxos de controle paralelos.
cada fluxo é executado independentemente e em paralelo com os demais.
Uma barra de junção recebe duas ou mais transições de entrada e une os fluxos de controle em um único fluxo.
Objetivo: sincronizar fluxos paralelos. A transição de saída da barra de junção somente é
disparada quando todas as transições de entrada tiverem sido disparadas.
39
Fluxos de controle paralelos
Algumas vezes, as atividades de um processo podem ser distribuídas por vários agentes que o executarão. processos de negócio de uma organização.
Isso pode ser representado através de raias de natação (swim lanes).
As raias de natação dividem o diagrama de atividade em compartimentos.
Cada compartimento contém atividades que são realizadas por uma entidade.
40
Fluxos de controle paralelos
Seguradora OficinaSegurado
Acionar Seguro Recolher Automóvel
Consertar Automóvel
[else]
[perda total]Depositar Valor Segurado
Pagar Franquia Cobrar Fraquia
Avaliar Danos
41
Usos de Diagramas de Atividades
Modelagem dos fluxos de trabalho de um processo do negócio: Modelagem também é um processo de
entendimento. o desenvolvedor constrói modelos para entender melhor
um problema. Modelagem da lógica de um caso de uso:
Em determinadas situações, é interessante complementar a descrição do caso de uso com um diagrama de atividade.
42
Diagrama de Atividades
FIM