Você está na página 1de 20

Novatec

2a Edio
GUIA PRTICO
Gilleanes T.A. Guedes
Copyright 2007, 2014 da Novatec Editora Ltda.
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.
proibida a reproduo desta obra, mesmo parcial, por qualquer processo, sem prvia autorizao,
por escrito, do autor e da Editora.
Editor: Rubens Prates
Assistente editorial: Camila Arajo
Reviso gramatical: Gabriela de Andrade Fazioni/Marta de Almeida S
Capa: Camila Arajo
ISBN: 978-85-7522-385-7
Obra originalmente publicada sob o ttulo Guia de Consulta Rpida UML 2 (ISBN 85-7522-065-9)
Histrico de impresses:
Janeiro/2014 Segunda edio
Agosto/2011 Segunda reimpresso
Janeiro/2010 Primeira reimpresso
Dezembro/2007 Primeira edio (ISBN: 978-85-7522-145-7)
Novatec Editora Ltda.
Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
Fax: +55 11 2950-8869
E-mail: novatec@novatec.com.br
Site: www.novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec
MP20130106
15
CAPTULO 1
Introduo UML
A UML (Unied Modeling Language ou Linguagem de Modelagem
Unicada) uma linguagem visual utilizada para modelar sistemas
computacionais por meio do paradigma de Orientao a Objetos.
Essa linguagem se tornou, nos ltimos anos, a linguagem-padro de
modelagem de software adotada internacionalmente pela indstria
de Engenharia de Software.
Deve car bem claro, no entanto, que a UML no uma linguagem
de programao, mas uma linguagem de modelagem, cujo objetivo
auxiliar os engenheiros de software a denir as caractersticas do
software, tais como seus requisitos, seu comportamento, sua estrutura
lgica, a dinmica de seus processos e at mesmo suas necessidades
fsicas em relao ao equipamento sobre o qual o sistema dever
ser implantado. Todas essas caractersticas so denidas por meio
da UML antes de o software comear a ser realmente desenvolvido.
1.1 Breve histrico da UML
A UML surgiu da unio de trs metodologias de modelagem: o
mtodo de Booch, o mtodo OMT (Object Modeling Technique) de
Jacobson e o mtodo OOSE (Object-Oriented Software Engineering)
de Rumbaugh. Essas eram, at meados da dcada de 1990, as trs me-
todologias de modelagem orientada a objetos mais populares entre
UML 2

Guia Prtico
16
os prossionais da rea de engenharia de software. A unio dessas
metodologias contou com o amplo apoio da Rational Software, que
incentivou e nanciou tal unio.
O esforo inicial do projeto comeou com a unio do mtodo
de Booch com o mtodo OMT de Jacobson, o que resultou no lan-
amento do Mtodo Unicado no nal de 1995. Logo em seguida,
Rumbaugh juntou-se a Booch e Jacobson na Rational Software e
seu mtodo OOSE comeou tambm a ser incorporado nova me-
todologia. O trabalho de Booch, Jacobson e Rumbaugh, conhecidos
popularmente como Os Trs Amigos, resultou no lanamento, em
1996, da primeira verso da UML propriamente dita.
To logo a primeira verso foi lanada, diversas grandes empresas
atuantes na rea de engenharia e desenvolvimento de software passa-
ram a contribuir com o projeto, fornecendo sugestes para melhorar
e ampliar a linguagem. Finalmente a UML foi adotada pela OMG
(Object Management Group ou Grupo de Gerenciamento de Objetos)
em 1997, como uma linguagem-padro de modelagem. A UML em
sua verso 2.0 (atualmente encontra-se na verso 2.4.1) trouxe grandes
novidades em relao estrutura geral da linguagem principalmente
com relao abordagem de quatro camadas e possibilidade de se
desenvolver pers particulares a partir da UML, cuja documentao
ocial pode ser consultada no site da OMG em www.uml.org.
1.2 Por que tantos diagramas?
O objetivo disso fornecer mltiplas vises do sistema a ser modelado,
analisando-o e modelando-o em diversos aspectos, procurando-se
assim atingir a completitude da modelagem, permitindo que cada
diagrama complemente os outros. Cada diagrama da UML analisa o
sistema, ou parte dele, por uma determina ptica; como se o sistema
fosse modelado em camadas. Alguns diagramas enfocam o sistema
de forma mais geral, apresentando uma viso externa do sistema,
17
Captulo 1

