Você está na página 1de 36

Tópico UML

SI 305
Profa. Dra. Ana Estela Antunes da Silva

Aula baseada em:


• Guedes, Gilleanes T. A.. UML 2 - Uma Abordagem Prática .
Novatec Editora.
• Engholm, Hélio. Análise e Design Orientados a Objetos (Locais
do Kindle 368-374). Novatec Editora
2 Origem

Booch Rumbaugh

Jacobson
3 Origem

 A UML surgiu da união de três métodos orientados a objeto:

 o método de Booch;
 o método OMT (Object Modeling Technique) de Jacobson;
 o método OOSE (Object-Oriented Software Engineering) de
Rumbaugh.

 Até meados da década de 1990, esses eram os métodos


orientados a objeto mais populares entre os profissionais da área
de desenvolvimento de software.

 A união desses métodos contou com o amplo apoio da Rational


Software, que a incentivou e financiou.
4 Detalhes
 Três amigos: A linguagem unificada de
modelagem (Unified Modeling Language – UML)
foi criada por Jim Rumbaugh, Grady Booch e Ivar
Jacobson;

 Motivo: modelagem orientada a objetos que


pudesse ser adotada como um novo padrão de
linguagem de modelagem;

 OMG: Foi aprovada como um padrão pela OMG


(Object Management Group) em 1997 e tem sido
utilizada desde então em projetos de
desenvolvimento orientados a objetos;
5 Detalhes
Formada por diagramas: A UML fornece
diagramas de modelagem que podem
ser utilizados nos processos do ciclo de
desenvolvimento de software,
documentando e especificando o
sistema;

Utilização: É uma linguagem utilizada


para documentar, especificar e construir
produtos de software.
6 Detalhes
 Centralização de diagramas
 São utilizadas ferramentas CASE

 CASE: Computer Aided Software Engineering

 https://www.profissionaisti.com.br/7-ferramentas-
online-gratuitas-para-criar-diagramas-uml/
7 Detalhes

A documentação oficial da UML


pode ser consultada no site da
OMG em www.omg.org ou em
www.uml.org.
8 Por quê modelar um
software?
Muitos “profissionais” podem afirmar que
conseguem determinar todas as
necessidades de um sistema de
informação de cabeça e que sempre
trabalharam assim.

Qual a real necessidade de se projetar


uma casa?

Um pedreiro experiente não é capaz de


construí-la sem um projeto?
9 Por quê modelar um
software?
 Isso pode ser verdade, mas a questão é
muito mais ampla, envolvendo fatores
complexos, como:
 elicitação e análise de requisitos,
 projeto,
 prazos,
custos,
manutenção,
reusabilidade, entre outros.

 Pequena casa x prédio de vários andares.


10 Modelos

 O que é um modelo?

 Um modelo é uma simplificação (representação) da


realidade.
11 Modelos

 Um modelo de software captura uma visão de um sistema


físico, é uma abstração do sistema com um certo propósito,
como descrever aspectos estruturais ou comportamentais
do software.

 Esse propósito determina o que deve ser incluído no modelo


e o que é considerado irrelevante.

 Assim, um modelo descreve completamente aqueles


aspectos do sistema físico relevantes ao propósito do
modelo, no nível apropriado de detalhe.
12 Modelos

 O que modelamos na UML?

 Dimensões: dados, funções, estrutura,


comportamento, estado.

 Cada diagrama reflete uma ou mais dimensões nas


quais o software se apoia.
13 Por quê modelar?

 Compreender melhor o sistema que estamos


desenvolvendo
 Visualizar o sistema
 Documentar decisões tomadas
 Especificar as dimensões de um sistema
 Subdividir o sistema em problemas menores
14 Por quê tantos modelos?

 A utilização de diversos modelos permite que falhas


sejam descobertas, diminuindo a possibilidade da
ocorrência de erros futuros.

 Cada modelo abstrai uma dimensão do software.


15 Classificação dos Diagramas

De acordo com a classificação abaixo os diagramas da


UML se enquadram em um dos tipos:

 Estrutura
 Comportamento
 Interação
16 Classificação dos Diagramas
Estrutura

 Diagramas de Estrutura: Definem as estruturas de


classes e objetos.

 Dimensão modelada: estrutura (atributos),


comportamento(operações) e relacionamentos entre
objetos.
17 Classificação dos Diagramas
Estrutura

 Diagramas de classe
 São a base da UML

 Descrevem a estrutura estática do sistema


 Classe: estrutura e comportamento
 Relacionamentos entre classes

 Todos os outros diagramas têm algum impacto, de


alguma forma, no diagrama de classes.
18 Exemplo
19 Classificação dos Diagramas
Estrutura

 Diagrama de Componentes: Revela a arquitetura da


