UML
- Motivação -
Projeto de Sistemas de Software
O que é um modelo?
• Construímos modelos para compreender melhor o sistema que
estamos desenvolvendo.
• Um modelo é uma simplificação da realidade.
© LES/PUC-Rio
O que é um modelo?
© LES/PUC-Rio
O que é um modelo?
© LES/PUC-Rio
O que é um modelo?
© LES/PUC-Rio
Por que modelar software?
• Ajuda a ter uma visão geral do sistema
• Permite especificar a estrutura e o comportamento do sistema
• Proporciona um guia para a construção do sistema
• Documenta as decisões tomadas
© LES/PUC-Rio
O que é a UML?
• Unified Modeling Language (UML) é...
... uma linguagem gráfica para visualizar, especificar,
construir e documentar os artefatos de um sistema de
software.
... resultado da unificação das notações utilizadas nos métodos
Booch, OMT (Object Modeling Technique) e OOSE (ObjectOriented Software Engineering).
... adotada por grande parte da indústria de software e por
fornecedores de ferramentas CASE como linguagem padrão de
modelagem.
… utilizada com qualquer processo de desenvolvimento já que é
independente dele.
© LES/PUC-Rio
A UML é uma Linguagem
• Uma linguagem fornece um vocabulário e as regras para a
combinação de ”palavras” desse vocabulário, com o objetivo de
comunicar algo.
• Uma linguagem de modelagem é uma linguagem cujo
vocabulário e regras têm seu foco voltado para a representação
conceitual e física de um sistema.
• O vocabulário e as regras de uma linguagem de modelagem
indicam como criar e ler modelos bem formados, mas não
apontam quais modelos devem ser criados e nem em que
seqüência.
• Facilita a comunicação entre membros da equipe de
desenvolvimento.
© LES/PUC-Rio
A UML é uma Linguagem para...
...visualização,
especificação,
construção e
documentação.
http://www.uml.org/
http://www.omg.org/
© LES/PUC-Rio
A UML é uma Linguagem para Visualização
• No processo de desenvolvimento de sistemas de software, é quase
impossível a visualização de toda a estrutura de um sistema
sem o uso de modelos que a represente.
• A UML fornece os símbolos gráficos para a representação de
artefatos de software.
• Por trás de cada símbolo empregado na notação da UML, existe
uma sintaxe e uma semântica bem-definidas.
• Dessa maneira, um desenvolvedor poderá usar a UML para
escrever seu modelo, diminuindo a ambigüidade em sua
interpretação.
© LES/PUC-Rio
A UML é uma Linguagem para Especificação
• No presente contexto, especificar significa construir modelos
precisos, completos e sem ambigüidades.
• A UML atende a todas as decisões importantes em termos de
análise, projeto e implementação, que devem ser tomadas
para o desenvolvimento e implantação de sistemas complexos de
software.
© LES/PUC-Rio
A UML é uma Linguagem para Construção
• Os modelos de UML podem ser diretamente ”traduzidos” para
várias linguagens de programação.
– Isso significa que é possível mapear os modelos da UML para
linguagens de programação tais como, Java, C++ e Visual
Basic.
– Esse mapeamento permite a realização de uma engenharia
de produção: geração de código a partir de um modelo em
UML.
– O processo inverso, a engenharia reversa, também é
possível, com a reconstrução de um modelo a partir de sua
implementação.
© LES/PUC-Rio
A UML é uma Linguagem para Documentação
• Cada modelo criado é um artefato do software
…
Diagrama de Casos de Uso
Diagrama de Classes
blogSystem
Criar Blog
Criar Comentario
<<include>>
Usuario
<<include>>
-dtCriacao:Date
-titulo:String
-dono:UsuarioBlog
-conteudos :Vector
Ler Nota
1
dono
U s u a rio B l o g
Ler Comentario
<<include>>
-email:String
0..*
usuario
usa
1
+notificarEx clus ao:void
Remover Comentario
Remover Conteudo
1
…
+criarNota:void
+ex ibirConteudo:void
+comentar:void
+lerComentarios:Vector
+removerC onteudo:void
+lerNotas :Vector
+Blog
: SIM
autor
: AnalisadorMatricula
0..*
Remover Nota
C o n te u d o
0..*
Dono do blog
Diagrama de Seqüência
B lo g
0..*
Ler Conteudo
Criar Nota
-dtCriacao:Date
-texto:String
-autor:Us uarioBlog
1: submeterFormulario(f)
+Conteudo
+ex ibirConteudo:void
N o ta
-comentarios:Vector
-attribute1:int
+comentar:void
+lerComentarios:Vector
+finaliz e:void
© LES/PUC-Rio
C o m e n ta r io
0..*
+finaliz e:void
2: adicionar(a,d )
Uma linguagem de diagramas
Diagramas de Classe
Diagramas de Objetos
Diagramas de Casos de Uso
Modelos
Diagramas de Seqüência
Diagramas de Componentes
Diagrama de Deployment
Diagramas de Colaboração
Ponto de Vista Estático
Diagramas de Estado
Diagramas de Atividade
Ponto de Vista Dinâmico
© LES/PUC-Rio
UML 2.2 tem 14 tipos de diagramas
© LES/PUC-Rio
Uma colagem de diagramas UML
© LES/PUC-Rio
Vantagens da Utilização da UML
• Padrão aberto e não proprietário.
• Extensível.
• Independência do processo de desenvolvimento.
• Aplicável a todas as fases do ciclo de desenvolvimento.
• Independência de linguagem de implementação.
© LES/PUC-Rio
História dos métodos orientado a objetos e
notações
© LES/PUC-Rio
Breve História da UML
2004 - 2005
UML 2.0
2003
UML 1.5
2001
UML 1.4
1999
UML 1.3
UML 1.1
1997
UML 1.0
UML 0.9
1996
Unified Method
1995
1994
Outros
métodos
Método
de Booch
0.8
OMT
(Rumbaugh)
© LES/PUC-Rio
OOSE
(Jacobson)
Download

Aula01-uml_motivacao-20102 - (LES) da PUC-Rio