DCC – IME/USP Programação Orientada a Objetos 1
Uma Visão Geral de UML
Prof. Fabio Kon
IME/USP
Apresentação baseada em slides de Kendall V. Scott
DCC – IME/USP Programação Orientada a Objetos 2
Linguagem de Modelagem
Unificada
UML é uma linguagem padrão da OMG para
• visualização,
• especificação,
• construção e
• documentação
de software orientado a objetos.
DCC – IME/USP Programação Orientada a Objetos 3
Visualização
• A existência de um modelo visual facilita a
comunicação e faz com que os membros de
um grupo tenham a mesma idéia do sistema.
• Cada símbolo gráfico tem uma semântica
bem definida.
DCC – IME/USP Programação Orientada a Objetos 4
Especificação
É uma ferramenta poderosa para a
especificação de diferentes aspectos
arquiteturais e de uso de um sistema.
DCC – IME/USP Programação Orientada a Objetos 5
Construção
• Geração automática de código a partir do
modelo visual
• Geração do modelo visual a partir do código
• Ambientes de desenvolvimento de software
atuais permitem:
– movimentações em ambos sentidos e
– manutenção da consistência entre as duas visões.
DCC – IME/USP Programação Orientada a Objetos 6
Documentação
Pode incluir artefatos como:
• Deliverables (documentos como
especificação de requisitos, especificações
funcionais, planos de teste, etc.).
• Materiais que são importantes para
controlar, medir, e refletir sobre um sistema
durante o seu desenvolvimento e
implantação.
DCC – IME/USP Programação Orientada a Objetos 7
Descrição Arquitetônica
UML oferece uma forma padrão de se
desenhar as “plantas” (como em arquitetura)
de um sistema de forma a incluir
• aspectos abstratos (processos de negócio,
funcionalidades do sistema)
• aspectos concretos (classes C++/Java
esquemas de bancos de dados, componentes
de software reutilizáveis)
DCC – IME/USP Programação Orientada a Objetos 8
Razões para Modelar
• Comunicar a estrutura e o comportamento
desejado de um sistema.
• Visualizar e controlar a arquitetura de um
sistema.
• Para melhorar o nosso entendimento de um
sistema e, assim, expor oportunidades para
melhorias e reutilização.
• Para administrar os riscos e trade-offs.
DCC – IME/USP Programação Orientada a Objetos 9
Diagramas Estruturais
Usados para visualizar, especificar, construir e
documentar aspectos estáticos de um
sistema
• diagrama de classes
• diagrama de pacotes
• diagrama de objetos
• diagrama de componentes
• diagrama de implantação
DCC – IME/USP Programação Orientada a Objetos 10
Usos Comuns para
Diagramas de Classes
• Modelar o vocabulário do sistema, em termos de
quais abstrações fazem parte do sistema e quais
caem fora de seus domínios.
• Modelar as colaborações/interações (sociedades
de elementos que trabalham em conjunto
oferencendo algum comportamento cooperativo).
• Modelagem lógica dos dados manipulados pelo
sistema (servindo de base para a definição formal
do modelo da base de dados).
DCC – IME/USP Programação Orientada a Objetos 11
Notação para Classes
Nome
Atributos
Operações
DCC – IME/USP Programação Orientada a Objetos 12
Notações Alternativas
Nome
Atributos
Operações
Responsabilidades
Nome
Atributos
Operações
Nome
itálico abstrata
DCC – IME/USP Programação Orientada a Objetos 13
Especificação do Acesso
Nome
+ atrib1
- atrib2
+ op1
- op2
# op3
+ public
- private
# protected
DCC – IME/USP Programação Orientada a Objetos 14
Relacionamentos
São conexões entre classes:
1. dependência
2. generalização
3. associação
DCC – IME/USP Programação Orientada a Objetos 15
Dependência
É uma relação do tipo “usa” na qual mudanças
na implementação de uma classe podem causar
efeitos em outra classe que a usa.
Exemplo: uma classe usa a outra.
Window
handleEvent()
Event
DCC – IME/USP Programação Orientada a Objetos 16
Generalização
É uma relação do tipo “é um” entre uma coisa
geral (superclasse) e uma coisa mais
específica (subclasse).
Shape
Rectangle
Circle
DCC – IME/USP Programação Orientada a Objetos 17
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).
Empresa
Pessoa
DCC – IME/USP Programação Orientada a Objetos 18
Ornamentos para Associações
• nome
• papel
• multiplicidade
• agregação
• composição
DCC – IME/USP Programação Orientada a Objetos 19
Nome da Associação
descreve a natureza da relação:
pode indicar a direção:
Empresa
Pessoa
trabalha p/
Empresa
Pessoa
trabalha p/
DCC – IME/USP Programação Orientada a Objetos 20
Papéis
• Classes e objetos podem assumir papéis
diferentes em diferentes momentos.
Empresa
Pessoa
empregado
empregador
DCC – IME/USP Programação Orientada a Objetos 21
Multiplicidade
• Valores possíveis: valor exato, intervalo, ou
* para “muitos”.
• Exemplo:
Empresa
Pessoa
1..*
1
DCC – IME/USP Programação Orientada a Objetos 22
Agregação
É uma relação do tipo “todo/parte” ou “possui
um” na qual uma classe representa uma coisa
grande que é composta de coisas menores.
Departamento
Instituto
( diamante vazio )
DCC – IME/USP Programação Orientada a Objetos 23
Composição
É um tipo especial de agregação na qual as
partes são inseparáveis do todo.
Frame
Window
( diamante cheio )
DCC – IME/USP Programação Orientada a Objetos 24
Classes de Associação
Uma classe de associação possui as
propriedades de classes e de associações:
Empresa
Pessoa
Emprego
descrição
dataDeContratação
salário
DCC – IME/USP Programação Orientada a Objetos 25
Interfaces
É uma coleção de operações que possui um
nome. É usada para especificar um tipo de
serviço sem ditar a sua implementação.
Observer
«interface»
Observer
update()
DCC – IME/USP Programação Orientada a Objetos 26
Interfaces e Relacionamentos
Uma interface pode participar de
generalizações, associações e dependências.
Observer
Tracker
Periodic
Observer
Observation
DCC – IME/USP Programação Orientada a Objetos 27
Realização
É uma relação entre uma interface e a classe
que a implementa, i.e., que provê o serviço
definido pela interface.
Uma classe pode realizar (implementar) várias
interfaces.
Observer
TargetTracker
«interface»
Observer
update()
DCC – IME/USP Programação Orientada a Objetos 28
DCC – IME/USP Programação Orientada a Objetos 29
Ornamentos e Extensibilidade
Um ornamento é algo como uma nota que adiciona
texto ou algum elemento gráfico ao modelo.
UML oferece vários mecanismos que podem ser
utilizados para estender a linguagem “oficial”.
• estereótipos
• valores rotulados (tagged values)
• restrições
DCC – IME/USP Programação Orientada a Objetos 30
Notas
É um símbolo gráfico contendo texto ou
figuras oferecendo algum comentário ou
detalhes sobre um elemento de um modelo.
Check with Mike
on this.
See encrypt.ps
See http://www.
softdocwiz.com
DCC – IME/USP Programação Orientada a Objetos 31
Estereótipos
É uma extensão do vocabulário de UML que
permite a criação de um tipo básico novo que
é específico ao problema que está sendo
resolvido.
«interface»
Observer
update()
«control»
TargetTracker
DCC – IME/USP Programação Orientada a Objetos 32
Estereótipos Padrão em UML
cerca de 50, incluindo:
• become (indica uma dependência na qual
um objeto se torna outro)
• enumeration (especifica um tipo enumerado
incluindo seus possíveis valores)
• utility (uma classe na qual todos os valores e
atributos pertencem à classe (e não às suas
instâncias)
DCC – IME/USP Programação Orientada a Objetos 33
Valores Rotulados
Permite a especificação de propriedades de
elementos de um modelo:
GL Account
{persistent}
TargetTracker
{release = 2.0}
DCC – IME/USP Programação Orientada a Objetos 34
Restrições
Especifica uma condição que deve ser
satisfeita pelo sistema.
Portfolio
Bank Account
Person
Corporation
{secure}
{or}
DCC – IME/USP Programação Orientada a Objetos 35
Pacotes
• Um mecanismo para organizar elementos de
um modelo (classes, diagramas, etc. ) em
grupos.
• Cada elemento de um modelo pertence a um
único pacote. O seu nome dentro do pacote
deve ser único.
DCC – IME/USP Programação Orientada a Objetos 36
Um Diagrama de Pacotes
• Arcabouço para construção de sistemas distribuídos
adaptativos (de Francisco Silva2).
DCC – IME/USP Programação Orientada a Objetos 37
Diagrama de Objetos
Mostra um conjunto de objetos e seus
relacionamentos em um certo instante em tempo
de execução.
ime: Instituto
comp: Departmento
nome = “MAC”
p1: Pessoa
ID = “84724”
: Contato
ramal = “6000”
p2: Pessoa
ID = “87684”
DCC – IME/USP Programação Orientada a Objetos 38
Componente
É uma parte de um sistema que pode ser
substituída e que oferece uma
implementação de um conjunto de
interfaces.
Exemplos práticos:
• Biblioteca de carga dinâmica (DLL)
• Componente CORBA
• Enterprise Java Bean (EJB)
DCC – IME/USP Programação Orientada a Objetos 39
Notação para Componentes
Escalonador
-----------
----------
----------
----------
----------
----------
signal.cpp
DCC – IME/USP Programação Orientada a Objetos 40
DCC – IME/USP Programação Orientada a Objetos 41
Nó
Representa um elemento físico capaz de
oferecer recursos computacionais.
Em geral, possui pelo menos memória e
processador.
DCC – IME/USP Programação Orientada a Objetos 42
Diagrama de Implantação
: Kiosk
deploys
user.exe
c: Console
deploys
config.exe
s: Server
deploys
dbadmin.exe
: RAID farm
«10-T Ethernet»
«RS-232»
DCC – IME/USP Programação Orientada a Objetos 43
Diagrama de Implantação
: Client
deploys
mozilla.exe
w: WebServer
deploys
apache
a: AppServer
deploys
JBoss
: RAID farm
« HTTP »
«Fast Ethernet»
1
*
DCC – IME/USP Programação Orientada a Objetos 44
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 45
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.
DCC – IME/USP Programação Orientada a Objetos 46
Fluxos de Eventos
• O fluxo de eventos principal descreve o
caso em que tudo corre bem.
• Fluxos de eventos excepcionais cobrem as
variações que podem ocorrer quando
diferentes coisas dão errado ou quando algo
pouco comum acontece.
DCC – IME/USP Programação Orientada a Objetos 47
Um Diagrama de Caso de Uso
Compra
Material
Gera
Relatório de
Compra
Atualiza
Estoque
DCC – IME/USP Programação Orientada a Objetos 48
Organização de Casos de Uso
• pacotes
• generalização
• inclusão
• extensão
DCC – IME/USP Programação Orientada a Objetos 49
Pacotes de Casos de Uso
Pode ser útil para distribuir trabalho para sub-
grupos de trabalho.
Estoque
Cria
Novo
Estoque
Visualiza
Estoque
Agrega
Estoques
Gera
Relatório
Mensal
DCC – IME/USP Programação Orientada a Objetos 50
Generalização
• Análoga à generalização/especialização de
classes.
Autentica
Usuário
Verifica
Senha
Analisa
Impressão
Digital
DCC – IME/USP Programação Orientada a Objetos 51
Inclusão
• O estereótipo «include» indica que um caso
inclui o outro.
• Permite fatorar comportamento comum a
vários casos.
Autentica
Usuário
Encomenda
Livro
Rastreia
Encomenda
«include» «include»
DCC – IME/USP Programação Orientada a Objetos 52
Extensão
Pode-se usar o estereótipo «extend» para
indicar que um caso estende o outro.
Útil para fatorar comportamento
incomum/não-padrão.
Encomenda
Livro
Encomenda
Urgentíssima
«extend»
DCC – IME/USP Programação Orientada a Objetos 53
DCC – IME/USP Programação Orientada a Objetos 54
Interações e Mensagens
• Uma interação é um comportamento composto da
troca de um conjunto de mensagens entre um grupo
de objetos a fim de atingir um determinado objetivo.
• Uma mensagem é uma comunicação entre objetos
que resulta na transmissão de informação com o
intuito de que alguma atividade será realizada.
DCC – IME/USP Programação Orientada a Objetos 55
Diagrama de Seqüência
• É um diagrama de interações que enfatiza a
ordem temporal das mensagens.
• Uma linha de vida é uma linha tracejada
vertical que representa o tempo de vida de um
objeto.
• Um foco de controle é um retângulo fino
vertical sobreposto à linha de vida que mostra o
período durante o qual um objeto está realizando
uma ação.
DCC – IME/USP Programação Orientada a Objetos 56
Diagrama de Seqüência
: Ticket Agent
c: Client
«create»
setItinerary(i)
calculateRoute()
route
DCC – IME/USP Programação Orientada a Objetos 57
DCC – IME/USP Programação Orientada a Objetos 58
Diagrama de Colaboração
• É um diagrama de interação que enfatiza a
organização dos objetos que participam da
interação.
• Um caminho é uma ligação entre objetos,
possivelmente com um estereótipo «local».
• Números de seqüência indicam a ordem
temporal das mensagens em um ou mais
níveis.
DCC – IME/USP Programação Orientada a Objetos 59
Diagrama de Colaboração
: Transaction
c: Client
1: «create»
p: ODBCProxy
2: setActions (a,d,o)
3: «destroy»
2.1: setValues(d,3,4)
2.2: setValues(a,“CO”)
«global»
DCC – IME/USP Programação Orientada a Objetos 60
DCC – IME/USP Programação Orientada a Objetos 61
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
DCC – IME/USP Programação Orientada a Objetos 62
DCC – IME/USP Programação Orientada a Objetos 63
Diagrama de Atividades
• É um tipo específico de Diagrama de
Estados
• Útil para modelar fluxo de trabalho
(workflow)
• Representa as atividades que afetam o
estado do sistema e os fluxos que levam de
uma atividade a outra.
• É usado para modelar processos de negócio
e workflows
DCC – IME/USP Programação Orientada a Objetos 64
Exemplo de
Diagrama de Atividade
Dormir
Filho
se prepara
Levantar Tomar café
Escovar dente Vestir-se
Sair uninho: Carro
[despertador toca]
estômago: órgão
DCC – IME/USP Programação Orientada a Objetos 65
That’s All Folks!
• Por hoje é só pessoal!

UMLIntro.pdf

  • 1.
    DCC – IME/USPProgramação Orientada a Objetos 1 Uma Visão Geral de UML Prof. Fabio Kon IME/USP Apresentação baseada em slides de Kendall V. Scott
  • 2.
    DCC – IME/USPProgramação Orientada a Objetos 2 Linguagem de Modelagem Unificada UML é uma linguagem padrão da OMG para • visualização, • especificação, • construção e • documentação de software orientado a objetos.
  • 3.
    DCC – IME/USPProgramação Orientada a Objetos 3 Visualização • A existência de um modelo visual facilita a comunicação e faz com que os membros de um grupo tenham a mesma idéia do sistema. • Cada símbolo gráfico tem uma semântica bem definida.
  • 4.
    DCC – IME/USPProgramação Orientada a Objetos 4 Especificação É uma ferramenta poderosa para a especificação de diferentes aspectos arquiteturais e de uso de um sistema.
  • 5.
    DCC – IME/USPProgramação Orientada a Objetos 5 Construção • Geração automática de código a partir do modelo visual • Geração do modelo visual a partir do código • Ambientes de desenvolvimento de software atuais permitem: – movimentações em ambos sentidos e – manutenção da consistência entre as duas visões.
  • 6.
    DCC – IME/USPProgramação Orientada a Objetos 6 Documentação Pode incluir artefatos como: • Deliverables (documentos como especificação de requisitos, especificações funcionais, planos de teste, etc.). • Materiais que são importantes para controlar, medir, e refletir sobre um sistema durante o seu desenvolvimento e implantação.
  • 7.
    DCC – IME/USPProgramação Orientada a Objetos 7 Descrição Arquitetônica UML oferece uma forma padrão de se desenhar as “plantas” (como em arquitetura) de um sistema de forma a incluir • aspectos abstratos (processos de negócio, funcionalidades do sistema) • aspectos concretos (classes C++/Java esquemas de bancos de dados, componentes de software reutilizáveis)
  • 8.
    DCC – IME/USPProgramação Orientada a Objetos 8 Razões para Modelar • Comunicar a estrutura e o comportamento desejado de um sistema. • Visualizar e controlar a arquitetura de um sistema. • Para melhorar o nosso entendimento de um sistema e, assim, expor oportunidades para melhorias e reutilização. • Para administrar os riscos e trade-offs.
  • 9.
    DCC – IME/USPProgramação Orientada a Objetos 9 Diagramas Estruturais Usados para visualizar, especificar, construir e documentar aspectos estáticos de um sistema • diagrama de classes • diagrama de pacotes • diagrama de objetos • diagrama de componentes • diagrama de implantação
  • 10.
    DCC – IME/USPProgramação Orientada a Objetos 10 Usos Comuns para Diagramas de Classes • Modelar o vocabulário do sistema, em termos de quais abstrações fazem parte do sistema e quais caem fora de seus domínios. • Modelar as colaborações/interações (sociedades de elementos que trabalham em conjunto oferencendo algum comportamento cooperativo). • Modelagem lógica dos dados manipulados pelo sistema (servindo de base para a definição formal do modelo da base de dados).
  • 11.
    DCC – IME/USPProgramação Orientada a Objetos 11 Notação para Classes Nome Atributos Operações
  • 12.
    DCC – IME/USPProgramação Orientada a Objetos 12 Notações Alternativas Nome Atributos Operações Responsabilidades Nome Atributos Operações Nome itálico abstrata
  • 13.
    DCC – IME/USPProgramação Orientada a Objetos 13 Especificação do Acesso Nome + atrib1 - atrib2 + op1 - op2 # op3 + public - private # protected
  • 14.
    DCC – IME/USPProgramação Orientada a Objetos 14 Relacionamentos São conexões entre classes: 1. dependência 2. generalização 3. associação
  • 15.
    DCC – IME/USPProgramação Orientada a Objetos 15 Dependência É uma relação do tipo “usa” na qual mudanças na implementação de uma classe podem causar efeitos em outra classe que a usa. Exemplo: uma classe usa a outra. Window handleEvent() Event
  • 16.
    DCC – IME/USPProgramação Orientada a Objetos 16 Generalização É uma relação do tipo “é um” entre uma coisa geral (superclasse) e uma coisa mais específica (subclasse). Shape Rectangle Circle
  • 17.
    DCC – IME/USPProgramação Orientada a Objetos 17 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). Empresa Pessoa
  • 18.
    DCC – IME/USPProgramação Orientada a Objetos 18 Ornamentos para Associações • nome • papel • multiplicidade • agregação • composição
  • 19.
    DCC – IME/USPProgramação Orientada a Objetos 19 Nome da Associação descreve a natureza da relação: pode indicar a direção: Empresa Pessoa trabalha p/ Empresa Pessoa trabalha p/
  • 20.
    DCC – IME/USPProgramação Orientada a Objetos 20 Papéis • Classes e objetos podem assumir papéis diferentes em diferentes momentos. Empresa Pessoa empregado empregador
  • 21.
    DCC – IME/USPProgramação Orientada a Objetos 21 Multiplicidade • Valores possíveis: valor exato, intervalo, ou * para “muitos”. • Exemplo: Empresa Pessoa 1..* 1
  • 22.
    DCC – IME/USPProgramação Orientada a Objetos 22 Agregação É uma relação do tipo “todo/parte” ou “possui um” na qual uma classe representa uma coisa grande que é composta de coisas menores. Departamento Instituto ( diamante vazio )
  • 23.
    DCC – IME/USPProgramação Orientada a Objetos 23 Composição É um tipo especial de agregação na qual as partes são inseparáveis do todo. Frame Window ( diamante cheio )
  • 24.
    DCC – IME/USPProgramação Orientada a Objetos 24 Classes de Associação Uma classe de associação possui as propriedades de classes e de associações: Empresa Pessoa Emprego descrição dataDeContratação salário
  • 25.
    DCC – IME/USPProgramação Orientada a Objetos 25 Interfaces É uma coleção de operações que possui um nome. É usada para especificar um tipo de serviço sem ditar a sua implementação. Observer «interface» Observer update()
  • 26.
    DCC – IME/USPProgramação Orientada a Objetos 26 Interfaces e Relacionamentos Uma interface pode participar de generalizações, associações e dependências. Observer Tracker Periodic Observer Observation
  • 27.
    DCC – IME/USPProgramação Orientada a Objetos 27 Realização É uma relação entre uma interface e a classe que a implementa, i.e., que provê o serviço definido pela interface. Uma classe pode realizar (implementar) várias interfaces. Observer TargetTracker «interface» Observer update()
  • 28.
    DCC – IME/USPProgramação Orientada a Objetos 28
  • 29.
    DCC – IME/USPProgramação Orientada a Objetos 29 Ornamentos e Extensibilidade Um ornamento é algo como uma nota que adiciona texto ou algum elemento gráfico ao modelo. UML oferece vários mecanismos que podem ser utilizados para estender a linguagem “oficial”. • estereótipos • valores rotulados (tagged values) • restrições
  • 30.
    DCC – IME/USPProgramação Orientada a Objetos 30 Notas É um símbolo gráfico contendo texto ou figuras oferecendo algum comentário ou detalhes sobre um elemento de um modelo. Check with Mike on this. See encrypt.ps See http://www. softdocwiz.com
  • 31.
    DCC – IME/USPProgramação Orientada a Objetos 31 Estereótipos É uma extensão do vocabulário de UML que permite a criação de um tipo básico novo que é específico ao problema que está sendo resolvido. «interface» Observer update() «control» TargetTracker
  • 32.
    DCC – IME/USPProgramação Orientada a Objetos 32 Estereótipos Padrão em UML cerca de 50, incluindo: • become (indica uma dependência na qual um objeto se torna outro) • enumeration (especifica um tipo enumerado incluindo seus possíveis valores) • utility (uma classe na qual todos os valores e atributos pertencem à classe (e não às suas instâncias)
  • 33.
    DCC – IME/USPProgramação Orientada a Objetos 33 Valores Rotulados Permite a especificação de propriedades de elementos de um modelo: GL Account {persistent} TargetTracker {release = 2.0}
  • 34.
    DCC – IME/USPProgramação Orientada a Objetos 34 Restrições Especifica uma condição que deve ser satisfeita pelo sistema. Portfolio Bank Account Person Corporation {secure} {or}
  • 35.
    DCC – IME/USPProgramação Orientada a Objetos 35 Pacotes • Um mecanismo para organizar elementos de um modelo (classes, diagramas, etc. ) em grupos. • Cada elemento de um modelo pertence a um único pacote. O seu nome dentro do pacote deve ser único.
  • 36.
    DCC – IME/USPProgramação Orientada a Objetos 36 Um Diagrama de Pacotes • Arcabouço para construção de sistemas distribuídos adaptativos (de Francisco Silva2).
  • 37.
    DCC – IME/USPProgramação Orientada a Objetos 37 Diagrama de Objetos Mostra um conjunto de objetos e seus relacionamentos em um certo instante em tempo de execução. ime: Instituto comp: Departmento nome = “MAC” p1: Pessoa ID = “84724” : Contato ramal = “6000” p2: Pessoa ID = “87684”
  • 38.
    DCC – IME/USPProgramação Orientada a Objetos 38 Componente É uma parte de um sistema que pode ser substituída e que oferece uma implementação de um conjunto de interfaces. Exemplos práticos: • Biblioteca de carga dinâmica (DLL) • Componente CORBA • Enterprise Java Bean (EJB)
  • 39.
    DCC – IME/USPProgramação Orientada a Objetos 39 Notação para Componentes Escalonador ----------- ---------- ---------- ---------- ---------- ---------- signal.cpp
  • 40.
    DCC – IME/USPProgramação Orientada a Objetos 40
  • 41.
    DCC – IME/USPProgramação Orientada a Objetos 41 Nó Representa um elemento físico capaz de oferecer recursos computacionais. Em geral, possui pelo menos memória e processador.
  • 42.
    DCC – IME/USPProgramação Orientada a Objetos 42 Diagrama de Implantação : Kiosk deploys user.exe c: Console deploys config.exe s: Server deploys dbadmin.exe : RAID farm «10-T Ethernet» «RS-232»
  • 43.
    DCC – IME/USPProgramação Orientada a Objetos 43 Diagrama de Implantação : Client deploys mozilla.exe w: WebServer deploys apache a: AppServer deploys JBoss : RAID farm « HTTP » «Fast Ethernet» 1 *
  • 44.
    DCC – IME/USPProgramação Orientada a Objetos 44 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
  • 45.
    DCC – IME/USPProgramação Orientada a Objetos 45 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.
  • 46.
    DCC – IME/USPProgramação Orientada a Objetos 46 Fluxos de Eventos • O fluxo de eventos principal descreve o caso em que tudo corre bem. • Fluxos de eventos excepcionais cobrem as variações que podem ocorrer quando diferentes coisas dão errado ou quando algo pouco comum acontece.
  • 47.
    DCC – IME/USPProgramação Orientada a Objetos 47 Um Diagrama de Caso de Uso Compra Material Gera Relatório de Compra Atualiza Estoque
  • 48.
    DCC – IME/USPProgramação Orientada a Objetos 48 Organização de Casos de Uso • pacotes • generalização • inclusão • extensão
  • 49.
    DCC – IME/USPProgramação Orientada a Objetos 49 Pacotes de Casos de Uso Pode ser útil para distribuir trabalho para sub- grupos de trabalho. Estoque Cria Novo Estoque Visualiza Estoque Agrega Estoques Gera Relatório Mensal
  • 50.
    DCC – IME/USPProgramação Orientada a Objetos 50 Generalização • Análoga à generalização/especialização de classes. Autentica Usuário Verifica Senha Analisa Impressão Digital
  • 51.
    DCC – IME/USPProgramação Orientada a Objetos 51 Inclusão • O estereótipo «include» indica que um caso inclui o outro. • Permite fatorar comportamento comum a vários casos. Autentica Usuário Encomenda Livro Rastreia Encomenda «include» «include»
  • 52.
    DCC – IME/USPProgramação Orientada a Objetos 52 Extensão Pode-se usar o estereótipo «extend» para indicar que um caso estende o outro. Útil para fatorar comportamento incomum/não-padrão. Encomenda Livro Encomenda Urgentíssima «extend»
  • 53.
    DCC – IME/USPProgramação Orientada a Objetos 53
  • 54.
    DCC – IME/USPProgramação Orientada a Objetos 54 Interações e Mensagens • Uma interação é um comportamento composto da troca de um conjunto de mensagens entre um grupo de objetos a fim de atingir um determinado objetivo. • Uma mensagem é uma comunicação entre objetos que resulta na transmissão de informação com o intuito de que alguma atividade será realizada.
  • 55.
    DCC – IME/USPProgramação Orientada a Objetos 55 Diagrama de Seqüência • É um diagrama de interações que enfatiza a ordem temporal das mensagens. • Uma linha de vida é uma linha tracejada vertical que representa o tempo de vida de um objeto. • Um foco de controle é um retângulo fino vertical sobreposto à linha de vida que mostra o período durante o qual um objeto está realizando uma ação.
  • 56.
    DCC – IME/USPProgramação Orientada a Objetos 56 Diagrama de Seqüência : Ticket Agent c: Client «create» setItinerary(i) calculateRoute() route
  • 57.
    DCC – IME/USPProgramação Orientada a Objetos 57
  • 58.
    DCC – IME/USPProgramação Orientada a Objetos 58 Diagrama de Colaboração • É um diagrama de interação que enfatiza a organização dos objetos que participam da interação. • Um caminho é uma ligação entre objetos, possivelmente com um estereótipo «local». • Números de seqüência indicam a ordem temporal das mensagens em um ou mais níveis.
  • 59.
    DCC – IME/USPProgramação Orientada a Objetos 59 Diagrama de Colaboração : Transaction c: Client 1: «create» p: ODBCProxy 2: setActions (a,d,o) 3: «destroy» 2.1: setValues(d,3,4) 2.2: setValues(a,“CO”) «global»
  • 60.
    DCC – IME/USPProgramação Orientada a Objetos 60
  • 61.
    DCC – IME/USPProgramação Orientada a Objetos 61 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
  • 62.
    DCC – IME/USPProgramação Orientada a Objetos 62
  • 63.
    DCC – IME/USPProgramação Orientada a Objetos 63 Diagrama de Atividades • É um tipo específico de Diagrama de Estados • Útil para modelar fluxo de trabalho (workflow) • Representa as atividades que afetam o estado do sistema e os fluxos que levam de uma atividade a outra. • É usado para modelar processos de negócio e workflows
  • 64.
    DCC – IME/USPProgramação Orientada a Objetos 64 Exemplo de Diagrama de Atividade Dormir Filho se prepara Levantar Tomar café Escovar dente Vestir-se Sair uninho: Carro [despertador toca] estômago: órgão
  • 65.
    DCC – IME/USPProgramação Orientada a Objetos 65 That’s All Folks! • Por hoje é só pessoal!