Introduo UML
como o objetivo do Diagrama de Casos de Uso, ao passo que ou-
tros oferecem uma viso de uma camada mais profunda do software,
apresentando um enfoque mais tcnico ou ainda visualizando apenas
uma caracterstica especca do sistema ou um determinado processo.
A utilizao de diversos diagramas permite que falhas possam ser
descobertas nos diagramas anteriores, diminuindo a possibilidade da
ocorrncia de erros durante a fase de desenvolvimento do software.
importante destacar que, embora cada diagrama tenha sua utilidade,
nem sempre necessrio modelar um sistema utilizando-se de todos
os diagramas, pois alguns deles possuem funes muito especcas,
como o caso do Diagrama de Tempo, por exemplo.
1.3 Resumo dos Diagramas da UML
A seguir descreveremos rapidamente cada um dos diagramas ofereci-
dos pela UML, destacando suas principais caractersticas e objetivos.
1.3.1 Diagrama de Casos de Uso
Este o diagrama mais geral e informal da UML, sendo utilizado
principalmente para auxiliar no levantamento e na anlise dos re-
quisitos, em que so determinadas as necessidades do usurio, e na
compreenso do sistema como um todo, embora venha a ser consul-
tado durante todo o processo de modelagem e possa servir de base
para a maioria dos outros diagramas.
O Diagrama de Casos de Uso apresenta uma linguagem simples
e de fcil compreenso para que os usurios possam ter uma ideia
geral de como o sistema ir se comportar. Ele procura identicar os
atores (usurios, outros softwares que interajam com o sistema ou
at mesmo algum hardware especial), que utilizaro de alguma forma
o software, bem como as funcionalidades, ou seja, as opes que o
sistema disponibilizar aos atores, conhecidas neste diagrama como
Casos de Uso. A gura 1.1 apresenta um exemplo desse diagrama.
UML 2

Guia Prtico
18
Figura 1.1 Exemplo de Diagrama de Casos de Uso.
1.3.2 Diagrama de Classes
Este um dos diagramas mais utilizados e um dos mais importantes
da UML, servindo de apoio para a maioria dos outros diagramas.
19
Captulo 1

Introduo UML
Como o prprio nome diz, o diagrama de classes dene a estrutura
das classes utilizadas pelo sistema, determinando os atributos e m-
todos possudos por cada classe, alm de estabelecer como as classes
se relacionam e trocam informaes entre si. A gura 1.2 demonstra
um exemplo desse diagrama.
Figura 1.2 Exemplo de Diagrama de Classes.
1.3.3 Diagrama de Objetos
Este diagrama est amplamente associado ao Diagrama de Classes.
Na verdade, o Diagrama de Objetos praticamente um comple-
mento do Diagrama de Classes, sendo bastante dependente deste. O
Diagrama de Objetos fornece uma viso dos valores armazenados
pelos objetos das classes contidas em um Diagrama de Classes em
um determinado momento da execuo de um processo. A gura 1.3
apresenta um exemplo de Diagrama de Objetos.
UML 2

Guia Prtico
20
Figura 1.3 Exemplo de Diagrama de Objetos.
1.3.4 Diagrama de Estrutura Composta
O Diagrama de Estrutura Composta utilizado para modelar Cola-
boraes. Uma colaborao descreve uma viso de um conjunto de
entidades cooperativas interpretadas por instncias que cooperam
entre si para executar uma funo especca. O termo estrutura desse
diagrama refere-se a uma composio de elementos interconectados,
representando instncias de tempo de execuo que colaboram, por
meio de vnculos de comunicao, em atingir algum objetivo comum.
Esse diagrama tambm pode ser utilizado para denir a estrutura
interna de um classicador. A gura 1.4 apresenta um exemplo de
Diagrama de Estrutura Composta.
21
Captulo 1