implementação física.

 Um componente pode representar tanto um


componente lógico (um componente de negócio ou
de processo) quanto um componente físico, como
arquivos contendo código-fonte, arquivos de ajuda
(help), bibliotecas, arquivos executáveis etc.
20 Exemplo Diagrama de
Componentes
21 Classificação dos Diagramas
Estrutura
 Diagrama de Implantação: apresenta um mapeamento
entre os componentes de software e o hardware
utilizado pelo sistema.

 O diagrama de implantação determina as necessidades


de hardware do sistema, como:
 servidores, estações, topologias e protocolos
de comunicação, ou seja, todo o aparato
físico sobre o qual o sistema deverá ser
executado.

 Esse diagrama permite demonstrar também como se


dará a distribuição dos módulos do sistema, em situações
em que estes forem executados em mais de um servidor.
22 Exemplo Diagrama de
Implantação
23 Classificação dos Diagramas
Comportamento

 Diagrama de Comportamento: Detalham o


comportamento do sistema em termos de
funcionalidades, estados e atividades (geralmente
usados para Elicitação de Requisitos)

 Dimensões modeladas: funções e estados.


24 Classificação dos Diagramas
Comportamento

 Diagrama de Caso de Uso

 Descreve a visão da periferia do sistema e dos


requisitos necessários ao sistema, identificando as
funcionalidades do software e os atores que poderão
utilizá-las, não se preocupando em detalhar nada
além disso.

 Casos de uso são serviços ou funções fornecidas pelo


sistema aos seus usuários
25 Exemplo
26 Classificação dos Diagramas
Comportamento

 Diagrama de Estados

 Descrevem o comportamento dinâmico do sistema


em resposta a estímulos externos

 São especialmente úteis para modelar objetos


reativos cujos estados são disparados por eventos
específicos
27 Exemplo
28 Classificação dos Diagramas
Comportamento

 Diagrama de Atividades

 Representam computação procedural, que corresponde


aos passos necessários para representar:
 Uma operação (método) de uma classe;
 A modelagem organizacional para engenharia de
processos de negócios e workflow (fluxo de trabalho), ou
seja, definição das etapas necessárias para que um
processo seja executado;
 A modelagem de sistemas de informação para especificar
processos no nível de sistema;
 Um cenário de um caso de uso.
29 Exemplo de diagrama de
atividades
30 Classificação dos Diagramas
Interação

 Diagramas de Interação: mostram a comunicação


entre objetos do sistema, por meio da troca de
mensagens.

 Dimensões modeladas: objetos, troca de mensagens


31 Classificação dos Diagramas
Interação

 Diagrama de Sequência: Mostra interações de


objetos das classes ordenados numa sequência de
tempo. Mostra as mensagens que um objeto envia a
outro objeto numa ordenação temporal.
32 Exemplo diagrama de
sequência
33 Classificação dos Diagramas
(outra)

 Estáticos
 Dinâmicos
34 Outra Classificação

 Estáticos (azuis)
 São diagramas que modelam a parte estática do
sistema:
 funcionalidades,
 relacionamentos entre classes,
 relacionamento entre atores e funcionalidades etc.

 Dinâmicos (rosas)
 São diagramas que mostram interação entre objetos do
sistema:
 por troca de mensagem,
 pela mudança de estado de um atributo,
 pela existência de um fluxo de controle etc.
35 Outra Classificação
 Estáticos (rosas)
 Dinâmicos (azuis)

Não é possív el exibir esta imagem.

D ia g r a m a s
S ta te
D iaDgSia
r atamteas m a s
U se C ase D ia g gr ar m s
U gs era Cmass e d e C la s s e s S ta te
D ia
U se C ase DDiaiag gr ar amms a s D iaDgSia
r atamtes
U gs er aCmass e
D Dia de C asos de U so D ia g gr ar amms a s
Diaiaggrraamm ass d e d e O b je to s
S e q ü ê n c ia

S c e n a r io S ta te
D DiaSia
gc reanma rsio D iaDgSia
r atamtes
D iaggrra a mm ass d e M o d e lo s D ia g gr ar amms a s
C o la b o r a ç ã o d e C o m p o n e n te s

S c e n a r io Com ponent
D CiaD ia
r apg
morsnaem
n ta s
D iaSDgcia
reanma rsio
ogm
D ia g gr ar amms a s d e DDi aisg ra
trmibsu iç ã o
d e E s ta d o (D e p lo y m e n t )
D ia g r a m a s d e
A tiv id a d e
14
36 Diagramas da UML nesta
disciplina
 Os diagramas da UML que serão abordados nesta
disciplina serão:

 Caso de Uso
 Classes
 Sequência

 Mais: diagrama de robustez

Você também pode gostar