Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de...

54
Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto de Sistemas

Transcript of Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de...

Page 1: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

Análise OO / UML

Renata AraujoRicardo Storino

Núcleo de Computação EletrônicaCurso de Programação de Computadores

Maio a Setembro/2000

Análise e Projeto de Sistemas

Page 2: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

2

Ciclo de Vida de Software

Definição dos requisitos

Análise

Projeto

Implementação

Teste/Avaliação

Implantação

Manutenção

Documentos são geradosa cada fase e servem deentrada para a fase seguinte

Page 3: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

3

Ciclo de Vida - Modelo Cascata

Intenções

Especificação do

Software

Projetodo

Software

Códigodo

Software

Sistemapronto

para operar

Análise

Projeto

Implementação

Teste

Requisitosdo

Software

Definição de Requisitos

Documentos geradosdurante o ciclo de vida

Transformações

Page 4: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

4

Definição de Requisitos

Identificar desejos, intenções, procedimentos

atuais e dados;

Organizá-los de forma coerente

Definir de uma forma geral o que será tratado pelo software interface com o que fica de fora do

software

DesejosIntenções

ProcedimentosDados

Requisitosdo

Software

Page 5: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

5

Análise do Software

Entendimento e Representação Domínio do problema Conceitos Funcionalidades Casos de uso

Baseado nos fatores críticos de sucesso do software

Especificaçãodo

Software

Requisitosdo

Software

Page 6: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

6

Análise Orientada a Objetos

Objetivos Representar todos os conceitos do mundo real que são

relevantes para o sistema Modelagem do Sistema segundo o paradigma OO Descrever a estrutura de classes do sistema

Produtos Modelo/representação do software Modelo de Análise do Sistema

Representação gráfica do diagrama de classes do Sistema e das interações entre os objetos destas classes

Documentação Detalhamento e complementação do diagrama de classes do

sistema

Page 7: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

7

Análise Orientada a Objetos

Page 8: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

8

Diagramas da UML

Visão Externa Diagrama de Casos de Uso

Visão Estrutural (Estática) Diagrama de Classes

Visão Comportamental (Dinâmica) Diagrama de Estado Diagrama de Atividade

Visão de Interação Diagrama de Sequência Diagrama de Colaboração

Visão da Arquitetura (Implementação) Diagrama de Componentes Diagrama de Implantação Diagrama de Pacotes

Page 9: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

9

Diagramas de Caso de Uso

Especificam a visão externa do sistema Descrevem como o sistema é percebido por seus

usuários Descrevem as interações entre os usuários e o

sistema

Consulta de saldo

Ator

Solicitação de extrato

Interações

Page 10: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

10

Diagramas de Classe

Descrevem a parte estática do sistema, ignorando seu processamento

Apresentam Classes (objetos) Atributos Relacionamentos

Herança Agregação Associação

Serviços

Page 11: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

11

Diagramas de Estado

Apresentam as sequências de estados que um objeto assume em sua existência em resposta a estímulos recebidos

Complemento das descrições estáticas de classes

Relacionam os possíveis estados que os objetos de uma classe podem ter e quais os eventos que causam mudanças em seu estado.

Pedido Registrado

Pedido em Análise

Pedido para análise requisitado

Pedido enviado

Pedido em Aprovação

Pedido para aprovação

Aprovação emitida

Pedido Aprovado

Pedido será atendido

Classe Pedido

Page 12: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

12

Diagramas de Sequência

Apresentam a interação entre os objetos no decorrer do tempo

Mostra a sequência de mensagens entre objetos

Vendedor

Janela Pedido Nota Fiscal Fatura Cliente

1: situação financeira do cliente 2: obter pedidos

(cliente)

3: obter notas fiscais (pedido)

4: obter faturas vencidas (nota fiscal)

5: obter faturas a vencer (nota fiscal)

6: obter limite de crédito (cliente)

Page 13: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

13

Diagrama de Classes

Passos para confecção

Identificação de Classes

Identificação de relacionamentos

Definição de atributos

Definição de serviços

Page 14: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

14

Identificação de Classes

O domínio do problema Um determinado domínio de problemas inclui informações

