Modelagem V: Objetos
Karin Koogan Breitman
Christina Von Flach Chavez
Departamento de Informática PUC- Rio
R. Marquês de São Vicente 225
22453-900 - Rio de Janeiro, Brasil
www.inf.puc-rio.br/~julio
1
Objetos
• Objeto - relação direta com o mundo real
• Objeto
– memória -> dados -> Atributos
– processos -> Operações -> Mensagens
• Objeto - Organização - Hierarquias
– agregação
– generalização
2
Orientação a Objetos
• Propostas mais conhecidas:
– Booch
– OMT
– Jacobson
3
UML
Surgimento
• Diversos métodos e técnicas OO,
com muitos aspectos comuns
mas utilizando notações
diferentes
• Dificuldades para o aprendizado,
a aplicação, a construção e a
utilização das ferramentas
• Diferencias entre os distintos
enfoques (autores)
Necessidade
de uma
notação padrão
4
UML
• “Método Unificado”
• Grady Booch e Jim Rumbaugh
• apresentado no OOPSLA’95
• Rational Software
• Grady Booch, Jim Rumbaugh e Ivar Jacobson
• Ferramenta CASE Rational Rose
5
UML
Linguagem para modelagem e não um
método
• Um método consiste em linguagem de
notação + processo
• O processo proposto pelos autores chama-se
Objectory
• Podemos utilizar UML independentemente
do processo
6
UML
Representações básicas:
• Modelo estático
– evolução do MER
• Modelo dinâmico interno
– fluxo de dados
– máquinas de estado
• Modelo dinâmico externo
– use cases
– linguagens de interconexão de objetos
7
UML - Diagramas
• Diagramas
de Casos de Uso
• Diagrama de Casos de Uso
– Atores e suas conexões com Casos de Uso
• Descrições textuais de Casos de Uso
• Diagrama de Classes
• Diagramas
– Estrutura estática das classes do sistema
da Estrutura Estática
• Diagrama de Objetos
– Exemplifica Diagrama de Classes
8
UML - Diagramas
Captura de Requisitos
Implementação
Desenho
Estados
Seqüência
Distribuição
Casos de Uso
Colaboração
Atividade
(fluxo de trabalho,
caso de uso)
Classes
Componentes
Atividade
(comportamento objetos,
algoritmo operação)
9
Casos de Uso
<<extend>>
Emissão de Nota Fiscal
Caixeiro
Operação de Venda
Sistema
Financeiro
Filho, W.P.P em “Engenharia de Software: Fundamentos, Métodos e Padrões”
10
Casos de Uso
• Um caso de uso realiza um aspecto maior
da funcionalidade do produto:
– deve gerar um ou mais benefícios para o
cliente ou para os usuários
– representa:
• roteiros de interação com usuário
• roteiros do manual de usuário
• casos de teste
Filho, W.P.P em “Engenharia de Software: Fundamentos, Métodos e Padrões”
11
Casos de Uso
• Um caso de uso realiza um aspecto maior
da funcionalidade do produto:
– deve gerar um ou mais benefícios para o
cliente ou para os usuários
– representa:
• roteiros de interação com usuário
• roteiros do manual de usuário
• casos de teste
Filho, W.P.P em “Engenharia de Software: Fundamentos, Métodos e Padrões”
12
Casos de Uso
• Parte Textual
– Caso de uso << nome>>
• pre-condição
• fluxo principal
• sub-fluxo <<nome>>
• fluxo alternativo
– pre-condições
– passos
Filho, W.P.P em “Engenharia de Software: Fundamentos, Métodos e Padrões”
13
Casos de Uso
Exemplo:
Caixeiro
Operação de Venda
Sistema
Financeiro
Gestor de
Estoque
Gestão Manual de Estoque
Abertura do Caixa
Gerente
Fechamento do Caixa
Filho, W.P.P em “Engenharia de Software: Fundamentos, Métodos e Padrões”
14
Casos de Uso
• Exemplo:
– Caso de uso << Operação de Venda>>
• pre-condições: Toda mercadoria a ser vendida (item de venda) deve estar
previamente cadastrada. O Merci deve estar em Modo de Vendas.
• fluxo principal
– O Caixeiro faz a abertura da venda.
– O Merci gera o código da operação de venda.
– Para cada item de venda aciona o subfluxo Registro.
– O Caixeiro registra a forma de pagamento.
– O Caixeiro encerra a venda.
– Para cada item aciona o subfluxo Impressão de Linha do Ticket.
– O Merci notifica o Sistema Financeiro informando: Data, Número da
Operação de Venda, “Receita”, Valor Total”, Nome do Cliente (caso
tenha sido emitida a nota fiscal).
Filho, W.P.P em “Engenharia de Software: Fundamentos, Métodos e Padrões”15
Casos de Uso – Elicitação
• Identificação de atores;
–
–
–
–
–
•
quem está interessado nos requisitos;
quem se beneficiará do produto;
quem fornecerá informação ao produto;
quem usará informação do produto;
quem removerá informação do produto.
Identificação dos casos de uso:
– quais as tarefas de cada ator;
– que informação cada ator cria, armazena, consulta, altera ou
remove;
– que informação cada caso de uso cria, armazena, consulta,
altera ou remove.
16
Scenarios
Use Cases
situation view
the world as it is.
functional view
the world as we want it to
be.
action, actors, environment, action, actors
intent
problem biased
solution biased
can be used to elicit the hinders important aspects
requirements
of elicitation
graphical (if more detail is
textual
needed, a non structured textual
representation is used)
relationships depend on the padronized relationships
representation
“Use cases are ways to use the system. The set of use
cases represents everything the user can do with the
system” Jacobson
17
Diagrama de Classes
• Descreve os objetos do sistema e suas
relações estáticas
• Objetos podem ser parte do mundo real ou
entidades conceituais
• Objetos estão conectados a outros objetos
através de relacionamentos (associação,
agregação…)
18
Classe
nome
Carro
capacidadeTanque: Integer
consumoPorQuilometro: Real
disponibilidadeAtual: Real
quilometragem: Real
atributos
viajar (numeroKms: Real)
abastecer (quantidade: Real)
operações
19
Classe
• Atributos
• Exemplos:
Carro
- capacidadeTanque: Integer
- consumoPorQuilometro: Real
- disponibilidadeAtual: Real = 0
- quilometragem: Real = 0
rj5015: Carro
capacidadeTanque: 200
consumoPorQuilometro: 10
disponibilidadeAtual: 40
quilometragem: 1400
Objeto com valores
...
Classe com atributos
20
• Herança
Herança
• Uma subclasse herda atributos, operações,
diagramas de estado e associações de suas
superclasses
• Propriedades herdadas podem ser reutilizadas da
superclasse ou redefinidas na subclasse
• Novas propriedades podem ser adicionadas às
subclasses
• Pode ser
• Simples: somente uma superclasse
• Múltipla: mais do que uma superclasse
21
Esquema de Classes
• Exemplo: Empresa
Agregação
Empresa
0..N
Gerência
1
Associação
Classe
0..N
Projeto
Funcionário
Generalização
Horista
Cronograma
Funcionário
Mensalista
22
Críticas a OO
• Desvantagens (Jackson):
– a idéia de objeto é de programação e não é
cabível para a maioria dos indivíduos do mundo
real.
• qual foi a últiima vez em que você mandou uma
mensagem ao seu contra cheque?
• quando o sol nasce ele manda uma mensagem para
que os pássaros comecem a cantar?
23
Críticas a OO
“O mundo for a da máquina é muito rico,
cheio de caprichos e recalcitrantemente
multifacetado para ser capturado na forma
de objetos”
M. Jackson
24
Download

Caso de uso - PUC-Rio