Sei sulla pagina 1di 10

Agenda

Definio Histrico Contribuies Diagramas Observaes

Introduo a UML
Cleidson de Souza (Rodrigo Reis)

Definio
A UML (Unified Modeling Language) uma notao para descrio de sistemas orientados:
The Unified Modeling Language for ObjectOriented Development de Grady Booch, James Rumbaugh e Ivar Jacobson.

Histrico
Metodologias para anlise e projeto orientado a objetos (OOAD)
Evoluo a partir de linguagens de programao Anos 80-90: diversidade de autores Anos 98-2000: unificao em torno de UML

Baseia-se na experincia dos principais autores dos 3 principais mtodos OO. Esta notao foi padronizada pela OMG (Object Management Group) em 1997.

At 1994, existiam pelo menos 50 mtodos diferentes para desenvolvimento OO.

Histrico
Exemplos
Classes

Histrico
Os principais mtodos utilizados eram os de Booch, Rumbaugh(OMT) e Jacobson(Objectory). Outros mtodos importantes so o de Coad-Yourdon, Shlaer-Mellor e o mtodo Fuso.

Booch Schlaer-Mellor

Coad-Yourdon

OMT

Histrico
Grady Booch
Um dos pioneiros da OO 1980: nfase em tcnicas de projeto para Ada 1992-1994: livros
Object-Oriented Design with Applications
projeto de programas em C++ e Ada

Histrico
1994: Object-Oriented Analysis and Design with Applications
texto sobre conceitos de OO e modelagem de objetos projeto de vrias aplicaes-exemplo com diferentes linguagens da poca

1998: Fundao da Rational

Histrico
Ivar Jacobson
Modelagem OO baseado em Casos de Uso Objectory

Histrico
James Rumbaugh
Object Modeling Technique (OMT) Desenvolvida na GE Metodologia baseada em notaes pr-existentes (ER, DTE, DFD) Clara distino entre as trs vises do problema

Histrico
James Rumbaugh (cont.)

Histrico
Em 1994, Rumbaugh e Booch decidiram terminar a guerra de mtodos e se uniram visando criar um nico mtodo de desenvolvimento de software; A idia era criar um Mtodo Unificado que incorporasse as melhores caractersticas dos mtodos existentes e resolvesse os problemas de cada um dos mtodos; Em 1996, Jacobson se uniu e decidiu-se criar uma linguagem de modelagem unificada.

Histrico

Histrico
UML 2.0

UML 1.4
Aceitao como padro OMG, Nov 1997 Submisso final ao OMG, Set 97

UML 1.1 UML 1.0 UML 0.9

UML

OOSE

Feedback pblico

1a submisso ao OMG, Jan 97 Parceiros UML Web - June 96

Booch

Jacobson

OMT
Rumbaugh

OOPSLA 95

Unified Method 0.8

Outras metodologias Metodologia Booch

OMT

OOSE

Contribuies
Meyer
Before and after conditions

Contribuies

Gamma, et al
Frameworks and patterns,

Booch
Booch method

HP Fusion
Operation descriptions and message numbering

Rumbaugh
OMT

Embley
Singleton classes and high-level view

Jacobson
OOSE

Wirfs-Brock
Responsibilities

Shlaer - Mellor
Object lifecycles

Odell
Classification

UML
O que UML
Linguagem visual para especificao (modelagem) de sistemas orientados a objetos
Fornece representao grfica para os elementos essenciais do paradigma de objetos
Classes, atributos, objetos, troca de mensagens, ...
0..*
Membro-de {subconjunto} Presidente-de

UML
O que UML
De propsito geral
No est presa a uma etapa do desenvolvimento de software
Anlise Projeto Implementao Testes Ciclo de vida em cascata Incremental Processo Unificado ...

No est presa a um processo

0..* 0..*

Telefone Celular

Pessoa

Comit Usurio

Uso programado

No est presa a uma linguagem de programao

UML
UML apia o desenvolvimento incremental
Usurio
habilita *
data

UML
O que UML
De propsito geral
*

Servio Modelos podem evoluir com a incluso de novos detalhes

No est presa a uma linguagem de programao


Usurio
habilita *
data Nome CPF

Usurio
Nome CPF

habilita *
data

Servio Servio Nome


Preo

Servio Servio Nome


Preo suspende(perodo)

Usurio
Nome CPF

habilita *
data

