You are on page 1of 42

UML (Unified Modelling Language)

Curso de Especializao DEINF - UFMA


Desenvolvimento Orientado a Objetos
Prof. Geraldo Braz Junior

Referncias: Booch, G. et al. The Unified Modeling Language User Guide


Medeiros, E. Desenvolvendo Software com UML 2.0: Definitivo, Makron Books, 2006.
Sommerville, I. Engenharia de Software, 8 edio, 2007.

Introduo
uma linguagem para especificao,

construo, visualizao e documentao de


artefatos de um sistema de software
mantida pelo Object Management Group
(OMG), com contribuies e direitos de
autoria das seguintes empresas: HewlettPackard, IBM, ICON Computing, i-Logix,
IntelliCorp, Electronic Data Services,
Microsoft, ObjecTime, Oracle, Platinum,Ptech,
Rational, Reich, Softeam, Sterling, Taskon A/S
e Unisys.
2

Introduo
A nfase da UML na definio de uma linguagem de

modelagem padro, e por conseguinte, a UML


independente das linguagens de programao, das
ferramentas CASE, bem como dos processos de
desenvolvimento.
O objetivo da UML que, dependendo do tipo de
projeto, da ferramenta de suporte, ou da organizao
envolvida, devem ser adotados diferentes
processos/metodologias, mantendo-se contudo a
utilizao da mesma linguagem de modelagem.

Introduo
A UML usada no desenvolvimento dos mais diversos

tipos de sistemas.
Ela abrange sempre qualquer caracterstica de um
sistema em um de seus diagramas
Aplicada em diferentes fases do desenvolvimento de
um sistema, desde a especificao da anlise de
requisitos at a finalizao com a fase de testes.
O objetivo da UML descrever qualquer tipo de
sistema, em termos de diagramas orientado a
objetos.

Introduo
Vantagem a unificao de todas as notaes

anteriores

Introduo
BOOCH

UML

Diagrama de Estados
Diagrama de Objetos
(Colaborao)
Diagrama de Processo
(Desenvolvimento)
Diagrama de Mdulos
(Componentes)

Diagrama de Estados
Diagrama de Classes

OOSE
6

OMT

Use Case
Subsistemas (Package)
Diagrama de Interaes
MiniEspecificao

A UML no
um processo
uma metodologia
Anlise e Projeto OO
regras de projeto
Linguagem de Programao

Introduo
UML uma linguagem padro da OMG para
Visualizao,
Especificao,
Construo e
Documentao de software orientado a objetos.

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.
O que modelamos?
Dimenses: dados, funo, comportamento

Especificao
uma ferramenta poderosa para a especificao

de diferentes aspectos arquiteturais e de uso de


um sistema.

10

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

11

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.

12

Descrio Arquitetnica
UML oferece uma forma padro de se desenhar as
plantas (como em arquitetura) de um sistema
de forma a incluir
aspectos abstratos (processos de negcio,
funcionalidades do sistema)
aspectos concretos (classes C++/Java
esquemas de bancos de dados, componentes
de software reutilizveis)

13

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
e, assim, expor oportunidades para melhorias e
reutilizao.
Para administrar os riscos
A UML permite modelar:
Elementos;
Relacionamentos;
Mecanismos de extensibilidade;
Diagramas

14

Algumas aplicaes
Sistemas de informaes corporativos
Servios bancrios e financeiros
Telecomunicaes
Transportes
Defesa/espao areo
Vendas de varejo
Eletrnica mdica
Cientficos

Servios distribudos baseados na Web

15

Elementos da UML
Para formar um modelo conceitual da linguagem
necessrio aprender trs elementos principais
Blocos de construo
Regras que determinam como esses blocos

podero ser combinados


Mecanismos comuns aplicados na UML

16

Blocos de Construo
Trs tipos:
Itens: so abstraes
Relacionamentos: os relacionamentos reunem

esses itens
Diagramas: agrupam colees interessantes de

item

17

Itens da UML
Estruturais
Comportamentais
De agrupamento
Anotacionais

18

Itens estruturais
So os substantivos dos modelos. So a parte

esttica, representando elementos conceituais ou


fsicos
Sete tipos: classes, interfaces, colaboraes, casos de
uso, classes ativas, componentes e ns

orderForm.java

Servidor

Componente
19

N
Classe

Itens comportamentais
Representam as partes dinmicas dos modelos. So

os verbos, representando comportamentos no tempo


