Escolar Documentos
Profissional Documentos
Cultura Documentos
1 UML Introducao
1 UML Introducao
Atualização
Tecnológica Posição no mercado
Ferramentas Comercialização
Globalização
Uma tecnologia madura tem ...
• Custos bem definidos,
• Prazos estimados com precisão,
• Intensa padronização,
• Repetibilidade e
• Previsibilidade.
Dados
Novo enfoque – Modelagem por Objetos
• Vê o mundo como uma coletânea de objetos
que interagem entre si, apresentam
características próprias que são representadas
pelos seus atributos (DADOS) e operações
(PROCESSOS).
Classe
Processos
Dados
Enfoques : Tradicional X Novo
Programa Classe
Processos Atributos
Dados
Processos
Qualidade Modelo Objeto
• Objetos indicam maturidade
– Padronização, Re-aproveitamento
– Projetar antes de construir
Criar
Componentes
Componentes Reutilizáveis
(objetos)
Integrar os
Componentes
Conceitos ligados a Objetos
• Classe
• Atributos
• Processos
• Herança
• Polimorfismo
• Encapsulamento (Objetos)
• Mensagem
Classe
• Classe é a representação de um conjunto de
coisas reais ou abstratas que são
reconhecidas como sendo do mesmo tipo
por compartilhar as mesmas características
de atributos, operações, relações e
semântica.
Representação Gráfica de Classe
+Nome:Char
+Atributos:Tipo=Valor Inicial +DataNascimento:long
MostrarNome():Char
+Processos(Parâmetro):Tipo Retornado CalcularIdade():int
:
Classe (Tipo)
• Classe é uma descrição de tipo que
relaciona um número de objetos, isto é, um
modelo que define a estrutura e capacidades
de uma instância de objeto.
Exemplo de Classe como tipo ...
VEICULOS RODADEVEICULO
+Modelo:Char +ModeloDaRoda:Char
+Cor:Char +MedidaDoAro:int
+QuantidadeDeRodas:int +MaterialDeFabricação:Char
+Rodas:RODADEVEICULO +Cor:Char
+Ignição()
+MostraModelo()
+Acelerar()
+MostraCor()
+QualModelo()
+MostraMedidaDoAro()
+QualCor()
+QualRoda(Rodas):Char
Atributos
• Atributo é a menor unidade que em si possui
significância própria e inter-relacionada com o
conceito lógico da classe à qual pertence.
• Apresenta um princípio de atomicidade, ou seja,
do armazenamento de um valor simples em célula.
• Visibilidade
– (+) Visibilidade Pública (valor default)
– (#) Visibilidade Protegida
– (-) Visibilidade Privada
• Nome da Processo
– É a identificação do Processo.
Representando um Processo
Visibilidade NomeDoProcesso (Parâmetro) : ExpressãoDeTipoDeRetorno
• Parâmetro
– É uma lista de valores separados por vírgula que a
operação irá usar para o processamento.
• Expressão de Tipo de Retorno
– É uma especificação dependente da linguagem de
programação sobre o tipo de implementação do
valor retornado pela operação. Se o tipo de retorno
é omitido a operação não devolve um valor.
Herança
• É a capacidade de um novo objeto tomar
atributos e operações de um objeto
existente, permitindo criar classes
complexas sem repetir código.
• A nova classe simplesmente herda seu nível
base de características de um ante-passado
na hierarquia de classe.
Herança
Automóvel Generalização
Automóvel
Esportivo
Porsche Especificação
Polimorfismo
• Palavra originária do grego “muitas formas“.
APLICAÇÃO FINANCEIRA
+CalcularSaldo()
OBJETO
Produto Final
Pedido Matéria Prima Processo Produtivo
Usuário
Análise Projeto
Requisitos OOA OOD
Do
Problema Modelo do
Sistema
Shlaer-Mellor
C/C++ Booch
Rumbaugh
Wirfs-Brock
Smalltalk Coad Yourdon
e
4GL Martin-Odel
Unix Windows
Métodos Semelhantes ...
• Métodos
– OOA/AAD (Coad-Yourdon)
– OMT (Rumbaugh)
– OOSE – Jacobson
– Booch
– Shlaer-Mellor
– Martin-Odell
• Critérios
– Conjunto de Diagramas utilizados
– Notação de cada diagrama
OMT - Rumbaugh
Empresa
Nome:Integer
CGC:Integer
Endereco:Integer
Comprar( )
Produzir( ) Produtos
FecharNegocio( ) Codigo:Integer
Descricao:Integer
Preco:Integer
Estoque:Integer
VerificarEstoque( )
Vende Novo( )
Retirar( )
OOA/OOD - Coad-Yourdon
Empresa
Nome:Integer
CGC:Integer
Endereco:Integer
Comprar( )
Produzir( ) Produtos
FecharNegocio( ) Codigo:Integer
Descricao:Integer
Preco:Integer
m Estoque:Integer
1 VerificarEstoque( )
Vende Novo( )
Retirar( )
Booch
Empresa
Nome:Integer
CGC:Integer
Endereco:Integer
Comprar( )
Produzir( ) Produtos
FecharNegocio( ) Codigo:Integer
Descricao:Integer
1 Preco:Integer
Estoque:Integer
VerificarEstoque( )
Vende
1..n Novo( )
Retirar( )
Shlaer-Mellor
Empresa
Nome:Integer
CGC:Integer
Endereco:Integer
Comprar( )
Produzir( ) Produtos
FecharNegocio( ) Codigo:Integer
Descricao:Integer
Preco:Integer
Estoque:Integer
VerificarEstoque( )
Vende Novo( )
Retirar( )
Martin-Odell
Empresa
Nome:Integer
CGC:Integer
Endereco:Integer
Comprar( )
Produzir( ) Produtos
FecharNegocio( ) Codigo:Integer
Descricao:Integer
Preco:Integer
Estoque:Integer
VerificarEstoque( )
Vende Novo( )
Retirar( )
UML – Unified Modeling Language
Empresa
-Nome:Integer
-CGC:Integer
-Endereco:Integer
+Comprar( )
+Produzir( ) Produtos
+FecharNegocio( ) -Codigo:Integer
-Descricao:Integer
1 -Preco:Integer
-Estoque:Integer
+VerificarEstoque( )
Vende +Novo( )
+Retirar( )
Metodologias de Objetos Dominantes (1993)
Aplicações técnicas Sistemas de Informação
Shlaer-Mellor
C/C++ Booch
Rumbaugh
Smalltalk
e
UML Wirfs-Brock
Coad Yourdon
4GL Martin-Odel
Unix Windows
Evolução da UML
Feed Back Público
Set/97 UML 1.1 Industrialização
Booch/93 OMT-2
Outros
Métodos Booch/91 OMT-1 OOSE Fragmentação
Histórico da UML
• Tentativa de unificação da notação
• Todos usavam os mesmos conceitos
• Busca do melhor em cada método
• Padronização da representação
• A UML 1.0 é publicada em 13/01/97
http://www.rational.com
• Tradução para o Português 03/11/97
http://usuarios.dialdata.com.br/deboni
UML (The Unified Modeling Language)
• Introduzida em 1997, a Unified Modeling
Language (UML) rapidamente se tornou
aceita pelo mercado de software como
uma linguagem gráfica padrão, destinada
à especificação, à construção, à
visualização e à documentação de
sistemas complexos de software.
UML (The Unified Modeling Language)
• A UML oferece a qualquer pessoa envolvida na
produção, instalação e manutenção de software
uma notação padronizada para expressar o
projeto de um sistema. Abrange elementos
conceituais como processos comerciais e
funções de sistema, além de elementos
concretos, como classes de linguagens de
programação, esquemas de bancos de dados e
componentes de software reutilizáveis.
UML (The Unified Modeling Language)
• A UML é uma linguagem de modelagem
de objetos.
Documentação Comportamento
externo
Arquitetura Estrutura
De De
Implementação Suporte
Comportamento
interno
Comportamento Externo
• Descrição de cenários de integração entre
elementos externos e o sistema :
Ator
Estrutura de Suporte
• Estrutura das partes que formam o sistema e
suas relações internas
– Diagramas de Classes
– Diagramas de Pacotes
Diagrama de Classes
Associação
Pedido Cliente
-CodigoDoCliente:Integer
-LimiteDeCredito:Integer
+IncluirPedido( ) 1 1 Classe
+AtenderPedido( )
1
Agregação
Multiplicidade Atributos
Pedido, item
-Quantidade:Integer
+IncuirItemPedido( )
+CalcularTotalPedido( )
Operações
Diagrama de Pacotes
Pessoa
Parte
Indivíduo Organização
Comportamento Dinâmico
• Resposta aos estímulos externos, e a
comunicação entre as partes internas do
sistema e das classes
– Diagramas de Estados (dentro de uma classe)
– Diagramas de Seqüência (entre classes)
– Diagramas de Atividade (entre classes)
– Diagramas de Colaboração (entre classes)
Diagrama de Estados
Pedido enviado Alteração de pedido Cancelamento de
solicitada Pedido solicitado
[ condição 2 ]
Atividade 3 Atividade i
[ condição de sincronização ]
Atividade n
Diagrama de Colaboração
3 : operação (lista de parâmetros)
1 : evento
2 : operação
Objeto 1:nome
Objeto 2
Da classe
– Diagramas de Componentes
– Diagramas de Implantação
Diagrama de Componentes
Programas
Sistema Registro.EXE
Cobrança.EXE De
Cobrança
Bibliotecas
Curso.DLL Pessoa.DLL
Curso Usuário
Classes
Curso.CLS Aluno.CLS Professor.CLS
Diagrama de Implantação
Entrada de
Pedido 1
PC * FAX
Recebimento 1
PC 1 Servidor
Compra Impressora*
PC 1
Documentação
• Notação coerente em todo modelo
• Relacionamento entre diagramas
• Glossário de termos padronizados
Comportamento
Interno