Introduo UML
Figura 1.4 Exemplo de Diagrama de Estrutura Composta.
1.3.5 Diagrama de Sequncia
O Diagrama de Sequncia preocupa-se com a ordem temporal em
que as mensagens so trocadas entre os objetos envolvidos em um
determinado processo. Em geral, baseia-se em um Caso de Uso de-
nido pelo diagrama de mesmo nome e apoia-se no Diagrama de
Classes para determinar os objetos das classes envolvidas em um
processo, bem como os mtodos disparados entre os mesmos. Um
Diagrama de Sequncia costuma identicar o evento gerador do
processo modelado, bem como o ator responsvel por este evento, e
determina como o processo deve se desenrolar e ser concludo por
meio do envio de mensagens que em geral disparam mtodos entre
os objetos. A gura 1.5 apresenta um exemplo desse diagrama.
UML 2

Guia Prtico
22
Figura 1.5 Exemplo de Diagrama de Sequncia.
1.3.6 Diagrama de Comunicao
O Diagrama de Comunicao era conhecido como Diagrama de
Colaborao at a verso 1.5 da UML, tendo seu nome modicado
para Diagrama de Comunicao a partir da verso 2.0. Esse diagrama
est amplamente associado ao Diagrama de Sequncia; na verdade,
um complementa o outro. As informaes mostradas no Diagrama de
Comunicao so, com frequncia, praticamente as mesmas apresen-
tadas no Diagrama de Sequncia, porm com um enfoque diferente,
visto que esse diagrama no se preocupa com a temporalidade do
processo, concentrando-se em como os objetos esto vinculados e
quais mensagens trocam entre si durante o processo. A gura 1.6
apresenta um exemplo de Diagrama de Comunicao.
23
Captulo 1

Introduo UML
Figura 1.6 Exemplo de Diagrama de Comunicao.
1.3.7 Diagrama de Mquina de Estados
O Diagrama de Mquina de Estados era conhecido nas verses
anteriores da linguagem como Diagrama de Grco de Estados ou
simplesmente como Diagrama de Estados, tendo assumido nova no-
menclatura a partir da verso 2. Esse diagrama procura modelar os
estados de uma instncia de uma classe ou os estados de um processo
representado por um Caso de Uso. Embora possa ser usado de forma
independente, um Diagrama de Mquina de Estados pode se basear
em um Caso de Uso e se apoiar no Diagrama de Classes. A gura 1.7
apresenta um exemplo de Diagrama de Mquina de Estados.
UML 2

Guia Prtico
24
Figura 1.7 Exemplo de Diagrama de Mquina de Estados.
1.3.8 Diagrama de Atividade
O Diagrama de Atividade era considerado um caso especial do an-
tigo Diagrama de Grco de Estados, mas, a partir da UML 2.0, esse
diagrama se tornou independente, deixando inclusive de se basear
em mquinas de estados e passando a se basear em Redes de Petri. O
Diagrama de Atividade se preocupa em descrever os passos a serem
percorridos para a concluso de uma atividade especca, muitas
vezes representada por um mtodo ou algoritmo com um certo
grau de complexidade, podendo, no entanto, modelar um processo
completo. Concentra-se na representao do uxo de controle e no
uxo de objeto de uma atividade. A gura 1.8 apresenta um exemplo
desse diagrama.
25
Captulo 1

Introduo UML
Figura 1.8 Exemplo de Diagrama de Atividade.
UML 2