e no espao
Dois tipos: interao e mquina de estado

exibir
Mensagem

20

Aguardando

Estado

Itens de agrupamento
So as partes organizacionais dos modelos de UML.

So os blocos em que os modelos podem ser


decompostos pacotes
Um pacote um mecanismo de propsito geral para a
organizao de elementos em grupos

Regras de
negcios

Pacote
21

Itens anotacionais
Partes explicativas dos modelos UML. So

comentrios, includos para descrever, esclarecer e


fazer alguma observao importante sobre qualquer
elemento do modelo - notas

Retornar cpia

Nota
22

Relacionamentos
Dependncia
Associao
Generalizao
Realizao

23

Dependncia
Relacionamento semntico entre dois itens,

nos quais a alterao de um (o item


independente) pode afetar a semntica do
outro (o item dependente)

24

dependncia

Associao
um relacionamento estrutural que descreve

um conjunto de ligaes, em que as ligaes


so conexes entre objetos

Pessoa

+emprega
1..*

+funcionario
1

associao
25

Departamento

(Agregao)
A agregao um tipo especial de associao

representando um relacionamento estrutural


entre o todo e sua parte

Empresa

todo
1

agregao
parte
26

*
Departamento

Generalizao
um relacionamento de especializao/generalizao,

nos quais os objetos dos elementos especializados (os


filhos) so substituveis por objetos do elemento
generalizado (os pais)

Pessoa

Aluno
27

Professor

Funcionario

Realizao
um relacionamento semntico entre classificadores,

em que um classificador especifica um contrato que


outro classificador garante executar

<< Interface >>


Agente da Regra

Regras de
contabilidade

realizao
28

Modelos
Um modelo uma simplificao da realidade
Um modelo representado por um ou mais

diagramas. Desta forma, um diagrama pode


ser visto como uma viso dentro de um
modelo.
Um diagrama pode ser representado de vrias
formas, dependendo de quem ir interpretlo.

29

Viso
Um diagrama uma viso sobre um modelo

30

Organizao

Comportamento

Diagrama
Um diagrama prov uma parcial representao do

sistema.
Ele ajuda a compreender a arquitetura do sistema
em desenvolvimento.
Os diagramas:
Caso de uso, classes, sequncia, objeto,

colaborao, atividade, estado, implantao,


pacotes, componentes

31

Diagramas de classes
Diagramas de classe so a

espinha dorsal da maioria dos


mtodos orientados a objeto,
inclusive UML
Descrevem a estrutura esttica

do sistema (entidades e
relacionamentos)

32

Diagramas de pacotes
Organizam elementos do sistema

em grupos relacionados a fim de


minimizar a dependncia entre
eles

33

Diagramas de objetos
Descrevem a estrutura

esttica de um sistema em
um determinado
momento

Podem ser usados para

testar a preciso dos


diagramas de classe

34

Diagramas de
casos de uso
Modelam a funcionalidade do

sistema atravs de atores e


casos de uso
Casos de uso so servios ou

funes fornecidas pelo


sistema aos seus usurios

35

Diagramas de seqncias
Descreve as interaes

entre as classes atravs das


trocas de mensagens ao
logo do tempo

36

Diagramas de Comunicao
Representam as interaes

entre objetos em termos de


mensagens em seqncia
Descrevem tanto a estrutura

esttica como o
comportamento dinmico do
sistema

37

Diagramas de estados
Descrevem o comportamento

dinmico do sistema em
resposta a estmulos externos

So especialmente teis para

modelar objetos reativos cujos


estados so disparados por
eventos especficos

38

Diagramas de atividades
Ilustram a natureza dinmica de

um sistema modelando o fluxo de


controle de uma atividade para
outra
Uma atividade representa uma
operao em uma classe do
sistema que resulta na mudana do
estado do sistema
Tipicamente, so usados para
modelar fluxo de trabalho ou
processos de negcio e
funcionamento interno
39

Diagramas de componente
Descreve a organizao

dos componentes fsicos


de software
Ex.: cdigo-fonte, cdigo

em tempo de execuo
(binrio) e executveis

40

Diagramas de implantao
Descrevem os recursos

fsicos em um sistema,
incluindo ns,
componentes e conexes

41

Diagrama
Os diagramas UML so abordados como

Estticos e Dinmicos.

Estes diagramas tambm


Podem ser classificados
como:
Comportamentais
Estruturais

42