1 departamento de informática puc- rio r. marquês de são vicente 225 22453-900 - rio de janeiro,...

24
1 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 Modelagem V: Objetos Modelagem V: Objetos Karin Koogan Breitman Karin Koogan Breitman Christina Von Flach Chavez Christina Von Flach Chavez

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 2: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 3: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

3

Orientação a Objetos

• Propostas mais conhecidas:– Booch– OMT– Jacobson

Page 4: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 5: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 6: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 7: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 8: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: 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

Page 9: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 10: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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”

Page 11: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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”

Page 12: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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”

Page 13: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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”

Page 14: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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:

Page 15: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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”

Page 16: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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.

Page 17: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 18: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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…)

Page 19: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

19

Carro capacidadeTanque: IntegerconsumoPorQuilometro: RealdisponibilidadeAtual: Realquilometragem: Real

viajar (numeroKms: Real)abastecer (quantidade: Real)

nome

atributos

operações

Classe

Page 20: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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:

Page 21: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 22: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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

Page 23: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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?

Page 24: 1 Departamento de Informática PUC- Rio R. Marquês de São Vicente 225 22453-900 - Rio de Janeiro, Brasil julio Modelagem V: Objetos

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