Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... ·...

29
Análise e Projeto Orientados a Objetos Diagrama de Atividades Prof. Fellipe Aleixo ([email protected])

Transcript of Análise e Projeto Orientados a Objetosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=user:... ·...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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