Sei sulla pagina 1di 227

Centro Universitrio do Tringulo

Caractersticas do
Desenvolvimento
Estruturado de Sistemas

Centro Universitrio do Tringulo

Desenvolvimento
Estruturado de Sistemas

Anlise Estruturada

nfase nos processos;


Dois macro-modelos: modelo de processos
e modelo de dados;
Modelo de processos divide-se em:

Modelo Ambiental: Objetivos; Lista de Eventos;


Diagrama de Contexto.
Modelo Comportamental: Diagrama de Fluxo de
Dados; Dicionrio de Dados; Especificao de
Processos Primitivos; Diagrama de Transio de
Estados.

Modelo de dados

DER;

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

Centro Universitrio do Tringulo

Desenvolvimento
Estruturado de Sistemas

Projeto Estruturado de Sistemas:

Nenhuma definio referente as


interfaces do sistema;
Nenhuma estratgia formal de descrio
de arquitetura e da estrutura do sistema;
O DHF (Diagrama Hierrquico de
Funo), que representa o projeto
funcional, apenas descreve a estrutura
de programa e no a estrutura de
sistema;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

Centro Universitrio do Tringulo

Desenvolvimento
Estruturado de Sistemas

Legado da anlise estruturada:

Direcionamento do sistema com nfase nas


regras de negcio;
Uso do conceito de evento;
Importncia do objetivo e escopo do sistema;
O diagrama de fluxo de dados nivelado difcil de
se construir e de se atualizar;
Disciplina na construo e manuteno do
dicionrio de dados;
Trabalho exaustivo na construo das
especificaes de processos primitivos.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

Centro Universitrio do Tringulo

Desenvolvimento
Estruturado de Sistemas

Por qu estamos deixando as


tcnicas estruturadas ?

Foco excessivo nos processos, que


so a parte mais frgil do sistema;
Excesso de documentao difcil de
se manter;
Gap semntico entre a anlise e o
projeto;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

Centro Universitrio do Tringulo

Desenvolvimento
Estruturado de Sistemas

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo

Histrico da Orientao a Objetos:

Dcada de 60 Programao
baseada em objetos foi discutida pela
primeira vez pelos que trabalhavam
com a linguagem SIMULA;
Dcada de 70 A linguagem
SMALLTALK, desenvolvida pela
XEROX implementava na prtica os
conceitos de orientao a objetos;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo

Histrico da Orientao a Objetos:

Dcada de 80 Anos de amadurecimento


dos conceitos, onde a ateno mudou
gradualmente da codificao para o
projeto e depois para a anlise orientada
a objetos.
objetos Nesta dcada, novas linguagens
que implementavam os conceitos de
orientao a objetos apareceram, como C+
+, Objetive-C, ADA, Smalltalk.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo

Histrico da Orientao a
Objetos:

Dcada de 90 Implementao
de sistemas muito maiores e mais
complexos, com grande esforo do
trabalho dedicado a interface com
o usurio. Argumenta-se que
atualmente 75% do esforo
computacional de construo de
um sistema pode estar
relacionado a interface.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

10

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo

Histrico da Orientao a Objetos:


Atualidade:
O enfoque baseado em objetos, desde a
anlise at a codificao, a forma mais
natural de abordar problemas.
A Modelagem de dados tornou-se
prioritria a partir dos anos 90, onde
mais importante definir a complexidade
dos dados do sistema do que a
complexidade funcional.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

11

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo

Principais dificuldades da atividade


de anlise:

Domnio do problema e as
responsabilidades do sistema;
Comunicao entre usurios, analistas e
desenvolvedores;
Mudana contnua;
Reusabilidade.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

12

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo

Desenvolvimento usando tcnicas


baseadas em objetos:

Os objetos so a parte mais estvel de


um ambiente de negcios: marilia

Um negcio que lida com vendas SEMPRE


vai ter clientes, produtos, documentos
fiscais da transao de venda, pedido, canal
de venda. Os processos mudaro ao longo
do tempo, mas os objetos sero os mesmos.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

13

Centro Universitrio do Tringulo

Modelagem de Objetos
Introduo
Metodologias mais antigas, como Anlise e Projeto Estruturados,
baseiam-se em outras dimenses de decomposio
Sistema de
Biblioteca

A&P Orientados a Objeto

A&P Estruturados

Decomposio por objetos ou conceitos


Decomposio por funes ou processos
Catlogo

Bibliotecrio

Livro

Biblioteca

Sistema

Registra
Emprstimos

Adiciona
Recursos

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

Reporta
Multas
14

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Evento

Fato ou acontecimento do ambiente de


negcios, ocorrido em sua periferia ou em
seu interior, que provoca no sistema uma
reao, imediata ou no, perceptvel por
um observador;
Os eventos so descritos na forma como
seriam percebidos por um observador
externo.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

16

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Exemplos de eventos:

O estoque do produto xxxx atingiu o


ponto de encomenda (evento
interno);
O aluno pediu trancamento parcial de
matrcula (evento externo);
dia de recolher os impostos (evento
externo; temporal);
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

17

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Objeto

uma entidade real ou abstrata, com


caractersticas especficas de
interesse para o ambiente e que est
associado a processos que modificam
seu estado e a um certo conjunto de
atividades do ambiente de negcios;

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

18

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Exemplos de objetos

Cliente (ambiente qualquer);


Nota fiscal (ambiente de vendas);
Aula, Mapa de notas (escola, faculdade);
Produto (ambiente de vendas ou servios);
Mdico, medicamento, receita, pronturio,
paciente, internao (hospital).

Obs.: O nvel de detalhe que se deseja ter sobre um


mesmo objeto varia de ambiente para ambiente.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

19

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Classe

uma forma de categorizar um conjunto de objetos


que compartilham caractersticas e
comportamentos;
Exemplo: voc e seu colega so, obviamente,
pessoas (objetos) diferentes, mas que no contexto
deste instante ambos pertencem uma mesma
classe de pessoas: Alunos.
Uma classe representada por um nome, um
conjunto de propriedades (atributos) que
caracterizam esta classe e um conjunto de servios
(mtodos) que manipulam os objetos desta classe.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

20

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Representao grfica de uma Classe:


Aluno

Nome da classe

Nome
Data de nascimento

Propriedades

Matrcula
CancelarMatricula
Matricular(Disciplina)

Representao
UML
para a classe

Servios

ObterHistorico
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

21

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Estado de um objeto

a situao em que se encontra um


determinado objeto, sob a tica daquilo que
se deseja controlar.
Dentro e um sistema um mesmo objeto
pode possuir diversos estados.
Estado = situao do objeto
Um semforo pode conter o seguintes estados:
Verde

Amarelo

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

Vermelho
22

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Pacotes:

um mecanismo
de propsito geral
para organizar
elementos
semanticamente
relacionados em
grupos.

Interface do
Usurio

Objetos do
Sistema

Utilidades

Banco de
Dados

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

23

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Componentes

Um componente pode ser tanto um


cdigo em linguagem de
programao como um cdigo
executvel j compilado
Cliente.java

Grficos.dll

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

24

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Encapsulamento

o resultado (ou ato) de ocultar do


usurio os detalhes da implementao de
um objeto, protegendo-o de adulterao.
O usurio deve conhecer a classe
juntamente com as suas propriedades e
saber quais os mtodos para manipular os
objetos desta classe, mas no precisa
saber como estes mtodos foram
implementados.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

25

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos
Encapsulamen
to
Estrutura

encapsulada de
dados

CLASSES

B
3,14

Operaes permissveis
- a nica maneira de
manipular a estrutura
de dados. O mtodo da
operao est oculto do
usurio.

abc

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

26

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Mensagem

uma solicitao enviada para um, ou mais


objetos, obtendo como resposta a execuo
de algum servio.
Ex.: Um objeto da classe A (emissor) envia
uma mensagem para um objeto da classe B
(receptor), este objeto recebe a mensagem,
executa algum servio, e retorna a resposta
ao emissor da mensagem.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

27

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Polimorfismo

uma das mais importantes


caractersticas da orientao a objetos.
O polimorfismo acontece quando uma
mesma mensagem pode ser
interpretada em diferentes caminhos
por diferentes objetos.

Ex.:
Objeto:
circulo quadrado
Propriedades: raio, centro
lado, altura
Servios:
rea, desenhar
rea, desenhar
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

28

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Herana

um mecanismo especfico pelo qual


os objetos de uma sub-classe herdam
toda a representao e
comportamento das suas superclasses. Programao por herana
muito importante, devido ao
reaproveitamento das definies
semelhantes das super-classes.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

29

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Herana
SERES VIVOS

POLGONOS

TRINGULO

QUADRILTEROS

QUADRADOS

RETNGULOS

VEGETAIS

MAMFEROS

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

ANIMAIS

AVES

30

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Associao


simples

um relacionamento estrutural que


especifica objetos de um item conectado
a objetos de outro item. A partir de uma
associao conectamos duas classes,
voc capaz de navegar de um objeto
de uma classe at o objeto de outra
classe e vice-versa.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

31

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Associao


simples
Reserva

feita por

Hspede

Quarto

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

32

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Associao recursiva

Representao de de uma associao de


objetos de uma mesma classe.
Esposa

Pessoa
Marido

casado com

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

33

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Associao exclusiva

Restries entre duas ou mais associaes de objetos.

Contrato
0..*
1.*

Pessoa

0..*

{ou}
1.*

Empresa

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

