análise e projeto de sistemas - facomronaldooliveira/aps-2018-1/aula8-aps... · 2018. 3. 11. ·...

21
Faculdade de Computação Análise e Projeto de Sistemas Prof. Dr. Ronaldo C. de Oliveira [email protected] www.facom.ufu.br/~ronaldooliveira FACOM - 2018

Upload: others

Post on 02-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Análise e Projeto de Sistemas

Prof. Dr. Ronaldo C. de [email protected]

www.facom.ufu.br/~ronaldooliveiraFACOM - 2018

Page 2: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Diagramas de Interação de Objetos

Page 3: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 3

UMLDiagramas de Interação

O Diagrama de Interação visa construir a modelagem comportamental ou dinâmica do sistema, mostrando o comportamento dos objetos , considerando a seqüência da troca de mensagens entre estes objetos, para que cumpra um determinado papel ou se atenda a um determinado contexto;

Favorecem a identificação das responsabilidades que as classes poderão ter, uma vez que as mensagens trocadas pelos objetos correspondem a métodos da classe ao qual pertencem;

O diagrama de interação tem o foco em um caso de uso, onde busca-se identificar quais os objetos participam da interação.

Page 4: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 4

UMLDiagramas de Interação

Um diagrama de interação ilustra as interações de mensagens entre instâncias (e classes) no modelo de classes

Atribuição de responsabilidades aos objetos

Ponto de partida é o cumprimento das pós-condições especificadas nos contratos de operação

A UML defines dois tipos de diagramas de interação:

Diagramas de seqüência (faz parte da análise)

Diagramas de colaboração entre os objetos (faz parte do projeto)

Page 5: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Diagrama de Seqüência

Page 6: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 6

UMLDiagrama de Seqüência

Mostra como diversos objetos se relacionam (interagem, colaboram) no ambiente de negócios para a realização de um caso de uso;

Auxilia na identificação de serviços/métodos e delegação de responsabilidades;

Elementos: Objetos;

Mensagens;

Linha da vida;

Foco de controle;

Retorno.

Page 7: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 7

UMLDiagrama de Seqüência

Diagramas de seqüência

Representa interações entre objetos através de mensagens envidadas

:Instância da Classe A :Instância da Classe B

mensagem2()

mensagem3()

mensagem1()

Page 8: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 8

UMLDiagrama de Seqüência

Um diagrama de seqüência ilustra a ordem das interações dos atores externos com o sistema (representado como uma “caixa-preta”) e os eventos que eles geram

entrarItem(código, quantidade)

:SistemaCaixa

encerrarVenda()

Repita até não

existir mais itens

fazerPagamento(valor)Texto explicativo

Lógica, controle,

Iteração

Deve ser trazido do

Use case

AtorComprar Ítens

sistema como uma caixa preta

Page 9: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 9

UMLDiagrama de Seqüência

Eventos e Operações Um evento de sistema é um evento externo de entrada gerado por

um ator do sistema

Inicia uma operação de resposta de mesmo nome

Uma operação de sistema é uma operação que é executada em resposta a um evento de sistema

entraritem(código, quantidade)

Caixa

Comprar Itens

:Sistema

Page 10: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 10

UMLDiagrama de Seqüência

Representando Operações:

O conjunto necessário de operações de sistema é determinado através da identificação dos eventos de sistema

Exemplos de operações:

entrarItem(código, quantidade)

encerrarVenda()

fazerPagamento(quantia)

Na UML, representado como operações de um objeto denominado Sistema:

Sistema

entrarItem()

encerrarVenda()

fazerPagamento()

As mensagens que chegam a um

determinado objeto farão parte dos

métodos da classe ao qual o objeto

pertence.

Page 11: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 11

UMLDiagrama de Seqüência

Como fazer Diagramas de Seqüência Regras úteis:

1. Identificar os atores que operam diretamente com o sistema. Desenhar uma linha vertical representando cada um desses atores;

2. Desenhar uma linha vertical representando cada um dos objeto (classes) que o caso de uso manipula;

3. A partir da descrição das seqüências típicas de eventos dos casos de uso, identificar os eventos de sistema que cada ator gera. Ilustrar os eventos no diagrama através de mensagens.;

4. Opcionalmente, incluir o texto do caso de uso à esquerda do diagrama.

Page 12: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 12

UMLDiagrama de Seqüência

Nomeando Eventos e Operações Regras úteis:

Começar com um verbo

Enfatizar “intenção” em vez do meio físico de entrada ou componente gráfico da interface com o usuário

Ex.: encerrarVenda em vez de pressionarTeclaEnter

Expressar intenção no nível mais alto de abstração

Ex.: fazerPagamento em vez de entrarQuantia

Page 13: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 13

UML - Diagrama de SeqüênciaExemplo

Page 14: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 14

UML - Diagrama de SeqüênciaExemplo – Clinica Médica

Paciente Secretária

:Agenda

MarcarConsulta()

Agendar(ConsultaMarcada)[Horario selecionado]

EfetivarAgendamento(horario,

Nome,Telefone)

SelecionarHorario()

ObterHorariosVagos()

Page 15: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Diagrama de Estados

Page 16: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 16

UMLDiagrama de Estados

Normalmente um sistema reage a estímulos provenientes de fora dele ou ainda estímulos temporais por ele mesmo desencadeados. Essa reação pode originar respostas externas ao sistema. Esta dinâmica é fruto da colaboração entre os objetos, os quais estarão em determinado estado em um certo período de tempo.

O Diagrama de Estados é usado para mostrar os possíveis estados dos objetos de uma classe. A mudança de um estado para outro é chamada de Transição de Estado.

Page 17: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 17

UMLDiagrama de Estados

Componentes de um diagrama de estado

Estado representação de uma situação de

um determinado objeto em determinado tempo

Início do diagrama

Final do diagrama

estado 1

Page 18: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 18

UMLDiagrama de Estados

Todo diagrama de estado deve conter uma indicação de início e pode conter uma ou mais situações de finalização;

Durante a vida de um objeto, pode vir a existir controle sobre várias situações, cada qual podendo assumir diversos estados possíveis;

Um objeto permanece em um determinado estado por um tempo finito.

Page 19: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 19

UMLDiagrama de Estados

A transição de um estado para outro deve conter algumas características: Condição ou evento que ocasiona a mudança de estado;

A ação ou operação que deverá ser executada para que a

mudança de estado aconteça.

Estado 1

Estado 2

Condição

Ação

Page 20: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 20

UML - Diagrama de EstadosExemplo

Matriculado

Cursando Disciplina

Aprovado Reprovado

matricularmatricular

aprovar reprovar

deseistir do cursoconcluir curso

efetivar matricula

Page 21: Análise e Projeto de Sistemas - FACOMronaldooliveira/APS-2018-1/Aula8-APS... · 2018. 3. 11. · Faculdade de Computação Engenharia de Software Ronaldo C. Oliveira 4 UML Diagramas

Faculdade de Computação

Engenharia de Software Ronaldo C. Oliveira 21

UML - Diagrama de EstadosExemplo – Clinica Médica