relativas ao mundo real

Os requisitos da aplicação Considerados os objetivos da aplicação a ser construída,

apenas um subconjunto dessas informações necessita ser representado

Page 15: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

15

Identificação de Classes

Cliente Nome Endereço Altura Peso Idade Sexo Renda Mensal Cor dos Cabelos Número de Dependentes ...

Cliente Nome Endereço Idade Sexo Renda Mensal Número de Dependentes

No mundo real Em uma dada aplicação/sistema

Page 16: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

16

Identificação de Classes

No mundo real Numa aplicação/sistema

Cliente

Endereço

Carro Dependentes

Time

Nome

Cliente

Nome

Endereço

Page 17: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

17

Identificação de Classes

O que procurar? Objetos

Ex. Pessoas, clientes, turmas, cursos, produtos etc. Agentes

Ex. cliente, atendente etc. Unidades organizacionais

Ex. local para entrega, setor etc. Eventos

Reclamação do cliente, pedido pago etc.

“Quaisquer conceitos que serão armazenados e “lembrados” pelo sistema.”

Page 18: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

18

Identificação de Classes

O que Considerar? Armazenamento necessário

O sistema precisará armazenar informações sobre os objetos desta classe?

Mais de um objeto em uma classe É possível identificar facilmente os objetos desta classe? Evite classes que representem um só objeto

Atributos sempre aplicáveis Todos os atributos identificados para a classe são aplicáveis a

todas as suas instâncias?

Page 19: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

19

Identificação de Classes

Notação de classe

Nome da Classe

<lista de atributos>

<Lista de serviços/operações>

Page 20: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

20

Identificação de Classes

Recomendações Nomenclatura de classes

Nome da classe deve descrever claramente o conceito representado

Uso de termos de conhecimento de todos Evitar abreviaturas Estabelecimento de padrões para nomeação de classes Evitar ambigüidades (dupla interpretação)

Uso Fast CasePrática

Page 21: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

21

Definição de Atributos

Objetivo Identificar e formalizar a definição dos atributos de cada

classe presente no diagrama de classes

O que considerar? Necessidade do sistema em armazenar as características das

instâncias das classes

Page 22: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

22

Definição de Atributos

Representação gráfica

Nome da Classe

<lista de atributos>

<Lista de serviços/operações>

Page 23: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

23

Definição de Atributos

Notação de atributos

Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}

Visibilidade: Critério de acesso ao atributo Opcional

+ visibilidade pública (default) Atributo pode ser acessado por todos, inclusive por serviços de outras classes

# visibilidade protegida Atributo é acessado apenas pelos serviços da própria classe ou por serviços de classes

dentro de um mesmo pacote

- visibilidade privada Atributo é acessado por operações da própria classe

Page 24: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

24

Definição de Atributos

Notação de atributos

Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}

Visibilidade:

Aluno

+ Nome# Endereço- Créditos

Page 25: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

25

Definição de Atributos

Notação de atributos

Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}

Nome do atributo Obrigatório!!!! Necessidade de padronização Clareza de significado Evitar abreviaturas

Aluno

+ Nome# EndereçoDoAluno- CréditosObtidos

Page 26: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

26

Definição de Atributos

Notação de atributos

Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}

Tipo de Expressão Opcional Tipo de implementação do atributo

Inteiro String Real ... Aluno

+ Nome: string# EndereçoDoAluno: string- CréditosObtidos: int

Page 27: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

27

Definição de Atributos

Notação de atributos

Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}

Valor Inicial Valor inicial do atributo Opcional

Aluno

+ Nome: string# EndereçoDoAluno: string- CréditosObtidos: int = 0

Page 28: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

28

Definição de Atributos

Notação de atributos

Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}

Propriedade Opcional Maior detalhamento do atributo

Descrição Tipo

Estático Constante Variável

Domínio de Valores

Aluno

+ Nome: string# EndereçoDoAluno: string-CréditosObtidos: int = 0-NumMáximoDeCréditos: int = 70 {constant}

Page 29: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

29

Definição de Atributos

Notação de atributos Exemplo

Nome da Classe

