Anda di halaman 1dari 64

Engenharia de

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

Esta parte apresenta...


Conceitos gerais da UML
Criadores
O que
Objetivos
Viso Geral

Prof.Edilberto Silva - www.edilms.eti.br

Criadores da UML
James Rumbaugh - Object Modeling
Technique (OMT)
Grady Booch - Booch Method
Ivar Jacobson - Objectory (OOSE) Process

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

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

Diagrama Use Cases


Subsistema (Package)

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

UML - Unified Modeling Language


Objetivo: Descrever qualquer tipo de sistema, em
termos de diagramas OO:
Sistemas de Informao
Grandes qdes de informaes em BD

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.

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

Construo / Transio
Construo desenvolvimento do produto
como uma srie de interaes incrementais.
Transio fornecimento do produto para o
usurio
(fabricao,
distribuio
e
treinamento).

Prof.Edilberto Silva - www.edilms.eti.br

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

Use Case View (Caso de Uso e Sequncia)


Logical View (Classe, Estado e Relacionamento)
Component View (Componentes)
Deployment View (Implantao)
Process View (Processo)

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

Viso de Casos de Uso


Descreve a funcionalidade do sistema
desempenhada pelos atores externos do
sistema (usurios).
Seu contedo base do desenvolvimento
das outras vises do sistema.
Essa viso montada sobre os diagramas
de use-case e eventualmente diagramas de
atividades.

Prof.Edilberto Silva - www.edilms.eti.br

Viso de Processos (Concorrncia)


Mostra o aspecto da concorrncia no
sistema, endereando problemas de
comunicao e sincronizao;
suportada pelos diagramas dinmicos:
diagramas
de
estado,
seqncia,
colaborao e atividade, e pelos diagramas
de implementao:
diagramas de
componente e execuo.

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

Viso Fsica (Organizao)


Mostra a organizao fsica do sistema, os
computadores, os perifricos e como eles se
conectam entre si.
Esta
viso
ser
executada
pelos
desenvolvedores, integradores e testadores
representada pelos diagramas de execuo.

Prof.Edilberto Silva - www.edilms.eti.br

Blocos de construo
Itens ou Elementos
Subdividido em 4 tipos

Relacionamentos
Subdividido em 4 tipos

Diagramas
Subdividido em 9 tipos

Prof.Edilberto Silva - www.edilms.eti.br

Itens ou Elementos

Itens estruturais;
Itens comportamentais;
Itens de agrupamentos e;
Itens de anotao.

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

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()

Prof.Edilberto Silva - www.edilms.eti.br

Relacionamentos
So os blocos relacionais
construo. Existem 4 tipos:
Dependncia;
Associao;
Generalizao e;
Realizao.

Prof.Edilberto Silva - www.edilms.eti.br

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).

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

Diagramas

Prof.Edilberto Silva - www.edilms.eti.br

UML 2.0
Diagramas

Diagramas Estruturais
Diagrama
de
Componentes

Diagrama
de
Classes

Diagrama
de
Objetos

Diagrama
de
Estrutura Composta

Novos com a UML 2.0

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

Prof.Edilberto Silva - www.edilms.eti.br

Diagrama
de
Interao
Geral

Diagrama
de
Tempo

Diagramas
Comportamentais

Prof.Edilberto Silva - www.edilms.eti.br

Diagrama de Casos de Uso


Representa as funcionalidades externamente
observveis do sistema e os elementos externos ao
sistema que interagem com ele.

<<include>>

Mostrar Mapa
do Salo

Reserva
de
Restaurante
Cliente
<<extends>>
Cadastrar
Cliente

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

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

Diagrama de Mquina de Estados


Baseia-se no Caso de Uso e apia-se no Diagrama de
Classes acompanhando os estados por que passa uma
instncia de uma classe
Demonstra o comportamento de um elemento atravs
de um conjunto de transio
de estados

Piscar botao1[ Se boto1 no pressionado ] / Piscar botao1 e esperar clique

Desligada

Acender Luz

Esperando clique do mouse

exibir mensagem1[ Se tempo < 15 segundos ] / exibir mensagem1


pressionar botao1[ se boto1 pressionado ] / Exibir Mensagem1
Exibindo Mensagem1

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

Estado final

Diagrama de Interao Geral (Novo)


uma variao do
diagrama
de
atividades.
Fornece uma viso
geral dentro de um
sistema ou processo
de
negcio
em
relao ao controle de
fluxo.

Prof.Edilberto Silva - www.edilms.eti.br

Diagrama de Tempo (Novo)


Semelhante ao diagrama de Mquina de estados
Enfoca as mudanas de estado de um objeto ao longo do
tempo, til para modelagem de sistemas de tempo real.

Prof.Edilberto Silva - www.edilms.eti.br

Diagramas
Estruturais

Prof.Edilberto Silva - www.edilms.eti.br

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;

Prof.Edilberto Silva - www.edilms.eti.br

Classes, atributos e operaes

Atributos da Classe

Operaes da Classe
(Mtodos)

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

Associao

1..*

Cliente

Pedido
Faz

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

Polimorfismo
Animal
Comunicar( )

SerHumano

Cachorro

Gato

Comunicar ( ) fala

Comunicar ( ) late

Comunicar ( ) mia

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

Diagrama de Estrutura Composta (Novo)


utilizado para modelar colaboraes entre interfaces,
objetos ou classes.
Detalham partes internas (classe ou componente) que o
compem e como estas se comunicam e colaboram
entre si

Prof.Edilberto Silva - www.edilms.eti.br

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.

Prof.Edilberto Silva - www.edilms.eti.br

Diagrama de Implantao
Enfoca a questo da organizao da arquitetura fsica
sobre o qual o software ir ser implantado e executado.

Prof.Edilberto Silva - www.edilms.eti.br

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

Prof.Edilberto Silva - www.edilms.eti.br

Diagrama de Implantao + Componentes

Prof.Edilberto Silva61- www.edilms.eti.br

Diagrama de Pacotes
Demonstra como os elementos do software esto
organizados em pacotes e as respectivas dependncias.

Prof.Edilberto Silva - www.edilms.eti.br

UML 2.0
Diagramas

Diagramas Estruturais
Diagrama
de
Componentes

Diagrama
de
Classes

Diagrama
de
Objetos

Diagrama
de
Estrutura Composta

Novos com a UML 2.0

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

Prof.Edilberto Silva63- www.edilms.eti.br

Diagrama
de
Interao
Geral

Diagrama
de
Tempo

Obrigado!

Edilberto Silva
www.edilms.eti.br

Prof.Edilberto Silva - www.edilms.eti.br