Você está na página 1de 44

UML - Unified Modeling Language

0Nl
0lll00 N000ll l8080
Daniel Destro do Carmo
Softech Network Informtica
daniel@danieldestro.com.br
UML - Unified Modeling Language
Modelagem de Sistemas Orientados a Objetos
Antigamente no havia uma forma padro de se analisar e modelar
sistemas orientados a objetos.
Diferentes metodologias levavam a um desentendimento e confuso por
parte de analistas e desenvolvedores, por suas diferentes caractersticas,
elementos conceituais e notao.
Algumas metodologias eram boas em determinadas caractersticas, mas
ruins ou inexistentes em outras necessidades da anlise e modelagem OO.
Grady Booch, James Rumbaugh e Ivar Jacobson (os trs amigos) se
juntaram, unificaram suas metodologias e criaram a UML, pegando o melhor
de cada e melhorando com o suporte e ajuda da comunidade.
UML - Unified Modeling Language
O que ?
Unified Modeling Language (UML)
UML - Unified Modeling Language
Unified Modeling Language (UML)
UML uma linguagem de modelagem de sistemas, usada para:
especificar,
modelar,
visualizar
e documentar
os modelos e artefatos de sistemas OO e no-OO, baseando-se em
diagramas. A UML pode ser usada com todos os processos durante o ciclo
de desenvolvimento do projeto (anlise de requisitos, anlise de sistema,
design, programao e testes).
A UML foi criada por Grady Booch, Jim Rumbaugh e Ivar Jacobson, em
1997, e hoje mantida pela OMG (Object Management Group).
UML - Unified Modeling Language
Fases do Desenvolvimento
Anlise de Requisitos: Fase que captura as intenes e necessidades dos
usurios do sistema, atravs das funes desejadas no sistema, chamadas
de Casos de Uso.
Anlise: Onde se cria as primeiras abstraes e mecanismos presentes no
domnio do problema.
Design (Projeto): O resultado da anlise expandido em solues
tcnicas. As classes do domnio do problema so mescladas com classes
de infra-estrutura. o detalhamento para a fase de programao.
Programao: Os modelos criados so convertidos em cdigos de
linguagem.
Testes: Testes unitrios, testes de integrao e testes de aceitao.
UML - Unified Modeling Language
Por que usar UML?
Desenvolver o modelo de uma aplicao antes de constru-la, to
essencial quanto ter uma planta para a construo de uma casa.
Bons modelos so essenciais para a comunicao entre os times de
projetos e para assegurar a beleza arquitetural.
Com o aumento da complexidade dos sistemas, importncia conhecer
boas tcnicas de modelagem.
Ter um rigoroso padro de linguagem de modelagem um fator essencial
para o sucesso de um projeto.
Como a UML se tornou uma notao padro da indstria de arquitetura de
software, ela assunto abordado em muitos livros, seminrios e sites.
UML - Unified Modeling Language
Notao da UML
A UML dividida em algumas partes, como segue:
Vises: Mostram os diferentes aspectos do sistema, dando enfoque a
ngulos e nveis de abstraes diferentes, construindo uma viso completa
do sistema a ser construdo.
Modelos de Elementos: So os conceitos utilizados nos diagramas.
Representam definies comuns da OO.
Mecanismos Gerais: Provm comentrios suplementares, informaes ou
semntica sobre os elementos dos modelos.
Diagramas: So grficos que descrevem o contedo em uma viso. A UML
possui vrios tipos de diagramas que, combinados, formam todas as vises
do sistema.
UML - Unified Modeling Language
Vises
Os sistemas so, geralmente, compostos por diferentes nveis de vises.
Cada viso descrita por um nmero de diagramas que contm
informaes que do nfase aos aspectos particulares do sistema.
Os diagramas podem fazer parte de mais de uma viso do sistema.
As vises do sistema so:
Viso de Casos de Uso
Viso de Componentes
Viso Lgica
Viso de Organizao
Viso de Concorrncia
UML - Unified Modeling Language
Vises
Viso de Casos de Uso: Descreve as funcionalidades do sistema
desempenhada pelos atores externos. a viso central, base para as
outras vises do sistema. Diagramas de Casos de Uso e eventualmente
Atividades.
Viso de Componentes: Descreve a implementao dos mdulos e suas
dependncias. Consiste nos componentes dos diagramas.
Viso Lgica: Descreve como as funcionalidades do sistema sero
implementadas. Especifica a estrutura esttica e dinmica. Diagramas de
Classe e Objetos e Diagramas de Estado, Seqncia, Colaborao e
Atividades.
Viso de Organizao: Mostra a organizao fsica do sistema, os
computadores, perifricos etc e como eles se conectam entre si. Diagrama
de Execuo.
Viso de Concorrncia: Trata da diviso do sistema em processos e
processadores. Diagramas de Estado, Seqncia, Colaborao e Atividade.
UML - Unified Modeling Language
Modelos de Elementos da UML
Os elementos da UML so blocos de construo para os modelos dos
diagramas e so essenciais para o entendimento da UML.
Cada elemento tem um propsito diferente, diferentes regras e notaes.
Alguns elementos podem ser usados e diferentes diagramas.
Existem um grande conjunto de elementos disponveis na especificao.
Vamos ver alguns destes elementos especificados pela UML.
UML - Unified Modeling Language
Modelos de Elementos da UML
Caso de Uso
a descrio de um conjunto de seqncias de aes realizadas pelo sistema, que
proporciona resultados observveis de valor para um determinado ator. Um caso de
uso realizado por uma colaborao. Graficamente representado por uma elipse
de linhas contnuas, incluindo somente seu nome.
Pedido de Compra
Login
UML - Unified Modeling Language
Modelos de Elementos da UML
Ator
O Ator algum ou algo externo ao sistema, mas que vai interagir com o sistema.
Atores so representados como bonecos.
UML - Unified Modeling Language
Modelos de Elementos da UML
Classe
a descrio de conjunto de objetos que compartilham os mesmos atributos e
relacionamentos (estado), operaes e semntica (comportamento).
As classes podem implementar uma ou mais interfaces e, graficamente, so
representadas por retngulos, com trs divises: Nome da Classe, Conjunto de
Atributos e Conjunto de Mtodos.
aprovar( )
concretizar( )
valorTotal
Venda
UML - Unified Modeling Language
Modelos de Elementos da UML
Objeto
Um objeto uma instncia de uma classe, em tempo de execuo.
Os objetos so graficamente representados por um retngulo com o nome
sublinhado, ou o nome seguido de dois-pontos e o nome da classe do seu tipo.
venda1:Venda umaPessoa
UML - Unified Modeling Language
Modelos de Elementos da UML
Interface
um elemento que define uma coleo de operaes que especificam servios de
uma classe ou componente. Uma interface representa todo o comportamento
externamente visvel do elemento. Pode representar todo o comportamento, ou
apenas parte dele. A interface define um conjunto de especificaes de operaes,
mas nunca de um conjunto de implementaes de operaes. representada
graficamente por um crculo e o respectivo nome. Uma interface raramente aparece
sozinha.
inserir( )
remover( )
PessoaDAO
DAO
inserir( )
remover( )
PessoaDAO
inserir( )
remover( )
Interface
DAO
UML - Unified Modeling Language
Modelos de Elementos da UML
Estado
Todo os objetos possuem um estado, que o resultado das atividades executadas
por ele.
O estado representado por um retngulo com os cantos arredondados e o nome
do evento dentro do desenho.
Nome do Evento
UML - Unified Modeling Language
Modelos de Elementos da UML
Componente
a parte modular de um sistema, cujo comportamento definido pelas suas
interfaces. O trabalho interno dos componentes deve ser invisvel, e o seu uso ser
independente de plataforma. Geralmente cdigos-fonte, DLLs, Java Beans e outros
artefatos so considerados componentes. Graficamente representado por um
retngulo com duas abas na lateral esquerda.
Info.dll Conta.class
UML - Unified Modeling Language
Modelos de Elementos da UML
N
Um n uma pea fsica de equipamento, na qual o sistema ser disponibilizado,
por exemplo uma estao de trabalho ou um servidor. O n geralmente contm os
componentes e outras partes executveis do cdigo, que podem ser ligados a
processos em particular ou espaos de execuo. O ns so usados nos diagramas
de deployment, para modelar o deploy de um sistema, e para ilustrar a alocao
fsica dos artefatos implementados. Graficamente representado como um cubo.
N
UML - Unified Modeling Language
Modelos de Elementos da UML
Colaborao
Define as iteraes e o comportamento cooperativo, resultado da soma das funes
dos elementos. Assim, as colaboraes contm dimenses estruturais e
comportamentais. Graficamente so representadas como elipses tracejadas com o
seu nome.
Compra
:venda
:pedido
:itens
Compra
UML - Unified Modeling Language
Modelos de Elementos da UML
Nota
A nota apenas um smbolo para representar restries e comentrios anexados a
um elemento. Geralmente usa-se a nota para aprimorar os diagramas. Graficamente
representada por um retngulo com um dos cantos com uma dobra na pgina.
UML - Unified Modeling Language
Modelos de Elementos da UML
Pacote
um mecanismo de propsito geral para a organizao de elementos em grupo.
Graficamente representado como um retngulo com uma guia.
Pacote 1
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Relacionamentos
Os elementos dos modelos UML esto ligados uns aos outros, especificando o que
cada elemento significa ao outro e qual o grau de ligao deles, ou seja, qual a
relao lgica entre os elementos.
A estas ligaes, damos o nome de relacionamento.
Existem diferentes tipos e graus de relacionamentos. So eles:
Associao
Generalizao
Dependncia
Refinamento
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Associaes
A associao representa uma ligao entre dois elementos. Geralmente so
expressas como uma linha slida, de um elemento ao outro, e com um verbo (ou
substantivo) que qualifique a associao.
As associaes ainda podem expressar a cardinalidade e a navegao (sentido) da
associao. A cardinalidade (ou multiplicidade) indica quantos elementos so
possveis de cada lado da associao e pode ser expressada como um nmero ou
um intervalo.
Cliente ContaCorrente
possui
Cliente ContaCorrente
1 *
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Associao Recursiva: Acontece quando um elemento se conecta a ele mesmo, e
associao tem alguma semntica no modelo.
Pessoa
Pessoa Empresa
esposa
marido
Associao Exclusiva: Quando algumas combinaes de associaes no so
possveis no domnio do problema. uma restrio entre duas ou mais associaes.
Contrato
{ou}
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Associao de Classe: Uma classe pode ser associada a uma associao. Serve
para adicionar informaes extras associao existente.
Fila
Processo
Associao Ternria: Usada quando mais de duas classes podem se associar
entre si.
Cliente
Regras Contratuais
Cliente Contrato
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Agregao: Este um caso particular de associao. Indica que um elemento
parte ou est contida em outra classe. Representa uma relao do tipo parte/todo.
Corao
Agregao de Composio: uma relacionamento onde um elemento est contido
em outro, ou seja a vida de um depende do outro, e o seus tempos de vida so os
mesmos.
Pessoa
Jogador Equipe
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Generalizaes
A generalizao um relacionamento entre um elemento mais geral e um mais
especfico. O elementos mais especfico possui todas as caractersticas do seu
elemento mais geral, como as propriedades e seu comportamento, alm de poder
adicionar mais caractersticas a ele mesmo. As generalizaes podem ser normal e
restrita. As restritas se dividem em sobreposio, disjuntiva, completa e incompleta.
ContaCorrente
Poupana
Veculo
Carro Barco
CarroAnfbio
Pessoa
Homem Mulher
Normal
{completa}
{sobreposio}
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Dependncia
A dependncia uma conexo semntica entre dois elementos, um independente e
outro dependente. Qualquer alterao no elemento independente pode afetar o
elemento dependente. Em classes, a dependncia indica que o elemento apenas
instancia e/ou usa o elemento independente, sem manter uma relao duradoura
com o elemento.
Aplicao Janela
<< depende >>
UML - Unified Modeling Language
Modelos de Elementos da UML - Relacionamentos
Refinamento
O relacionamento de refinamento ocorre entre dois elementos parecidos, em
diferentes nveis de abstrao. Um refinamento pode acontecer entre um tipo e uma
classe que o realiza, nesse caso chamado de realizao. Refinamento tambm
pode ocorrer entre uma classe de anlise e uma classe de design grfico, ou entre
um alto e um baixo nvel de descrio. Refinamento tambm usado para modelar
diagramas de implementaes diferentes da mesma coisa, uma simples, e outra
mais complexa. O Refinamento usado no modelo de coordenao. Em grandes
projetos, todos os modelos devem ser coordenados.
ListaContatos
ListaContatosUI
UML - Unified Modeling Language
Mecanismos Gerais da UML
A UML utiliza alguns mecanismos para tratar de informaes adicionais,
sendo um ponto de extenso da linguagem.
Esses mecanismos so os Ornamentos e as Notas.
ListaClientes
Mantm uma lista
de objetos Cliente.
Carlos:Cliente
UML - Unified Modeling Language
Diagramas da UML
Com a UML possvel modelar os projetos de sistemas, baseados em
diagramas. Os diagramas so divididos, basicamente, em:
Diagramas Estruturais: diagrama de classes, diagrama de objetos,
diagrama de componentes e diagrama de disponibilizao.
Diagramas de Comportamento: diagrama de casos de uso,
diagrama de seqncia, diagrama de atividades, diagrama de
colaborao e diagrama de estados.
Diagramas de Gerenciamento do Modelo: pacotes, subsistemas e
modelos.
UML - Unified Modeling Language
Estudo de Caso
Para nosso aprendizado, usaremos um caso de estudo simples.
Imagine um loja, que vende seus produtos na internet. Os usurio podero
fazer o login no site, escolher os produtos que deseja adquirir e consolidar o
seu pedido, com a efetuao da compra, no caso, a venda, para a loja.
UML - Unified Modeling Language
Diagrama de Casos de Uso
O Diagrama de Casos de Uso serve para visualizar os relacionamentos
entre os atores e os casos de uso do sistema (cenrios), numa viso geral.
Serve para levantar os requisitos funcionais do sistema.
UML - Unified Modeling Language
Diagrama de Atividades
O Diagrama de Atividades mostra
o fluxo de controle.
As atividades so representadas
como retngulos com cantos arredondados.
Tipicamente as atividades so estados
de ao estados que transitam para
outro estado, assim que a ao tenha
sido completada.
Este diagrama pode ser usado
em qualquer nvel: fluxo dos casos
de uso, fluxo no nvel de programao,
fluxo das regras de negcio, etc.
UML - Unified Modeling Language
Diagrama de Classes
O Diagrama de Classes mostra a estrutura esttica do modelo da aplicao.
Este diagrama exibe as classes do sistema e o grau do relacionamentos
entre elas.
UML - Unified Modeling Language
Diagrama de Objetos
O Diagrama de Objetos muito similar ao Diagrama de Classes e utiliza
quase a mesma notao. Este diagrama mostra uma fotografia dos objetos
existentes em um determinado momento na execuo do sistema. So
muito teis para exemplificar relacionamentos complexos entre objetos em
determinado momento. Este diagrama tambm usado no Diagrama de
Colaborao.
UML - Unified Modeling Language
Diagrama de Estados
O Diagrama de Estados serve para mostrar todos os estados possveis dos
objetos de um classe do modelo, e que eventos do sistema causam essas
mudanas de estado. No h a necessidade de representar os estados dos
objetos de todas as classes.
UML - Unified Modeling Language
Diagrama de Seqncia
O Diagrama de Seqncia mostra a interao entre os objetos da aplicao
arranjados numa linha do tempo. So utilizados para descrever a seqncia
de um fluxo ou caso de uso da aplicao. muito til para se levantar quais
so os envolvidos no fluxo e definir a interface de alguns objetos.
UML - Unified Modeling Language
Diagrama de Colaborao
O Diagrama de Colaborao semelhante ao Diagrama de Seqncia,
mostrando a colaborao dinmica entre os objetos, sem levar em conta a
linha do tempo. Neste diagrama, alm da troca de mensagens, pode-se
perceber o relacionamento entre os objetos.
UML - Unified Modeling Language
Diagrama de Componentes
O Diagrama de Componentes mostra o lado funcional, expondo a relao
entre seus componentes e suas dependncias.
UML - Unified Modeling Language
Diagrama de Execuo
O Diagrama de Execuo mostra o lado funcional, exibindo a arquitetura
fsica do hardware e do software do sistema.
UML - Unified Modeling Language
Perguntas e Resposta
???
UML - Unified Modeling Language
Fim
Obrigado!

Você também pode gostar