AtributoAtributo:tipo do dadoAtributo:tipo do dado = valor inicial

Aluno

NomeEndereço:stringCréditos:inteiro = 0

Uso Fast CasePrática

Page 30: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

30

Definição de Serviços

Objetivo Identificar e formalizar a definição das operações de cada

classe presente no diagrama de classes

O que considerar? Necessidade de cada classe em realizar operações que

atendam às funcionalidades do sistema

Page 31: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

31

Definição de Serviços

Representação Gráfica

Nome da Classe

<lista de atributos>

<Lista de serviços/operações>

Page 32: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

32

Definição de Serviços

Notação de serviços

Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}

Visibilidade: Critério de acesso ao serviço Opcional

+ visibilidade pública (default) Serviço pode ser acessado por todos, inclusive por serviços de outras classes

# visibilidade protegida Serviço é acessado apenas pelos serviços da própria classe ou por serviços de classes

dentro de um mesmo pacote

- visibilidade privada Serviço é acessado por operações da própria classe

Page 33: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

33

Definição de Serviços

Notação de serviços

Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}

Visibilidade:

Aluno

NomeEndereçoCréditos

+ InformarNome( ):string# InformarEndereço( ):string- CancelarCréditos( códigoCadeira )

Page 34: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

34

Definição de Serviços

Notação de serviços

Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}

Nome do serviço Obrigatório!!!! Necessidade de padronização Clareza de significado Evitar abreviaturas

Aluno

NomeEndereçoCréditos

+ InformarNome( ):string# InformarEndereço( ):string- CancelarCréditos( códigoCadeira )

Page 35: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

35

Definição de Serviços

Notação de Serviços

Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}

Parâmetros Lista de valores utilizados pelo serviço

Aluno

NomeEndereçoCréditos

+ InformarNome( ):string# InformarEndereço( ):string-CancelarCréditos( códigoCadeira )-AtualizarCréditos( códigoCadeira, ano, número de Créditos )

Page 36: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

36

Definição de Serviços

Notação de serviços

Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}

Expressão de tipo de retorno Tipo do valor de retonor do serviço

Aluno

NomeEndereçoCréditos

+ InformarNome( ):string# InformarEndereço( ):string-CancelarCréditos( códigoCadeira )-AtualizarCréditos( códigoCadeira, ano, número de Créditos )

Page 37: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

37

Definição de Atributos

Notação de serviços

Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}

Propriedade Opcional Maior detalhamento do serviço

Classificação Construtor:

incializam/constroem instâncias da classe

Destrutor: destróem instâncias da classe

Modificador de atributos: modificam valores de atributos

Seletor de atributos: utilizam mas não modificam valores de atributos

Prés e pós condições Exceções Propriedades dependentes da

linguagem de programação

Aluno

NomeEndereçoCréditos

+ CriarAluno( nome ) { construtor }+ InformarNome( ):string# InformarEndereço( ):string-CancelarCréditos( códigoCadeira ) { modificador }-AtualizarCréditos( códigoCadeira, ano, número de Créditos )

Page 38: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

38

Definição de Serviços

Persistência Objetos Persistentes – armazenado no banco de dados Objetos transientes – em memória

Construtores e Destrutores Coleta automática de lixo

Serviços para acesso a atributos

Uso Fast CasePrática

Page 39: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

39

Identificação de Relacionamentos

Objetivo Identificar associações, agregações e relacionamentos de

generalização/ especialização (herança) entre classes

O que considerar? Necessidade do sistema em “lembrar” relacionamentos entre

as classes

O que procurar? Todos os relacionamentos entre instâncias de classes que

sejam relevantes para o sistema

Page 40: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

40

Identificação de Relacionamentos

Associação Relacionamentos simples entre instâncias de classes

Descrevem algum vínculo, relacionamento ou interdependência entre instâncias de classes

Page 41: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

41

Identificação de Relacionamentos

Associação - Representação Unária

Binária

Pessoa

Aluno

É pai de

0..*

1..2

Cadeira0..* Cursa

0..*

Page 42: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

42

Identificação de Relacionamentos

Associação - Representação N-ária

Avaliação

Funcionário Quesito

* *

