Você está na página 1de 45

Capacitação em UML - Fundamental

Linguagem de Modelagem
Unificada - UML

Página 1
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Sumário
Capítulo I ......................................................................................................................... 3
1.1 Orientação a Objetos .............................................................................................. 3
1.2 Classificação, Abstração e Instanciação. ................................................................ 4
1.3 Classes de Objetos ........................................................................................................ 5
1.4 Atributos ou Propriedades ............................................................................................ 5
1.5 Métodos ou Comportamentos ....................................................................................... 6
1.6 Visibilidade................................................................................................................... 7
1.7 Herança ......................................................................................................................... 8
1.8 Herança Múltipla .......................................................................................................... 9
1. 9 Polimorfismo ............................................................................................................ 10
1.10 Encapsulamento ........................................................................................................ 11
Capítulo II ...................................................................................................................... 12
2.1 Introdução a UML ...................................................................................................... 12
2.2 Breve Histórico da UML ............................................................................................ 13
2.3 Padronização OMG .................................................................................................... 15
2.4 Diagramas da UML .................................................................................................... 15
Capítulo III .................................................................................................................... 29
3.1 Diagrama de Casos de Uso ......................................................................................... 29
3.2 Atores ......................................................................................................................... 29
3.2 Casos de Uso .............................................................................................................. 30
3.2.1 Documentação de Casos de Uso .............................................................................. 31
3.3 Associações ................................................................................................................ 32
3.4 Especialização/Generalização .................................................................................... 33
3.5 Inclusão....................................................................................................................... 34
3.6 Extensão ..................................................................................................................... 35
3.7 Características Gerais da UML .................................................................................. 36
3.7.1 Notas ........................................................................................................................ 36
3.7.2 Estereótipos ............................................................................................................. 37
Capítulo IV .................................................................................................................... 39
4.1 Diagrama de Classes ................................................................................................... 39
4.1.1 Classes, Atributos e Métodos .................................................................................. 39
4.1.2 Relacionamentos ...................................................................................................... 40
Capítulo V ..................................................................................................................... 43
5.1 Diagrama de Seqüência .............................................................................................. 43
5.1.1 Atores ...................................................................................................................... 43
5.1.2 Objetos ..................................................................................................................... 43
5.1.3 Linha vida ................................................................................................................ 44
5.1.4 Foco de controle ou ativação ................................................................................... 44
5.1.5 Destruição de objetos .............................................................................................. 44

Página 2
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Capítulo I

1.1 Orientação a Objetos

A UML está totalmente ligado ao paradigma de orientação a objetos,


portanto para compreender bem a aplicabilidade dos modelos da UML devemos
compreender corretamente os conceitos de orientação a objetos.

Para muito profissionais, o conceito do paradigma de orientação a objetos,


torna-se algo bastante complexo, no entanto, esse conceito é apenas diferente do
enfoque procedural ao qual estamos acostumados. Na realidade, esses conceitos
para nós seres humanos, esta presente em nossas vidas desde os primeiros dias
de vida, onde, cada um aprende e pensar de uma maneira orientada a objetos,
representando seu conhecimento por meio de abstrações e classificando tipos de
coisas.

Um objeto, segundo Jacobson [1992], é caracterizado por um conjunto de


operações e um estado que armazena os efeitos das operações que o objeto é
capaz de realizar. Assim os dados armazenados no estado do objeto servem para
armazenar o efeito das funções, criando-se o vínculo desejado entre as operações
e os dados.

Um objeto é uma entidade do mundo real que tem uma identidade. Objetos
podem representar entidades concretas (um arquivo no meu computador, uma
bicicleta) ou entidades conceituais (uma estratégia de jogo, uma política de
escalonamento em um sistema operacional). Cada objeto ter sua identidade
significa que dois objetos são distintos mesmo que eles apresentem exatamente
as mesmas características.

Página 3
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

1.2 Classificação, Abstração e Instanciação.

Nossa maneira e nosso modo de aprender algo são simplesmente pelo


esforço de abstração, por exemplo, os carros e motos apresentam diferentes
formatos, cores e estilos. Uma criança, no início de seu aprendizado, fica certo
confuso ao descobrir que um objeto vermelho e o objeto verde possuem ambos a
mesma classificação: Carro. A partir desse momento, a criança precisa abstrair o
conceito de carro para chegar a conclusão de que carro é um termo geral que se
refere a muitos objetos, no entanto cada um dos objetos-carro possui
características semelhantes entre si, por exemplo, todos possuem cor, rodas e
luzes, etc. Esses conceitos referenciam a classificação e abstração de objetos,
aprendemos a classificar objetos, praticamente tudo, classificamos em grupos de
objetos com características iguais, sendo que cada grupo de objetos é equivalente
a uma classe. Sempre que precisamos compreender um conceito novo, criamos
uma nova classe para esse conceito e determinamos que todo o objeto com as
características desta classe é um exemplo, uma instância dela. Dessa forma,
instanciação constitui-se simplesmente em criar um exemplo de um tipo, um
grupo, uma classe.

Quando instanciamos um objeto de uma classe, estamos criando um novo


item de conjunto representado por esta classe, com as mesmas características e
comportamentos de todos os outros objetos já instanciados.

Página 4
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

1.3 Classes de Objetos

Em orientação a objeto, uma classe abstrai um conjunto de objetos com


características similares. Uma classe define o comportamento de seus objetos
através de métodos e os estados possíveis destes objetos através de atributos.
Em outros termos, uma classe descreve os serviços providos por seus objetos e
quais informações eles podem armazenar [Wikipédia, a enciclopédia livre].

Uma classe é representada por um retângulo pelo UML que pode possuir
até três divisões. A primeira divisão armazena o nome para identificação da classe
referenciada, a segunda divisão referencia os possíveis atributos pertencentes à
classe e a terceira lista os possíveis métodos e ou operações da classe. É uma
descrição de um grupo de objetos com atributos, comportamentos,
relacionamentos com outros objetos e semântica comum. Uma classe é uma
abstração que enfatiza características relevantes dos objetos, suprimindo outras
características. Portanto um objeto é sempre uma instância de uma classe.

class System

EA 6.5 Unregistered T rial Version


Nome

EA 6.5 Unregistered
- Atributos: T rial Version
+ Operações()

EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version


Figura 1: Exemplo da estrutura de uma classe

1.4 Atributos ou Propriedades

Classes costumam definir atributos, conhecidos como propriedades. Esses


atributos representam as características de uma classe, ou seja, as peculiaridades

Página 5
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
que costumam variar de objeto para objeto, como a altura, largura, cor que
permitem diferenciar um objeto de outro da mesma classe devido a essas
variações.

