análise e projeto orientados a objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... ·...
TRANSCRIPT
![Page 1: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/1.jpg)
Análise e Projeto Orientados a Objetos
Diagrama de Atividades
Prof. Fellipe Aleixo ([email protected])
![Page 2: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/2.jpg)
Introdução
•Tipo de fluxograma estendido
•Permite representar ações concorrentes e sua sincronização
•Pode-se especificar:• Processos de negócios• Comportamento interno de um objeto• Comportamento de casos de uso• Algoritmos
![Page 3: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/3.jpg)
Diagramas de Atividades
•Combina ideias de várias técnicas como: diagramas de eventos de Jim Odell, modelagem de estado SDL, modelagem de workflow e redes de Petri
•Muito útil na descrição de comportamento que tem muito processamento em paralelo
•O símbolo central é o estado de atividade ou simplesmente atividade
![Page 4: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/4.jpg)
Atividades
•Uma atividade representa uma determinada ação que está sendo realizada
•Essas ações podem ser:• Processo do mundo real (datilografar uma carta)• Uma rotina de software (método de uma classe)
![Page 5: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/5.jpg)
Representação de Atividades
•O diagrama de atividades descreve uma sequência de atividades, com suporte para comportamento condicional e paralelo
•Podemos dizer que trata-se de uma variação do diagrama de estados, mas não limita-se a uma única classe como o mesmo
![Page 6: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/6.jpg)
Elementos de Diagrama de Atividades
•Elementos podem ser divididos em dois grupos: controle sequencial e controle paralelo
•Elementos utilizados em fluxos sequenciais:• Ação• Atividade• Estados inicial e final, e condição de guarda• Transição de término• Pontos de ramificação e de união
![Page 7: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/7.jpg)
Elementos de Diagrama de Atividades
•Elementos utilizados em fluxos paralelos:• Barras de sincronização• Barra de bifurcação (fork)• Barra de junção (join)
![Page 8: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/8.jpg)
Elementos de Diagrama de Atividades
![Page 9: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/9.jpg)
Modelando Comportamento
•O comportamento condicional é delineado por desvios e intercalações (decision)
•O comportamento paralelo é indicado por separações e junções (transition)
•As atividades que saem de uma separação podem acontecer em paralelo, ou simplesmente não possuem inter-relação não importando qual delas será executada primeiro
![Page 10: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/10.jpg)
Notação Básica
•Atividades e transições:
•Estados iniciais e finais:
![Page 11: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/11.jpg)
Notação Básica
•Desvios e intercalações
![Page 12: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/12.jpg)
Notação Básica
•Comportamento paralelo ou não ordenado:
![Page 13: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/13.jpg)
Notação Básica
![Page 14: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/14.jpg)
Organização do Diagrama
•Uma atividade pode ser decomposta em subatividades
•Os diagramas de atividades dizem o que acontece, mas não dizem quem faz o quê – você pode contornar isso usando raias
•Para usar raias, você deve organizar seus diagramas de atividades em zonas verticais separadas por linhas. Cada zona representa as responsabilidades de uma classe
![Page 15: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/15.jpg)
Raias
•Algumas vezes, as atividades de um processo podem ser distribuídas por vários agentes que o executarão• Ex. processos de negócio de uma organização
• Isso pode ser representado através de raias (swim lanes)
![Page 16: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/16.jpg)
Raias
•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 17: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/17.jpg)
Raias
![Page 18: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/18.jpg)
Raias
![Page 19: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/19.jpg)
Quando Utilizar?
•Combinado com outras técnicas
•Estimular a identificação de atividades paralelas
•Para analisar em mais detalhes um caso de uso (entendendo as sequências alternativas)
•Para compreensão dos processos de negócio
•Para expressar um algoritmo sequencial complexo
![Page 20: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/20.jpg)
Modelagem de Processo de Negócios
![Page 21: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/21.jpg)
Modelagem da Lógica de CDU
•A realização de um caso de uso requer que alguma computação seja realizada• Esta computação pode ser dividida em atividades• “Passo P ocorre até que a C seja verdadeira”• “Se ocorre C, vai para o passo P”
•Nessas situações, é interessante complementar a descrição do caso de uso com um diagrama de atividade
![Page 22: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/22.jpg)
Modelagem da Lógica de CDU
•Os fluxos principal, alternativos e de exceção podem ser representados em um único diagrama de atividade
• Identificação de atividades através do exame dos fluxos do caso de uso
![Page 23: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/23.jpg)
Modelagem da Lógica de CDU
![Page 24: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/24.jpg)
Modelagem de Algoritmos
•Nível de abstração mais baixo
•Possibilidades de modularização
![Page 25: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/25.jpg)
Modelagem de Algoritmos
![Page 26: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/26.jpg)
Exemplo
•Diagrama de atividades para o fechamento de um pedido (Sistema de venda pela Web)
![Page 27: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/27.jpg)
22/03/07
![Page 28: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/28.jpg)
Exercícios
1. Desenvolva o diagrama de atividade para a operação “cadastrar carga”, do sistema de transporte de cargas que trabalhamos em sala de aula
2. Desenvolva os diagramas de atividade para as operações “realizar empréstimo” e “realizar devolução”, do projeto do sistema de uma biblioteca. Trabalhe com os seguintes requisitos: (a) cada usuário só pode pegar três livros, (b) deve devolver em cinco dias úteis e (c) os livros reservados não podem ser emprestados a outros usuários
![Page 29: Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... · 2018. 5. 30. · classe como o mesmo. ... podem ser representados em um único](https://reader033.vdocuments.pub/reader033/viewer/2022060814/60933fd5fe3b5654a50140e1/html5/thumbnails/29.jpg)
Exercícios
3. Desenvolva os diagramas de atividade para as operações do projeto de um sistema de um Terminal de Ponto de Venda – PDV
a) Realizar venda (desde a inicialização até a impressão) b) Cadastrar item