34

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Associao de classe

Representa uma associao de uma classe com


uma outra associao, adicionando informaes
extras a associao existente
*

Cliente

Processo

Fila

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

35

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Associao ternria

Representao de uma associao entre trs


classes
Contrato

0..*

1..*

Cliente

1..*

Regras
Contratuais
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

36

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Relao todo-parte

Definio de um relacionamento onde uma


classe representa um item maior (o todo),
formado por itens menores (as partes), ou
seja, um objeto do todo contm os objetos das
partes. A agregao, na verdade, apenas um
tipo especial de associao, que representada
pela colocao de um diamante no objeto todo
que compe a relao. Temos dois tipos de
relao todo-parte: Agregao e Composio.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

37

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Relao todoparte (AGREGAO - um objeto de uma classe


formada por objetos de outra classe)
contm

Carga

1..*

Encomenda

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

38

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Relao todoparte (COMPOSIO - um objeto de uma


classe formada por objetos de vrias classes
diferentes)
contm

Onibus

1..*

Assento

Motor
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

39

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Relao de generalizao


/especializao (gen-espec ou herana)
um relacionamento entre itens gerais (chamado
superclasses ou classe-me) e tipos especficos
desses itens (chamada de subclasse ou classefilha). A generalizao significa que os objetos da
classe-filha herdam as propriedades (atributos e
operaes) da classe-me. Freqentemente, mas
no sempre, as classes-filhas tem atributos e
operaes prprias, alm daquelas encontradas
nas classes-me.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

40

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Relao de


generalizao /especializao (gen-espec
ou herana)
Interpreta-se da
Pessoa

seguinte forma:
- Um funcionrio um
tipo de pessoa;
ou
- Uma certa pessoa
pode ser um
funcionrio;

Funcionrio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

41

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Aspectos Estruturais: Relao de


generalizao (herana mltipla)

Carro

Barco

Anfbio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

42

Centro Universitrio do Tringulo

Modelagem de Objetos
Conceitos Bsicos

Multiplicidade

Nos relacionamentos de associao e agregao,


pode-se acrescentar a multiplicidade (similar a
cardinalidade na modelagem estruturada), que
especifica o nmero de instncias de uma classe
em relao a outra em um relacionamento:

0..1 zero ou uma instncia


1
exatamente uma instncia
0..* zero ou mais instncias
*
ilimitado (valor padro)
1..* uma ou mais instncias
<literal>..* nmero exato ou mais instncias
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

43

Centro Universitrio do Tringulo

Anlise e Projeto Orientados a


Objetos

Centro Universitrio do Tringulo

Anlise e Projeto
Orientados
O que Anlise e Projeto?
a Objetos
Anlise o qu

Projeto como

Investigao do problema e
dos requisitos

Descrio de uma soluo


lgica

Requisitos
Casos de uso
Restries
Vocabulrio

Objetos
Arquitetura
Instalao & Operao
Interface do usurio

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

45

Centro Universitrio do Tringulo

Anlise e Projeto
Orientados
a Objetos
Conceito
de domnio

Representao
na anlise

Representao
no projeto

Livro
ttulo

Livro
ttulo
imprimir()