Os atributos são apresentados na segunda divisão de uma classe e


contêm, normalmente, duas informações, o nome que identifica o atributo e o seu
tipo de dado que o atributo armazena, como por exemplo, os tipos primitivos de
dados: integer, float ou caracter. Assim todo objeto possui os atributos relativos à
classe a qual pertence. Esses atributos são as características do objeto, como cor
e número de portas, no caso de um carro. Todas as instâncias de uma mesma
classe possuem exatamente os mesmos atributos, no entanto esses atributos
podem assumir valores diversos. Abaixo vejamos uma classe com atributos.
class System

EA 6.5 Unregistered T rial Version


Carro

EA 6.5 Unregistered
- Cor: String T rial Version
- Núm ero de Portas: Integer

EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version


Figura 2: Exemplo de classe com atributos

1.5 Métodos ou Comportamentos

As Classes costumam possuir métodos, também representados e ou


conhecimentos como comportamentos. Um método representa uma atividade que
um objeto de uma classe pode executar. Podemos fazer uma comparação
paralela a uma função (desenvolvidas em linguagem de programação procedural).
Dessa mesma forma, um método pode receber ou não parâmetros (valores que
são utilizados durante a execução do método) e em geral, retornar valores. Esses
valores podem representar o resultado da operação executada ou indicar se o

Página 6
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
processo foi concluído com sucesso ou não. Abaixo vejamos uma classe com
seus métodos ou comportamentos.

class System

EA 6.5 Unregistered Trial Version


Nome

EA 6.5 Unregistered
- Atributos: Trial Version
+ Excluir()
+
EA 6.5 Unregistered Trial Version
+
Gravar()
Pesquisar()

EA 6.5 Unregistered Trial Version


Figura 3: Exemplo de classe com métodos ou comportamentos

1.6 Visibilidade

A visibilidade é utilizada para referenciar o nível de acessibilidade de um


determinado atributo ou método. Existem basicamente três modos de visibilidade,
onde são eles: público, privado e protegido.

 A visibilidade pública: É representada por um símbolo (+), apresentado


na frente da descrição do atributo e ou método, isso significa que o
método ou atributo pode ser utilizado por qualquer classe;
 A visibilidade privada: É representada por um símbolo (-), apresentado
