Академический Документы
Профессиональный Документы
Культура Документы
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.
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
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
OOSE
Feedback pblico
Booch
Jacobson
OMT
Rumbaugh
OOPSLA 95
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 ...
0..* 0..*
Telefone Celular
Pessoa
Comit Usurio
Uso programado
UML
UML apia o desenvolvimento incremental
Usurio
habilita *
data
UML
O que UML
De propsito geral
*
Usurio
Nome CPF
habilita *
data
Usurio
Nome CPF
habilita *
data
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
Fujaba (Java)
http://www.fujaba.de
Omondo
http://www.omondo.com Plug-in para o Eclipse
Visual Paradigm
http://www.visual-paradigm.com/
Delphi
http://www.sparxsystems.com.au/
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 )
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
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.