Projeto

*

Page 43: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

43

Identificação de Relacionamentos

Agregação

Relacionamentos com uma semântica bem definida: a de composição

Relacionamentos que representem: montagens e suas partes

Ex. Um carro e suas partes

(motor, chassi, rodas …) recipientes e seus conteúdos

Ex. Vôo e passageiros conjuntos e seus membros

Ex. Turma e alunos

Page 44: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

44

Identificação de Relacionamentos

Agregação - notação

EmpresaDepartamento

“Todo”“Parte”

1..*

1

Page 45: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

45

Identificação de Relacionamentos

Herança O que procurar?

Diferenças e similaridades entre classes Várias classes com características comuns

Notação Veículo

Ano Cor

Carro Ônibus Caminhão

Ano Cor No de Assentos

Ano Cor Capacidade

Ano Cor No de Portas

Page 46: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

46

Generalização / Especialização

O que procurar? (cont.) Uma classe com atributos aplicáveis apenas a subconjuntos de suas

instâncias

Funcionário

NomeNascSalárioProjeto

Funcionário_Maria Nome = ‘Maria’ Nasc = ‘16/02/70’ Salário = 2500

Projeto = ‘’

Funcionário_João Nome = ‘João’ Nasc = ‘10/05/65’ Salário = 3000

Projeto = ‘Call Center’Gerente

Projeto

Page 47: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

47

Identificação de Relacionamentos

Nome/Semântica do relacionamento

Multiplicidade 1 somente um * muitos (zero ou mais) 0..* muitos (zero ou mais) 0..1 opcional (zero ou um) 1..* maior ou igual a um M..N sequência específica

Ex. 1..27 (de um a 27), 23..* (acima de 23)

Papéis Navegabilidade Restrições

Uso Fast CasePrática

Page 48: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

48

Diagramas de Estado

Objetos de uma classe possuem um “ciclo de vida” São gerados Assumem posições (estados) Dão origem a outros objetos Deixam de existir (são destruídos)

O estudo dos diferentes estados de um objeto de uma classe e das transições entre estes estados permite o levantamento de serviços adicionais a serem incorporados na classe

Page 49: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

49

Diagramas de Estado

Notação

Estado: condição ou situação durante a vida de um objeto no qual

satisfaz alguma condição, executa alguma atividade em resposta a um evento ou espera pela ocorrência de algum evento.

<nome do estado>

Início

Fim

Page 50: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

50

Diagramas de Estado

Notação

Evento: Ocorrência que deve ser reconhecida e gerar uma reação pelo

sistema em estudo. A ocorrência de um evento provoca a transição entre estados de

instâncias de alguma classe pertencente ao sistema

Estado 1

Estado 2

evento

Page 51: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

51

Diagramas de Estado

Exemplo – Classe PedidoDeCompra

Pedido Registrado

Envio de pedido

Pedido cancelado

Pedido em Análise

Requisição de análise de

pedido

Pedido Pendente

Pedido não pode ser atendido neste

momento Pedido já pode ser atendido

Pedido Aprovado

Pedido é aprovado

Pedido cancelado

Pedido cancelado

Pedido cancelado

Pedido Atendido

Atendimento a Pedido

Uso Fast CasePrática

Page 52: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

52

Diagramas de Sequência

Objetivo Identificar o envio de mensagens entre os objetos das

diversas classes do diagrama em resposta a cada caso de uso

Um diagrama de sequência mostra interações de objetos organizadas em uma sequência de tempo e de mensagens trocadas

Page 53: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

53

Diagrama de Sequência

um objeto

outro objeto

Tempo(top-down)

ativação

Linha de vida

criar

mensagem

retorno

excluir

Símbolo de exclusão

ator

(evento)

Page 54: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.

54

Diagrama de Sequência

Vendedor

Janela Pedido Nota Fiscal Fatura Cliente

1: situação financeira do cliente 2: obter pedidos

(cliente)

3: obter notas fiscais (pedido)

4: obter faturas vencidas (nota fiscal)

5: obter faturas a vencer (nota fiscal)

6: obter limite de crédito (cliente)

Uso Fast CasePrática