Servio Servio Nome


Preo suspende(perodo)

Programador Possvel Java implementao

public class Usuario { private String nome; private String cpf; } private Vector lnkServico;

UML
O que UML
Padro OMG
Em http://www.omg.org esto disponveis documentos eletrnicos que contm
Sumrio da UML Semntica Guia da Notao Extenses da Linguagem

UML
O que UML
Privilegia a descrio de um sistema segundo trs perspectivas:
Dados (estrutural)
Diagrama de Classes

Operaes (funcional)
Diagrama de Caso de Uso

Eventos (temporal)
Diagramas de Seqncia, Atividades, de Transio de Estados

Ferramentas CASE para UML


Grande variedade de ferramentas com diferentes recursos
Mais conhecidas
Rational Rose
http://www.rational.com

Ferramentas CASE para UML


Grande variedade de ferramentas com diferentes recursos (continuao)
Open Source
Argo UML (Java)
http://argouml.tigris.org

Fujaba (Java)
http://www.fujaba.de

Omondo
http://www.omondo.com Plug-in para o Eclipse

Gratuito (com alguma limitao)


Poseidon (Java)
http://www.gentleware.com

Visual Paradigm
http://www.visual-paradigm.com/

TogetherSoft ControlCenter (Java)


http://www.togethersoft.com

Delphi
http://www.sparxsystems.com.au/

Ferramentas CASE para UML


Observaes:
Algumas ferramentas assumem liberalidades artsticas para representar os diagramas de maneira diferente do previsto na linguagem XMI o padro cada vez mais adotado usado para intercmbio de modelos feitos por diferentes ferramentas

Diagramas da UML
Casos de Uso (OOSE) Diagramas de Classe (OMT, Booch e OOSE) Deployment Diagramas (Booch) Diagramas de Interao
Diagramas de Sequncia (OMT e Booch) Diagramas de Colaborao (Booch )

Diagrama de Casos de Uso

Diagramas de Pacotes (Booch) Diagramas de Transio de Estados (OMT e Booch) Diagramas de Atividade

Um caso de uso (use case) uma interao tpica entre um usurio e um sistema. Um caso de uso captura alguma funo visvel ao usurio e, em especial, busca atingir uma meta do usurio.

Diagramas de Classes

Diagrama de Transio de Estados


Realizar depsito(quantia) / depositar(quantia) Conta criada

disponvel

Conta fechada

Realizar saque (quantia) Realizar saque(quantia) when (saldo > 0) [quantia > saldo] / sacar(quantia) / sacar(quantia) Realizar saque (quantia)

bloqueada
after(30 dias)/aplicarJuros()

[Bezerra, 2002]

Diagrama de Atividades
Chamador

Diagrama de Seqncia
Linha telefnica Chamado

Chamador levanta receptor Sinal de discar comea disca(5) Termina sinal de discar disca(5) disca(1) disca(2)
...

disca(N)) som de campainha Som de compainha pra Telefones interligados Conexo desfeita

telefone toca Atende telefone Som de compainha pra Telefones interligados Pessoa chamada desliga Conexo desfeita

Diagrama de Colaborao

Outros Diagramas

Diagramas de Pacotes

Deployment Diagrams

Observaes
Ela uma linguagem de modelagem porque no apresenta um processo para o desenvolvimento de software; Como a UML apenas uma notao, ela pode ser usada com outras metodologias:
Processo da OMT e notao UML.

Observaes
Em 1999, os mesmos autores da UML lanaram a proposta de um novo mtodo de desenvolvimento de SW chamado Processo Unificado que tenta integrar as 3 metodologias, assim como outras metodologias de OOAD; Uma abordagem similar foi proposta pelo mtodo Fusion (Fuso).

A UML possui diversos mecanismos de extenso que permitem que ela possa ser utilizada em diversos domnios diferentes.

Vantagens
Define um mapeamento da anlise ao projeto e implementao Define uma notao expressiva e consistente
Facilita a comunicao entre as pessoas; Ajuda a apontar inconsistncias e omisses; Suporta a anlise e projeto de sistemas de pequeno e grande porte.

Leituras
Booch, Grady. UML in Action, Communications of the ACM, vol 42, n 10, Oct 1999. Kobryn, Cris.UML 2001: A Standardization Odyssey, Communications of the ACM, vol 42, n 10, Oct 1999.

Potrebbero piacerti anche