Nome
Atributos
Operações
Nome Nome
Atributos Atributos
Nome
Operações Operações
Responsabilidades
itálico abstrata
Nome
+ public
+ atrib1
- atrib2 - private
+ op1 # protected
- op2
# op3
Window
Event
handleEvent()
Shape
Circle Rectangle
DCC – IME/USP Programação Orientada a Objetos 16
Associação
É uma relação estrutural na qual classes ou
objetos estão interconectados.
Uma associação entre objetos é chamada de
uma ligação (link).
Pessoa Empresa
empregado
Pessoa empregador Empresa
• Exemplo:
1..*
Pessoa Empresa
1
Instituto
( diamante vazio )
Departamento
Window
( diamante cheio )
Frame
Emprego
descrição
dataDeContratação
salário
«interface»
Observer
Observer
update()
Tracker
Observer Periodic
Observer
Observation
See encrypt.ps
«interface»
Observer «control»
TargetTracker
update()
GL Account TargetTracker
{persistent} {release = 2.0}
Portfolio
Person
{secure}
{or}
Corporation
Bank Account
-----------
----------
----------
Escalonador ----------
----------
----------
signal.cpp
: Kiosk
deploys «10-T Ethernet»
user.exe
s: Server : RAID farm
deploys
dbadmin.exe
c: Console
deploys «RS-232»
config.exe
DCC – IME/USP Programação Orientada a Objetos 42
Diagrama de Implantação
: Client
deploys
mozilla.exe
a: AppServer : RAID farm
* « HTTP »
deploys
1 JBoss
w: WebServer
deploys «Fast Ethernet»
apache
DCC – IME/USP Programação Orientada a Objetos 43
Diagramas Comportamentais
Usados para visualizar, especifcar, construir e
documentar aspectos dinâmicos de um
sistema
• diagrama de casos de uso
• diagrama de seqüência
• diagrama de colaboração
• diagrama de estados
• diagrama de atividades
DCC – IME/USP Programação Orientada a Objetos 44
Casos de Uso e Atores
• Um caso de uso é uma seqüência de ações,
incluindo variantes, que um sistema realiza
a fim de gerar um resultado observável de
interesse para um ator.
• Um ator é um papel (ou conjunto de papéis)
que um usuário desempenha quando
participa de um caso de uso.
Compra
Material
Gera
Relatório de
Compra
Atualiza
Estoque
Estoque
Cria
Agrega
Novo
Estoques
Estoque
Gera
Visualiza
Relatório
Estoque
Mensal
• Análoga à generalização/especialização de
classes.
Analisa
Verifica Autentica
Impressão
Senha Usuário
Digital
«create»
setItinerary(i)
calculateRoute()
route
c: Client
1: «create»
2: setActions (a,d,o)
3: «destroy»
«global»
: Transaction p: ODBCProxy
2.1: setValues(d,3,4)
2.2: setValues(a,“CO”)
DCC – IME/USP Programação Orientada a Objetos 59
DCC – IME/USP Programação Orientada a Objetos 60
Diagrama de Estados
• Diagrama de Estados
• Representa
– os possíveis estados que um sistema pode
assumir e
– as possíveis transições entre os estados
Filho
Escovar dente Vestir-se
se prepara
estômago: órgão