Guia Prtico
26
1.3.9 Diagrama de Viso Geral de Interao
O Diagrama de Viso Geral de Interao uma variao do Diagra-
ma de Atividade que fornece uma viso ampla dentro de um sistema
ou processo de negcio. Esse diagrama passou a existir somente a
partir da UML 2. O Diagrama de Viso Geral de Interao costuma
englobar diversos diagramas de interao, podendo ser de tipos di-
ferentes, para demonstrar um processo geral. A gura 1.9 apresenta
um exemplo desse diagrama.
Figura 1.9 Exemplo de Diagrama de Viso Geral de Interao.
27
Captulo 1

Introduo UML
1.3.10 Diagrama de Componentes
O Diagrama de Componentes est muitas vezes associado lingua-
gem de programao que ser utilizada para desenvolver o sistema
modelado. Esse diagrama representa os componentes do sistema
quando este for ser implementado em termos de mdulos de cdigo-
-fonte, bibliotecas, formulrios, arquivos de ajuda, mdulos execut-
veis etc. e determina como esses componentes estaro estruturados
e interagiro para que o sistema funcione de maneira adequada. O
Diagrama de Componentes pode ser utilizado para modelar, por
exemplo, os arquivos de cdigo-fonte de um software, os mdulos
executveis de um sistema ou a estrutura fsica de um banco de dados.
A gura 1.10 apresenta um exemplo desse diagrama.
Figura 1.10 Exemplo de Diagrama de Componentes.
UML 2

Guia Prtico
28
1.3.11 Diagrama de Implantao
O Diagrama de Implantao determina as necessidades de hardware
do sistema, as caractersticas fsicas como servidores, estaes, topo-
logias e protocolos de comunicao, ou seja, todo o aparato fsico
sobre o qual o sistema dever ser executado. A gura 1.11 apresenta
um exemplo desse diagrama.
Figura 1.11 Exemplo de Diagrama de Implantao.
1.3.12 Diagrama de Pacotes
O Diagrama de Pacotes tem por objetivo representar os subsistemas
englobados por um sistema de forma a determinar as partes que o
compem. Pode ser utilizado de maneira independente ou associado
com outros diagramas. Este diagrama pode ser utilizado tambm
para ajudar a demonstrar a arquitetura de uma linguagem, como
ocorre com a prpria UML. A gura 1.12 apresenta um exemplo desse
diagrama.
29
Captulo 1

Introduo UML
Figura 1.12 Exemplo de Diagrama de Pacotes.
1.3.13 Diagrama de Tempo
O Diagrama de Tempo, ou de Temporizao, descreve a mudana
no estado ou na condio de uma instncia de uma classe ou seu
papel durante um tempo. tipicamente utilizado para demonstrar
a mudana no estado de um objeto no tempo em resposta a eventos
externos. Esse diagrama somente passou a existir a partir da verso
2.0 da linguagem. A gura 1.13 apresenta um exemplo desse diagrama.
Figura 1.13 Exemplo de Diagrama de Tempo.
UML 2

Guia Prtico
30
1.3.14 Diagrama de Perfl
Este o diagrama mais recente da UML e bem mais abstrato que os
anteriores. O diagrama de perl passou a existir ocialmente somente
a partir da UML 2.2, embora o conceito de pers j existisse h muito
mais tempo na UML. Este diagrama fornece um mecanismo leve e
conservador de extenso da UML, por meio da criao de pers que
adaptam a UML a plataformas, tecnologias ou domnios para os quais
a linguagem no foi projetada originalmente. A gura 1.14 apresenta
um exemplo de diagrama de perl.
Figura 1.14 Exemplo de Diagrama de Perl.
1.3.15 Sntese Geral dos Diagramas
Os diagramas da UML 2.0 dividem-se em Diagramas Estruturais
e Diagramas Comportamentais, sendo que esses ltimos possuem
ainda uma subdiviso representada pelos Diagramas de Interao,
conforme pode ser vericado na gura 1.15.
Como podemos observar, os Diagramas Estruturais abrangem
os Diagramas de Classes, de Estrutura Composta, de Objetos, de
Componentes, de Implantao, de Pacote e de Perl, ao passo que os
Diagramas Comportamentais englobam os Diagramas de Casos de
Uso, Atividade, Mquina de Estados, Sequncia, Comunicao, Viso
Geral de Interao e de Tempo, sendo que esses ltimos quatro cor-
respondem aos diagramas da subdiviso de Diagramas de Interao.
31
Captulo 1

