ENGENHARIA DE
SOFTWARE
UML
Notação UML



A UML (Unifield Modeling Language) é uma linguagem
padrão para a elaboração da estrutura de projetos de
software, que surgiu em meados da década de 90 visando
unificar as diversas notações de modelagem orientadas a
objetos, como por exemplo: OMT (Object Modeling
Technique – Rumbaugh), OOSE (Object-Oriented Software
Engineering – Jacobson), Booch, entre outras.
Cada uma dessas notações citadas possui suas qualidades e
deficiências, o OMT é forte em análise e mais fraco em
projeto, Booch é forte em projeto e mais fraco em análise,
Jacobson é forte em comportamento de análise e mais
fraco em outras áreas.
Com isso, a UML é uma notação unificada e padrão de
todas as notações mais utilizadas na modelagem de
sistemas.
Notação UML


Pode-se definir UML como uma linguagem de
modelagem usada para especificar, visualizar,
construir e documentar sistemas orientados a
objetos.
Durante o curso o UML será utilizado como notação
principal para a metodologia orientada a objetos
em conjunto com a ferramenta Rational Rose.
O que é a UML ?


Linguagem visual para a especificação de
sistemas orientados a objetos;
Visa:
 Visualizar
 Especificar
 Construir
 Documentar

É independente de:
 Fases
de desenvolvimento de software
 Processo de software utilizado
 Linguagens de programação
Objetivos da UML




Modelar sistemas utilizando conceitos de
Orientação a Objetos;
Estabelecer uma clara ligação entre os modelos
conceituais e de implementação;
Explicitar os pontos notáveis em sistemas complexos
ou de missão crítica;
Definir uma linguagem de modelagem passível de
uso por pessoas e máquinas.
Aspectos da UML

Funcional
 Casos

de Uso
Estático (Estrutural)
 Diagrama

de Classes
Dinâmico (Comportamental)
 Diagrama
de Seqüência, Atividades e Estados
Visão Geral dos Modelos da UML




Diagrama de Casos de Uso: descreve as funcionalidades do sistema e os
usuários e entidades externas, organizando o comportamento do sistema.
Além do diagrama há toda a descrição de atores e casos de uso.
Diagrama de Classes: descreve a estrutura de solução do sistema, através
de um conjunto de classes (compostas de atributos e operações), e
relacionamentos. Geralmente é dividido em diagrama de classes de
análise (domínio) e diagrama de classes de projeto (implementação).
Diagrama de Objetos: descreve um conjunto de objetos e seus
relacionamentos. Esse diagrama ilustra as estrutura de dados e instâncias
do diagrama de classes.
Diagrama de Sequência: faz parte do conjunto de diagramas de
interação, descreve o comportamento do sistema, enfatizando a
comunicação dos objetos através da passagem de mensagem entre os
mesmos;
Visão Geral dos Modelos da UML





Diagrama de Colaboração ou Comunicação (na UML
2.0): faz parte do conjunto de diagramas de interação,
descreve o comportamento do sistema, enfatiza a
organização estrutural dos objetos que enviam e recebem
mensagens;
Diagrama de Atividades: descreve o comportamento do
sistema, através do fluxo de controle de funções.
Diagrama de Estados: descreve o comportamento do
sistema, enfatizando os estados que o objeto pode possuir.
Diagrama de Componentes: descreve os componentes que
irão ser criados no sistema e a comunicação entre eles;
Diagrama de Distribuição: descreve a arquitetura física e
os componentes utilizados no sistema.
Visão Geral dos Modelos da UML




Diagrama de Pacotes (na UML 2.0): fornece um mecanismo de
organização para os elementos da UML. O pacote é utilizado para
agrupar elementos da modelagem.
Diagrama de Interação – Visão Geral (na UML 2.0): faz parte do
conjunto de diagrama de interação, apresenta a visão geral, de
congregação, dos outros diagramas de interação (seqüência,
comunicação e tempo).
Diagrama de Tempo (na UML 2.0): faz parte do conjunto de
diagrama de interação, descreve o comportamento de um ou mais
objetos em dado período de tempo, mostrando suas alterações de
estados.
Diagrama de Composição de Estrutura (na UML 2.0): descreve a
composição de diversos elementos de modelagem, como: interfaces,
objetos ou classes, mas que não perdem suas características em
combinação com outras.
Visões Arquiteturais
Visão de Casos de Uso




Descreve as funcionalidades do sistema – o quê;
Facilita o entendimento dos usuários;
Base para as demais visões;
Representada pelos diagramas de casos de uso e
diagrama de atividades (eventual).
Visão Lógica



Descreve como as funcionalidades serão fornecidas;
Define o comportamento do sistema;
Representada pelos diagramas de classes,
seqüência, estados e atividades.
Visão de Processo



Descreve a divisão do sistema em processos;
Centrado na visão não funcional do sistema, como
desempenho, segurança e concorrência;
Representada pelos diagramas seqüência, estados
e atividades.
Visão de Implementação



Descreve os módulos de implementação, suas
estruturas e dependências;
Utilizada pelos desenvolvedores;
Representada pelo diagrama de componentes.
Visão de Distribuição



Exibe a distribuição física do sistema através de
nós e suas conexões;
Mapeia quais programas e objetos são executados
em cada computador;
Representada pelo diagrama de distribuição.
Algumas Ferramentas:






Rational Modeler / Rational Rose
OMondo
ArgoUML
Astah
Enterprise Architect
StarUML
Bibliografia Complementar




UML Essencial
Martin Fowler e Kendall Scott
Editora Bookman
Capítulo 1




UML Guia do Usuário
Rumbaugh, J., Booch, G., Jacobson, I.;
Editora Campus, 2006;





Java Como Programar 4ª Edição
H. M. Deitel, P.J. Deitel
Editora Bookman
Capítulo 2 – Estudo de Caso – Item 2.9
Agradecimentos


Copyright © 2013 - 2014 Profa. Ana Paula
Gonçalves Serra
Todos direitos reservados. Reprodução ou
divulgação total ou parcial deste documento é
expressamente proibido sem o consentimento
formal, por escrito, da Profa. Ana Paula
Gonçalves Serra.
Download

Apresentação UML