Ex : Representao de
um Conceito na APOO
public class Livro
do objeto LIVRO em
{
public void imprimir();
Representao
um sistema de
no cdigo
private String titulo;
biblioteca
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

46

Centro Universitrio do Tringulo

Anlise e Projeto
Orientados
Exemplo
Jogo de Dados
a Um
Objetos
Exemplo

Objetivo: ganha o jogador que rolar dois


dados e tirar sete
Modelagem na APOO

Casos de uso: Descries narrativas de processos


do domnio no formato de prosa estruturada.

Ex.: Caso de uso: Jogar


Atores:
Descrio:

Jogador
Este caso de uso comea quando o jogador
rola os dados. Se o total dos dados for sete, o
jogador ganha; do contrrio, ele perde.

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

47

Centro Universitrio do Tringulo

Anlise e Projeto
Orientados
Modelagem na APOO (cont.)
aModelo
Objetos
Exemplo
conceitual: Conceitos,
atributos, e associaes que

so considerados importantes no domnio da aplicao

Ex.:

Jogador

Rola

Dado

nome

valor
1

Joga
1
JogoDeDados

Inclui

Um modelo conceitual descreve conceitos do mundo real,


no componentes de software!
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

48

Centro Universitrio do Tringulo

Anlise e Projeto
Orientados
(cont.)
a Modelagem
Objetosna APOO
Exemplo

Diagramas de colaborao

Ex.:

Alocao de responsabilidades para objetos


ilustrando como eles interagem via mensagens
Mostram o fluxo de mensagens entre instncias e
a invocao de mtodos
joga()

:Jogador

1: r1 := rola()

2: r2 := rola()
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

d1 : Dado

d2 : Dado
49

Centro Universitrio do Tringulo

Anlise e Projeto
Orientados
na APOO
(cont.)
a Modelagem
Objetos
Exemplo
Diagramas de classes de projeto: Como os objetos

(de software) se conectam e quais so os mtodos


de uma classe?

Ex.:

Jogador
nome
joga()

1
Joga
1
JogoDeDados

Dado

Rola
1

valor
rola()
2

Inclui

inicializa()

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

50

Centro Universitrio do Tringulo

UML Linguagem
Unificada de Modelagem
Viso geral da UML para
programadores

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

A UML a linguagem padro de diagramao


para visualizar os resultados da anlise e projeto;
A notao (a prpria UML) relativamente trivial;
Muito mais importante: habilidade para modelar
objetos. S aprender a notao UML no resolve;
A UML no :

um processo ou metodologia
APOO
regras de projeto

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

52

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Diversas notaes para descrio da


modelagem orientado a objetos foram
proposta nos anos 80 e 90.
A Unified Modeling Language (UML)
uma integrao das principais
notaes.
Ela define notaes diferentes para
descrever modelos diversos, produzidos
durante a Anlise e o Projeto OO.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

53

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

O que UML:

uma padronizao da modelagem


Orientada a Objetos;
Pode ser usada para especificao,
construo, visualizao e documentao de
sistemas de software;
Pode ser usado durante todo o ciclo de vida
de um software;
Pode ser usado com diferentes tecnologias de
implementao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

54

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Linguagem de Modelagem
Linguagem cujo vocabulrio e regras tm seu
foco voltado para a representao conceitual e
fsica de um sistema, Booch, Rumbaugh&
Jacobson
notao (principalmente grfica)
No processo
Define como expressar modelos
Usa padres (design patterns) para resolver
problemas comuns
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

55

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML
Origem e Evoluo:
Parceiros
da UML
Microsoft,
Oracle, HP,
IBM, ...

Industrializao
(Set97)

UML 1.0

Padronizao
(Jan97)

UML 0.9 & 0.91


Unified Method 0.8
Booch93

Outros
mtodos

UML 1.1

Unificao II
(Out96)
Unificao I
(Out95)

OMT-2

OOSE
Booch91
OMT-1
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

Fragmentao
56

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML
Suporte ao desenvolvimento de aplicaes
Objects

Business Objects

Relationships
Large scale system

ORDBMS
Oracle
Application partitioning

Classes
Components
Microsoft

Scenarios

Use Cases

ActiveX/COM
Microsoft
Business Process
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

CORBA
OMG
57

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Diagramas bsicos:

Diagramas de caso de uso: representao


dos processo do ambiente;
Diagrama de classes: estrutura o
relacionamento dos objetos do sistema;
Diagrama de estados: como o objeto
responde aos estmulos, dependendo do
estado em que se encontra;
Diagrama de atividades: representa
quando quem faz o qu dentro do sistema;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

58

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Diagramas bsicos:
Diagramas de seqncia: como os
objetos trabalham juntos para
realizarem os processos do ambiente;
Diagrama de colaboraes: mtostra a
interao organizada em torno dos
objetos e suas ligaes uns com os
outros;
OBS: Estes dois diagramas representam
os diagramas de interao.

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

59

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Diagramas bsicos:

Diagrama de Pacotes: representao dos


pacotes desenvolvidos e suas relaes;
Diagrama de componentes:
documentao da organizao fsica do
software, mostrando a estrutura do software;
Diagrama de implantao/distribuio:
especificao do sistema que inclui todos os
elementos de processamento, incluindo
hardware e software.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

60

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Os diagramas da UML

Trs tipos de diagramas: estticos, dinmicos


e fsicos

Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama

de
de
de
de
de
de
de
de
de

Classes
Modela aspectos estticos
Casos de Uso
Seqncia
Diagramas
Modelam
Colaborao de Interao
aspectos
Atividades
dinmicos
Estados
Pacotes
Componentes
Diagramas
Utilizao
fsicos

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

61

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Anlise Orientada a Objetos com


UML:

Diagrama de Caso de Uso (com


descries detalhadas);
Modelo conceitual (diagrama de
classe simplificado);
Diagrama de seqncia;
Diagrama de Estados de Objetos.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

62

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem - UML

Projeto Orientada a Objetos com UML:

Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama

de
de
de
de
de
de

Classe completo;
Colaborao entre objetos;
Pacotes;
Componentes;
Atividades;
Implantao/distribuio.

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

63

Centro Universitrio do Tringulo

Ferramentas de Modelagem
Orientados a Objetos

Centro Universitrio do Tringulo

Ferramentas Modelagem
Orientadas a Objetos

Argo UML

Visual Paradigm - www.visualparadigm.com

Principal Ferramenta de APOO

IDE Eclipse (JAVA) - www.eclipse.org

Utilizao esta crescendo muito

Rational ROSE - www.rational.com

Ferramenta mais simples

Plug-in UML - www.omondo.com

Outros.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

65

Centro Universitrio do Tringulo

UML Linguagem
Unificada de Modelagem
Anlise Orientada a
Objetos com UML

Centro Universitrio do Tringulo

Diagrama de Caso de Uso

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Permitem especificar graficamente


quais so os processos do
ambiente de negcios que estamos
modelando e como eles interagem
entre si;
muito comum que os iniciantes
confundam aspectos do diagrama
de casos de uso com DFDs;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

68

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

O que um caso de uso:

um servio que o sistema fornece


externamente do ponto de vista do
ambiente de negcios;
Um caso de uso tem valor agregado
em relao ao ambiente. Como
conseqncia, o caso de uso
realizado atravs de diversas
interaes entre objetos no ambiente;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

69

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Caso de Uso:

Descries narrativas de processos do


domnio da aplicao;
Documentam a seqncia de eventos
de um ator (um agente externo)
usando o sistema para completar, do
incio ao fim, um determinado
processo;
Agendar
Consulta
Representao em UML:
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

70

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO
Atores

Entidades externas ao sistema que de algum


modo participam da estria do caso de uso

Estimulam o sistema com eventos de entrada, ou


recebem alguma coisa dele
Designados pelo papel que exercem no caso de uso

Ex.: Cliente, Operador, etc.

Representao em UML:
Cliente
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

71

Centro Universitrio do Tringulo

UML Diagrama de Casos


de Uso - Associaes

Incluso

Comportamento semelhante que acontece


em mais de um caso de uso
Exemplo:

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

72

Centro Universitrio do Tringulo

UML Diagrama de Casos


de Uso - Associaes

Incluso

Tanto Analisar Riscos quanto Fechar


Preo possui em uma parte da
descrio do cenrio a avaliao do
negcio. Portanto o caso de uso
Avaliar Negcio includo nos dois
casos de uso anteriores.

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

73

Centro Universitrio do Tringulo

UML Diagrama de Casos


de Uso - Associaes

Generalizao

Caso de uso que descreve um pouco mais


que outro caso de uso
Exemplo:

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

74

Centro Universitrio do Tringulo

UML Diagrama de Casos


de Uso - Associaes

Generalizao

No exemplo, o caso de uso bsico Registrar


Negcio, no qual tudo funciona bem. Se o
limite for excedido, acontece uma alternativa
do caso de uso. Esta situao poderia ser
simplesmente uma alternativa do caso de
uso, porm diferente o suficiente para
merecer um caso de uso separado. O caso
de uso especializado pode sobre-escrever
qualquer parte do caso de uso bsico.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

75

Centro Universitrio do Tringulo

UML Diagrama de Casos


de Uso - Associaes

Extenso

Semelhante generalizao, com


declarao dos pontos de extenso. Um
caso de uso pode ter vrios pontos de
extenso, que so indicados na linha entre
os casos de uso do diagrama
Exemplo:

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

76

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

O objetivo de um diagrama de caso


de uso descrever diversas vises
que um ou outro observador pode ter
do ambiente;
A modelagem do sistema pode incluir
vrios diagramas de caso de uso;
Um mesmo caso de uso pode
aparecer em diversos diagramas de
caso de uso;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

77

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Atores e Casos de Uso:

Um caso de uso possui um ator iniciador que


gera o estmulo inicial, e possivelmente vrios
atores participantes

O ator iniciador deve ser indicado explicitamente na


descrio do caso de uso

Algumas categorias tpicas de atores incluem:

papeis exercidos por pessoas


sistemas de computao
dispositivos eltricos e mecnicos
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

78

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Identificando Casos de Uso:

Normalmente no so eventos ou
passos individuais, mas um processo
completo ligado as regras do negcio

Erro mais comum!

Mtodo baseado em atores


1. Identificar os atores relacionados com o
sistema ou organizao
2. Para cada ator, identificar os processo
que eles iniciam ou participam
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

79

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Identificando Casos de Uso:

Mtodo baseado em eventos


1. Identificar os eventos externos aos quais o
sistema deve responder;
2. Descreva os eventos;
3. Considere que cada resposta a um evento
ser realizada por um caso de uso;
4. Relacionar os eventos a atores e casos de
uso;
5. Descreva textualmente os cenrios.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

80

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Exemplo:

Considere um consultrio mdico. Um evento


importantssimo a se observar quando um
paciente deseja marcar uma consulta.
EVENTO:
Cliente deseja marcar uma consulta.
Defina o cenrio do caso de uso listando
todas as respostas que o sistema fornece,
tentando definir quem so os atores que
participam do caso de uso e quais so as
funcionalidades ligadas ao caso de uso.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

81

Centro Universitrio do Tringulo

UML
Diagrama de Caso de
USO
Observe que um ator
inicia o caso de uso.
Exemplo: cenrio do evento
Cliente deseja marcar uma consulta

O cliente comunica-se e solicita o


agendamento de uma consulta;
A secretria obtm na agenda o prximo
horrio disponvel e o informa ao cliente;
Se o cliente aceitar, a secretria solicita o
nome e telefone ao cliente e efetua o
agendamento;
Diversos objetos
Existem aes bastante
Eventualmente podemos

compem o cenrio

ligadas aos objetos.

identificar propriedades
objetos no cenrio.

Anlise e Projeto Orientado a Objetos


de
UML
Prof. Ronaldo C. Oliveira

82

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Conseqncias no modelo

paciente

Agenda consulta
para o paciente
Efetua
bloqueio de
horrios
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

Secretria

83

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Relaes entre casos de uso

Imagine que como conseqncia de


uma consulta ou mesmo por uma
emergncia, o mdico identifique a
necessidade de realizar uma cirurgia.
O agendamento da cirurgia tem
vrias implicaes:

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

84

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Possveis conseqncias no modelo


Agendar consulta
para o paciente

Efetuar
bloqueio de
horrios

<<uses>>

Secretria

Agendar
cirurgia
Mdico

<<extends>>

Agendar consulta
pr-cirrgica

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

85

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

A incluso do esteretipo <<uses>> no


relacionamento de generalizao indica que
ser obrigatrio que o caso de uso agendar
consulta pr-cirurgia acione o comportamento
expresso pelo caso de uso efetuar bloqueio de
horrios;
Se o esteretipo <<extends>> for utilizado, ir
indicar um comportamento opcional por um
caso de uso, ou seja, o caso de uso agendar
cirurgia poder ou no utilizar o agendar
consulta pr-cirurgia.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

86

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Exemplo de especificao de um caso de uso:


Caso de uso:
Atores:
Tipo:
Descrio:

Comprar Itens
Cliente, Operador
Primrio
Um Cliente chega no caixa com itens para comprar. O
Operador registra os itens e coleta o pagamento. Ao
final, o Cliente sai com os itens.
Comprar itens

A UML no
especifica um formato rgido paraCliente
os cabealhos e a
Operador
estrutura de um caso de uso

Podem ser alterados de acordo com as necessidades de


documentao
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

87

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Tipos de Casos de Uso:

Primrio
Representam os processos principais ou mais
comuns (ex.: Comprar Itens)

Secundrio
Representam processos menos importantes ou
mais raros (ex.: Cadastrar Operadores)

Opcional
Representam processos que podem ser ignorados
ou includos em futuras verses do sistema (ex.:
Solicitar Estoque para um Novo Produto)
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

88

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Formato dos Casos de Uso:

Alto-nvel

Breve descrio de um processo, normalmente em


duas ou trs frases, e deliberadamente vago em
decises de projeto
Criados na fase inicial de requisitos

Expandido

Descrio passo a passo dos eventos de um processo


Durante a fase de requisitos, apenas os casos de uso
mais importantes devem ser escritos nesse formato

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

89

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Formato dos Casos de Uso:

Essencial

Descrio de um processo em termos de sua


motivao e atividades essenciais
Expressos relativamente livres de detalhes de
implementao, decises de projeto, e uso de
tecnologias

Real

Descrio de um processo em termos de seu projeto


real, comprometido com tecnologias de
desenvolvimento, interfaces de entrada e sada, etc.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

90

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Recomendaes de Notao

Crie nomes sempre comeando com um verbo


Inicie a seqncia de eventos com
1. Este caso de uso comea quando <Ator>
<inicia evento>

Use a seo Seqncias Alternativas para


representar desvios para seqncias de
eventos incomuns ou excepcionais;
Use subsees para representar desvios para
seqncias alternativas com igual importncia
ou probabilidade de ocorrncia.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

91

Centro Universitrio do Tringulo

UML
Diagrama de Caso de USO

Identificando os elementos do cenrio

Identifique os objetos/classes pelos


atores e substantivos que so objetos
das aes;
Identifique os servios dos objetos pelas
aes que esto bastante relacionadas a
eles (diretamente solicitados ou que
promovem a sua manipulao);
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

92

Centro Universitrio do Tringulo

UML Diagrama de Caso de


Uso
Exemplo Diagrama
completo

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

93

Centro Universitrio do Tringulo

Diagrama de Classe
(Construindo o Modelo
Conceitual)

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Um diagrama de classe ilustra as especificaes de


software para as classes e interfaces do sistema

Inclui:

Classes, associaes e atributos;

Interfaces (com operaes e constantes);

Mtodos que manipulam os objetos;

Informao sobre o tipo dos atributos;

Navegabilidade;

Dependncias;

UML no diferencia modelo conceitual de diagrama de


classe (o termo classe de implementao usado para
distinguir o segundo do primeiro)
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

95

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Modelo Conceitual (diagrama de Classe


Inicial)

Artefato mais importante da AOO


Representa conceitos relevantes (do ponto de
vista do modelador) do domnio do problema
Na UML, ilustrado com diagramas de
estruturas estticas contendo:

Conceitos
Associaes entre conceitos
Atributos de conceitos
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

96

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo
Conceitual
Conceitos

Idias, coisas, ou objetos do mundo real


Loja

Venda

Cliente

data
hora

No representam componentes de software


VendasDatabase

Venda
data
hora

artefato do software, no
faz parte do modelo conceitual
classe do software; no
faz parte do modelo conceitual

imprima()
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

97

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Identificando Conceitos

Regras teis:

melhor especificar demais do que especificar de menos;


No exclua conceitos simplesmente porque os requisitos
no indicam a necessidade de guardar informaes sobre
eles (comum em projeto de BD);
Comece fazendo uma lista de conceitos candidatos a partir
de uma lista de conceitos comuns;
Considere os substantivos e frases nominais nas
descries textuais do domnio do problema (descrio dos
casos de uso) como possveis candidatos a conceitos ou
atributos.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

98

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo
Conceitual
Categoria
Exemplos
Objeto fsico ou tangvel
Lugares
Transaes
Itens de transao
Papis de pessoas

Terminal de ponto-de-venda; Avio


Loja; Aeroporto
Venda, Pagamento; Reserva
Itens de venda; Parcelas de pagamento
Operador; Piloto

Container de coisas
Loja; Avio
Coisas em um container
Item; Passageiro
Sistemas externos
Servio de crdito; Controle de trfego areo
Nomes abstratos
Fome; Aracnofobia
Organizaes
Departamento de vendas; Companhia area
Eventos
Poltica de devoluo; Poltica de cancelamento
Catlogos
Catlogo de produtos; Catlogo de peas
Registros contratuais
Recibo, Contrato de trabalho; Registro de manuteno
Servios financeiros
Linha de crdito; Aes
Manuais, livros
doOrientado
empregado;
Manual
Anlise Manual
e Projeto
a Objetos
de reparos
UML
Prof. Ronaldo C. Oliveira

99

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Criando um Modelo Conceitual

Passos sugeridos:
1. Liste os conceitos candidatos para os casos de
usos em questo usando a lista de categorias
comuns e identificao textual de nomes;
2. Desenhe-os em um modelo conceitual;
3. Adicione as associaes necessrias para
registrar os relacionamentos para os quais
preciso preservar alguma memria;
4. Adicione os atributos necessrios para cumprir
os requisitos de informao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

100

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Representao grfica de uma Classe:


Aluno

Nome da classe

Nome
Data de nascimento

Propriedades

Matrcula
CancelarMatricula
Matricular(Disciplina)

Representao
UML
para a classe

Servios

ObterHistorico
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

101

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Associao simples
Reserva

feita por

Hspede

Quarto

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

102

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Relao todo-parte de AGREGAO

Um objeto de uma classe formada por


objetos de outra classe
contm

Carga

1..*

Encomenda

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

103

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Relao todo-parte de COMPOSIO

Um objeto de uma classe formada por


objetos de vrias classes diferentes
contm

Onibus

1..*

Assento

Motor
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

104

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Relao de
generalizao/especializao
GEN-ESPEC ou Herana
Interpreta-se da
seguinte forma:
Pessoa

- Um funcionrio um
tipo de pessoa;
ou
- Uma certa pessoa
pode ser um
funcionrio;

Funcionrio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

105

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Multiplicidade

Nos relacionamentos de associao e agregao,


pode-se acrescentar a multiplicidade (similar a
cardinalidade na modelagem estruturada), que
especifica o nmero de instncias de uma classe
em relao a outra em um relacionamento:

0..1 zero ou uma instncia


1
exatamente uma instncia
0..* zero ou mais instncias
*
ilimitado (valor padro)
1..* uma ou mais instncias
<literal>..* nmero exato ou mais instncias
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

106

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Observao:

Todas as associaes simples, e


relaes todo-parte (agregao e
composio) devem ser nomeadas
conforme o ambiente de negcios e
tambm devem ser relacionadas as
multiplicidades envolvidas. Estas
caractersticas fornecem um melhor
entendimento da relao entre os objetos.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

107

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Identificando Associaes

Regras teis:

Focar nas associaes cujo conhecimento deve ser


preservado;
Usar nomes baseados em expresses verbais que
faam sentido quando lidas no contexto do modelo;
Evitar mostrar associaes derivveis ou
redundantes;
mais importante identificar conceitos do que
associaes;
Associaes demais tendem a confundir um modelo
conceitual ao invs de ilumin-lo .
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

108

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Atributo

Um atributo um dado lgico de um objeto


do domnio
Definidos para conceitos cujos requisitos
(casos de uso) sugerem a necessidade de
preservar algum tipo de informao

Ex.: atributos data e hora para o conceito Venda

Notao na UML
Venda

atributos

data
horainicial
: Time
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

109

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Identificando Atributos

Atributos devem preferencialmente


representar tipos primitivos de dados
ou de valores simples

Ex.: Data, Nmero, Texto, Hora, Endereo,


etc.

Atributos no devem ser usados para:

Representar um conceito complexo


Relacionar conceitos (atributo chaveestrangeira)
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

110

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Modelo Conceitual

Um atributo deve ser de tipo noprimitivo quando:

composto de sees separadas

Precisa ser analisado ou validado

Ex.: CPF, nmero de matrcula

Possui outros atributos

Ex.: endereo, data

Ex.: Um preo promocional com prazo de validade

uma quantidade com uma unidade

Ex.: valores monetrios, medidas


Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

111

Centro Universitrio do Tringulo

UML - Diagrama de Classe


Exemplo de Modelo
Conceitual
responsavel

Escola
nome : Nome
endereco : Sequencia de Caracteres
1
telefone : Numero

0..*

tem

1..*

Departamento
nome : Nome

atrib uido a

1..*
1

1..*
possui
memb ro
1..*

*
Aluno
matricula : Nmero

frequenta
*

Curso
ensina
cdigoCurso: Nmero
nome: Nome
*
1..*

1..*

Instrutor
titulo : Nome

Pessoa
Nome
Endereo
Anlise e Projeto Orientado a Objetos
Telefone
UML
Prof. Ronaldo C. Oliveira

112

Centro Universitrio do Tringulo

Diagrama de Interao

Centro Universitrio do Tringulo

UML
Diagrama de Interao

O Diagrama de Interao visa construir a modelagem


comportamental ou dinmica do sistema, mostrando o
comportamento dos objetos , considerando a seqncia
da troca de mensagens entre estes objetos, para que
cumpra um determinado papel ou se atenda a um
determinado contexto;
Favorecem a identificao das responsabilidades que as
classes podero ter, uma vez que as mensagens
trocadas pelos objetos correspondem a mtodos da
classe ao qual pertencem;
O diagrama de interao tem o foco em um caso de
uso, onde busca-se identificar quais os objetos
participam da interao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

114

Centro Universitrio do Tringulo

UML
Diagrama de Interao

Um diagrama de interao ilustra as interaes de


mensagens entre instncias (e classes) no modelo
de classes

Atribuio de responsabilidades aos objetos


Ponto de partida o cumprimento das ps-condies
especificadas nos contratos de operao

A UML defines dois tipos de diagramas de


interao:

Diagramas de seqncia (faz parte da anlise)


Diagramas de colaborao entre os objetos (faz parte do
projeto)
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

115

Centro Universitrio do Tringulo

Diagrama de Seqncia

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Mostra como diversos objetos se relacionam


(interagem, colaboram) no ambiente de
negcios para a realizao de um caso de uso;
Auxilia na identificao de servios/mtodos e
delegao de responsabilidades;
Elementos:

Objetos;
Mensagens;
Linha da vida;
Foco de controle;
Retorno.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

117

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Diagramas de seqncia

Representa interaes entre objetos


atravs de mensagens envidadas
:Instncia da Classe A

:Instncia da Classe B

mensagem1()
mensagem2()

mensagem3()

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

118

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Um diagrama de seqncia ilustra a ordem das interaes


dos atores externos com o sistema (representado como uma
caixa-preta) e os eventos que eles geram
sistema como uma caixa preta

Comprar tens

Ator

:Sistema

Caixa

Repita at no
existir mais itens

entrarItem(cdigo, quantidade)
encerrarVenda()

Texto explicativo
Lgica, controle,
Iterao
Deve ser trazido do
Use case

fazerPagamento(valor)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

119

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Eventos e Operaes

Um evento de sistema um evento externo de entrada


gerado por um ator do sistema

Inicia uma operao de resposta de mesmo nome

Uma operao de sistema uma operao que


executada em resposta a um evento de sistema
Comprar Itens

Caixa

:Sistema

entraritem(cdigo, quantidade)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

120

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Representando Operaes:

O conjunto necessrio de operaes de sistema


determinado atravs da identificao dos eventos de
sistema

Exemplos de operaes:

entrarItem(cdigo, quantidade)
encerrarVenda()
fazerPagamento(quantia)

Na UML, representado como operaes de um objeto


Sistema
denominado Sistema:

As mensagens que chegam a um


entrarItem()
determinado objeto faro parte dos
encerrarVenda()
mtodos da classe ao qual o objeto
fazerPagamento()
pertence.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

121

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Como fazer Diagramas de Seqncia

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 descrio das seqncias tpicas de
eventos dos casos de uso, identificar os eventos de
sistema que cada ator gera. Ilustrar os eventos no
diagrama atravs de mensagens.;
4. Opcionalmente, incluir o texto do caso de uso
esquerda do diagrama.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

122

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Nomeando Eventos e Operaes

Regras teis:

Comear com um verbo


Enfatizar inteno em vez do meio fsico
de entrada ou componente grfico da
interface com o usurio

Ex.: encerrarVenda em vez de


pressionarTeclaEnter

Expressar inteno no nvel mais alto de


abstrao

Ex.: fazerPagamento em vez de entrarQuantia


Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

123

Centro Universitrio do Tringulo

UML - Diagrama de
Seqncia
Exemplo

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

124

Centro Universitrio do Tringulo

UML - Diagrama de
Seqncia
Exemplo Clinica Mdica
:Agenda

Paciente

Secretria
MarcarConsulta()

ObterHorariosVagos()

SelecionarHorario()
[Horario selecionado]
EfetivarAgendamento(horario,
Nome,Telefone)

Agendar(ConsultaMarcada)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

125

Centro Universitrio do Tringulo

Diagrama de Estados

Centro Universitrio do Tringulo

UML
Diagrama de Estados

Normalmente um sistema reage a estmulos


provenientes de fora dele ou ainda estmulos
temporais por ele mesmo desencadeados. Essa
reao pode originar respostas externas ao
sistema. Esta dinmica fruto da colaborao
entre os objetos, os quais estaro em determinado
estado em um certo perodo de tempo.
O Diagrama de Estados usado para mostrar os
possveis estados dos objetos de uma classe. A
mudana de um estado para outro chamada de
Transio de Estado.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

127

Centro Universitrio do Tringulo

UML
Diagrama de Estados

Componentes de um diagrama de estado

Estado representao de uma situao de


um determinado objeto em determinado
tempo
estado 1

Incio do diagrama

Final do diagrama
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

128

Centro Universitrio do Tringulo

UML
Diagrama de Estados

Todo diagrama de estado deve conter


uma indicao de incio e pode conter
uma ou mais situaes de finalizao;
Durante a vida de um objeto, pode vir a
existir controle sobre vrias situaes,
cada qual podendo assumir diversos
estados possveis;
Um objeto permanece em um
determinado estado por um tempo finito.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

129

Centro Universitrio do Tringulo

UML
Diagrama de Estados

A transio de um estado para outro


deve conter algumas caractersticas :

Condio ou evento que ocasiona a mudana de estado;

A ao ou operao que dever ser executada para que a


mudana de estado acontea.
Estado 1
Condio
Ao
Estado 2
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

130

Centro Universitrio do Tringulo

UML - Diagrama de
Estados
Exemplo
Matriculado

efetivar matricula
Cursando Disciplina
matricular

matricular
aprovar

Aprovado

concluir curso

reprovar

Reprovado

deseistir do curso

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

131

Centro Universitrio do Tringulo

UML - Diagrama de
Estados
Exemplo Clinica Mdica

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

132

Centro Universitrio do Tringulo

Utilizando a Ferramenta
Rational ROSE

Centro Universitrio do Tringulo

Ferramenta ROSE

A ferramenta de modelagem ROSE


possui varias vises que o analista
pode ter do sistema:

Use Case View


Logical View
Componente View
Deployment View
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

134

Centro Universitrio do Tringulo

Ferramenta ROSE

Use Case View

Onde so definidos os atores, os


casos de uso com suas descries dos
cenrios todos os diagramas de Caso
de Uso que so necessrios para
representar todo o sistema
Tambm so definidos os diagramas
de seqncia e colaborao que so
implementados para cada caso de uso.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

135

Centro Universitrio do Tringulo

Ferramenta ROSE

Logical View:

Onde so definidos todas as classes


pertencentes ao sistema, juntamente com
as definies de atributos e mtodos;
Tambm representada o diagrama de
classe completo, com navegabilidade,
dependncias e interfaces;
Nesta viso tambm aparecem os
diagramas de estado de objeto que so
definidos para as classes que necessitarem.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

136

Centro Universitrio do Tringulo

Ferramenta ROSE

Component View:

Representao dos diagramas de


componentes desenvolvidos ou
utilizados pelo sistema.
Nesta viso tambm podemos
representar o diagrama de pacotes,
que nos mostra uma representao
de como o software ser construido.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

137

Centro Universitrio do Tringulo

Ferramenta ROSE

Deployment View:

Definio do diagrama de
implantao e distribuio, onde so
representados caractersticas fsicas
onde o software ir funcionar, ou seja,
servidores, desktops, ligao entre as
mquinas, protocolo de comunicao
e perifricos instalados.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

138

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Caso de Uso de Emprstimo de Livros

Centro Universitrio do Tringulo

Exerccio: Sistema de
Biblioteca

Seja um ambiente de Biblioteca nos temos o


seguinte evento:

Cliente solicita o emprstimo de um livro

Faa a anlise deste sistema em cima deste


evento construindo os seguintes diagramas:

Diagrama de caso de uso


Modelo conceitual (diagrama de classe
simplificado)
Diagrama de Estado de Objetos
Diagrama de Seqncia
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

140

Centro Universitrio do Tringulo

Estudo de Caso

Roteiro de Tarefas do exerccio:

Definir o cenrio do Caso de Uso


Identificar os atores que participam deste caso de uso
Desenhar o Diagrama de Caso de Uso
Analisar o cenrio e identificar os conceitos que so
manipulados pelo caso de uso
Gerar os cartes CRC (desenvolvido em papel)
Desenvolver o modelo conceitual do sistema
representando os conceitos, atributos e relacionamentos
entre os conceitos (nome do relacionamento e
multiplicidades)
Analisar e desenvolver os digramas de estado de objetos
Desenvolver o diagrama de seqncia
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

141

Centro Universitrio do Tringulo

Resoluo do Exerccio:
Sistema de Biblioteca

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Descrio do Cenrio

Cenrio: O Aluno chega a Biblioteca e escolhe


um Livro nas prateleiras para ser emprestada. No
balco de atendimento a Bibliotecria requisita
a identificao do aluno e o livro em questo que
ser emprestado. A Bibliotecria verifica
Reserva do Livro, e se estiver ela informa ao
Aluno a impossibilidade de emprstimo. No
estando na lista de reserva a Bibliotecria cria
um novo Emprstimo no sistema, verifica os
dados do Aluno, e verifica os dados do Livro. Ao
final a Bibliotecria efetua o Emprstimo do
Livro para o Aluno, e finaliza a operao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

143

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Diagrama de Caso de Uso

Aluno

Caso de Uso: Emprestar Livro


Atores: Bibliotecria, Aluno

Emprestar Livro

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

Bibliotecria

144

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Modelo de Classe Conceitual
Bibliotecria
horarioTrabalho
codigoBibliotec 1..*

trabalha
1

possui

realiza
Pessoa
nome
endereco
telefone
email
cpf

Biblioteca
nomeBiblioteca

0..*
Emprestimo
dataEmprestimo
dataDevolucao
0..*

contem
1..*

1..*

*
Livro
nome
descrio
autor
seo
1..*
contem

requisita

0..*

1
efetua

Reserva
dataReserva
1..*
1
Anlise e Projeto
Orientado a Objetos descrio

Aluno
matricula

UML
Prof. Ronaldo C. Oliveira

145

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Digrama de Estados de Objetos

Classe Aluno

Aluno em Dia

Pagar Debito

Registra Debito

Aluno com Debito

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

146

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Digrama de Estados de Objetos

Classe Livro
Disponibilizar Livro

Livro em Manuteno

Extraviar Livro

Livro Disponivel

Livro Extraviado

Arrumar Livro

Liberar Rezerva
Reservar Livro
Livro Reservado

Devolver Livro
Emprestar Livro
Livro Emprestado

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

147

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Diagrama de Seqncia
: Aluno

: Bibliotecria

: Emprestimo

: Aluno

: Livro

: Reserva

SolicitarEmprest(Aluno, Obra)
VerificaRezerva(Obra)
CriaEmprestimo( )
VerificaAluno(Aluno)

VerificaLivro( )
EfetuarEmprestimo( )

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

148

Centro Universitrio do Tringulo

Exerccio: Sistema de Biblioteca


Diagrama de Colaborao
3: CriaEmprestimo( )
6: EfetuarEmprestimo( )

1: SolicitarEmprest(Aluno, Obra)

: Emprestimo

: Aluno

: Bibliotecria
4: VerificaAluno(Aluno)
2: VerificaRezerva(Obra)

:
Reserva

5: VerificaLivro( )

: Livro

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

: Aluno

149

Centro Universitrio do Tringulo

Exerccio

Um escritrio de advocacia entrou em contato e


requisitou um sistema de controle de aes. O foco
principal do sistema cadastrar todas as aes,
juntamente com o requerente e os advogados que
conduziro cada ao. Outro ponto importante o
registro de todas as testemunhas de defesa do caso. O
advogado quer ainda controlar os acompanhamento
de controle e verificao de cada ao. Dever ser
gerado ainda um relatrio de acompanhamento de
cada ao contendo todos os dados necessrios.
Construir:

Lista de eventos
Diagrama de caso de uso (com cenrios)
Modelo conceitual
Diagramas de estado de objeto
Diagramas de seqncia
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

150

Centro Universitrio do Tringulo

Linguagem Unificada de
Modelagem UML
Projeto Orientado a Objetos
com UML

Centro Universitrio do Tringulo

Diagrama de Classe
Completo

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Um diagrama de classe ilustra as especificaes de


software para as classes e interfaces do sistema

Inclui:

Classes, associaes e atributos;

Interfaces (com operaes e constantes);

Mtodos que manipulam os objetos;

Informao sobre o tipo dos atributos;

Navegabilidade;

Dependncias;

UML no diferencia modelo conceitual de diagrama de


classe (o termo classe de implementao usado para
distinguir o segundo do primeiro)
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

153

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Criando um Modelo Conceitual

Passos sugeridos:
1. Liste os conceitos candidatos para os casos de
usos em questo usando a lista de categorias
comuns e identificao textual de nomes;
2. Desenhe-os em um modelo conceitual;
3. Adicione as associaes necessrias para
registrar os relacionamentos para os quais
preciso preservar alguma memria;
4. Adicione os atributos necessrios para cumprir
os requisitos de informao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

154

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Criando um diagrama de classes

UML usa o termo genrico classe para denotar


tanto entidades do domnio da aplicao quanto
classes na Programao Orientada a Objetos POO:

Uma classe na POO chamada mais especificamente


de classe de implementao

Os termos tipo e interface so usados para


denotar especificaes de classes de
implementao;
O termo conceito denota entidades do mundo real,
e classe denota componentes de software e suas
especificaes.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

155

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Notao UML para classe


Pedido
-dataRecebida:Date
+expedir():void

Nome da classe
Atributos (campos)
Operaes (mtodos)

Public class Pedido {


private Date dataRecebida;
public void expedir(){...}
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

156

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Associao simples
Reserva

feita por

Hspede

Quarto

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

157

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Associaes
ClasseA

papel

ClasseB

Java
Public class ClasseA {
private ClasseB papel;
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

158

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Associaes
ClasseA

Java

papel_
a
1

papel_b
*

ClasseB

Public class ClasseA {


private Vector papel_b;
...
}
Public class ClasseB {
private ClasseA papel_a;
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

159

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Associaes
ClasseA

Java

papel_
a
3

papel_b
*

ClasseB

Public class ClasseA {


private Vector papel_b;
...
}
Public class ClasseB {
private ClasseA papel_a[];
...
papel_a = new ClasseA[3]
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

160

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Relao todo-parte de AGREGAO

Um objeto de uma classe formada por


objetos de outra classe
contm

Carga

1..*

Encomenda

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

161

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Relao todo-parte de COMPOSIO

Um objeto de uma classe formada por


objetos de vrias classes diferentes
contm

Onibus

1..*

Assento

Motor
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

162

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Associaes Agregao e
papel_b
Composio
ClasseA

ClasseB

ClasseA

papel_b
3

ClasseB

Java
Public class ClasseA {
private ClasseB papel_b[];
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

163

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Relao de
generalizao/especializao
GEN-ESPEC ou Herana
Interpreta-se da
seguinte forma:
Pessoa

- Um funcionrio um
tipo de pessoa;
ou
- Uma certa pessoa
pode ser um
funcionrio;

Funcionrio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

164

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Relao de
generalizao/especializao
ClasseA
ClasseB

Java
Public class ClasseA {
...
}
Public class ClasseB extends ClasseA {
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

165

Centro Universitrio do Tringulo

UML
Diagrama de Classe

UML classe abstrata


FormaGeometrica

Java
public abstract class FormaGeometrica {
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

166

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Relao de Dependncia entre classes

Mostra que uma instncia de uma classe depende da instncia de


outra classe, normalmente chamadas de cliente/servidora
respectivamente. A dependncia representada por uma seta
tracejada
Disciplina .
Alunos
Uma instncia da Classe

ListaDePresena
Data
Horrio
TotalAlunosPresentes

presente(alu: Alunos, discip: Disciplina)


ausente(alu: Alunos, discip: Disciplina)

ListadePresena depende
de Alunos e Disciplinas,
pois seu mtodo presente
utilizar a informao de
aluno e disciplina, cujo o
objetivo marcar como
presente um aluno em uma
determinada disciplina, em
data e horrio.

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

167

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Interface

H um tipo especial de classe a qual no


pode ser instanciada, servindo apenas para
especificar as operaes externamente
visveis para uma classe. Uma interface
descreve os padres legais de interao
entre dois objetos. A interface funciona
como uma classe modelo, que outras
classes podero fazer uso, implementando
as funcionalidades descritas.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

168

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Exemplo de Interface
public interface ContratoModelo {

<<interfae>>
ContratoModelo
emitirTexto(txt: String)

public void emitirTexto (String txt);


}
public class ContratoVenda implements ContratoModelo{
public void emitirTexto (String txt)

<<implementa>>

ContratoVenda

// Aqui deve ser inserido o cdigo do mtodo


}

emitirTexto(txt: String)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

169

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Navegao

Considerando uma associao simples


entre duas classes, possvel navegar
de objetos de um tipo at objetos de
outro tipo. A menos que seja
especificado o contrrio, a navegao
bidirecional. Entretanto, em algumas
situaes, pode ser necessrio limitar a
navegao em uma s direo.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

170

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Navegao Exemplo

Ao fazer um controle de acesso ao sistema


so encontrados associaes entre os objetos
Usurios e Senhas. Considerando um
Usurio devemos ser capaz de encontrar os
objetos senhas correspondentes. Agora, a
partir de uma Senha, o sistema no deve
permitir localizar o Usurio correspondente.
Usurio

possui

Senha

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

171

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Visibilidade:
Pblico (+ ou
): Qualquer classificador que
possui visibilidade para o classificador
determinado capaz de usar a caracterstica;
Protegido (# ou
): Qualquer descendente do
classificador capaz de usar a caracterstica;
Privado (- ou
): somente a prpria
classificador e capaz de usar a caracterstica.
OBS.: a caracterstica pode ser um atributo ou
um mtodo da classe

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

172

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Como Fazer um Diagrama Classe

Regras teis:
1. Identificar todas as classes que participam da soluo proposta pelos
diagramas de interao;
2. Desenhe as classes num diagrama de classe;
3. Inclua os atributos identificados no modelo conceitual;
4. Adicione mtodos tal como identificados nos diagramas de interao;
5. Adicione informao sobre o tipo dos atributos e mtodos;
6. Adicione as associaes necessria para permitir a visibilidade de
atributos requisitada;
7. Adicione setas de navegabilidade para indicar a direo da
visibilidade de atributos;
8. Adicione relacionamentos de dependncia para indicar outros tipos de
visibilidade.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

173

Centro Universitrio do Tringulo

UML
Diagrama de Classe

Os mtodos definidos para cada classe


so descobertos durante a
construo do diagramas de interao
(seqncia e colaborao). Todas as
mensagens que chegam a uma
determinada classe, representada no
diagrama de Interao, iro
representar a construao de um
mtodo para classe de mesmo nome
da mensagem .
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

174

Centro Universitrio do Tringulo

Exemplo - Diagrama de
Classe

Escola
nome : Nome
endereo : Sequencia de caracteres
telefone : Numero
adicionarAluno()
removerAluno()
obterAluno()
adicionarDepartamento()
removerDepartamento()
obterDepartamento()
obterTodosOsDepartamentos()

Departamento
nome : Nome

possui

adicinarInstrutor()
removerInstrutor()
obterInstrutor()
obterTodosOsInstrutores() 1..*

1..*

0..*

1..*

1..*

possui

membro

atribuido a

1..*

*
frequenta

Aluno
matricula : Numero
*

Curso
nome : Nome
codigoCurso : Numero

responsvel

*
ensina
1..*

1..*

Pessoa
Instrutor
nome : Nome
endereo : Sequencia de caracteres
formacao
Sequenciade caracteres
Anlise e Projeto Orientado
a :Objetos
telefone : Numero
UML
Prof. Ronaldo C. Oliveira

0..*

175

Centro Universitrio do Tringulo

Diagrama de Interao

Centro Universitrio do Tringulo

UML
Diagrama de Interao

Um diagrama de interao ilustra as interaes de


mensagens entre instncias (e classes) no modelo
de classes

Atribuio de responsabilidades aos objetos


Ponto de partida o cumprimento das ps-condies
especificadas nos contratos de operao

A UML defines dois tipos de diagramas de


interao:

Diagramas de seqncia (faz parte da anlise)


Diagramas de colaborao entre os objetos (faz parte do
projeto)
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

177

Centro Universitrio do Tringulo

Diagrama de Seqncia

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Mostra como diversos objetos se relacionam


(interagem, colaboram) no ambiente de
negcios para a realizao de um caso de uso;
Auxilia na identificao de servios/mtodos e
delegao de responsabilidades;
Elementos:

Objetos;
Mensagens;
Linha da vida;
Foco de controle;
Retorno.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

179

Centro Universitrio do Tringulo

UML
Diagrama de Seqncia

Como fazer Diagramas de Seqncia

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 descrio das seqncias tpicas de
eventos dos casos de uso, identificar os eventos de
sistema que cada ator gera. Ilustrar os eventos no
diagrama atravs de mensagens.;
4. Opcionalmente, incluir o texto do caso de uso
esquerda do diagrama.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

180

Centro Universitrio do Tringulo

UML - Diagrama de
Seqncia
Exemplo

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

181

Centro Universitrio do Tringulo

UML - Diagrama de
Seqncia
Exemplo Clinica Mdica
:Agenda

Paciente

Secretria
MarcarConsulta()

ObterHorariosVagos()

SelecionarHorario()
[Horario selecionado]
EfetivarAgendamento(horario,
Nome,Telefone)

Agendar(ConsultaMarcada)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

182

Centro Universitrio do Tringulo

Diagrama de Seqncia
Exemplo Folha de
:FolhaPagamento
Pagamento
:Gerente
pagamento()

:FolhaPagamentoDB

func:Funcionario

getListaFunc()
listaFunc: Vector
getFunc(id)
f: Funcionario
pague
Para cada id do vetor

Repetio
(lao)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

183

Centro Universitrio do Tringulo

Diagrama de Seqncia Exemplo


public class FolhaPagamento {
private FolhaPagamentoDB folhaDB;
private FolhaPagamentoLista listaPagamentos;
public void pagamento() {
Vector listaFunc = folhaDB.getListaFunc();
for (Iterator iterator = listaFunc.iterator();iterator.hasNext();) {
String id = (String) iterator.next();
Funcionario f = folhaDB.getFunc(id);
if (f.eDiaPagamento()) {
double pagamento = f.calculatePay();
double dedues = f.calculaDedues();
listaPagamentos.enviaPagamento(pagamento - dedues);
}
}
}//fim do mtodo pagamento
}//fim da classe FolhaPagamento
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

184

Centro Universitrio do Tringulo

Diagrama de Colaborao

Centro Universitrio do Tringulo

UML
Diagrama de Colaborao

O diagrama de colaborao apresenta


um modo alternativo de representar a
troca de mensagens entre um conjunto
de objetos, sem a preocupao com a
vida til das mensagens no tempo.
O digrama de colaborao no mostra a
dimenso do tempo, por isso as
seqncias de mensagens e linhas
concorrentes devem ser determinadas
usando a seqncia de nmeros.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

186

Centro Universitrio do Tringulo

UML
Diagrama de Colaborao

Diagrama de colaborao

Ilustra interaes entre objetos


(classes) num formato de grafo ou
rede, representando a troca de
mensagens em uma ordem de
execuo

1: mensagem1()

:instanciaClasse A

2: mensagem2()
3: mensagem3()

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

:instanciaClasse B

187

Centro Universitrio do Tringulo

UML
Diagrama de Colaborao

Notao Bsica

Classes e instncias
Venda

:Venda

classe

instancia

s1: Venda

Instancia definida

Conexo entre objetos


msg1()
:Secretria

1: marcarConculta(horrio)

:Agenda

Linha de conexo
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

188

Centro Universitrio do Tringulo

UML
Diagrama de Colaborao

Como fazer diagrama de colaborao

Regras teis:
1. Criar um diagrama em separado para cada uma das
operaes de sistema sendo desenvolvidas no ciclo
atual.

Para cada mensagem de operao do sistema, criar um


diagrama com essa mensagem como mensagem inicial.

2. Se um diagrama ficar muito complexo (no cabe


facilmente num folha de papel A4), o diagrama deve
ser dividido em diagramas menores.
3. Usar as responsabilidades dos atores e a descrio
dos casos de uso para projetar um sistema cujo
objetos interagem para cumprir as tarefas exigidas.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

189

Centro Universitrio do Tringulo

UML - Diagrama de
Colaborao
Exemplo

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

190

Centro Universitrio do Tringulo

UML - Diagrama de
Colaborao
Exemplo Clnica Mdica
1:MarcarConsulta
4:EfetivarAgendamento

:Paciente

:Secretria
3:SelecionarHorario

2:ObterHorariosVagos
5:Agendar(Consulta)

:Agenda

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

191

Centro Universitrio do Tringulo

UML - Diagrama de
Colaborao
Exemplo Clnica Mdica
2: getListaFunc( )
3: getFunc(id)

1: pagamento( )

: Folha
Pagamento

: Folha
PagamentoDB

: Gerente
4: pagar( )

:
Funcionario

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

192

Centro Universitrio do Tringulo

Diagrama de Atividades

Centro Universitrio do Tringulo

UML
Diagrama de Atividades

O diagrama de atividades modelam tambm os


aspectos dinmicos do sistema;
essencialmente um grfico de fluxo,
representando o controle de atividade para outra;
Mostra a execuo de aes pelos objetos, com
nfase na ordem de execuo destas aes.
particularmente til para modelar sistemas cuja
viso atual ou a implementao futura so
focados numa estrutura procedural, em
detrimento dos aspectos orientados a objetos do
sistema.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

194

Centro Universitrio do Tringulo

UML
Diagrama de Atividades

Enquanto os diagramas de interao do nfase


no fluxo de controle de um objeto para outro, os
diagramas de atividades do nfase ao fluxo de
controle de uma atividade para outra.
Uma atividade uma execuo no-atmica em
andamento em uma mquina de estados. As
atividades acabam resultando em alguma ao,
formada pelas computaes atmicas
executveis que resultam em uma mudana de
estado do sistema ou o retorno de um valor.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

195

Centro Universitrio do Tringulo

UML
Diagrama de Atividades

Os diagramas de atividades no
so importantes somente para a
modelagem de aspectos dinmicos
de um sistema, mas tambm para
a construo de sistemas
executveis por meio de
engenharia de produo e reversa.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

196

Centro Universitrio do Tringulo

UML
Diagrama de Atividades

Contedo dos diagramas de atividades:

Estados de ao:

Estados de atividade:

Podem ser decompostos e suas atividades podem ser


representadas por outros digramas de atividades. Estes
estados so no-atmicos e podem ser interrompidos, e em
geral levam algum tempo para serem completados.

Transio:

Computaes atmicas executveis que podem chamar uma


operao em um objeto, enviar um sinal a um objeto ou at
criar ou destruir um objeto.

Quando a ao ou atividade termina, o fluxo de controle


passa imediatamente ao estado seguinte de ao ou
atividade, representando a transio.

Objetos
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

197

Centro Universitrio do Tringulo

UML
Diagrama de Atividades

Uso do diagrama de atividades:

Representar que sero executados quando uma


operao (ao) disparada; (uso mais comum)
Representar o trabalho interno de um objeto;
Mostrar como um grupo de aes relacionadas
podem ser executadas, e como elas vo afetar os
objetos em torno delas;
Mostrar como uma instncia pode ser executada em
termos de aes e objetos;
Mostrar como um negcio funciona em termos de
trabalhadores (atores), fluxo de trabalho,
organizao, e objetos (fatores fsicos e intelectuais
usados no negcio).
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

198

Centro Universitrio do Tringulo

UML - Diagrama de
Atividades
Exemplo

Selecionar Local

Contratar arquiteto
Fazer Trabalho no Local

Fazer Trabalho com Outros Setores

Desenvolver Projeto

Orar Projeto
Concluir Construo

[rejeitado]

:CertificadoDeHabitese

[else]

{concludo}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

199

Centro Universitrio do Tringulo

UML - Diagrama de
Atividades
Exemplo
Mostrar Caixa de
Mensagem
Disco Cheio

Mostrar Caixa de
Mensagem
Imprimindo

Criar arquivo
PostScript

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

Remover Caixa
de Mensagem

200

Centro Universitrio do Tringulo

Diagrama de
Componentes

Centro Universitrio do Tringulo

UML
Diagrama de
O objetivo do diagrama de componentes
Componentes
mostrar quais so os elementos fsicos

da aplicao e as relaes entre estes


componentes, representando como o
software dever ser gerado;
Apresentam o sistema por um lado
funcional, expondo as relaes entre os
componentes e a organizao de seus
mdulos durante sua execuo.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

202

Centro Universitrio do Tringulo

UML
Diagrama de
Os componentes so a implementao
Componentes
fsica dos conceitos e das funcionalidades

definidos na arquitetura lgica;


A UML apresenta uma forma padro de
representao
dos
componentes.
Entretanto pode-se utilizar imagens ou
representaes
especficas
para
documentos, fontes e imagens (ver "UMLGuia do Usurio).
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

203

Centro Universitrio do Tringulo

UML
Diagrama de
Um diagrama de componentes
Componentes

contm elementos que representam:

Pacotes (packages) de componentes


Componentes ou mdulos

Programa principal
Subprogramas
Tarefas

Dependncias
DLLs
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

204

Centro Universitrio do Tringulo

UML - Diagrama de
Componentes
Exemplo
Gerenciador de
comunicao
net.dll

grficos.dll

SGBD.dll

Sistema
Acadmico

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

205

Centro Universitrio do Tringulo

Diagrama de
Implantao/Distribuio

Centro Universitrio do Tringulo

UML
Diagrama de Implantao

Tambm denominados "diagramas de


utilizao", so utilizados para descrever a
arquitetura fsica do hardware e do software
desejada para o sistema;
Apresenta, dentro do ambiente de negcios,
todos os computadores e perifricos, juntamente
com as conexes entre eles;
Demonstra a arquitetura de execuo dos
processadores, componentes fsicos, e de
software que rodam no ambiente que o sistema
ser implantando.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

207

Centro Universitrio do Tringulo

UML
Diagrama de Implantao

O diagrama inclui os seguintes elementos:

Ns: um elemento fsico responsvel pelo


processamento ou transporte ou processamento de
informaes que contm um ou mais componentes
do sistema. So ns os servidores, terminais-clientes,
roteadores, um backbone etc. Os ns podem ser
agrupados em pacotes para fins de organizao dos
modelos;
Conexes: ligam os ns. Podem ser documentadas
apropriadamente para descrever a natureza da
conexo (tipo de protocolo, velocidade, natureza do
meio fsico que une os ns etc);
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

208

Centro Universitrio do Tringulo

UML - Diagrama de
Implantao
Exemplo
ClienteA:
P4 - 2 GHz

<<TCP/IP>>

ClienteB:
AMD 1GHz

Serv Apli:
HP/UX

SQL <<TCP/IP>>

Serv de BD:
Oracle

<<TCP/IP>>

Impressora:
LaserJet HP

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

209

Centro Universitrio do Tringulo

UML - Diagrama de
Implantao
Exemplo
<<processor>>
Principal

<<processor>>
Backup

Deploys
BusRules.exe

<<network>> rede privada

Clientes

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

210

Centro Universitrio do Tringulo

Estudo de Caso
Controle de reserva e
locao de quartos de
hotel

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel

Escopo do Sistema de Controle de Reserva e


Locao de Quartos de Hotel

O Sistema de Hotel serve para automatizar o processo


de reserva e locao de quartos para clientes. O
sistema deve manter os dados dos clientes que
reservaram quartos e se hospedaram no hotel. Dever
tambm controlar os quartos reservados e locados,
juntamente com o registro de entrada e sada de
hspedes do hotel. No registro da sada do hspede
dever ser cobrada a estadia e este valor dever ficar
armazenado no sistema. O sistema dever controlar
tambm todos os funcionrios que trabalham no hotel.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

212

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel

Informaes relevantes:

O cliente telefona ou vm ao hotel e pede para


reservar um quarto; o funcionrio verifica de existe
quarto disponvel no perodo solicitado. Caso
afirmativo, feita a reserva do quarto. Caso negativo,
informado ao cliente a no disponibilidade do quarto.
O cliente tambm poder optar por fazer uma reserva
via WEB, contemplando o uso de internet no hotel;
Caso o cliente no mais desejar o quarto reservado, o
funcionrio providenciar o cancelamento da reserva,
disponibilizando o novamente o quarto. O cliente
tambm poder realizar esta operao pela internet.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

213

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel

Informaes relevantes:

Quando o cliente no comparecer ao hotel para hospedarse at as 12:00 horas no dia da reserva, ela dever ser
cancelada, disponibilizando novamente o quarto;
Quando o cliente ocupar um quarto reservado
previamente, o funcionrio faz o registro do cliente. Caso
o quarto no esteja reservado, uma mensagem de
rejeio da ocupao ser emitida. Caso contrrio, um
pacote com informaes teis e a confirmao sero
fornecidos ao cliente;
Quando o cliente deixar o hotel, notificando sua sada,
ser fornecido a conta, e o quarto ser disponibilizado
para limpeza;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

214

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel

Informaes relevantes:

O cliente pode pagar a conta vista ou usar


o carto de crdito. Pode-se tambm, no
caso de reserva feitas por empresas, emitir
uma nota de cobrana contra a empresa;
Aps uma ocupao, um quarto sofrer o
reabastecimento e limpeza, somente aps
este fato que o funcionrio o torna
disponvel para nova locao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

215

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel

Roteiro de Tarefas do estudo de caso:

Definir Casos de Uso do sistema, com suas descries, e


definir atores que interagem com o caso de uso
Gerar os cartes CRC (desenvolvido em papel)
Desenvolver o modelo conceitual do sistema
Implementar o diagrama de caso de uso
Analisar e desenvolver os digramas de estado de objetos
Desenvolver os diagramas de Interao (seqncia e
colaborao)
Desenvolver o diagrama de classe
Desenvolver o diagrama de componentes e suas
dependncias
Desenvolver o diagrama de Implantao fsica do sistema
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

216

Centro Universitrio do Tringulo

Discusso em sala da Anlise


Controle de um Hotel

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel

Escopo do Sistema de Controle de Reserva e


Locao de Quartos de Hotel

O Sistema de Hotel serve para automatizar o processo


de reserva e locao de quartos para clientes. O
sistema deve manter os dados dos clientes que
reservaram quartos e se hospedaram no hotel. Dever
tambm controlar os quartos reservados e locados,
juntamente com o registro de entrada e sada de
hspedes do hotel. No registro da sada do hspede
dever ser cobrada a estadia e este valor dever ficar
armazenado no sistema. O sistema dever controlar
tambm todos os funcionrios que trabalham no hotel.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira

218

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Registrar Entrada

Diagrama de
Caso de Uso

Liberar Quarto
Registrar Sada

Castrar Quarto
Funcionario

Casdastrar Cliente

Registrar Pagamento

Cancelar Reserva
Efetuar Reserva

Cliente
Usurio
Anlise e Projeto Orientado a Objetos

UML
Prof. Ronaldo C. Oliveira

219

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Efetuar Reserva

Quando o Cliente telefona, ou


vem at o Hotel, e pede para
reservar um quarto, o
funcionario executa um
procedimento padro que
registra a ocupao futura do
quarto dentro de um limite de
datas de entrada e sada
previstos. Este registro deve
tornar indisponvel, para
qualquer operao, o referido
quarto, dentro do limite de datas
informado. O cliente poder
efetuar a reserva via internet.

: Quartos

: Usurio

: Movimento

consultar(periodo)
checar(periodo)
reservar(periodo)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

reservar( )

220

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Cancelar Reserva

Quando o cliente no mais


desejar o quarto reservado e
comunicar o fato, ser cancelada
a reserva, disponibilizando o
quarto novamente. Dever ser
informado os motivos do
cancelamento mantendo um
histrico do cliente. Este
procesdimento pode ser realizado
pela internet. Quando o cliente
no comparecer ao hotel para
hospedar-se at s 12:00 do dia
da reserva deve-se proceder o
cancelamento da reserva
anotando o motivo tambm.

: Usurio

: Quartos

: Movimento

cancelReserva(quarto)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

cancelarReserva( )

221

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Registrar Entrada
O cliente faz o registro para a
ocupao do quarto resrvado
previamente. O funcionrio
confere a existencia da reserva
para o requerido cliente e
registra a entrada,
indisponibilizando o quarto.
Caso no exista uma reserva,
uma mensagem de rejeiio
ser emitida. Se a reserva
existir um pacote de
informaes ser emitida para o
cliente.

: Cliente

: Quartos

: Movimento

: Funcionario
consultar(cpf)
regEntrada(quarto, data)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

regEntrada( )

222

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Registrar Sada
Quando o cliente solicitar a
sada do hotel, atravs das
informaes repassadas
pelo prprio cliente ser
providenciado o fechamento
da sua conta, e ao mesmo
tempo ser disponibilizado o
quarto para a limpeza. O
fechamento do quarto
dever gerar uma conta a
receber referente a estadia
fechada.

: Funcionario

: Quartos

: Movimento

: Recebimento

regSaida(quarto, data)
regSaida( )

receberPagamento(valor)

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

receber( )

223

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel

Diagrama de Estado Objeto Quarto


Liberado

Reservado

Ocupado

Ocupado com Reserva Futura

Em Limpeza

Em limpeza com reserva futura

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

224

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Diagrama
de Classes

cadastrar()
consultar()
listar()

receber()
consultar()
listar()
realiza

Pessoa
cpf : Numero
rg : Numero
endereco : String
Cidade : String
cep : Numero
Telefone : Numero

Acessorios
codigo : Numero
Descricao : String

Recebimento
dataPgto : Date
valor : Numero
descricao : String

Funcionario
funcao : String
horarioTrab : String

0..*

1..*

contem

possui

0..*

1..*
1
Movimento
dataInicialReserva : Date
dataFinalReserva : Date
dataEntrada : Date
dataSaida : Date

casdastrar()
consultar()
atualizar()

esta incluido

checar()
0..*
regEntrada()
regSaida()
1 requisita
cancelarReserva()
Cliente
reservar()
ondeTrabalha : String
Anlise e ProjetoreceberPagamento()
Orientado a Objetos
telefoneTrab : Numero
UML
0..*

Prof. Ronaldo C. Oliveira

1..*

Quartos
numeroQuarto : Numero
tipo : Char
dimensao : Numero
qtdCamas : Numero
situacaoReserva : Char
tv : Char
arCondic : Char
cacastrar()
consultar()
reservar()
regEntrada()
regSaida()
cancelReserva()
liberarQuarto() 225

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Pessoad Envolvidas
Cliente.dll

Funcionario.dll

Recursos
Quartos.dll

Diagrama de Pacotes e
Componentes

Movimentos
Recebiementos.dll

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

Movimento

226

Centro Universitrio do Tringulo

UML - Estudo de Caso


Controle de Hotel
Pc
Atendimento

Diagrama de
Implantao e
Distribuio

Impressora
Laserjet

Pc
Atendimento
Switch
24 portas

UNIX server
Risc 2002

Impressora
deskjet

UNIX server
Backup

Pc Servios
Gerais

Pc
Administrao

Anlise e Projeto Orientado a Objetos


UML
Prof. Ronaldo C. Oliveira

227

Potrebbero piacerti anche