processo unificado

43
Marcio de Carvalho Victorino [email protected] Processo Unificado

Upload: thad

Post on 08-Jan-2016

55 views

Category:

Documents


0 download

DESCRIPTION

Processo Unificado. Marcio de Carvalho Victorino [email protected]. Unidade V: Projeto OO. (Aspectos Dinâmicos). 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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Processo Unificado

Marcio de Carvalho [email protected]

Processo Unificado

Page 2: Processo Unificado

Unidade V: Projeto OO

(Aspectos Dinâmicos)

Page 3: Processo Unificado

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.

Page 4: Processo Unificado

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.

Page 5: Processo Unificado

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.

Page 6: Processo Unificado

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.

Page 7: Processo Unificado

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

Page 8: Processo Unificado

8

Diagrama de Seqüência

item: ItemPedido : ItemPedido

Objetonomeado

Objetoanônimo

Page 9: Processo Unificado

9

Diagrama de Seqüência

Objeto1 Objeto2 Objeto3

mensagem1

mensagem2

Atormensagem0

mensagem3

Classe

Ator Objeto

Foco decontrole

Mensagem

Classe

Linha devida

Page 10: Processo Unificado

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.

Page 11: Processo Unificado

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.

Page 12: Processo Unificado

12

Seqüência x Colaboração

Page 13: Processo Unificado

13

Seqüência x Colaboração

Page 14: Processo Unificado

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.

Page 15: Processo Unificado

15

Mensagens para cumprir Responsabilidades

umUsuário: Usuário

validar(in id : String, in senha : String) : bool

loginsenha

Usuário

validar(id, senha)

: ControladorAcesso

Page 16: Processo Unificado

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.

Page 17: Processo Unificado

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.

Page 18: Processo Unificado

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

Page 19: Processo Unificado

Diagrama de Transição de Estados.

Page 20: Processo Unificado

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.

Page 21: Processo Unificado

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).

Page 22: Processo Unificado

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.

Page 23: Processo Unificado

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”.

Page 24: Processo Unificado

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.

Page 25: Processo Unificado

25

Estados

Notação para representar estados na UML.

Estado

Estado Inicial Estado FinalEstado Ordinário

Page 26: Processo Unificado

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

Page 27: Processo Unificado

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

Page 28: Processo Unificado

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)

Page 29: Processo Unificado

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.

Page 30: Processo Unificado

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).

Page 31: Processo Unificado

31

Exemplo

Page 32: Processo Unificado

Diagrama de Atividades

Page 33: Processo Unificado

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.

Page 34: Processo Unificado

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).

Page 35: Processo Unificado

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.

Page 36: Processo Unificado

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.

Page 37: Processo Unificado

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

Page 38: Processo Unificado

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.

Page 39: Processo Unificado

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.

Page 40: Processo Unificado

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

Page 41: Processo Unificado

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.

Page 42: Processo Unificado

42

Diagrama de Atividades

Page 43: Processo Unificado

FIM