na frente da descrição do atributo e ou método, isso significa que o
método ou atributo pode ser utilizado somente pela classe que pertence
o método ou atributo, não será suportada a utilização por outras classes.
 A visibilidade protegida: É representada por um símbolo (#) e determina
que somente a classe possuidora do atributo ou método ou sub-classes
podem utilizar ou ter acesso ao mesmo.

Página 7
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
class System

EA 6.5 Unregistered Trial Version


Nome

EA 6.5 Unregistered Trial Version


+ m atricula:
- sexo:
# nom e:
EA 6.5 Unregistered
+ gravar() : void
Trial Version
- excl uir() : void
# alterar() : voi d
EA 6.5 Unregistered Trial Version

Figura 4: Exemplo de classe com visibilidade nos atributos e métodos

1.7 Herança

Herança é uma característica mais poderosa e importante da orientação a


objetos. Isso é devido ao fato de se permitir o reaproveitamento de atributo e
métodos de uma classe, otimizando o tempo de desenvolvimento e futuras
manutenções.

A principal vantagem do uso da herança bastante simples, ao declararmos


uma classe com atributos e métodos específicos e após isso derivarmos uma sub-
classe a partir da classe já existente, não será necessário redeclarar os atributos e
métodos já definidos, a sub-classe os herda automaticamente, permitindo uma
reutilização de tudo que já esta pronta. Caso exista a necessidade de método ou
atributos específicos a sub-classe a herança não restringe, ou seja, poderá criar
novos métodos e atributos para a sub-classe.

Página 8
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
class System

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version


Class2

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version


Class1 Class4

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version

Figura 5: Exemplo de herança entre classes

1.8 Herança Múltipla

A herança múltipla ocorre quando temos uma sub-classe herdando


características de duas ou mais superclasses. Nesse caso, uma sub-classe pode
herdar atributos e métodos de diversas superclasses. Algumas linguagem de
programação não permite a implementação de herança múltipla, recurso que a
UML permite a modelagem, mais as linguagem de programação encontra-se
dificuldades para implementar.

Página 9
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version
class System

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Class2

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Class1 Class4

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Class3 Class5
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

Figura 6: Exemplo de herança múltipla entre classes

1. 9 Polimorfismo

O conceito de polimorfismo está associado á herança. O polimorfismo


trabalha com a redeclaração de métodos previamente herdados por uma classe.
Esses métodos, embora seja semelhante, diferem-se da forma que serão
implementados. No exemplo abaixo o cálculo do salário do funcionário e diferente
do cálculo do professor, isso é possível com polimorfismo. Uma operação com
implementações diferentes em diversos pontos de uma hierarquia de classes,
desde que mantenham a mesma assinatura.

Página 10
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version
class System

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Funcionario

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


+ calcularSalario(int, int) : void

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Professor

EA 6.5 Unregistered TcularSalario(int,


+ cal rial Version EA 6.5 Unregistered T rial Version
i nt) : void

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Figura 7: Exemplo de polimorfismo entre classes

1.10 Encapsulamento

O conceito de encapsulamento define que a utilização de um sistema não


deve depender de sua implementação, isto é, proteger questões internas de um
objeto. Todavia, mais importante que o conceito é levar em conta que atendemos
o encapsulamento quando preservamos informações e operações privadas, do
conhecimento externo. Uma forma de entendermos o encapsulamento e
observarmos que no nosso mundo real existe vários objetos que operamos
através de interfaces externas e operações sem ter conhecimento de como isso foi
implementado ou funciona.

EA 6.5 Unregistered Trial Version


class System

EA 6.5 Unregistered Trial Version


Radio

+ li gar() : void
EA 6.5 Unregistered Trial Version
+ desli gar() : void

EA 6.5 Unregistered Trial Version


Figura 8: Exemplo de encapsulamento

Página 11
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Capítulo II

2.1 Introdução a UML

A UML (Unified Modeling Language ou Linguagem de Modelagem


Unificada) é uma linguagem visual utilizada para modelar sistemas
computacionais por meio do paradigma de orientação a objetos. Essa linguagem
tornou-se, nos últimos anos, a linguagem padrão de modelagem de software
adotada internacionalmente pela indústria de engenharia de software. [Gilleanes,
2004].

What is the UML? In short, the Unified Modeling Language (UML) provides
industry standard mechanism for visualizing, specifying, constructing, and
documenting software system. [Hans-Erik Eriksson, 2004].

O que deve ficar bem claro, e que a UML não e uma linguagem de
programação, é uma linguagem de modelagem, cujo seu principal objetivo é dar
um suporte e auxilia aos engenheiros de software a definir as características dos
softwares, providenciando a visualização, especificação, construção e
documentação, esses conceitos devem ficar bem claros na visão dos engenheiros
de software. A UML ajuda a definir as principais características, tais como seus
requisitos, seu comportamento, sua estrutura lógica, a dinâmica de seus
processos e até mesmo suas necessidades físicas em relação a equipamentos
sobre o qual o sistema deverá ser implantado. Tudo isso o engenheiro de software
poderá definir para o software, antes de começar a ser realmente desenvolvido.

Página 12
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

2.2 Breve Histórico da UML

A UML surgiu da união dos conceitos de três metodologias de modelagem:


o método Booch, o método OMT (Object Modeling Technique) de Jacobson e o
método OOSE (Object Oriented Software Engineering) de Rumbaugh. Essas eram
as metodologias existentes a até meados da década de 90, essas três
metodologias de modelagem orientada a objetos, mais comum entre
desenvolvedores da época. A União dessas metodologias foi apoiada por uma das
maiores empresas de TI, Rational Software, que incentivou e financiou a união das
metodologias.

A criação da UML iniciou oficialmente em outubro de 1994, quando


Rumbaugh se juntou a Booch na Rational. O foco inicial do projeto era a
unificação dos métodos Booch e OMT[Furlan, 1998]. O esboço da versão 0.8 do
Método Unificado foi lançado em outubro de 1995. Mais ou menos na mesma
época Jacobson se associou à Rational com a finalidade de incorporar o OOSE no
escopo inicial da versão 0.8, resultando o lançamento da versão 0.9 da UML em
junho de 1996[Booch, 2000]. Foi então aprovada pela comunidade de engenharia
de software em geral. Muitas empresas ficaram interessadas, foi então criada um
consórcio com várias empresas interessadas em dedicar recursos com o propósito
de trabalhar uma definição mais forte e completa da UML.

Empresas que contribuíram para a definição da UML 1.0, Digital Equipment


Corporationm Hewlett-Packard, I-Logix, Intel-licorp, IBM, ICON Computing, MCI
Systemhouse, Microsoft, Oracle, Rational, Texas Instruments e Unisys.
Resultando uma linguagem de modelagem bem definida , expressiva, poderosa, e
que poderia ser aplicada a uma grande variedade de tipos de problemas[Booch,
2000]. A UML foi oferecida para a OMG (Object Management Group) em janeiro

Página 13
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
de 1997, em resposta à solicitação do próprio OMG de propostas para uma
linguagem padrão de modelagem [Furlan, 1998].

Entre janeiro a julho de 1997, o grupo original se expandiu, passando a


incluir virtualmente todos os participantes e colaboradores da resposta inicial ao
OMG, entre os quais se encontravam Andersen Consulting, Ericson, Object Time
Limited, Platinum Technology, Ptech, Reich Technologies, Softeam, Sterling
Software e Taskon. Um grupo foi formado, liberado por Cris Kobryn da MCI
Systemhouse e administrado por Ed Eykholt da Rational, com o propósito de
formalizar a especificação da UML e de integrar a linguagem a outros esforços de
padronização.

A versão 1.1 foi entregue a OMG em julho de 1997. Em setembro do


mesmo ano, essa versão foi aceita pela ADTF (Analysis and Design Task Force) e
pelo Architecture Board do OMG e, posteriormente submetida a votação de todos
os membros da OMG. A versão 1.1 foi adotada pela OMG em 14 de novembro de
1997[Booch, 2000].

A manutenção da UML foi então assumida pela RTF (Revision Task Force)
do OMG, sob a responsabilidade de Cris Kobryn. A RTF lançou uma revisão
editorial, a UML 1.2., em junho de 1998. No final do mesmo ano, a RTF lançou a
UML 1.3[Furlan, 1998]. Até pouco tempo a UML estava na versão 1.5, onde tem
sido recentemente substituída pela versão 2.0. Essa nova versão traz algumas
novidades e melhorias em relação a estrutura geral da linguagem. A
documentação oficial da UML pode ser consultada no site da OMG
(www.omg.com).

Página 14
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Figura 9: Evolução da UML

2.3 Padronização OMG

Quando se iniciaram os trabalhos para criação da UML, os criadores tinham


como intenção fazer sua aceitação com a distribuição da linguagem a vários
desenvolvedores.

A OMG (Object Management Group) fez um requerimento por uma


linguagem de modelagem padrão. Então houve interesse dos criadores da UML
em padronizá-la, para isso foi preciso que os mesmos aprimorassem a qualidade
da linguagem para tal. Pois para serem realmente utilizadas por empresas era
necessária sua padronização.

“UML é uma linguagem de modelagem, não uma metodologia”

2.4 Diagramas da UML

Página 15
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Diagramas conceitualmente é uma forma de representar graficamente um


conjunto de elementos, uma projeção de um determinado sistema. A nova versão
da UML possue 13 diagramas, onde os mesmo divide-se em categorias:
estruturais ou estáticos (Structural Diagrams) e comportamentais ou dinâmicos
(Behavioral Diagrams).

A função dos diagramas estruturais é a de mostrar as características do seu


sistema que não mudam com o tempo. Já os comportamentais, mostram como o
sistema responde às requisições ou como o mesmo evolui durante o tempo.

Diagrama de Classes
Diagrama de Objetos
Diagramas Estruturais Diagrama de Componentes
Diagrama de Pacotes*
Diagrama de Implantação
Diagrama de Estrutura Composta*
Diagrama de Caso de Uso
Diagrama de Interação:
- Diagrama de Visão Geral*
Diagramas Comportamentais - Diagrama de Seqüências
- Diagrama Temporal*
- Diagrama de Comunicação
Diagrama de Atividades
Diagrama de Máquina de Estados

Obs: Os diagramas marcados com (*) são novos na versão da UML 2.0

Detalhando resumidamente os diagramas:

Página 16
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
Diagrama de Classes (Class Diagram) – representa os elementos conectados por
relacionamentos. Usado para exibir entidades do mundo real, além de elementos
de análise e projeto;
Exemplo:
Eo bAj e c6t C.5l a sU nore
s M d e lg is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs ioS n EmA 6 .5 U n re g is te re d T ria l V


to c k Ite

+ A u th o r: stri n g
+ ca ta l o g N u m b e r: st ri n g
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve
+
rs io n E A 6 .5 U n re g is te re d T ria l V
co stP ri c e : n u m b e r
+ l i st P ri ce : n u m b e r
+ ti t l e : st ri n g
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U Onr dre
e r g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V
+ ite m
+ d a t e : D a te
E A 6 .5 U n re g is te re d T ria l Ve rs io n +
+
E A 6 .5 U n re g is te re d T ria l Ve rs io n
d e l i ve ryI n st ru ct i o n s: S tri n g
o rd e rN u m b e r: S t ri n g
E A 6 .5 U n re g is te re d T ria l V
+
E A 6 .5 U n reAgc ciso ute
n t re d T ria l Ve rs io n EcAh e c6kF.5
o rO u tst a n d i n g O rd e rs() : vo i d
U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V
+ n a m e : S tri n g + a c co u n t
+ b i l l i n g A d d re ss: S tri n g
E A 6 .5 U n re g is te re d T ria l Ve rs io n
+ e m a i l A d d re ss: S t ri n g
E A 6 .5 UTra
n re
n s ag
c is te re d T ria l Ve rs io n
ti o n E A 6 .5 U n re g is te re d T ria l V
+ c l o se d : B o o l e a n L i n e Ite m
+ a c co u n t + h i st o ry + d a te : D a te
+ d e l i ve ryA d d re ss: S tri n g
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A +6 .5
o rd U
e rNn
umreb egr: isS te re d T ria l Ve+ rsq uioa nnti ty : E
tri n g In tA
e g e6
r .5 U n re g is te re d T ria l V
+ l o a d A c c o u n t D e ta i l s() : v o i d
+ l o a d A c co u n tH i st o ry() : v o i d
+ m a rkA c co u n tC l o se d () : vo i d
E A 6 .5 U n re g is te re d T ria l Ve rs io n
+ c re a te N e w A c co u n t() : v o i d E A +6 .5 U n re g is te re d T ria l Ve rs io n
l o a d O p e n O rd e rs() : v o i d
E A 6 .5 U n re g is te re d T ria l V
+ su b m i tN e w A c co u n tD e t a i l s() : v o i d
+ re tri e v e A c co u n tD e ta i l s() : vo i d
E A 6 .5 U n re g is te re d T ria l Ve rs +iob anske t E A 6 .5 U n re g is te re d T ria l Ve rs io n
+ v a l i d a t e U se r(S tri n g , S t ri n g ) E A 6 .5 U n re g is te re d T ria l V
S h o p p in g B a s k e t
E A 6 .5 U n re g is te re d T ria l Ve rs io n E- Ash6o p.5 U n re g is te re d T ria l Ve rs io n
p i n g B a ske t N u m b e r: S tri n g
E A 6 .5 U n re g is te re d T ria l V
+ a d d L i n e I te m () : vo i d
E A 6 .5 U n re g is te re d T ria l Ve rs io n E+ Ad e6l e.5
te It eU
mn() :re
v og
i d is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V
+ p ro ce ssO rd e r() : vo i d
+ c re a t e N e w B a ske t() : v o i d
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

Diagrama de objetos (Object Diagram) – representa objetos e valores de dados.


Corresponde a uma instância do diagrama de classes, mostrando o estado de um
sistema em um determinado ponto do tempo;
Exemplo:

Página 17
Apostila do curso Direitos© Winder César Mendes
Capacitação
EA 6.5 Unregistered em6.5UML
Trial Version EA - Fundamental
Unregistered Trial Version EA 6.5 Unregistered T rial Version
obj ect Obj ec t

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version
:StockItem
Item01 :Line Item
T til e = UM L fo r Beg inn ers
EA 6.5 Unregistered Trial Version EA 6.5quantity
Unregistered
=2 Trial Version EA 6.5 Unregistered T rial Version ListPrice = $ 30.00
Author = Dave Ne wbi e

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version
Ord-2005-10-31-
JO-01 :Order

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered


Item02 :Line Item Trial Version EA 6.5 Unregistered T rial Version
:Stock Item
ListPrice = $ 30.00
quantity = 1
Joseph Osborne : T til e = Software Devel ope m e nt with UM L
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version
Account Author = Ken Lun n

Ord-2005-02-11-
EA 6.5 Unregistered Trial Version
JO-01 :Order EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version
Item03 :LineItem

EA 6.5 Unregistered Trial Version EA 6.5 quanti ty = 1


Unregistered Trial Version EA 6.5 Unregistered T rial Version
:Stoc kItem
ListPrice = $3 0.0 0
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version T til e = UM L Disti ll ed
Author = M artin Fowle r
Ord-2005-03-12- Item01 :Line Item
EA 6.5 Unregistered
Francis Redfield :
Account
Trial Version
FR-01 :Orde r EA 6.5 qua
Unregistered
nti ty = 2
Trial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version

Diagrama de componentes (Component Diagram) – representa as dependências


entre componentes de software, apresentando suas interfaces;
Exemplo:
c m p L A N C om po ne nts
E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re g iste re d T ria l Ve rsio n

E A 6 .5 U n re g iste re d T riaFlireVe rsio n


w a ll
E A 6 .5 U n re g iste re d T ria l Ve rsio n
+ A cc e p tR e q u e st() : H T M L R e q u e st
+ F o rwa rd Re q u e st() : HT M L R e q u e st
E A 6 .5 U n re g iste re d T ria l Ve rsio n
+ E A 6 .5 U n re g iste re d T ria l Ve rsio n
R e tu rn Re sp o n se () : H T M L R e sp o n se

E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re g iste re d T ria l Ve rsio n

E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re g iste re d T ria l Ve rsio n


L A N S Q L S e rv e r M S E x c h a n ge S e rv e r

E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re


+ gCoiste
n fi g u re
re () d
: voTi dria l Ve rsio n
+ Re sta rt() : vo i d

E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re g iste re d T ria l Ve rsio n

E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re g iste re d T ria l Ve rsio n


O rde rs D a ta b a s e B oo k S tore O rde r
E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re g iste rea tio
Ap plic d nT ria l Ve rsio n

E A 6 .5 U n re g iste re d T ria l Ve rsio n E A 6 .5 U n re g iste re d T ria l Ve rsio n

Página 18
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
Diagrama de implantação (Deployment Diagram) – representa a arquitetura do
sistema em tempo de execução, as plataformas de hardware, artefatos de
software e ambientes de software;
Exemplo:
deployment Serv ers
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
Web Serv er

EA 6.5 Unregistered
+ Trial Version EA 6.5 Unregistered Trial Version
M ail Serv er
+ + M ail Exchange
+ + Wi ndow OS
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
+ .Net Server
+ Apache
+ Apache Configurati on
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
+ Wi ndows

EA 6.5 Unregistered TrialServ


Web Database Version
er EA 6.5 Databse
Internal Unregistered
Serv er Trial Version
+ Books Data + Client Data
+ Orders
EA 6.5 Unregistered Trial Version EA 6.5
+ WebDatabase
+ WebDataOS + OS
Unregistered Trial Version
+ Web + Internal Data Config
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version

Diagrama de pacotes (Package Diagram) – utilizado para organizar elementos de


modelo e mostrar dependências entre eles;
Exemplo:

Página 19
Apostila do curso Direitos© Winder César Mendes
Capacitação
EA 6.5 Unregistered T rial Version em
EA UML - Fundamental
6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
pkg EJB Entity

EA 6.5 Unregistered
EJB Entity
T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
+ Account
EA 6.5 Unregistered
+ LineItem T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
+ Order «EJBEnti tyBean» «EJBEntityBean»
+ OrderStatus Account Transaction
EA 6.5 Unregistered
+ ShoppingBasket T rial Version EA 6.5 Unregistered +TTrial
+ AccountBean
Version EA 6.5 Unregistered T ria
ransactionBean
+ StockItem + AccountPK + T ransactionPK
EA 6.5 Unregistered
+ T ransaction
T rial Version EA 6.5 Unregistered +TTransaction
+ Account rial Version EA 6.5 Unregistered T ria
+ Data M odel + AccountHome + TransactionHome
+ M ET A-INF + M ET A -INF
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria

EA 6.5 Unregistered T rial Version«EJBEnti


«EJBEnti tyBean»
EAtyBean»
6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
«EJBEntityBean»
LineItem Order StockItem

EA 6.5 Unregistered
+ Li neItemT rial Version +EA
Bean 6.5 Unregistered +TStockItem
OrderBean rial Version
Bean EA 6.5 Unregistered T ria
+ Li neItem PK + OrderPK + StockItem PK
+ Li neItem + Order
EA 6.5 Unregistered T rial Version +EA
+ Li neItemHome
6.5 Unregistered ++TStockItem
OrderHome
rial Version EA 6.5 Unregistered T ria
StockItemHome
+ M ET A-INF + M ET A-INF + M ET A -INF
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
(from Impl ementati on Model (PSM))

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria

Diagrama de estrutura composta (Composite Struture Diagram) – usado para


mostrar a composição de uma estrutura. Útil em estruturas compostas de
estruturas complexas ou em projetos baseados em componentes;
Exemplo:

Página 20
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
c o m p o s i te s tru c tu r e b ro k e re d
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V
B rok e re dS a le
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V


B ro k e r b u ye r W h o le S a le :
E A 6 .5 U n re g is te re d T ria l Ve rs«io n E A 6 .5 U
ro l e b i n d i n g » S an
lere g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g issetel l ere


r d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V
« ro l e b i n d i n g »
se l l e r
« ro l e b i n d i n g »
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re dP uTb lria
is h elr Ve rs io n E A 6 .5 U n re g is te re d T ria l V

E A 6 .5 U n reRge taisi lte


:S are
le d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V
b u ye r
Cons um e r
E A 6 .5 U n re g is te re d T ria« rol lVe rs io n
e bind in g»
E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l Ve rs io n E A 6 .5 U n re g is te re d T ria l V

Diagrama de casos de uso (Use Case Diagram) – mostra os casos de uso,


atores e seus relacionamentos que expressam a funcionalidades de um sistema;
Exemplo:

Página 21
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
uc M anage Users
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA Login


6.5 Unregistered T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri
View History
EA 6.5 Unregistered T rial Version EA 6.5
Create Unregistered T rial Version
Account EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri
«extend»

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri
Client
View Account
View Open Orders
(from A ctors)
EA 6.5 Unregistered T rial Version EA details
6.5 Unregistered
«extend»
T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri
Close Account
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri
«incl ude»
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5User


Delete Unregistered T rial Version EA 6.5 Unregistered T ri

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri
Administrator
(from A ctors)

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ri

Diagrama de visão geral (Interaction Overview Diagram) – esse diagrama é uma


variação do diagrama de atividades que mostra de forma geral o fluxo de controle
dentro de um sistema ou processo de negócios. Cada nó ou atividade dentro do
diagrama pode representar outro diagrama de interação;
Exemplo:

Página 22
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
EA 6.5 Unregistered Trial
sd ViewVersion
Orders EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version


ref

EA 6.5 Unregistered Trial VersionLoginEA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered


[Fai led Login] T rial Version
Access Deni ed
[User Verified]
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered TrialrefVersion EA 6.5 Unregistered T rial Version


View Open Orders

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version


Exit

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version


EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version
sd Login

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


:Client
EA 6.5 Unregistered T rial Version EA
:Login 6.5 Unregistered T rial
:LoginAcount Version
:Account
Login

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


vali dateUser(Password,UserNam e)
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

Página 23
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
Diagrama de seqüências (Sequence Diagram) – mostra as interações que
correspondem a um conjunto de mensagem trocadas entre objetos e a ordem que
essas mensagens acontecem;
Exemplo:
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T ria
sd View History

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered


:Account
T rial Version EA 6.5 Unregistered T ria
:T ra nsaction

Clie nt
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
:View History

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
retrieveAccountDetails()
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
loa dAccoun tHistory()

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T ria
(fro m Actors)

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T ria

Diagrama temporal (Timing Diagram) – mostra a mudança de estado de um


objeto numa passagem de tempo, em resposta a eventos externos;
Exemplo:
sd Value Lifeline

EA 6.5 Unregistered Trial Version


{Duration Constraint} EA 6.5 Unregistered Trial Version

0 2.5
EA 6.5 Unregistered Trial Version EA 6.51 Unregistered
10
Trial Version
{Time Constraint} Ev ent
TimeLine2

EA 6.5 Unregistered
0 10 20
Trial
30 40
Version
50 60
EA
70
6.5
80
Unregistered
90 100
Trial Version

Diagrama de comunicação (Communication Diagram) – esse é o antigo


diagrama de colaboração, que mostra objetos, seus inter-relacionamentos e o
fluxo de mensagens entre eles;

Página 24
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
Exemplo:
EA 6.5analysis
Unregistered
Login
Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T
Client Login Logi nAcount

(from Actors)
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T
Account

EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T

Diagrama de atividades (Activity Diagram) – representa a execução de ações ou


atividades e os fluxos que são disparados pela conclusão de outras ações ou
atividades;
Exemplos:

Página 25
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
act Customer Process

Custom er
EA Enters
6.5 Web
Unregistered
site T rial Version EA 6.5 Unregistered T rial Version
User
Vali dation

User Logs
EA 6.5 Unregistered
In T rial Version View
EA BookStore
6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Select Book for
Purchase

EA 6.5 Unregistered TRejected


rial Version EA 6.5 Unregistered T rial Version
Add to Shopping
EA 6.5 Unregistered T rial Version EABasket
6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


View Shopping
Basket
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Commit Order

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Supply Credit
Card Details

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Credit
EA 6.5 UnregisteredCard
T rial Version EA 6.5 Unregistered
Credit Check T rial Version
Problems

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Confirm Purchase

EA 6.5 Unregistered
CloseTOrder
rial Version EA 6.5 Unregistered T rial Version
Items Deliv ered
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Order Com plete

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

Diagrama de máquina de estados (Statechart Diagram) – representa as ações


ocorridas em respostas ao recebimento de eventos.
Exemplo:

Página 26
Apostila do curso Direitos© Winder César Mendes
I n v a l i d E n t ry
Capacitação em UML - Fundamental
/ T Lri oe gs in
s tm = T ri e s
+1
E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n

E A 6 .5 U n r e g is te re d T r ia l V e rI nsi tio
ialn E A 6 .5 U n r e g is te r e d T ria l V e rs io n
/ T ri e s = 0

E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n
lo g g in g in L o g in D e n ie d
E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5T riU
esn
= r
3 e g is te r e d T ria l V e rs io n

E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n

E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n
V a l i d E n t ry [ T ri e s < 3 ]

E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n
Fina l

E A 6 .5 U n r e g is te re d T r ia l V eL or gsgio n
e d In
E A 6 .5 U n r e g is te r e d T ria l V e rs io n

E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n

E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n

E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n
Fin a l
E A 6 .5 U n r e g is te re d T r ia l V e r s io n E A 6 .5 U n r e g is te r e d T ria l V e rs io n

Nota: Todos os exemplos acima foram retirados do projeto de exemplo do Enterprise Architect 6.5 Trial

A tabela abaixo mostra os diagramas da UML 2.0 e quais correspondem a


diagramas da versão 1.4

Diagramas da UML 1.4 Diagramas da UML 2.0


... Pacotes
... Estrutura Composta
... Visão Geral
... Temporal
Atividades Atividades
Caso de uso Caso de uso
Classes Classes
Colaboração Comunicação
Componentes Componentes
Gráfico de Estados Máquina de Estados
Implantação Implantação

Página 27
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
Objetos Objetos
Seqüência Seqüência
Tabela 1.0 – Comparativo dos diagramas das versões da UML 1.4 e 2.0

Página 28
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
Capítulo III

3.1 Diagrama de Casos de Uso

Os diagramas de Casos de Uso é bastante utilizado por engenheiro de


software atualmente, por meio de uma linguagem simples, possibilita a
compreensão do comportamento externo de um sistema por qualquer pessoa que
interaja com o mesmo, tentando representar o sistema através de uma perspectiva
do usuário. É, dentre todos os diagramas da UML, o mais utilizado principalmente
no início da concepção de um sistema, principalmente nas etapas, ou melhor, nas
disciplinas de levantamento de requisitos e Análise de Requisitos, embora venha a
ser consultado e possivelmente modificado durante todo o processo de
engenharia de qualquer sistema, servindo de base para todos os demais
diagramas.

Esse diagrama tem por objetivo apresentar uma visão externa das
funcionalidades e serviços que o sistema deverá oferecer aos usuários, sem se
preocupar em como essas funcionalidades e serviços será implementada. O
diagrama de casos de uso é de grande importância para a etapa de análise de
requisito, ajudando a especificar, visualizar e documentar as características,
funções e serviços do sistema desejados pelos usuários. O diagrama de caso de
uso, consegue ainda representar os tipos de usuários que irão interagir com o
sistema, quais papeis esses usuários irão assumir e quais funções serão
requisitadas por cada usuário específico.

3.2 Atores

O diagrama de caso de uso concentra-se em itens fundamentais: Atores e Casos de


Uso. Os atores representam os papeis desempenhados pelos diversos usuários que poderão

Página 29
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
utilizar alguma maneira os serviços e funções do sistema; eventualmente um Ator não será
necessariamente uma pessoa, eventualmente um Ator pode representar um hardware
especial ou mesmo um outro software que irá interagir com o sistema. A representação de
um ator pela UML são “bonecos magros”, contendo uma breve descrição logo abaixo do
seu símbolo que identifica qual o papel que o ator em questão assume dentro do diagrama.

E A 6 .5 U n re g iste re du c TM aria
n a gl e Ve
U s ersio
rs n

E A 6 .5 U n re g iste re d T ria l Ve rsio n

E A 6 .5 U n re g iste re d T ria l Ve rsio n


G e re n te F u n c io n á rio

E A 6 .5 U n re g iste re d T ria l Ve rsio n

E A 6 .5 U n re g iste re d T ria l Ve rsio n

E A 6 .5 U n re g iste re d T ria l VeFSrsio


is te m a d e
ne n to
a tu ra m

E A 6 .5 U n re g iste re d T ria l Ve rsio n


C li e n te C a ix a E le tr ô n ic o

E A 6 .5 U n re g iste re d T ria l Ve rsio n


Figura – Exemplos de Atores

3.2 Casos de Uso

Os casos de uso referem-se aos serviços, tarefas ou funções que podem


ser utilizadas de alguma maneira pelos usuários do sistema. Os casos de uso são
utilizados para expressar e documentar os comportamentos pretendidos para as
funções do sistema.

A UML representada os casos de uso por “Elipses” contendo dentro de si


um texto descrevendo a que serviço o caso de uso se refere. Na verdade, não
existe um limite determinado para o texto que possa estar contido dentro da
elipse, mas em geral, a descrição de um caso de uso costuma ser bastante
sucinta.

Página 30
Apostila do curso Direitos© Winder César Mendes
Capacitação
EA 6.5 Unregistered em
Trial Version UML - Fundamental
uc M anage Users

EA 6.5 Unregistered Trial Version


Cadastrar Cliente
EA 6.5 Unregistered Trial Version
Abertura de conta
EA 6.5 Unregistered Trial Version
Relatório de
EA 6.5 Unregistered Trial Version
Clientes

EA 6.5 Unregistered Trial Version

Figura: Exemplos de Casos de Uso

Os casos de uso são documentados, fornecendo instruções em linhas


gerais de como será seu funcionamento, quais atividades deverão ser executadas,
qual evento forçará sua execução, quais atores interagem com os mesmo, quais
suas possíveis restrições e outras. Normalmente um caso de uso é documentado
de maneira informal, mas nada impede que o engenheiro de software insira
detalhes de implementação em uma linguagem mais técnica se assim considerar
necessário para o entendimento geral.

3.2.1 Documentação de Casos de Uso

A documentação de um caso de uso descreve por meio de uma linguagem


bastante simples, a função em linhas gerais do caso de uso, quais atores
interagem com o mesmo, quais etapas devem ser executadas pelos atores. Não
existe uma regra geral para definir esse padrão de documentação ou melhor um
formato específico de documentação para casos de uso definido pela UML, o que
está em conformidade com a própria linguagem e características do diagrama, ou
seja, esse formato e bastante flexível, permitindo que se documente o caso de uso
de forma que se considerar melhor.

Página 31
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

3.3 Associações

As associações representam as interações ou relacionamentos entre os


atores que fazem parte do diagrama, entre os atores e os casos de uso ou os
relacionamentos entre casos de uso e casos de uso. Esses relacionamentos entre
casos de uso com casos de uso recebem um nome especial “inclusão”, “Extensão”
e “Generalização”. Todos esses relacionamentos, serão examinados no decorrer
dessa seção.

Uma associação entre um ator e um caso de uso, representa que o ator


utiliza-se de alguma maneira, da função do sistema representada pelo caso de
uso em questão, seja requisitando a execução daquela função, seja recebendo o
resultado produzido por ela a pedido de outro ator.

A representação de uma associação entre um ator e um caso de uso é


representada por uma reta ligando o ator ao caso de uso, podendo isso ocorrer
que as extremidades da reta contenham setas, indicando a navegabilidade da
associação, o que demonstra o sentido em que as informações trafegam, ou seja,
se estas são fornecidas pelo ator ou pelo caso de uso ou ambos (nesse caso a
reta não possuem setas, significando que as informações são transmitidas em
ambas as direções).

EA 6.5 Unregistered T rial Version


uc M anage Users

EA 6.5 Unregistered T rial Version


Abertura de conta
EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Funcionário


T rial Version

EA 6.5 Unregistered T rial Version


Figura: Exemplo de Associação com Navegabilidade

Página 32
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
EA 6.5 Unregistered T rial Version
uc M anage Users

EA 6.5 Unregistered T rial Version


Abertura de conta
EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Funcionário


T rial Version
EA 6.5 Unregistered T rial Version
EA 6.5 Unregistereduc TM anage
rial Version
Users

EA 6.5 Unregistered T rial Version


Abertura de conta
EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered Funcionário


T rial Version

EA 6.5 Unregistered T rial Version


Figura: Exemplo de Associação Ambas Direções

3.4 Especialização/Generalização

O relacionamento de especialização ou generalização é uma forma de


associação entre casos de uso na qual existem dois ou mais casos de uso com
características semelhantes, apresentando pequenas diferenças entre si. Dessa
forma, não é necessário colocar a mesma documentação para todos os casos de
uso envolvidos, porque todas as estruturas de um caso de uso generalizado são
herdadas pelos casos de uso especializados. Além disso, os casos de uso
especializados herdam também quaisquer possíveis associações de inclusão ou
extensão que o caso de uso venham a possuir, bem com qualquer outra
associação com os atores que utiliza o caso de uso base ou geral.

Página 33
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version
uc M anage Users

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version


Abertura de Conta

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version EA 6.5


Abertura de conta
Física
Unregistered
Abertura de Conta T rial Version
Jurídica

EA 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version

Figura: Exemplo de Casos de Uso Especializados/Generalizados

Os relacionamentos de especialização ou generalização e bastante comum ser


aplicados para atores.

EA 6.5 Unregistered T rial Version


uc M anage Users

EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version


Pessoa

EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version


Física Jurídica

EA 6.5 Unregistered T rial Version

Figura: Exemplo de Atores Especializados/Generalizados

3.5 Inclusão

A associação de inclusão costuma ser utilizada quando existe um serviço,


situação ou rotina comum a mais de um caso de uso. Quando isso ocorre, é
colocada essa funcionalidade em um caso de uso específico par que outros casos

Página 34
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
de uso utilizem-se desse recurso, evitando-se descrever uma mesma seqüência
de passos várias vezes em vários casos de uso. Esses relacionamentos indicam
uma obrigatoriedade, ou seja, quando um determinado caso de uso possui um
relacionamento de inclusão com outro, a execução do primeiro obriga também a
execução do segundo. Um relacionamento de inclusão pode ser comparado a
uma chamada de uma sub-rotina ou função analisando estruturalmente.

A representação de uma associação de inclusão é representada por uma


seta tracejada contendo uma seta em uma de suas extremidades que aponta para
o caso de uso incluído. As associações de inclusão costumam apresentar também
um estereótipo contendo o texto “include”, entre dois sinais de menor (<) e dois
sinais de maior (>). Os estereótipos serão detalhados melhor no decorrer do
treinamento.

EA 6.5 Unregistered Trial Version


uc M anage Users

EA 6.5 Unregistered Trial Version


Deposito

EA 6.5 Unregistered Trial Version

EA 6.5 Unregistered Cliente


Trial Version
«i nclude»

EA 6.5 Unregistered Trial Version


Registar
EA 6.5 Unregistered Trial Version M ov imento

EA 6.5 Unregistered Trial Version


Figura: Exemplo de Inclusão

3.6 Extensão

Associação de extensão é utilizada para descrever cenários opcionais de


um caso de uso. Normalmente os casos de uso estendido descrevem cenários
que ocorrerão em uma situação especifica, se uma determinada condição for

Página 35
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
satisfeita. As associações de extensão indicam a necessidade e um teste e ou
uma condição para determinar se é necessário executar também o caso de uso
estendido ou não. A representação do relacionamento de extensão e bastante
semelhante ao relacionamento de inclusão, sendo representado por uma seta
tracejada, diferenciando-se pelo fato da seta apontar para o caso de uso que
utiliza o caso de uso estendido e por possuir um estereótipo diferente, contendo o
texto “extenção”.

EA 6.5 Unregistered Trial Version


uc M anage Users

EA 6.5 Unregistered Trial Version


Encerrar Conta

EA 6.5 Unregistered Trial Version

EA 6.5 Unregistered Cliente


Trial Version
«extend»

EA 6.5 Unregistered Trial Version


Saque
EA 6.5 Unregistered Trial Version

EA 6.5 Unregistered Trial Version


Figura: Exemplo de Extensão

3.7 Características Gerais da UML

3.7.1 Notas

Uma nota ou nota explicativa, como é representada, é um componente


utilizado na maioria dos diagramas da UML, com a função de apresentar um texto
explicativo a respeito de um determinado componente do diagrama. As notas são
representadas por retângulos com uma dobra no canto superior direito, e
normalmente essas notas são ligadas ao componente através de uma linha

Página 36
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
tracejada, chamada de âncora para dar explicação sobre o componente
relacionado.

EA 6.5 Unregistered T rial Version


uc M anage Users

EA 6.5 UnregisteredIstoTérial Version


um a nota

EA 6.5 Unregistered T rial Version

EA 6.5 Unregistered T rial Version M ov imentar


Valores

EA 6.5 Unregistered T rial Version

Figura: Exemplo de uma Nota

3.7.2 Estereótipos

Os esteriótipos possibilitam uma extensibilidade aos componentes da UML,


além de permitir a identificação de componentes que, embora semelhantes ao
outros, possuam algumas características que os deferem, dando-lhe mais
destaque no diagrama.

uc M anage Users

«<<process>>»
M ov imentar Valores

Figura: Exemplo de estereótipo de rótulo

Página 37
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
uc M anage Users

Caixa E letronico

Figura: Exemplo de estereótipo gráfico

Página 38
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Capítulo IV

4.1 Diagrama de Classes

O diagrama de classes é, um dos principais e mais importantes e também o mais


utilizado diagrama da UML. Seu objetivo principal está em permitir a visualização das
classes que comporão o sistema com seus respectivos atributos e métodos, bem como em
demonstrar como as classes do diagrama se relacionam, complementam e transmitem
informações entre si. Esse diagrama representa a visão estática do sistema. Esse diagrama
serve como base para a construção da maioria dos outros diagramas da UML.

Basicamente, o diagrama de classe é composto por suas classes e pelas associações


existentes entre elas, ou seja, os relacionamentos entre as classes.

4.1.1 Classes, Atributos e Métodos

Classes são os blocos de construções mais importantes de qualquer sistema


orientado a objetos.Uma classe é uma descrição de um conjunto de objetos que compartilha
os mesmos atributos, operações, relacionamentos e semântica. Uma classe implementa
uma ou mais interface.

Termos e Conceitos
Classe é uma descrição de um conjunto de objetos que compartilham os mesmos
atributos, operações, relacionamentos e semântica. Uma classe é representada graficamente
como um retângulo [Booch 2006].

Atributos é uma propriedade nomeada de uma classe que descreve um intervalo de


valores que as instâncias da propriedade podem apresentar. Uma classe pode ter qualquer
número de atributos ou mesmo nenhum atributo. Um atributo é uma abstração do tipo de

Página 39
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
dados ou estados que os objetos da classe podem abranger. Em determinado momento, um
objeto de uma classe terá valores específicos para cada um dos atributos de sua classe.

Operações é uma implementação de um serviço que pode ser solicitado por algum
objeto da classe para modificar o comportamento. Em outras palavras, uma operação é uma
abstração de algo que pode ser feito com um objeto e que é compartilhado por todos os
objetos dessa classe.

Métodos são o contrário das operações, os métodos são funções que uma instância
de uma classe pode executar.

Figura: Exemplo de Uma Classe

4.1.2 Relacionamentos

Relacionamentos, é uma forma de interligar objetos. Na modelagem orientada a


objetos, existem tipos de relacionamentos especialmente importantes: dependências, que
representam relacionamentos de utilização entre as classes; generalização, que relacionam
classes generalizadas a suas especializações; e associações, que representam
relacionamentos estruturais entre objetos; e realização, que é um tipo de relacionamento
especial que mistura características dos relacionamentos de generalização e dependência;

Página 40
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental
agregação, é um tipo especial de associação onde tenta-se demonstrar que as informações
de um objeto chamado objeto-todo precisam ser complementados pelas informações
contidas em um ou mais objetos de outra classe (chamados de objetos-parte); composição, é
uma associação que constitui-se em uma variação da associação de agregação. Uma
associação de composição tenta representar um vínculo mais forte entre os objeto-todo e os
objetos-parte, procurando demonstrar que os objetos-parte têm de pertencer exclusivamente
a um único objeto-todo com que se relacionam.

Significado Utilização
Associação No caso de associação direta entre classes (unidirecional).
Dependência Na interação entre as classes para o uso de serviços.
Para relacionamentos todo-parte, onde a parte consegue “sobreviver” sem o
Agregação
todo.
Para relacionamentos todo-parte, onde a parte não consegue “sobreviver” sem
Composição
o todo.
Associação No caso de associação direta entre classes (bidirecional).
Na interação entre classes que herdam os métodos e atributos da superclasse
Generalização (herança).
Ex.: Cliente (supertipo)  Pessoa Física ; Pessoa Jurídica (subtipos).
Na implementação de interfaces aonde uma classe implementa
Realização
comportamentos especificados por outras.

Exemplos:

Figura: Relacionamento de dependência

Figura: Relacionamento de associação

Figura: Relacionamento de generalização ou especialização

Página 41
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Figura: Relacionamento de realização

Figura: Relacionamento dependência, generalização e associação

Figura: Relacionamento de agregação

Figura: Relacionamento de composição

Página 42
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Capítulo V

5.1 Diagrama de Seqüência

Um diagrama de seqüência é um diagrama de interação que dá ênfase á ordenação


temporal de mensagens. Um diagrama de seqüência mostra um conjunto de papéis e as
mensagens enviadas e recebidas pelas instâncias que representam os papéis. Use os
diagramas de seqüência para representar a visão dinâmica de um sistema.

5.1.1 Atores

Os atores são exatamente os mesmos descritos no diagrama de casos de uso,


entidades externas que interagem com o sistema.

Figura: Ator

5.1.2 Objetos

Objetos representam as instâncias das classes envolvidas no processo ilustrado pelo


diagrama de seqüência. Os objetos são apresentados como retângulo contendo um texto que
identifica primeiramente o nome do objeto.

Figura: Objeto

Página 43
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

5.1.3 Linha vida

A linha vida representa o tempo em que o objeto existiu durante um processo. As


linhas de vida são representadas por linhas finas verticais tracejadas partindo do retângulo
que representa o objeto.

Figura: Linha vida

5.1.4 Foco de controle ou ativação

Os focos de controle indicam os períodos em que um determinado objeto está


participando ativamente do processo, ou seja, identifica os momentos em que um objeto
está executando um ou mais métodos utilizados em um processo específico.

Figura: Foco de Controle

5.1.5 Destruição de objetos

A figura abaixo representa a chamada de um método destrutor, utilizado para


finalizar definitivamente a execução do objeto.

Página 44
Apostila do curso Direitos© Winder César Mendes
Capacitação em UML - Fundamental

Figura: Mensagem destrutor

Página 45
Apostila do curso Direitos© Winder César Mendes