Processo Unificado Marcio de Carvalho Victorino mcvictorinouol com

  • Slides: 43
Download presentation
Processo Unificado Marcio de Carvalho Victorino mcvictorino@uol. com. br

Processo Unificado Marcio de Carvalho Victorino mcvictorino@uol. com. br

Unidade V: Projeto OO (Aspectos Dinâmicos)

Unidade V: Projeto OO (Aspectos Dinâmicos)

Modelo de Interação n n Esse modelo representa as mensagens trocadas entre os objetos

Modelo de Interação n n 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: n n 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. 3

Interação através de Mensagens n n O princípio básico da interação entre objetos é

Interação através de Mensagens n n 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. n funcionalidades são realizadas pelos objetos, que só podem interagir através de mensagens. 4

Diagramas de Interação Diagramas de interação representam como o sistema age internamente para que

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

Tipos de Diagrama de Interação n Há dois tipos de diagrama de interação: n

Tipos de Diagrama de Interação n Há dois tipos de diagrama de interação: n n n 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. 6

Diagrama de Seqüência n n n A posição vertical das mensagens permite deduzir a

Diagrama de Seqüência n n n 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: n n n n Atores Objetos Classes Linhas de Vida Mensagens Focos de controle Criação de objetos Destruição de objetos 7

Diagrama de Seqüência 8

Diagrama de Seqüência 8

Diagrama de Seqüência 9

Diagrama de Seqüência 9

Diagrama de Colaboração n n Mostra os objetos relevantes para a realização de um

Diagrama de Colaboração n n 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. n n n 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. 10

Seqüência x Colaboração n Diagrama de seqüência: n n n Diagrama de colaboração: n

Seqüência x Colaboração n Diagrama de seqüência: n n n Diagrama de colaboração: n n Exibe as mensagens ordenadas no tempo. A visualização fica dificultada conforme o número de objetos cresce (disposição em uma dimensã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. 11

Seqüência x Colaboração 12

Seqüência x Colaboração 12

Seqüência x Colaboração 13

Seqüência x Colaboração 13

Mensagens para cumprir Responsabilidades n n O fato de um objeto “precisar de ajuda”

Mensagens para cumprir Responsabilidades n n 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. 14

Mensagens para cumprir Responsabilidades 15

Mensagens para cumprir Responsabilidades 15

Utilização n São utilizados na fase de construção de um ciclo de vida incremental

Utilização n São utilizados na fase de construção de um ciclo de vida incremental e iterativo. n n 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. n criação e destruição de objetos, tipo e assinatura completa de cada mensagem, etc. 16

Utilização n n Em um processo incremental e iterativo, os modelos evoluem em conjunto.

Utilização n n Em um processo incremental e iterativo, os modelos evoluem em conjunto. Embora estes modelos representem visões distintas do sistema, eles são interdependentes. n n 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. 17

Utilização 18

Utilização 18

Diagrama de Transição de Estados.

Diagrama de Transição de Estados.

Diagrama de Transição de Estados. n Objetos do mundo real se encontram em estados

Diagrama de Transição de Estados. n Objetos do mundo real se encontram em estados particulares a cada momento. n n 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. 20

Diagrama de Transição de Estados. n n Através da análise das transições entre estados

Diagrama de Transição de Estados. n n Através da análise das transições entre estados 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). 21

Diagrama de Transição de Estados. n A UML tem um conjunto rico de notações

Diagrama de Transição de Estados. n A UML tem um conjunto rico de notações para desenhar um DTE. n n n n Estados. Transições. Evento. Ação. Atividade. Transições internas. Estados aninhados. Estados concorrentes. 22

Estado n n Situação na vida de um objeto em que ele satisfaz a

Estado n n 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. n n 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”. 23

Estados n O estado inicial indica o estado de um objeto quando ele é

Estados n O estado inicial indica o estado de um objeto quando ele é criado. Só pode haver um estado inicial em um DTE. n n 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. n Este estado é opcional e pode haver mais de um estado final em um DTE. 24

Estados n Notação para representar estados na UML. Estado Inicial Estado Ordinário Estado Final

Estados n Notação para representar estados na UML. Estado Inicial Estado Ordinário Estado Final Estado 25

Transições n n Os estados estão associados a outros pelas transições. Uma transição é

Transições n n 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 26

Eventos n n Uma transição possui um evento associado. Um evento é algo que

Eventos n n 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: n n n Pedido realizado Fatura paga Cheque devolvido 27

Exemplo Realizar deposito(quantia) /depositar(quantia) Conta Criada disponível Realizar saque(quantia) [quantia = saldo] /sacar(quantia) Conta

Exemplo Realizar deposito(quantia) /depositar(quantia) Conta Criada disponível Realizar saque(quantia) [quantia = saldo] /sacar(quantia) Conta Fechada when(saldo>0) bloqueada Realizar saque(quantia) Após(30 dias)/aplicar. Juros() Realizar deposito(quantia) /depositar(quantia) 28

Ações n n n Ao transitar de um estado para outro, um objeto pode

Ações n n n 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. 29

Atividades n n Semelhantes a ações, atividades são algo que deve ser executado. No

Atividades n n 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). n n 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). 30

Exemplo 31

Exemplo 31

Diagrama de Atividades

Diagrama de Atividades

Diagrama de Atividades n É um tipo especial de diagrama de estados, onde são

Diagrama de Atividades n É um tipo especial de diagrama de estados, onde são representados os estados de uma atividade, ao invés dos estados de um objeto: n n n 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. 33

Diagrama de Atividades: Elementos n Elementos utilizados em fluxos seqüenciais: n n n Estado

Diagrama de Atividades: Elementos n Elementos utilizados em fluxos seqüenciais: n n n 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: n n n Barras de sincronização. Barra de bifurcação (fork). Barra de junção (join). 34

Fluxos de controle seqüenciais n Um estado em um diagrama de atividade pode ser:

Fluxos de controle seqüenciais n Um estado em um diagrama de atividade pode ser: n n n Deve haver um estado inicial e pode haver vários estados finais e guardas associadas a transições. n n um estado atividade: leva um certo tempo para ser finalizado. um estado ação: realizado instantaneamente. 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. n ao invés de ser disparada pela ocorrência de um evento, é disparada pelo término de um passo. 35

Fluxos de controle seqüenciais n Um ponto de ramificação possui uma única transição de

Fluxos de controle seqüenciais n Um ponto de ramificação possui uma única transição de entrada e várias transições de saída. n n 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. 36

Diagrama de Atividades 37

Diagrama de Atividades 37

Fluxos de controle paralelos n n Fluxos de controle paralelos: dois ou mais fluxos

Fluxos de controle paralelos n n 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. n n 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. n n 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. 38

Fluxos de controle paralelos n Algumas vezes, as atividades de um processo podem ser

Fluxos de controle paralelos n Algumas vezes, as atividades de um processo podem ser distribuídas por vários agentes que o executarão. n n 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. 39

Fluxos de controle paralelos 40

Fluxos de controle paralelos 40

Usos de Diagramas de Atividades n Modelagem dos fluxos de trabalho de um processo

Usos de Diagramas de Atividades n Modelagem dos fluxos de trabalho de um processo do negócio: n Modelagem também é um processo de entendimento. n n o desenvolvedor constrói modelos para entender melhor um problema. Modelagem da lógica de um caso de uso: n Em determinadas situações, é interessante complementar a descrição do caso de uso com um diagrama de atividade. 41

Diagrama de Atividades 42

Diagrama de Atividades 42

FIM

FIM