Você está na página 1de 41

Engenharia de Software

Prática nº 01 – Introdução à UML

© Domingos Filipe de Oliveira


Unified Modeling Language
Introdução
Consequentem
O rápido ente as
O surgimento técnicas
crescimento
de sistemas de utilizadas para
da capacidade
software mais a construção
computacional
complexos de sistemas
das máquinas
resultou na computacionai
resultou na
necessidade s têm evoluído
demanda por
de reavaliação de forma
sistemas de
da forma de impressionante
software cada
desenvolver , notavelmente
vez mais no que tange à
sistemas
complexos modelagem de
sistemas
O que é a UML?

Linguagem de modelagem unificada;


É uma linguagem de modelagem (visual),
não uma linguagem de programação;
Permite a utilização de diagramas
padronizados para especificação e
visualização de um sistema.
Histórico

Tem origem na compilação das “melhores


práticas de engenharia de desenvolvimento
de software” que provaram ter sucesso na
modelagem de sistemas grandes e
complexos.
De onde surgiu?
Da união de três metodologias de
modelagem:
• Método de Booch, de Grady Booch;
• Método OMT (Object Modeling Technique)
de James Rumbaugh;
• Método OOSE (Object Oriented Software
Engineering) de Ivar Jacobson.
Os três amigos.
Fundadores da UML
Grady Booch

OOA (Object Oriented


Analysis) identifica as
classes e objectos, definir
o relacionamento entre
as classes e objectos que
conduzidos a um série de
refinamentos que
aperfeiçoam o modelo de
análise;
Um dos pioneiros da OO.
Ivar Jacobson
Modelagem OO baseado
em casos de uso;
Baseia-se na necessidade
do uso dos chamados
casos de uso, que
representam uma
descrição do cenário que
mostra como o utilizador e
os demais atores
envolvidos interagem com
o sistema.
James Rumbaugh
Metodologia baseada em notações
pré-existentes (ER, DFD);
Sua actividade de análise cria três
modelos:
 Objecto, responsável pela
representação dos objectivos, classes,
hierarquias e relacionamento;
 Dinâmico, representando o
comportamento de objectos e do
próprio sistemas;
 Funcional, que representaria o fluxo
de informação através do sistemas.
Evolução da UML
Definição

É uma linguagem padrão para elaboração da


estrutura de projectos de software;
É adequada a modelagem de sistemas;
É apenas uma linguagem e portanto é
somente uma parte de um método para o
desenvolvimento de software.
Visão geral
Grandes projectos não podem ser modelados de cabeça,
nem mesmo a maioria dos pequenos projectos pode,
excepto, talvez, aqueles extremamente simples;
A actividade de construir modelos é que explica as
características ou comportamentos de um sistema;
A UML pode ser usada com todos os processo durante o
ciclo de desenvolvimento do projecto:
• Modelagem;
• Construção;
• Testes;
• Implementação;
• Manutenção.
O que é modelar?
O que é modelar?

A UML não é um método de desenvolvimento,


ela não diz para você o que fazer primeiro e
em seguida ou como desenhar seu sistema,
mas ela lhe auxilia a visualizar seu desenho e
a comunicação entre objectos.
Visão geral

UML é uma linguagem destinada a:


• Visualizar;
• Especificar;
• Construir;
• Documentar artefactos de software.
Aplicação
Sistemas de informação corporativos;
Serviços bancário e financeiros;
Telecomunicações;
Transportes;
Defesa/espaço aéreo;
Vendas;
Electrónica média;
Científicos;
Serviços distribuídos baseados na Web.
Empresas que usam
Modelo conceitual da UML

Elementos principais:
• Blocos de construção;
• Regras;
• Mecanismos.
Após entender essas ideias, você será capaz
de ler e criar modelos da UML
Blocos de construção da UML
Itens:
Relacionamentos:
 Estruturais; Diagramas:
 Comportamentais
• Dependência;
Casos de uso;
; • Associação; Classes;
 Agrupamentos; • Generalização; Objectos;
 Anotacionais. • Realização. Sequências;
Colaborações;
Actividades;
Comportamentos
Implementação;
Pacotes.
Itens em UML

São blocos de construção básicos orientados


a objectos da UML;
São utilizados para escrever modelos bem
formados;
Os relacionamentos reúnem itens;
Os diagramas agrupam colecções de itens.
Itens estruturais

São substantivos;
São as partes mais estática do modelo;
Representam elementos conceituais ou
físicos;
Exemplos de itens estruturados

Classe Ativa

Classe Componentes
Colaborações

Interface Caso de Uso


Nós
Itens comportamentais

São partes dinâmicas dos modelos;


São verbos de um modelo;
Representam comportamentos no tempo e
no espaço
Exemplos de itens comportamentais

Interacção: comportamento que abrange um


conjunto de mensagens trocadas entre objectos num
contexto para realizar um propósito específico.

Máquina de estados: comportamento especifico


as sequências de estados pelas quais objectos ou
interacções passam durante sua existência em resposta
a eventos.
Itens de agrupamento

São partes organizacionais dos modelos de


UML;
Servem para organizar elementos (itens
estruturais ou comportamentais) em grupos.

PACOTES
Exemplo de itens de agrupamento
Itens anotacionais

São partes explicativas dos modelos;


São comentários, incluídos para descrever,
esclarecer e fazer alguma observação sobre
qualquer elemento do modelo.

NOTAS
NOT
Relacionamentos em UML

São blocos de relacionamento básicos de


construção da UML;
Também são utilizados para escrever
modelos bem formados.
Relacionamento de dependência
Relacionamento de associação

É um relacionamento estrutural que


descreve um conjunto de ligações;
São conexões entre objectos que são
instância das classes;
A agregação é um tipo especial de
associação.
0..1 *
Empregador Funcionário
Relacionamento de generalização

É um relacionamento de
especialização/generalização no qual os
objectos dos elementos especializados (filho)
são substituíveis por objectos do elemento
generalizado (pais).
Relacionamento de realização
É um relacionamento semântico entre
classificadores, em que um classificador especifica
um contrato que outro classificador garante
executar;
São encontrados em dois lugares:
• Entre interfaces e as classes ou componentes que
as realizam;
• Entre casos de uso e as colaborações que os
realizam
Diagramas em UML
Diagramas em UML
Diagramas em UML
Diagramas de casos de uso (casos + atores + relações);
Diagramas de sequência (detalhamento das fases do projecto;
Diagramas de colaboração (troca de mensagens entre
objectos);
Diagramas de classes (classes + responsabilidade com
atributos, relacionamento, métodos, cenários);
Diagramas de estados (ciclos de vida, comportamentos);
Diagrama de actividades (ordenamento dos casos de usos);
Diagramas de componentes (grupo de objectos divididos em
nodos físicos.
Ferramentas CASE
Auxiliam na construção e gestão de diagramas UML:
• Rational Rose;
• MS Visio;
• Power Design;
• Argo UML;
• Jude;
• Poseidon;
• UML Designer;
• Visual Paradign for UML.
Diagramas em UML
Dúvidas, sugestões ou questões
“inovação vem de pessoas que se divertem com seus
trabalhos”
Dr. Demin
Referências

1. Booch, G. Rumbaugh, J. Jacobson, I – UML Guia do usúario. Campus Editora


2º ed, 2006.
2. Sbrocco, José H. – UML 2.3 Teoria e Prática. Erica Editora, 2011.
3. Nunes, M. O’Neil, H – Fundamental de UML. FCA editora 6º ed, 2004.
Exercícios

1. Quais os principais objectivos dos


diagramas UML?
2. Qual é a diferença entre abstracção e
representação?

Você também pode gostar