View
104
Download
1
Category
Preview:
Citation preview
1
Departamento de Informática PUC- Rio R. Marquês de São Vicente 22522453-900 - Rio de Janeiro, Brasilwww.inf.puc-rio.br/~julio
Modelagem V: ObjetosModelagem V: Objetos
Karin Koogan BreitmanKarin Koogan BreitmanChristina Von Flach ChavezChristina Von Flach Chavez
2
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
3
Orientação a Objetos
• Propostas mais conhecidas:– Booch– OMT– Jacobson
4
UMLSurgimento
• 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
5
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
6
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
7
UMLRepresentaçõ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
8
UML - Diagramas
• Diagramas de Casos de Uso
• Diagramas da Estrutura Estática
• Diagrama de Casos de Uso– Atores e suas conexões com Casos de Uso
• Descrições textuais de Casos de Uso
• Diagrama de Classes– Estrutura estática das classes do sistema
• Diagrama de Objetos– Exemplifica Diagrama de Classes
9
Casos de Uso
Seqüência
Colaboração
Classes
Estados
Atividade(comportamento objetos,
algoritmo operação)
Componentes
Distribuição
Atividade(fluxo de trabalho,
caso de uso)
Captura de Requisitos Desenho Implementação
UML - Diagramas
10
Casos de Uso
Emissão de Nota Fiscal
Caixeiro Operação de Venda
Sistema Financeiro
<<extend>>
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• 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”
13
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”
14
Casos de Uso
Filho, W.P.P em “Engenharia de Software: Fundamentos, Métodos e Padrões”
Abertura do Caixa
Gerente
Fechamento do Caixa
Gestor de Estoque
Caixeiro
Gestão Manual de Estoque
Operação de Venda
Sistema Financeiro
Exemplo:
15
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”
16
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.
17
Scenarios Use Cases
situation viewthe world as it is.
functional viewthe world as we want it to be.
action, actors, environment, intent
action, actors
problem biased solution biased
can be used to elicit the requirements
hinders important aspects of elicitation
textual graphical (if more detail is needed, a non structured textual representation is used)relationships depend
on the representationpadronized relationships
“Use cases are ways to use the system. The set of use cases represents everything the user can do with the system” Jacobson
18
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…)
19
Carro capacidadeTanque: IntegerconsumoPorQuilometro: RealdisponibilidadeAtual: Realquilometragem: Real
viajar (numeroKms: Real)abastecer (quantidade: Real)
nome
atributos
operações
Classe
20
Classe com atributos
Carro - capacidadeTanque: Integer- consumoPorQuilometro: Real- disponibilidadeAtual: Real = 0- quilometragem: Real = 0
...
rj5015: Carro capacidadeTanque: 200consumoPorQuilometro: 10disponibilidadeAtual: 40quilometragem: 1400
Objeto com valores
Classe
• Atributos• Exemplos:
21
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
22
Esquema de Classes• Exemplo: Empresa
Funcionário
Empresa Gerência
Associação
Agregação
Horista Mensalista
Generalização
Classe0..N
10..N
Projeto
CronogramaFuncionário
23
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?
24
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
Recommended