Introduo UML
Figura 1.15 Diagramas da UML.
1.4 Ferramentas CASE Baseadas na Linguagem UML
Ferramentas CASE (Computer-Aided Software Engineering ou
Engenharia de Software Auxiliada por Computador) so softwares
que, de alguma maneira, colaboram com a execuo de uma ou mais
atividades realizadas durante o processo de Engenharia de Software.
A maioria das ferramentas CASE atuais, seno todas, suporta a UML,
sendo esta, em geral, uma de suas caractersticas bsicas. Entre as
diversas ferramentas existentes no mercado podemos destacar:

Visual Paradigm for UML ou VP-UML esta ferramenta pode ser


encontrada no site www.visual-paradigm.com/product/vpuml/ e oferece
inclusive uma edio para a comunidade, ou seja, uma verso da
ferramenta que pode ser baixada gratuitamente de sua pgina.
Logicamente, a edio para a comunidade no suporta todos os
servios e as ferramentas disponveis nas verses Standard ou
Professional da ferramenta, no entanto, para quem deseja praticar
a UML, a edio para a comunidade uma boa alternativa, apre-
sentando um ambiente amigvel e de fcil compreenso. Alm
disso, a Visual-Paradigm oferece ainda uma cpia acadmica da
verso Standard para instituies de ensino superior, que podem
consegui-la por meio de uma solicitao na prpria pgina da
empresa. To logo a Visual-Paradigm comprove a veracidade das
UML 2

Guia Prtico
32
informaes fornecidas pela instituio, ela enviar uma licena
de um ano para uso pelos professores e seus alunos. A licena
precisa ser renovada anualmente.

Poseidon for UML esta tambm uma excelente ferramenta


que tambm possui uma edio para a comunidade, apresen-
tando bem menos restries que a edio para a comunidade
da Visual-Paradigm. A interface da Poseidon, porm, sensi-
velmente inferior VP-UML. Uma cpia da Poseidon for UML
pode ser adquirida no site www.gentleware.com.

ArgoUML uma ferramenta um tanto limitada e sua inter-


face no das mais amigveis e intuitivas. Porm ela apresenta
uma caracterstica bastante interessante e atrativa: totalmente
livre. O desenvolvimento da ferramenta ArgoUML constitui-
-se em um projeto acadmico em que os cdigos-fonte dessa
ferramenta podem at mesmo ser baixados e utilizados para
o desenvolvimento de ferramentas comercias, como foi o caso
da Poseidon for UML. Os usurios dessa ferramenta podem
perceber muitas semelhanas entre as duas ferramentas, mas
a Poseidon possui uma interface muito melhor e , em geral,
muito superior ArgoUML. No entanto o projeto de cdigo
aberto ArgoUML pede que quaisquer empresas que utilizarem
seus cdigos como base para uma nova ferramenta disponibili-
zem uma edio para a comunidade gratuitamente. Uma cpia
da ArgoUML pode ser encontrada no site www.argouml.tigris.org.

Enterprise Architect embora a ferramenta Enterprise Ar-


chitect no oferea uma edio para a comunidade como
as anteriores, ela uma das ferramentas que mais oferecem
recursos compatveis com a UML 2, alm de possuir uma
interface excelente e ser fcil de utilizar. Apesar de no dispor
de uma edio para a comunidade, a Sparx Systems, empresa
que produz a Enterprise Architect, disponibiliza no site www.
sparxsystems.com.au uma verso trial, que pode ser utilizada por
cerca de 60 dias. Todos os diagramas apresentados neste livro
foram produzidos por meio dessa ferramenta.