Escolar Documentos
Profissional Documentos
Cultura Documentos
Software
UML
Unified Modeling Language
http://www.uml.org/
http://www.omg.org/spec/
Prof. MSc. Edilberto Silva
prof.edilberto.silva@gmail.com
http://www.edilms.eti.br
Criadores da UML
James Rumbaugh - Object Modeling
Technique (OMT)
Grady Booch - Booch Method
Ivar Jacobson - Objectory (OOSE) Process
O que UML?
UML (Unified Modeling Language) uma
linguagem
para
especificao,
construo, visualizao e documentao
de sistemas de software.
Linguagem visual de modelagem de
sistemas computacionais por meio do
paradigma de Orientao a Objetos
O que UML?
A UML uma evoluo das linguagens para
especificao dos conceitos de:
Booch;
OMT (Object Modeling Technique-Rumbaugh);
OOSE (Object-Oriented Software Engineering Jacobson);
e tambm de outros mtodos de especificao de
requisitos de software orientados a objetos ou
no.
O que UML?
A notao UML uma unio de sintaxe grfica
de vrios mtodos, com certo nmero de
smbolos removidos (porque so confusos,
suprfluos ou pouco usados) e com outros
smbolos adicionados.
O resultado uma nica, comum e ampla
linguagem de modelagem utilizvel por
desenvolvedores de software orientado a
objetos.
Formao da UML
Grafo de Interao
de Objetos
FUSION
(Coleman)
Statecharts
(Harel)
Diagrama de Statecharts
(Diagrama de Atividades)
BOOCH
OMT
UML
Diagrama de Estados
Diagrama de Classes
Diagrama de Objetos
(Diagrama de Colaborao)
Diagrama de Processos
(Diagrama de Deployment)
OOSE
Diagrama de Mdulos
(Jacobson)
(Diagrama de Componentes)
(Rumbaugh)
Diagrama de Classes
Diagrama de Estados
Objetivos da UML
A modelagem de sistemas (no apenas de
software) usando os conceitos da
orientao a objetos;
Estabelecer uma unio fazendo com que
mtodos conceituais sejam tambm
executveis;
Criar uma linguagem de modelagem usvel
tanto pelo homem quanto pela mquina.
Sistemas Tcnicos
controle de eqp. de telecomunicaes, militares ou industriais
Sistemas Real-Time
Embutidos, msseis, celulares, carros,...
Sistemas Distribudos
Em mquinas diferentes...
Sistemas de Software
Infra-estrutura tcnica para outros sw (SO, BD,...
Sistemas de Negcio
descreve objetivos, especificaes, regras de negcio,...
Prof.Edilberto Silva - www.edilms.eti.br
Fases de Desenvolvimento
Desenvolvidas concomitantemente
Anlise de Requisitos
Captura de intenes e necessidades (use-cases)
Anlise
Abstraes (Classes e Objetos)
Projeto
Infra-estrutura tcnica (detalhamento das
especificaes)
Implementao
Concretizao da abstrao e infra-estrutura-tcnica
Testes
testes de unidade, integrao e aceitao
Prof.Edilberto Silva - www.edilms.eti.br
Desenvolvimento
O Processo de Desenvolvimento de Software
com a UML est estruturado, segundo o
tempo, em quatro fases:
Concepo;
Elaborao;
Construo;
Transio.
Concepo/Elaborao
Concepo quando se especifica da
viso do sistema.
Elaborao quando se faz o
planejamento das atividades necessrias
e dos recursos requeridos e a
especificao do sistema e design da sua
arquitetura.
Construo / Transio
Construo desenvolvimento do produto
como uma srie de interaes incrementais.
Transio fornecimento do produto para o
usurio
(fabricao,
distribuio
e
treinamento).
Vises da UML
Vises
mostram diferentes aspectos do sistema
abstrao atravs de uma srie de diagramas e
em nveis diferentes
As vises de um sistema
Vises da UML
Mostram diferentes aspectos do sistema que est sendo
modelado.
A viso no um grfico, mas uma abstrao consistindo em
uma srie de diagramas.
Cada viso mostrar aspectos particulares do sistema, dando
enfoque a ngulos e nveis de abstraes diferentes.
Viso Lgica
Propriedades
como
persistncia
e
concorrncia so definidas nesta fase, bem
como as interfaces e as estruturas de classes.
A estrutura esttica descrita pelos
diagramas de classes e objetos. A estrutura
dinmica descrita pelos diagramas de
estado, seqncia, colaborao e atividade.
Viso de Componentes
Mostra a organizao dos componentes de
cdigo.
uma descrio da implementao dos
mdulos e suas dependncias.
principalmente
executado
por
desenvolvedores.
Consiste nos diagramas de componentes.
Blocos de construo
Itens ou Elementos
Subdividido em 4 tipos
Relacionamentos
Subdividido em 4 tipos
Diagramas
Subdividido em 9 tipos
Itens ou Elementos
Itens estruturais;
Itens comportamentais;
Itens de agrupamentos e;
Itens de anotao.
Relacionamentos
e
Outros
23
Prof.Edilberto Silva - www.edilms.eti.br
Itens Anotacionais
So as partes explicativas dos modelos UML.
So comentrios, incluidos para descrever,
esclarecer e fazer alguma observao sobre
qualquer elemento do modelo.
Representado pela Nota.
Retornar cpia
Interfaces
As interfaces so estritamente modelos de comportamento.
As interfaces no podem ser instanciadas pois no produzem
objetos.
A relao existente entre as classes que implementam uma
Interface e a Interface uma relao do tipo implementa os
mtodos de. No precisa ter significado semntico.
Relao implementa os mtodos de
Estrutura
Pilha
adicionarValor()
retirarValor()
m ostrarValores()
adicionarValor()
retirarValor()
m ostrarValores()
Fila
adicionarValor()
retirarValor()
m os trarValores()
Relacionamentos
So os blocos relacionais
construo. Existem 4 tipos:
Dependncia;
Associao;
Generalizao e;
Realizao.
bsicos
de
Dependncia
um relacionamento semntico entre dois
itens, nos quais a alterao de um (o item
independente) pode afetar a semntica do
outro (o item dependente).
Associao
Descreve um conjunto de ligaes, em que as
ligaes so conexes entre objetos.
A agregao um tipo especial de associao.
representada
por
linhas
slidas,
possivelmente direcionadas, ocasionalmente
incluindo rtulos e, freqentemente, contendo
outros adornos como multiplicidade e papis.
nome da associao
papel-1
papel-2
Generalizao
um
relacionamento
de
especializao/generalizao, nos quais os
elementos dos objetos especializados (filhos)
so substituveis por objetos do elemento
generalizado (pai).
representado como uma linha slida com
uma seta em branco apontando para o pai.
Realizao
um relacionamento semntico entre
classificadores, em que um classificador
especifica um contrato que outro
especificador garante executar.
So encontrados em dois locais:
Entre as interfaces e as classes que as realizam;
Entre casos de uso e as colaboraes que as
realizam.
Diagramas
UML 2.0
Diagramas
Diagramas Estruturais
Diagrama
de
Componentes
Diagrama
de
Classes
Diagrama
de
Objetos
Diagrama
de
Estrutura Composta
Diagrama
de
Implantao
Diagramas Comportamentais
Diagrama
de Mquina
de Estados
Diagrama
de
Pacotes
Diagrama
de Casos
de Uso
Diagrama
de
Atividade
Diagramas de Interao
Diagrama
de
Seqncia
Diagrama
de
Comunicao
Diagrama
de
Interao
Geral
Diagrama
de
Tempo
Diagramas
Comportamentais
<<include>>
Mostrar Mapa
do Salo
Reserva
de
Restaurante
Cliente
<<extends>>
Cadastrar
Cliente
Diagrama de Seqncia
Preocupa-se com a ordem temporal em que as mensagens
so trocadas entre os objetos envolvidos em um processo
Representa como o sistema age internamente para que um
ator atinja seu objetivo na realizao de um caso de uso.
Mensagens:
Sncrona
Retorno
Assncrona
Simples
Diagrama de Seqncia
<<Esteretipos>>
Entidades (<<entity>>) modelam informao persistente, sendo
tipicamente independentes da aplicao. Geralmente so
necessrias para cumprir alguma responsabilidade do produto, e
freqentemente correspondem a tabelas de bancos de dados.
Fronteiras (<<boundary>>) tratam da comunicao com o
ambiente do produto. Modelam as interfaces do produto com
usurios e outros sistemas, e surgem tipicamente de cada par ator
caso de uso.
Controles (<<control>>) coordenam o fluxo de um caso de uso
complexo, encapsulando lgica que no se enquadra
naturalmente nas responsabilidades das entidades. So
tipicamente dependentes de aplicao.
Prof.Edilberto Silva - www.edilms.eti.br
Diagrama de Seqncia
Ator
Classe
Objeto
Objeto1
Objeto2
Objeto3
Classe
Ator
mensagem0
Linha de
vida
mensagem1
mensagem2
mensagem3
Foco de
controle
Mensagem
Diagrama de Comunicao
Associado ao Diagrama de Sequncia. So as mesmas
informaes, porm sem a temporalidade do processo.
Concentra-se em como os objetos esto vinculados e
quais mensagens
trocam entre si
Mensagens:
Sncrona
Retorno
Assncrona
Simples
Condio
[]
Prof.Edilberto Silva - www.edilms.eti.br
Desligada
Acender Luz
Desligada
Diagrama de Atividade
Descreve os passos a serem percorridos para a
concluso de uma atividade especfica.
Concentra-se na representao do fluxo de controle
Diagrama de Atividade
EstadoAo1
Estado
inicial
EstadoAo2
Ponto de
ramificao
[x > 0]
[x = 0]
Bifurcao
EstadoAo6
EstadoAo7
EstadoAo3
[x < 0]
Estado
ao
EstadoAo4
Ponto de
unio
EstadoAo5
Juno
Estado final
Diagramas
Estruturais
Diagrama de Classes
Permite a visualizao das classes utilizadas pelo
sistema e como estas se relacionam.
Define a estrutura de classes, atributos e mtodos.
Considerado um dos mais
importantes diagramas
da UML
Conta
- agencia
- nome
- numero
+ resgate()
As sunto
Documentao
1.. *
0..*
Artigo
+ depsito()
Autor
0..1
1..*
Revista
Poupana
Prof.Edilberto Silva - www.edilms.eti.br
- variacao
Corrente
- cheque_especial
Classes
A classe possui visibilidade, atributos, operaes e
multiplicidade.
Os tipos de visibilidade que podem ser determinados
em uma classe para atributos e servios so:
+ public: os elementos so acessveis por todas as
classes;
# protected: os elementos so acessveis por subclasses,
ou pela prpria classe;
private: os elementos so acessveis somente pela
prpria classe;
Atributos da Classe
Operaes da Classe
(Mtodos)
Relacionamentos
Multiplicidade
O relacionamento entre as classes utiliza o limite de
multiplicidade para restringir o nmero de objetos que
devem participar do relacionamento.
As formas de representao so:
10
numrica (exatamente)
1..4
intervalo (mnimo 1, mximo 4)
*
zero ou mais (representao default)
1..*
maior ou igual a um
Associao
1..*
Cliente
Pedido
Faz
Agregao
O relacionamento especial, indica um complemento,
onde se for excluda a parte o todo tambm deve ser
Nota Fiscal
Todo
1
Tem
1..*
Item
Nota Fiscal
Prof.Edilberto Silva - www.edilms.eti.br
Parte
Composio
O relacionamento especial, indica um que uma parte s
pode ter um relacionamento (exclusivo) com o todo
Se o objeto da classe que contm
for destrudo, as classes da
Todo
Revista
composio sero destrudas
juntamente.
1
Tem
1..*
Artigo
Prof.Edilberto Silva - www.edilms.eti.br
Parte
Herana Mltipla
Veculo
Veculo
Terrestre
Veculo
Aqutico
Veculo
Anfbio
Prof.Edilberto Silva - www.edilms.eti.br
Dependncia
1..*
Empregado
Filho
Tem
Polimorfismo
Animal
Comunicar( )
SerHumano
Cachorro
Gato
Comunicar ( ) fala
Comunicar ( ) late
Comunicar ( ) mia
Diagrama de Objetos
Associado ao Diagrama de Classes
Representa uma fotografia do sistema em um certo momento.
Exibe as ligaes formadas entre objetos conforme estes
interagem e os valores dos seus atributos.
Diagrama de Componentes
Identifica os componentes que fazem parte de um
sistema, um subsistema ou mesmo os componentes
ou classes internas de um componente individual.
Nvel de
Interface
PackageGuiBanco
Formulario
Operacoes
Formulario
Cadastro
<<Application>>
Banco
PackageNegciosBanco
<<object>>
CtaCorrente
PackageAcessoDadosBanco
DataAcess
Object
Prof.Edilberto Silva - www.edilms.eti.br
Nvel de
Ngocios
<<object>>
Cliente
Nvel de
Dados
Componentes
So as partes fsicas e substituveis de um
sistema.
Um mdulo de software representado como
um tipo de componente.
Diagrama de Implantao
Enfoca a questo da organizao da arquitetura fsica
sobre o qual o software ir ser implantado e executado.
Diagrama de Implantao
N
um elemento fsico existente em tempo de
execuo que representa um recurso
computacional.
Um conjunto de componentes poder estar
contido em um n, mas tambm poder
migrar de um n para outro.
Servidor
Diagrama de Pacotes
Demonstra como os elementos do software esto
organizados em pacotes e as respectivas dependncias.
UML 2.0
Diagramas
Diagramas Estruturais
Diagrama
de
Componentes
Diagrama
de
Classes
Diagrama
de
Objetos
Diagrama
de
Estrutura Composta
Diagrama
de
Implantao
Diagramas Comportamentais
Diagrama
de Mquina
de Estados
Diagrama
de
Pacotes
Diagrama
de Casos
de Uso
Diagrama
de
Atividade
Diagramas de Interao
Diagrama
de
Seqncia
Diagrama
de
Comunicao
Diagrama
de
Interao
Geral
Diagrama
de
Tempo
Obrigado!
Edilberto Silva
www.edilms.eti.br