Vous êtes sur la page 1sur 71

Eng.

Mecatronica, Mecanica e
Computao
Uma Viso Geral da UML:
por prof Kendall V. Scott
Prof. Msc. Alexsandro M. Carneiro
www.ucdb.br/docentes/alexsandro
Eng. Mecatronica, Mecanica e Computao
2010
Linguagem de Modelagem
Unificada
UML uma linguagem padro da OMG para
visualizao,
especificao,
construo e Documentao de software
orientado a objetos.
Questionamentos
1. Porque usar uma linguagem unificada?
2. O que utilizado ou foi utilizado at hoje?
3. Onde aplicar?
Aspectos importantes
1. Visualizao
2. Especificao
3. Construo
4. Descrio
5. Documentao
POR MEIO DE DIAGRAMAS
Visualizao
A existncia de um modelo visual facilita a
comunicao e faz com que os membros
de um grupo tenham a mesma idia do
sistema.
Cada smbolo grfico tem uma semntica
bem definida.
Software
Savant
Arquitetura Proposta
Especificao
uma ferramenta poderosa para a
especificao de diferentes aspectos
arquiteturais e de uso de um sistema.
Plataformas e meios de comunicao do sistema Savant
Construo
Cdigo X Visual:
Gerao automtica de cdigo a partir do
modelo visual
Gerao do modelo visual a partir do cdigo
Ambientes de desenvolvimento de
software atuais permitem:
movimentaes em ambos sentidos e
manuteno da consistncia entre as duas
vises.
Construo
Softwares de Desenvolvimento RAD permitem gerar a partir da
linguagem POO suas classes.
Exemplo: Netbeans
Documentao
Pode incluir artefatos como:
Deliverables:
documentos como especificao de requisitos,
especificaes funcionais,
planos de teste,
etc.
Materiais que so importantes para:
controlar, medir, e refletir sobre um sistema
durante o seu desenvolvimento e implantao.
Descrio Arquitetnica
1. UML oferece uma forma padro de se
desenhar as plantas
aspectos abstratos
processos de negcio, funcionalidades do
sistema;
aspectos concretos
classes C++/Java;
esquemas de bancos de dados;
componentes de software reutilizveis;
Etc.
Descrio Arquitetnica
Aspectos abstratos
Diag. De Casos
De Uso
Descrio Arquitetnica
Aspectos concretos
Descrio Arquitetnica
Aspectos concretos
Descrio Arquitetnica
Descrio Arquitetnica
Explicao dos componentes
Razes 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:
expor oportunidades para melhorias e
reutilizao.
Para administrar os riscos
Diagramas UML
Diagramas UML
Diagramas Estruturais
Usados para visualizar, especificar, construir
e documentar aspectos estticos de um
sistema
diagrama de classes
diagrama de pacotes
diagrama de objetos
diagrama de componentes
diagrama de implantao
Usos Comuns para
Diagramas de Classes
Modelar o vocabulrio do sistema, em termos de:
Quais abstraes fazem parte do sistema
e quais caem fora de seus domnios.
Modelar as colaboraes/interaes :
sociedades de elementos que trabalham em conjunto oferecendo
algum comportamento cooperativo.
Modelagem:
lgica dos dados manipulados pelo sistema
serve de base para a definio formal do modelo da base de
dados.
Notao para Classes
NOME DA CLASSE
Atributos
Operaes
Variveis e/ou campos
Funes que manipulam as
Variveis ou campos
Notaes Alternativas
Nome
Atributos
Operaes
Responsabilidades
Nome
Atributos
Operaes
Nome
itlico abstrata
Relacionamentos
So conexes entre classes:
1. dependncia
2. generalizao
3. associao
Dependncia
uma relao do tipo usa na qual
mudanas na implementao de uma classe
podem causar efeitos em outra classe que a
usa.
Exemplo: uma classe usa a outra.
Window
handleEvent()
Event
Generalizao
uma relao do tipo um entre uma
coisa geral (superclasse) e uma coisa mais
especfica (subclasse).
Shape
Rectangle Circle
Associao
uma relao estrutural na qual classes ou
objetos esto interconectados.
Uma associao entre objetos chamada de
uma ligao (link).
Empresa Pessoa
Ornamentos
para Associaes
nome
papel
multiplicidade
agregao
composio
Nome da Associao
descreve a natureza da relao:
pode indicar a direo:
Empresa Pessoa
trabalha p/
Empresa Pessoa
trabalha p/
Papis
Classes e objetos podem assumir papis
diferentes em diferentes momentos.
Empresa Pessoa
empregado
empregador
Multiplicidade
Valores possveis: valor exato, intervalo, ou
* para muitos.
Exemplo:
Empresa Pessoa
1..*
1
Agregao
uma relao do tipo todo/parte ou possui
um na qual uma classe representa uma
coisa grande que composta de coisas
menores.
Departamento
Instituto
Entidade
Maior
Entidade
Menor
Composio
um tipo especial de agregao na qual as
partes so inseparveis do todo.
Frame
Window
Classes de Associao
Uma classe de associao possui as
propriedades de classes e de associaes:
Empresa Pessoa
Emprego
descrio
dataDeContratao
salrio
Interfaces
uma coleo de operaes que possui um
nome. usada para especificar um tipo de
servio sem ditar a sua implementao.
Observer
interface
Observer
update()
Interfaces e
Relacionamentos
Uma interface pode participar de
generalizaes, associaes e
dependncias.
Observer
Tracker
Periodic
Observer
Observation
Realizao
uma relao entre uma interface e a
classe que a implementa, i.e., que prov o
servio definido pela interface.
Uma classe pode realizar (implementar)
vrias interfaces.
Observer
TargetTracker
interface
Observer
update()
Esteretipos
uma extenso do vocabulrio de UML que
permite a criao de um tipo bsico novo que
especfico ao problema que est sendo
resolvido.
interface
Observer
update()
control
TargetTracker
Esteretipos
Padro em UML
cerca de 50, incluindo:
become (indica uma dependncia na qual
um objeto se torna outro)
enumeration (especifica um tipo
enumerado incluindo seus possveis
valores)
utility (uma classe na qual todos os valores
e atributos pertencem classe (e no s
suas instncias)
Valores Rotulados
Permite a especificao de propriedades de
elementos de um modelo:
GL Account
{persistent}
TargetTracker
{release = 2.0}
Restries
Especifica uma condio que deve ser
satisfeita pelo sistema.
Portfolio
Bank Account
Person
Corporation
{secure}
{or}
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.
Um Diagrama de Pacotes
Arcabouo para construo de sistemas distribudos
adaptativos (de Francisco Silva
2
).
Diagrama de Objetos
Mostra um conjunto de objetos e seus
relacionamentos em um certo instante em
tempo de execuo.
ime: Instituto
comp: Departmento
nome = MAC
p1: Pessoa
ID = 84724
: contato
ramal = 6000
Componente
uma parte de um sistema que pode ser
substituda e que oferece uma
implementao de um conjunto de
interfaces.
Exemplos prticos:
Biblioteca de carga dinmica (DLL)
Componente CORBA
Enterprise Java Bean (EJB)
Notao para Componentes
Escalonador
-----------
----------
----------
----------
----------
----------
signal.cpp
N
Representa um elemento fsico capaz de
oferecer recursos computacionais.
Em geral, possui pelo menos memria e
processador.
Diagrama de Implantao
: kiosk
deploys
user.exe
c: console
deploys
config.exe
s: server
deploys
dbadmin.exe
: RAID farm
10-T Ethernet
RS-232
Diagrama de Implantao
: client
deploys
netscape.exe
w: webserver
deploys
apache
a: appServer
deploys
JBoss
: RAID farm
HTTP
Fast Ethernet
Diagramas Comportamentais
Usados para visualizar, especifcar, construir
e documentar aspectos dinmicos de um
sistema
diagrama de casos de uso
diagrama de seqncia
diagrama de colaborao
diagrama de estados
diagrama de atividades
Casos de Uso e Atores
Um caso de uso uma seqncia de
aes, incluindo variantes, que um sistema
realiza a fim de gerar um resultado
observvel de interesse para um ator.
Um ator um papel (ou conjunto de
papis) que um usurio desempenha
quando participa de um caso de uso.
Fluxos de Eventos
O fluxo de eventos principal descreve o
caso em que tudo corre bem.
Fluxos de eventos excepcionais cobrem as
variaes que podem ocorrer quando
diferentes coisas do errado ou quando
algo pouco comum acontece.
Um Diagrama de Caso de Uso
Compra
Material
Gera
Relatrio de
Compra
Atualiza
Estoque
Organizao de Casos de Uso
pacotes
generalizao
incluso
extenso
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
Relatrio
Mensal
Generalizao
Anloga generalizao/especializao de
classes.
Autentica
Usurio
Verifica
Senha
Analisa
Impresso
Digital
Incluso
O esteretipo include indica que um caso
inclui o outro.
Permite fatorar comportamento comum a
vrios casos.
Autentica
Usurio
Encomenda
Livro
Rastreia
Encomenda
include include
Extenso
Pode-se usar o esteretipo extend para
indicar que um caso estende o outro.
til para fatorar comportamento
incomum/no-padro.
Encomenda
Livro
Encomenda
Urgentssima
extend
Interaes e Mensagens
Uma interao 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 comunicao entre
objetos que resulta na transmisso de informao
com o intuito de que alguma atividade ser
realizada.
Diagrama de Seqncia
um diagrama de interaes 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 retngulo fino
vertical sobreposto linha de vida que
mostra o perodo durante o qual um objeto
est realizando uma ao.
Diagrama de Seqncia
: Ticket Agent c: Client
create
setItinerary(i)
calculateRoute()
route
Diagrama de Colaborao
um diagrama de interao que enfatiza a
organizao dos objetos que participam da
interao.
Um caminho uma ligao entre objetos,
possivelmente com um esteretipo local.
Nmeros de seqncia indicam a ordem
temporal das mensagens em um ou mais
nveis.
Diagrama de Colaborao
: 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
Outros Tipos de Diagramas
Diagrama de Estados / Atividades
til para modelar fluxo de trabalho
(workflow)
Thats All Folks!
Por hoje s pessoal!

Vous aimerez peut-être aussi