1 / 43

Processo Unificado

Processo Unificado. Marcio de Carvalho Victorino mcvictorino@uol.com.br. 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.

thad
Download Presentation

Processo Unificado

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  9. Diagrama de Seqüência

  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

  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

  19. 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 Ordinário Estado Final Estado Inicial Estado

  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. Realizar deposito(quantia) /depositar(quantia) Conta Criada Conta Fechada disponível Realizar saque(quantia) [quantia = saldo] /sacar(quantia) when(saldo>0) Realizar deposito(quantia) /depositar(quantia) bloqueada Realizar saque(quantia) Após(30 dias)/aplicarJuros() Exemplo

  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

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

  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

  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

  43. FIM

More Related