Aula 2 2004
1
UML - Linguagem de Modelagem Unificada
3
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
Linguagem de Modelagem Unificada
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
UML
Agenda
Objetivos Conceitos da Orientação a Objetos Histórico da UML Os diagramas da UML – Uso de ferramentas CASE com UML – Diagrama de Casos de Uso – Diagrama de Classes – Diagrama de Seqüência 2
Histórico
Diversas metodologias e métodos surgiram para apoiar OO – Evolução a partir de linguagens C++ e SmallTalk – Anos 80-90: diversidade de autores – Anos 98-2000: unificação em torno de UML
4
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
7
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected] UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
5
Histórico
Exemplos
Booch Schlaer-Mellor
Coad-Yourdon
OMT
Histórico
1994: Object-Oriented
Analysis and Design with Applications
texto sobre conceitos de OO e modelagem de objetos projeto de várias aplicaçõesaplicaçõesexemplo com diferentes linguagens da época base de UML
– 1998: Fundação da Rational
Histórico
Grady Booch – Um dos pioneiros da OO – 1980: ênfase em técnicas de projeto para Ada – 1992-1994: livros ObjectObject-Oriented
Design with Applications
– projeto de programas em C++ e Ada
6
Histórico
Ivar Jacobson – Modelagem OO baseado em Casos de Uso – Objectory
8
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
11
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected] UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
9
Histórico
James Rumbaugh – Object Modeling Technique (OMT) – Desenvolvida na GE – Metodologia baseada em notações pré-existentes (ER, DTE, DFD) – Clara distinção entre as três visões do problema
Histórico
Jacobson
OMT Rumbaugh
James Rumbaugh (cont.)
10
Histórico
UML 2.0
UML 1.4 Aceitação como padrão OMG, Nov 1997
UML 1.1
Submissão final ao OMG, Set ‘97
Feedback público
OOSE
Booch
Histórico
1a submissão ao OMG, Jan ´97
UML 1.0
Parceiros UML
UML 0.9
Web - June ´96
OOPSLA ´95
Unified Method 0.8
Outras metodologias Metodologia Booch
OMT
OOSE
12
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
15
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected] UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
13
Histórico Harel
Meyer
Statecharts
Before and after conditions
Gamma, et al Frameworks and patterns,
HP Fusion
Booch
Operation descriptions and message numbering
Booch method
Embley
Rumbaugh
Singleton classes and high-level view
OMT
Jacobson
Wirfs-Brock
OOSE
Responsibilities
Shlaer - Mellor Object lifecycles
Odell Classification
UML
O que é UML – Linguagem visual para especificação (modelagem) de sistemas orientados a objetos Fornece
representação gráfica para os elementos essenciais do paradigma de objetos – Classes, atributos, objetos, troca de mensagens, ...
0..*
Pessoa
Membro-de
0..*
{subconjunto}
0..*
Presidente-de
Telefone Celular
Comitê
Uso programado
Usuário
Histórico
14
UML
O que é UML
– De propósito geral
Não está presa a uma etapa do desenvolvimento de software – – – –
Análise Projeto Implementação Testes
– – – –
Ciclo de vida em cascata Incremental Processo Unificado ...
Não está presa a um processo
Não está presa a uma linguagem de programação 16
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
19
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected] UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
17
UML
UML apóia o desenvolvimento incremental habilita
Usuário
*
*
Serviço Modelos podem evoluir com a inclusão de novos detalhes
data
Usuário Nome CPF
habilita *
*
Serviço Serviço Nome Preço
data
Usuário Nome CPF
habilita *
* data
Serviço Serviço Nome Preço
suspende(período)
UML
O que é UML – Padrão OMG Em
http://www.omg.org estão disponíveis documentos eletrônicos que contém – – – –
Sumário da UML Semântica Guia da Notação Extensões da Linguagem
UML
O que é UML – De propósito geral Não
está presa a uma linguagem de programação Usuário Nome CPF
* data
Programador Possível Java implementação
Serviço Serviço Nome
habilita *
Preço
suspende(período)
public class Usuario { private String nome; private String cpf; }
private Vector lnkServico; 18
UML
O que é UML – Privilegia a descrição de um sistema segundo três perspectivas: Dados
(estrutural)
– Diagrama de Classes Operações
(funcional)
– Diagrama de Caso de Uso Eventos
(temporal)
– Diagramas de Seqüência, Atividades, de Transição de Estados 20
Grande variedade de ferramentas com diferentes recursos – Mais conhecidas Rational
Rose
– http://www.rational .com http://www.rational.com TogetherSoft
ControlCenter (Java)
– http://www.togethersoft .com http://www.togethersoft.com
21
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
UFPA-2004 -UML (Linguagem de Modelagem Unificada) -
[email protected]
Ferramentas CASE para UML
Ferramentas CASE para UML
Grande variedade de ferramentas com diferentes recursos (continuação) – Open Source Argo
UML (Java)
– http://argouml http://argouml..tigris.org tigris.org Fujaba
(Java)
– http://www.fujaba .de http://www.fujaba.de
– Gratuito Poseidon
(Java)
– http://www.gentleware .com http://www.gentleware.com 22