uml - guia de consulta rapida (2001)

51
GUIA DE CONSULTA , RAPIDA Douglas Marcos da Silva

Upload: drichal

Post on 06-Apr-2018

245 views

Category:

Documents


2 download

TRANSCRIPT

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 1/50

G U I A D E

C O N S U L T A,

R A P I D A

Doug las Marcos da S i l va

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 2/50

Guia de Consulta Rapida UML de Douglas Marcos da

Silva ra desse guia 5

Ul;ao 11orienta9ao a·objetos 6

Ob  jeto

Oasse 7

Polimorfismo 8

Heran9a 8

. letodos orientados a objetos 9

u9ao 11UML 10

Origem e evolu9ao da UML 10

Diagramas na UML IO

Diagrama de casos de uso 10Diagramas de intera9ao 11

Diagrama de gnificos de estados 12

Diagrama de atividades 13

Diagrama de classes 13

Diagrama de componentes 14

Diagrama de objetos 14

Diagrama de implanta9ao 15

Como os diagramas se relacionam na UML 15

Prop6sitos da UML 16

oque a UML nao e 16

Onde pode ser utilizada a UML 16

Eleme ntos da UM L .: 17

Bloeos de constru9ao da UML 17

estaticos 18

Classe 18Colabora9ao 18

Caso de usa 18

Componente 19

dinamicos 19

Intera9ao 19

Maquina de estados 19

P.acotes 20

......................................................................................... 20

Relacionamentos 20

Associa9ao 21

Agrega9ao e composi9ao 22

Generaliza9ao 22

Especializa9ao 23

Realiza9ao 23

oem utilizando a UML 24

J.Jodelagem da arquitetura de sistemas 24

A importancia da modelagem 25

Construindo model os 26

~Iodelagem orientada a objetos 27

I)ggrama de casos de usa 27

Alor 28

Varia90es na especifica9ao de casos de usa 28

Erros comuns na especifica9ao de casos de usa 31

Relacionamentos entre casos de usa 32

Arquitet ura de sistem as ori ent ada a casos de uso 34

~Iodelando diagramas de casos de uso 36

Como fazer 37

Todos os direitos reservados. E proibida a reprodugao

desta obra, mesmo parcial, por qualquer processo, sem

previa autorizagao, par escrito, do autor e da Editora.

Novatec Editora Ltda.

Rua Cons. Moreira de Barros 1084 Conj. 01

02018-012 Sao Paulo - SP Brasil

Tel.: (Oxxll) 6959-6529

Fax: (Oxxll) 6950-8869

E-mail: [email protected]

Site: www.novateceditora.com.br

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 3/50

Diagrama de classes 38

Atributos , 41

Operacroes 42

Pre-condicrao 44

Pos-condicrao 45

Operacroesversus metodos 46

Analise de casos de uso 46

Como f azer 49

Diagrama de objetos 50

Estrutura de objetos 50

Diagramas de interac;ao 51

Diagrama de seqUencia 52

Diagrama de colaboracrao 54

Introducraoaos objetos 54

ReaIizando casos de uso 55

Auxilio aos desenvolvedores 56

Como f azer 57

Diagrama de gf lificos de estados .......................•.................. 58

Estados 58

Evento 59

Transicrao 59

Analisando os estados para urn objeto 59

Como f azer 60

Diagrama de atividades 60

Thread condicional 63

Concorrencia dinamica 64

Raia de natacrao 65Diagrama de atividades versus diagramas de interacrao 66

Como fazer 66

Diagrama de componentes 67

Componentes 68

Interf aces 69

Outros tipos de componentes 69

Sistemas base ados em componentes 70

Como f azer 70

Diagrama de implantacrao 71

A UML no ambiente f f sico 71

Uso comum 72

Como fazer 72

Mecanismos de extensibilidade da UML 73

Estereotipos 73

Restricroes 78

Alguns padroes para restricrao 78

OCL (Object Constraint Language) 79

Ferramentas que suportam a UML 80

Rose 80

Visio 80

PowerDesigner 80

Onde obter mais informacroes 80

Versoes da UML 81

Dif erencrasentre as versoes da UML 81

Glossario 84

Obtendo mais informacroes 92

Consulte a UMLBrasil 92

Consulte 0autor , 92

fndice 93

trutura desse guia

o topico lnt r odur ;iio a orient ar;iio a objetos e apresentada

uma visao geral da orientayao a objetos, seus principais

conceitos e os metodos orientados a objetos mais usados

nos ultimos anos.

Em lntrodur;iio a UML e dada uma visao geral sobre todos

os conceitos da UML. Sao apresentados os diagramas da

UM L, os relacionamentos, origem da linguagem, entre

outros assuntos . Recomenda-se a leitura desse capitulopara a formayao de uma base conceitual sobre a UML.

o topico Mod elagem utili zando a U ML , antes de

entrarmos mais detalhadamente nos diagramas da

Iinguagem, apresentam-se uma pequena introduyao amodelagem da arqui tetura de sistemas orientados a objetos

e a importancia da modelagem de sistemas. Em seguida,

e abordado minuciosamente cada diagrama da UML.

Em Ferrament as que supor tam a UML, sac apresentadas

principais ferramentas que suportam a linguagem

, contendo tambem 0site de cada fabricante.

 A pendice sac ressaltadas as principais diferenyas

tre as vers6es da UML, ocorridas ao longo de sua

evoluyao.

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 4/50

Introduc;ao a orientac;ao a objetos

A orientac;iio a objetos surgiu como uma nova forma de

modelar e construir sistemas de sof twares, isto e , organizar

e geriros conhecimentos manipulados e registrados dentro

de uma empresa. No desenvolvimento de urn sistema

orientado a objetos, dados e process os siio organizados e

manipulados por objetos, e niio por programas.

Vantagens da orientaC;iio a objetos :

• Reutilizac;iio dos objetos

Os dados e os processos siio manipulados por objetos,

niio ficando engessados dentro de program as, isto e , os

objetos construfdos podem ser utilizados pordiferentes

sistemas.

• Modularidade

o sistema e formado por objetos e niio por programas,

facilitando 0 trabalho e a manutenc;iio desses objetos

no futuro.

• Utiliza-se dos mesmos conceitos da realidade na

construc;iio de sistemas de sof tware.

A orientac;iio a objetos baseia-se em conceitos da realidade

- objetos, estados e estfmulos - para modelagem e

construc;iio de sistemas de software. Dessa f orma, 0usa

da orientac;iio a objetos se toma mais natural, pois os

conceitos utilizados siio os mesmos que ja conhecemos,

s6 que aplicados nesse casos ao desenvolvimento de

sistemas.

II

Pode ser qualquer coisa na natureza que possua

aracterfsticas e comportamentos.

• mna abstrac;iio de urn conjunto de objetos que possuem

mesmos tipos de caracterfsticas e comportamentos.

s I i :~_''l .:::... ~ -- - -

c.ro de passeio Carroesportivo

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 5/50

Polimorfismo (do grego "muitas formas") refere-se aos

process os que varios objetos podem executar, dado apenas

a solicita~ao de uma unica opera~ao. No ambiente

polim6rf ico, todos os objetos con tern uma mesma

opera~ao, que e implementada por metodos particulares

a cada objeto (a diferen~a entre opera~6es e metodos e

apresentada na pag. 46).

E 0 compartilhamento pelas classes especializadas

(subclasses) dos atributos e opera~6es de classes mais

gerais (superclasse).

Automovel

esportivo

as conceitos da orienta~ao a objetos sao explorados em

mais detalhes no decorrer deste guia.

II

Nos ultimos tempos houve uma grande evolu~ao na

engenharia de sof tware, que pas sou a contar com tecnicas,

como a analise, 0pro jeto estruturado e a Engenharia da

Informa~ao. as metodos orientados a objetos surgiram na

decada de 70, procurando melhorar essas tecnicas.

A seguir sao apresentados resumidamente alguns metodos

que surgiram para a orienta~ao a objetos.M etoda Descri~iio

B ooch C onsis te em tecn icas do desenho o r i en tado a ob je tos. Esse

metodo u til iza -se do desenho de ob j e tos, que servem como

base para a cr iacao dos mO dulosdo s is tema . Esse metodo lo i

criad o por G rady Booch (Ra tiona l So ftw are) .

O MT 0 m e to d o O M T ( O b je ct Model i ng Techn iq u e ) cons i s te na

m od elagem sem a n tica de dad os, suportando os conce ito s

de :• Mode lagem de dados (a tr ibutos e relac ionamentos).

• Ob je tos ( compos i cao e ag regacao).

• H era nca.Esse m e to do lo i c ri ad o p o r Jam es R um bau gh (G E

C or pora tion ).

Os concei tos apresentados antes tam bem sao u ti l izados pe la

UML, e sao deta l hados a pa r t ir da p agina 20 .O O S E 0 m e t o d o O O SE ( O b jec t O r ien t ed So l tw are Eng ineering) ,

consis te n a ana lis e d o s r e q ue r im e n to s d e u m s is t ema

u tiliza ndo casos d e u se, cr iand o cat ego ria s pa ra pessoas e

equ ipa m ent os com que esses casos in teragem . Esse me to do

lo i cr iado por Ivar Jacobs on .as conce ito s ap resentados antes tam bem sao u ti l izados pe la

UML e sao deta lhados a pa r t ir da pag ina 27 .

C oa d IY o u r do n P e t e r C o a d e Ed Y o urdon d i v i d i ram a ana l is e o rien t a d a a

ob je tos em c lasses e ob j e tos . D en tro desse contex to , os

ob je tos sao rel ac ion ados pormeio dos conce itos de agregaca o,

genera lizacaolespec ia lizacao , as sociacoes , c o nexoes e

. m ens a g ens.

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 6/50

Introdu~aoa UML

A Unified Modeling Language (UML) e 0 resultado da

unifica~ao dos metodos Booch, OM T e OOSE, que da

origem a uma linguagem padronizada para a modelagem

de sistemas de sof tware orientados a objetos, sendo

adotada pela industria de software como linguagem-

padrao, e tambem por fornecedores de ferramentas CASE.

Os trabalhos para a cria~ao da UML iniciaram-se em

1994 com Grady Booch da Rational Software (metodo

Booch) e James Rumbaugh (OMT), que combinaram

seus dois metodos mais populares.

V e rs iio A n o P rinc ipais 'a los oco rr idos

U M L 0 .8 1995 L an 9am en to do p rim eiro esbo90 da U M L.UML 0 .9 1996 In tegra9ao de Iva r Jaco b so n ile qu ip e d a

R ation a l S o ftw a re , e se u m etodo O O S E ilexpansao do escopo da U M L ; fo rm a9aode um co nsorcio de em presas , co m 0objet ivo de ap o ia r a de lin i9ao da U M L .

U M L 1.0 1997 A U M L l oi subm etida c om o c and idata a

Ii nguagem -padrao de m ode lage m ilO M G(O b jec t Managem en t G ro up , um a en tidadede padron iza9aoes tabe lec idape la i ndus t r iade sof tware) .

U M L 1 .1 1997 Expansa o do con so rc io form ado p orem presa s pa ra ap o ia r a def in i9ao da UM L ,e ace i ta9ao da U M L pela O M G .

U M L 1.2 199 8 R e v isoes e nova s padron iza90es.

U M L 1.3 199 8 R e v isoes e n ovas padron iza90es .

Diagrama e a representa~ao graf ica de urn con  junto de

elementos do sistema. A UML disponibiliza nove

diagramas que permitem representar diferentes partes do

modelo de urn sistema.

o diagr ama de casas d e usa representa urn conjunto de

atores, casos de uso e os relacionamentos entre eles.

Os diagramas de intera~ao representam colabora~6es

entre ob jetos, para realizarem algum tipo de

comportamento para um sistema.

Os diagramas de intera~ao sao representados por :

• Diagrama de sequencia.

• Diagrama de colabora~ao.

Odiagr ama de seqiiencia da enfase a ordena~ao temporal

em que as mensagens sao trocadas entre os ob jetos de um

sistema. Podemos entender por mensagens, os servi~os

solicitados porum objeto a outro, e asrespostas devolvidas

a essas solicita~6es.

[te rn Estoque]

AtualizarQ

III

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 7/50

Introdu~ao it UML

Diagrama de colabora~ao

Introdu~ao it UML

o diagrama de colaborar;iio da enfase a ordena<;ao

estrutural em que as mensagens sao trocadas entre os

objetos de urn sistema.

Diagrama de atividades

o diagrama de atividades representa a modelagem do

fluxo de controle de uma atividade para uma outra no

sistema. Sao exibidos os estados das atividades e a<;6es,

transi<;6es e objetos.

t 1 : R egistra rO

2 : Ve r if i carO

3: [ te rn Es toqueJ :=A tu a liza r O--;r...

{ Efeluar pedido

(~" Esloque

Diagrama de graficos de estados

o diagrama de graficos de estados representa os estados

possfveis de urn objeto em particular. Sao exibidos os

estados de urn objeto, eventos, transi<;6es e atividades.

Pode ser usado principal mente para a modelagem de

estados de classes e colabora<;6es.

Diagrama de classes

o diagrama de classes representa a estrutura (esqueleto)

de urn sistema, sendo encontrado geralmente na maioria

dos sistemas orientados a objetos. Sao exibidos classes e

seus respectivos relacionamentos.

NotaFiscalPr od ut o I

cod igocod igo

Ina turezaO pe ra ca onome

condica oPa game ntovalo rUnitario i

t ipoPrestSe rv ic o

Ida ta E m issa o

0 ..'1. .- In se rirQ

v alo r ReeuperarQ

R egistrar QExc luirQ

IR ec uper arOAt ua liza rQ

Can eef ar Q I

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 8/50

Introdu~aoit UML

Diagrama de componentes

o diagr ama d e componentes representa urn con junto de

componentes e suas respectivas dependencias, podendo

ter como base de sua constru<;ao os diagramas de classes.

o d iagr ama de objetos representa as instancias das

classes de urn sistema, em determinado ponto no tempo.

c: Cliente

codigo = 145100

Nome = "Joao da Silva"

cont: Contrato

numero = 00125

Natureza Operacao = "Venda"

II

o diagr ama de implantar;iio representa a configura<;ao e

a arquitetura de urn sistema em que estarao ligados seus

respectivos componentes, podendo ser representado

tambem a arquitetura ffsica de hard wares, processadores,

etc. Com 0 diagrama de componentes, representa os

aspectos ffsicos de urn sistema.

(Todos os diagramas apresentados ate aqui serao

explorados com maior riqueza a partir da pag. 24).

Como as diagramas se relacionam naUML

Os diagramas da UML representam diferentes partes do

modelo de urn sistema. No quadro a seguir, edemonstrado

como os diagram as se relacionam, formando toda a

modelagem orientada a objetos.

1 1

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 9/50

A UML nasceu com 0prop6sito dedocumentar, visualizar,

especificar e construir sistemas de software orientados a

objetos.

Prop6sito Descri~ao

Arte l a tos com o r equ isi~ 6 e s d e n eg 6c ios, m odele dearqu ite tu ra , c6d igo -Ion te , m o d e lo de ana lis e , p rot6tipo e

out ros documento s qu e servem de in lorma~ao sob re 0

sistema, podem se r docu m en tado s co m a U M L.

No processo de desenvolvim en tode sis temas de softwar e ,e quase im poss ivel a visua liz a~ao de toda a es tru tura deum softw a re sem 0 use de m ode los que a repr es en te .Dessa lorma, a UML d ispon ibi liza sim bolos gra ficos par aa representa ~ao de a rtel a tos de softw ar e .A UML e u m a I inguagem que aten de a todos osrequ isitos

de especi lica~ao den tro de um processo , de sde a lase deanalise ate a lase de tes tes e implem enta~ao do sistemaconst ru ido.

Na UML e possivel rea l izar um mapeam ento dos modelosgerados, para Iinguagens de programa~ao e a te mesmopara banco de dados re laciona is ou or ientados a objetos .

A UML nao e uma linguagem de programa~ao visual, esim uma linguagem para modelagem visual. Apesar de

oferecer suporte a diversas linguagens de programa~ao, a

UML e uma linguagem para a constru~ao de artef atos de

sof tware que servem para a tomada de decisao quanta it

defini~ao de arquitetura, implementa~ao, etc.

A UML nao e urn processo de desenvolvimento, mas

pode e deve ser aplicado a urn. A UML, como uma

linguagem de modelagem, pode e deve ser aplicada a urn

processo de desenvolvimento de software, assim como

outras linguagens utilizadas para a constru~ao de artef atos

de software. Em Un! contexto de processos, a UML se

prop5e a tratar, em diversos domfnios, diferentes

problemas e em diferentes organiza~5es.

A UML pode ser aplicada a qualquer tipo de sistemas de

software. Por ser uma Iinguagem muito abrangente, ela

pode ser usada tambem para modelar process os de

trabalhos, projetos de har dv'are, etc.

as elementos da UML sao as simbologias e nota~5es que

utilizaremos para construir os modelos orientados a

objetos. Nessecaso, os elementos principais sao os blocos

de constru~ao.

as blocos de const r u~ao da UML sao as materias-primas

utilizadas pelos diagramas para representar partes de urnsistema de sof tware.

Entre os blocos de constru~ao existentes na UML,podemos

observar:

• Itens.

• Relacionamentos.

as itens sao os blocos de constru~ao da modelagem

orientadaa objetos. Existem quatro tipos de itens na

UML. Sao eles:

Tipo Descri~ao

Rep res en tam a es tru tura do m odelo , e lement osconce ituais e fis ico s (c las ses, cola bora ~6e s, casos

de use, et c .).Def inem 0com por tam en to do modele (inte ra~ 5ese es tado s dos objetos) .Sao as par tes organ izac iona is da UM L.

Sao as pa r tes exp licat ivas do m o d e le n a U ML

(com en tar ios e observa~6es de esclarecimentos

no mode lo ).

Pacote s

N ota s

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 10/50

Os itens est aticos representam 0esqueleto e a estrutura

estavel de urn sistema.

Urn componente e a parte fisica de urn sistema. Existem

dif erentes tipos de componentes, como os componentes

COM+ e Java Beans (mais detalhes na pag. 67).

Uma c1asse e urn conjunto de objetos que compartilham

os mesmos atributos, opera~oes e relacionamentos. Erepresentada graficamente como no exemplo a seguir:

N otaFisca l

cod igo

na tu rezaO peracaocond icaoP agam en totip 0P r e s t S e rvi c 0

dataE m issaova lo r

R eg ist ra rOR ecupe ra rOC anc elarO

Os itens d inamicos representam as partes de urn sistema

que possam ter alguma altera~ao. Existem dois tipos

principais de itens dinamicos. Sao eles:

• Intera~ao.

• Maquina de estados.

Representa a realiza~ao dos processos de urn sistema, por

meio da troca de mensagens entre 'os objetos. Pode

envolver mensagens, seqtiencias de a~oes e conexoes

entre os objetos (mais detalhes n a pag. 51).

Uma intera~ao e representada por uma f1echa cheia, como

no exemplo a seguir:

Uma colaboraf(iio e 0nome dado a intera~ao entre duas

ou mais classes, com 0 objetivo de fomecer algum

comportamento cooperativo. Ocorrem por meio da troca

de mensagens entre dois ou mais objetos (mais detalhes

na pag. 54).

Representa urn comportamento que especifica as

seqtiencias de estados pelos quais os objetos passam

durante sua existencia, de a cordo com os eventos

atendidos. No exemplo aseguir, temos urn estado possivel

para 0 objeto "V enda".

Urn caso de uso e urn documento que descreve os cemirios

pretendidos para urn sistema, com 0objetivo de atender

as necessidades do usuario (mais detalhes na pag. 27).

E representado graficamente como no exemplo a seguir:

V e n d a

P e n d e n t e

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 11/50

A S pacotes organizam os modelos criados na UML.

Todos os blocos de constru~ao criados na UML (casos de

uso, classes, componentes, etc.); bem como os diagramas

que tratam desses blocos, podem ser organizados em

pacotes.

Deve-se fazer essa organiza~ao observando a semelhan~a

de cada bloco e diagrama da UML, no que diz respeito a

solu~ao do problema que cada urn esta empregando.

As notas representam comentarios, observa~6es e

esclarecimentos que podem se utilizar para qualquer

elemento da UML. No exemplo a seguir, a representa~ao

de uma nota informando a ultima versao de uma classe.

Ultima

versao : 2.0

as relacionamentos reunem os itens criados na UML.

Existem seis tipos de relacionamentos. Sao eles:

• Associacao.

• Agrega~ao e composi~ao.

• Generaliza~ao.

• Especializa~ao.

• Realiza~ao.

Uma associa~ao descreve relacionamentos entre objetos.

Cada associa~ao tern duas pontas, onde em cad a ponta

esta ligado urn objeto. Por exemplo, poderfamos ter urn

relacionamento de associa~ao entre 0 objeto Cliente na

primeira ponta, e 0objeto AnaliseCredito na outra ponta.

NotaFisc a l

P rodutocod igo A ssocial' aocod igona tu rezaOperacao

1cond icaoPagamento n om e

tipoPrestServico va lo rUnitario

da taEmissao1. . " In serirOva lor 0 .. "

~~~RecuperarO

Re g ist rar O ExcluirO

RecuperarQ M ulti pl ic ida de Atua li za rO

Cancela rQ

E a indica~ao de quantos objetos podem participar dedado relacionamento. No exemplo anterior, pode-se dizer

que 0 objeto NotaFiscal pode ter urn ou mais objetos

Produtos, enquanto esse objeto pode zero ou mais

objetos NotaFiscal.

Na UML, temos basicamente os seguintes tipos de

multiplicidades:

o (zero)

1 (um)

0..1 (zero ou um)

0..* (zero ou mais)

1..* (urn ou mais)

* (muitos)

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 12/50

Introdu~aoit UML

Agregatrao e compositrao

A agrega<;ao e urn tipo de associac;ao na qual 0 todo e

relacionado com suas partes (urn objeto todo contem os

objetos-partes - relacionamento todo/parte). Erepresentada como uma linha de associac;ao com urn

diamante junto a classe agregadora.

PessoaFisica ContaBancaria

dataNascimen to Ban cosexo AgenciaRG ContaCPF tipoContasalario valUmiteestadoCivii tipoEspecial

A compoSlc;ao e urn tipo de relacionamento muito

semelhante a agregac;ao. Em uma composic;ao, 0 objeto~

parte pode pertencer somente ao objeto-todo. A Iem disso,

geralmente 0 objeto-todo vive e mOITecom suas partes,

isto e, acontece uma remoc;ao em cascata. E representadacomo uma linha de associac;ao com urn diamante preto,

 junto a classe agregadora.

PessoaFisica

dataNascimentoClienteReferencia

sexo

RG Nome

CPF Telefone

salario tipoRe ferencia

estadoCivil

Generalizac;ao e a capacidade de se criar supertipos que

encapsulam a estrutura e 0 comportamento comum a

varios subtipos. Os procedimentos para se obter a

generalizac;ao sac:

• Identif icar similaridades de estruturalcomportamento

entre varias classes.

• Criar 0 supertipo para encapsular a estrutura e 0

comportamento comum a mais de uma classe.

• Os objetos originais passam a ser subtipos do novosupertipo criado.

Especializatrao

A especializac;ao e a capacidade de se criar subtipos que

representam ref inamentos nos quais a estrutura e /ou

comportamento do supertipo sac adicionados ou

modificados.

Os procedimentos para obter a especializac;ao sac:

• Perceber que algumas classes apresentam estrutura e/ 

ou comportamento especializado.• Criar subtipos de acordo com sua especializac;ao.

C lion to

cod ig o C lient e

no me Cliente

En do rocoBairro

C id adoCEP

T olo (on0 1T olo(on0 2

P e ss o aF isicad a taN a sc im enta

sex o

R G

CPF

salario

esladoC ivil

Pe ssoaJur idica

C N PJ

ins cricao E stad ua l

ra mo A tivi da dof aturam entoAnual

num Fu nc ion ario s

A realizac;ao e urn relacionamento entre itens, em que urn

item implementa comportamentos especificados por

outros. Pode ser realizado entre interf aces e classes ou

componentes que as realizam; e entre casos de uso e as

colaborac;oes que os realizam. E representado por uma

seta pontilhada, como no exemplo a seguir:

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 13/50

Modelagem utilizando a UML

Modelagem utilizando a UML

Antes dos diagramas da UML serem apresentados urn a

urn em detalhes, sent demonstrado como e dividida a

modelagem de urn sistema orientado a objetos e o'uso da

UML nesse contexto.

A arquitetura de urn sistema representa urn conjunto dosartefatos e elementos que formarao 0sistema. A arquitetura

deve abranger como este sera construido, seus elementos

estruturais e comportamentais, suas colabora~5es, entreoutras.

Construir sistemas de software e uma tare fa que requer a

visualiza~ao da arquitetura desses sistemas sob varias

perspectivas e em diferentes niveis de detalhamento.

Todos os en volvidos na constru~ao de sistemas - gerentes,

analistas, programadores, usuarios finais - necessitam

visualizar a arquitetura de urn sistema sob perspectivas

diferentes, pois a necessidade de entendimento de cadaparticipante nesse processo influenciara seu tra:balho

futuramente quando 0sistema estiver pronto.

Portanto, a arquitetura de urn sistema deve ser visualizada

por meio de cinco vis5es:

V i s a o

Caso de uso

D esc r i 9ao

Essa v isao foca l i za os compor tamentos de um s is tema, Av isao deve ser t r ansparen te pa ra todos os envo lv idos naconstru~ao do sistema -gerentes , anal istas, programad ores,usuar ios f inais.

Diagramas ul i l izados; d iagrama de casos de use, d iagramas

de intera~ao, diagrama de al ividades e de graf icos de estados.

Essa visao focal iza a estrutura (esqueleto) de um sistem a. Av is a o s o b e s s a" pe r spec t iva d emo ns tr a a s c l asses ,

colabora~6es e as inter faces de um sistema em constru~ao.D iag ramas u l il izados : d iag rama de c lasses, d iag ram a de

objetos, d iagrama de intera~ao, d iagrama de at ividades e degraf icos de estados.

II

P ro ce ss o E ss a vis ao fo ca liz a a s q ue st6 es d e d es em p en ho ,e s ca la b il id a de , m e c a ni sm o s d e c o nc o rr en c ia e d e

sincroniza~ao, Diagramas ut i l izados; os mesmos diagramasda visao de projeto.

Implem enta~ao Essa visao focal iza os ar tefatosl isicos para a efet iva mon tagem

do s is tema. Sao abordados com ponentes e ou t ros a rqu ivosque servem para a montagem do s is tema.

Diagramas ut i l izados; d iagrama de componentes, d iagramas

de intera~ao, diagrama de at ividades e de graf icos de estados.Imp la n t a~a o Essa v i sa o fo ca li z a o s no s qu e fo r ma m a t o pol o gi a d e

hardware em que 0 s is tema sera execu tado .Diagramas ut i l izados: d iagrama de implanta~ao, d iagramasde intera~ao, diagrama de at ividades e de graf icos de estados.

Antes de entrarmos mais detalhadamente nos diagramas

da UML, e necessario entendermos a importancia de se

fazer a modelagem dos sistemas de softwares que voce

construira.

Vamos imaginar uma possivel situa~ao. Voce trabalha

para uma grande rede de lojas de departamentos, onde

saG comercializados diversos produtos como

eletroeletr6nicos, eletrodomesticos, informatica e outros.

Essa rede automatizara toda a sua area de concessao de

credito, e foi designado a voce a condu~ao de todo 0

processo de constru~ao de urn sistema que atenda as

necessidades de neg6cios dessa empresa. Esse sistema

sera encarregado de realizar toda a analise de credito dos

cIientes dessas lojas, seguin do uma rigorosa polftica de

credito estabelecida pela diretoria.

Esse sistema deve fomecer informa~5es sobre 0credito

do cIiente, por meio de Orgaos de Prote~ao ao Credito,

realizar analises pelo Credit Score, conferir as informa~5es

pessoais prestadas pelo cliente, enfim, verificar 0

enquadramento do perfil desse cIiente junto as polfticas

de concessao de credito da empresa.

A menos que ja tenha feito diversos sistemas com as

mesmas requisi~5es de neg6cios, voce certamente

precisara fazer urn planejamento antes de come~ar a fazer

a primeira linha de programa~ao.

Nesse caso, voce devera estimar 0tempo necessario para

que esse sistema seja desenvolvido, bem como qual sera

o custo do seu desenvolvimento. Sera preciso estimar

tambem quais serao os recursos humanos envolvidos

nesse processo, bem como 0 custo de cada recurso, suasresponsabilidades, entre outras atividades.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 14/50

Dessa forma, para que tudo saia con forme suas estimati vas

(ou 0mais proximo disso) voce com certeza necessitara

de todos os modelos e esbo~os desse projeto que

demonstrem a complexidade do processo e os riscos

possfveis. Alem disso, voce desejara manter todo 0

processo documentado, pois em manuten~oes futuras

desse sistema e, caso os desenvolvedores iniciais nao

estejam mais presente, vocecertamente nao passaraapuros,

esperando que cada linha de codigo seja decifrada para

que se entenda como 0processo funciona. Voce tambemdesejara que, no proximo sistema que sera desenvolvido,

se possa reutilizar os process os ja criados anteriormente,

sem que seja necessario "reinventar aroda".

Uma das variaveis que farao com que esse processo seja

bem-sucedido e a utiliza~ao da modelagem. Nao quero

atribuirtoda aresponsabilidade do sucesso de urn sistema,

somente pelo fato do uso da modelagem. E evidente que

a escolha de bons profissionais com 0esfor~o em equipe

(e principalmente, 0 apoio de todos os envolvidos nesse

processo) se torna indispensavel para que se atinja 0

objetivo proposto.

Imagine a constru~ao de uma nova casa, urn novo predio

ou ate mesmo urn aviao, sem que seja construfdo primeiro

os seus respectivos modelos. Seria urn erro cuja propor~ao

nao poderfamos estimar. Milhoes de vidas seriam

arriscadas (e certamente perdidas) se nao houvesse

model os em que pudessemos visualizar 0que futuramente

vira a ser realidade, possibilitando a corre~ao de erros

antes que fossem concebidos os produtos finais.

Enfim, construfmos model os para compreendermos

melhor 0sistema que estamos desenvolvendo.

Com a modelagem, podemos alcan~ar:

• A especifica~ao da estn,1tura e do comportamento do

sistema.

A visualiza~ao do sistema como ele e ou como

desejamos que ele seja.

• Documentar todas as decisoes tomadas.

II

Modelagem utilizando a UML

Modelagem orientada a objetos

A visao do desenvolvimento de sistemas nos ultimos

anos, vem adotando uma perspecti va orientada a objetos.

Sob essa perspectiva, 0principal bloco de constru~ao do

sistema e 0objeto.

Nao ha duvidas de que os metodos orientados a objetos

tern consolidado seu uso na constru~ao de sistemas de

diferentes domfnios de problemas, sendo simples ou

complexos.

Urn diagrama de casos de usa representa urn conjunto de

cenarios identificados, que seja util aos usuarios de urn

sistema.

Urn caso de uso descreve cada cenario possfvel para urn

sistema, composto por seqiiencias de passos em que ha

intera~ao entre os usuarios e 0sistema.

Caracterfsticas de urn diagrama de casos de uso:

• Capta 0comportamento desejado para urn sistema, pormeio da analise dos requisitos necessarios para a

constru~ao do sistema.

• Permite enxergar melhor a abrangencia dos requisitos

de urn sistema, pois utiliza-se de recursos grMicos para

estruturar esses requisitos.

• Perrnite documentartodos os requisitos de urn sistema.

• Sua estrutura e extremamente simples, pois os cenarios

sao formados por textos, descritos em uma linguagem

informal, possibilitando 0entendimento nao somente

da equipe tecnica, mas por todos que participam do

processo de desenvolvimento de urn sistema.

• Permite organizar os requisitos, eliminando as

redundancias de informa~oes por meio dos

relacionamentos entre os casos de usa (mais detalhes

na pag. 32).

• Permite identificar os riscos possfveis para a fase de

constru~ao do sistema.

• Pode ser usado em todas as fases no desenvolvimento

de urn sistema, orientando na defini~ao da arquitetura

ate os testes funcionais do sistema.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 15/50

Sao papeis desempenhados por qualquer usmmo de urn

caso de uso, ou seja, 0ator e quem solicita os servic;:os

disponfveis em casos de uso.

Urn ator pode ser :

• Uma pessoa que interage com 0 sistema.

• Urn hardware que interage com 0sistema.

• Urn outro sistema que tenha a necessidade de utilizar

o caso de uso.

Urn caso de uso pode ser especificado de diversas formas,

pois nao ha urn padrao estabelecido para essa atividade.

Foi dividida em duas formas neste guia a maneira de

especificar casos de uso:

• Caso de uso de alto nfveI.

• Caso de uso detalhado.

A especificac;:ao de urn caso de uso de alto nfvel e uma

forma de expressar 0cOJIlportamento pretendido para urn

sistema, sem se aprofundar em seu detalhamento.

Sob uma perspectiva macro, em uma fase em que nao se

tern todas as informac;:oes consolidadas, os casos de uso

de alto nfvel se torn am uma boa opc;:ao para iniciar 0

processo de levantamento das necessidades de urn sistema.

Na maioria das vezes, na fase de alllilise do processo de

desenvolvimento de urn sistema, os participantes nao tern

todas as informac;:oes prontas na "ponta da Ifngua",

principalmente se estivermos falando de sistemas

complexos, em que estejam envolvidas diversas areas da

empresa para definirem os processos.

Desse modo, os processos devem ser discutidos por meio

de reunioes entre os participantes e as areas envolvidas,

para consolidar os process os em levantamento.

~------:2.,Analista de

Credito

Objetivo: manter os clientes da empresa, onde tambem

seriio submetidos a  analise de credito. Os clientes devem

  jornecer injormafoes, como rejerencias pessoais e

comerciais , dados projissionais e pessoais.

  Ator: Analista de credito.

Exernplo de descri~ao de urn caso de uso

Dica: Os casos de uso de alto nfvel podem ser

utilizados com freqiiencia. Use essa tecnica

para fazer 0 levantamento preliminar das

necessidades, sem se a profundar no

detalhamento. Essa tecnica deve serempregada

para se ter uma visao geral de todos os requisitos

do sistema. Dessa forma, serao obtidas as

informac;:oes relevantes para poder mensurar,

porexemplo, os custos en volvidos e os recursos

necessarios na fase de analise de urn sistema.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 16/50

Modelagem utilizando a UML

Caso de uso detalhado

Um caso de uso detalhado (como 0pr6prio nome sugere)

mostra mais detalhes do que um caso de uso de alto nfvel.

Ap6s 0 levantamento inicial dos casos de uso de alto

nfvel, teremos uma visao melhor para decidirmos qual

sera 0 caso de uso, que deve ter prioridade em rela9ao a

um outro, no que diz respeito ao seu detalhamento.

o objetivo desse detalhamento e descrever a seqUencia depassos que deve ocorrer para 0 respectivo caso de usa,

sem a omissao de qualquer informa9ao.

~~

7--------"'---.- // ----- - - - - ~

. . ma ntemClientes~,

Analista de

Credito

Especifica~ao detalhada do caso de uso

mantemClientes 

Objetivo: manter os client es da empresa , onde tambem

seriio submetidos a  analise d e cr edito. Os clientes

devemfomecer informafoes, como refer encias pessoais

e comerciais, dados projissionais e pessoais.

 Ator : Analista de cred ito

 Descrifiio: esse caso de uso come  fa no cadastramento

de uma proposta de jinanciamento pelo Analista d eC redito, que ser a submetida a uma analise de credito.

Passos:

• C omo as primeiras informafoes a serem fomecidas

siio as infor ma f oes sobre 0 cliente, 0 Analista de

C red ito deve entr ar  com os dados pessoais deste ,

como nome do clie;ue , enderefo d e r esidencia, bairro,

cidade. C  E P  , estado, telefone de contato, nome da

empresa, enderefo comercial , cargo que ocupa, saIario

e data de nascimento.

• 0  Analista de C redito deve entrar com os documentos

de apresentafiio obrigat oria, como 0C PF eo RG.

Modelagem utilizando a UML

• Se 0 cliente possuir contas bancar ias , esses dados

deveriio ser fomecidos.

• 0cliente obrigat oriament e d eve apresentar no minimo

duas referencias pessoais ou comerciais , parafuturas

consultas de cr edit o.

• Para toda a manipulafiio dos clientes na base d e

dados, deve ser  validado 0 CPF do cliente e se a

cidade escolhid a e verdad eira.

• Deve ser possivel incluir um novo cliente, sempre que

e xistir uma nova pr o  posta d e jinanciamento.

• Deve ser possivel alterar os dados do client e, com 0

objetivo de atuali zafiio cadastral.

• Deve ser possivel excluir  0 cliente cadastrado, caso

haja desistencia da proposta de cr ed ito.

• Deve ser possivel consultar os dados d o clientes , onde

o Analist a de Credito devera in for mar  0 CPF ou 0

c6d igo do client e  , podendo consult ar t odos os dados

deste.

Erros comuns na especifica~aode casos de uso

C~mo ja foi dito, um caso de uso descreve cenarios

pretendidos para urn sistema. Um erro bem comum no

infcio desta atividade, e confundir um passo de certo

cenario com 0pr6prio cenario.

C)

 Descri  fiio: esse caso de uso se inicia quando 0analista

de cred ito necessita cadast r ar as r efer encias pessoais

d o client e, que seriio validadas ao longo do pr ocesso

da analise de cred ito ...

o exemplo apresentado refere-se a uma atividade do caso

de uso mantemClientes , e nao a um cenario, ou seja, a

atividade de manter as referencias do cIiente faz parte do

processo de manter os clientes (caso de uso

mantemClientes).

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 17/50

Modelagem utilizando a UML

Relacionamentos entre casos de uso

Voce pode organizar os casos de uso por meio de

relacionamentos. A UML disponibiliza tres tipos para

casos de uso. Sao eles:

A generaliza~iio e urn relacionamento de generaliza<;aa/ 

especializa<;ao em que toda a estrutura do caso de usa

generalizado e herdada pelos casos de uso especializados.

o

analisaCreditoPessoa Fisica

analisaCreditoPessoa Juridica

ocaso de uso analisaCredito (supertipo) con tern cemirios

comuns entre os casos de uso analisaCredito PessoaFisica

e analisaCredito PessoaJuridica (subtipos).

Os subtipos, por sua vez, contem cemirios mais

especializado, particular a cada urn deles.

Portanto, os cemirios comuns a mais de urn caso de usa e

captado em urn caso de uso generalizado, que e herdado

por outros casos de uso mais especializados. Dessa forma,

alem de reduzir a duplicidade dos requisitos entre os

casos de uso, as informa<;6es sao organizadas, 0que tende

a deixar 0processo mais claro.

No relacionamento de inclusiio (include), 0cemmo comum

a mais de urn caso de uso senicaptado em urn outro caso

de uso, ou seja, esse servi<;o estara concentrado em urn

caso de usa base, para que outros casos de uso utilizem-

se desse servi<;o. Dessa forma, evita-se descrever uma

mesma seqUencia de passos a varios casas de uso,

concentrando essa seqUencia em urn caso de uso publico.

No proximo exemplo, ambos os casos de uso

mantemCreditScore e 0 mantemAprovacaoUsuario,

tinham em comum os passos relacionados ao controle das

informa<;6es pelo Log, que consiste em documentar as

a<;6esrealizadas pelos usuarios durante a intera<;ao cam 0

sistema.

Utilizamos 0 estereotipo «include» para expressar

esse tipo de relacionamento (para saber mais sabre

estereotipas, ver pag. 73).

;(l' ''''' \

d 6mantemCredilSs. man~~~~~~acao

• • '" ,"0 0» ~ . ' " "~ • • •

m antem 8aseLo g

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 18/50

Modelagem utilizando a UML

Extensao

o relacionamento de extenSGO (extend) e usado para

descrever cemirios opcionais de urn caso de uso. Os casos

de uso descrevem cemirios que sempre acontecerao no

sistema,jaos casos de uso estendidos, descrevem cenarios

que somente ocorrerao em uma situa~ao especffica.

Utilizamos 0 estere6tipo «extend» para expressar

esse tipo de relacionamento.

Observa~ao: com esses relacionamentos,

podemos melhorar a forma como asinforma~6es sao organizadas por meio dos

casos de usa, com 0objetivo de entendermos

melhor a necessidade dos usuarios de urn

sistema.

Arquitetura de sistemas orientada a casos de

uso

Do ponto de vista de urn processo de desenvol vimento de

software, considero os casos de uso como 0 principal

artefato de uma arquitetura de sistemas bem planejada.

Utilize-se sempre desse recurso para planejar a arquitetura

de urn sistema.

II

Modelagem utilizando a UML

Descrevendo uma situac;ao no mundo real

Vamos imaginar (agora como clientes) a realiza~ao da

compra de urn veiculo.

Ap6s varios anos, voce finalmente realizara 0tao esperado

sonho - a compra daquele maravilhoso autom6vel, cujo

dinheiro voce guardou na antiga cademeta de poupan~a

durante anos. Pois bern, voce se dirige a uma

concessionaria de sua preferencia, e logo e avistado por

urn vendedor. Voce entao come~a a descrever 0 modelo

do autom6vel que deseja:

Cor vermelha, quatro portas, bancos de couro, ar

condicionado, dire~ao hidraulica, freios ABS, regulagem

da altura dos bancos, air-bag, etc. Baseado em seus

requisitos, 0vendedor consulta 0estoque dos acess6rios

que voce solicitou. Se houver todos os acess6rios

disponiveis em estoque (vamos imaginar que ha), 0

vendedor the informara 0 pre~o final do veiculo e,

provavelmente, 0 dia da entrega. Tudo muito born, nao ?

No dia da entrega do veiculo, voce se dirije aconcessionaria, e aguarda a saida do ve1culo. Ap6s sairem

da concessionaria, naquele calor de mais de 30°, voce

resolve ligar 0ar-condicionado. Mas, ao apertar 0botao,

nada acontece. Voce entao chega a conclusao de que

realmente 0 autom6vel comprado nao funciona como

deveria. Agora vamos traduzir tudo isso para 0 mundo

dos softwares.

M u n d o r e a l

Requ i s i t os do ve i cu lo : cor v erm elha ,a r -eond i c i onado ,a i r - bag , q u a l r o p o r t a s .

P r o du t o e n t r e g ue : co r ve rm e lha , se m

a r - e o n d ici o n a d o ,a i r-b a g , qu a l r o p o r t a s .A r q u i te t u r a n i io o r ie n t a d a a c a s o

de u s o

Foi demonstrado com 0 exemplo apresentado, urn

problema muito comum no processo de desenvolvimento

de software. Quando a arquitetura de urn sistema e definida,

algumas informa~6es sao perdidas ao longo do processo

de desenvolvimento quando essa mesma arquitetura nao

e construida pelas necessidades reais do sistema. Parece

muito 6bvio que urn sistema deva ser construido de

acordo com 0 solicitado. Mas, muitas vezes, 0que nos

parece urn simples detalhe pode ter, e com certeza tera

para 0 usuario final, grande importancia.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 19/50

Modelagem utilizando a UML

Os casos de uso devem ser detalhados ate os ultimos

pass os a serem realizados. Nao economize nas descri~6es

de como e realizado urn caso de uso.

Por exempIo, na fase de constru~ao, os casos de uso

ajudarao na defini~ao da arquitetura de dados, bem como

a arquitetura dos objetos, que serao os responsaveis por

sua reaIiza~ao.

Na fase de testes do sistema, os casos de uso seraoutilizados para validar se 0 que foi construfdo esta de

acordo com 0 que foi especificado.

Os diagramas de casos de uso tern porobjetivo especificar,

visualizar e documentar 0comportamento que cada parte

do sistema deve ter.

Os diagramas de casos de uso apresentam em sua estrutura,

principaImente os tres itens a seguir:

• Casos de uso.

• Atores.

• Relacionamentos.

Com os diagramas de casos de uso e possfvel visualizar

quais serao os servi~os oferecidos pelo sistema.

ConseqUentemente, esses servi~os representam algum

tipo de valor para cada ator que interage com esses casos

de uso.

Alem de especificar, visualizar e documentar as

funcionalidades do sistema, os diagramas de casos de uso

podem ser utilizados para:

• VisuaIizar as funcionalidades do sistema, sob umaperspectiva extema a este.

• Servir como base de informa~6es para a gera~ao das

classes (analisando 0contexto de cada caso de uso),

coIabora~6es (trocas de mensagens entre os objetos) e

os pr6prios objetos.

Modelagem utilizando a UML

J --- <)solic ita Pro pos tade F inanciamento

l   /analise Credito"

sf  6 ~ro

CreditScore analisaValor Chente

Financiam ento

Como fazer

• Identifique os possfveis atores que comporao 0

diagrama e fa~a uma listagem, atribuindo os papeis que

cada urn deve desempenhar.

Identifique os cenarios do sistema, considerando qual

comportamento 0sistema deve ter, e 0represente por

meio dos casos de uso.

• Paracada caso de uso, identifique e descreva a seqUencia

de passos.

• Preencha 0diagrama de casos de uso com esses atores,mostrando 0relacionamento existente com esses casos.

• Organize os diagramas de casos de uso em pacotes,

agrupando tais diagramas pelo tipo de cenario que

cada urn esta empregando.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 20/50

o diagrama de classes representa 0modelo da estrutura

de urn sistema orientado a ob jetos. Esse tipo de diagrama

eo centro dos principais conceitos da modelagem orientada

a objetos.

Caracteristicas de urn diagrama de classes:

• Permite visualizar 0modelo da estrutura de urn sistema.

• E urn dos diagramas mais utilizados na modelagem

orientada a objetos.

• Demonstra as classes, os relacionamentos (agregac;ao,

composic;ao, generalizac;ao, etc.) e as colaborac;6es.

As c la sses repre s entam  os blocos de construc;ao utilizados

nesse diagrama. Imaginando no mundo real e utilizando-

se do exemplo de urn vef culo, os blocos de construc;ao

seriam as portas do vefculo, as dobradic;as, as mac;anetas,

enf im, todos os objetos que interagirao de alguma forma

para executarem urn comportamento dese jado (no caso

de vefculo, por exemplo, mover-se).

Os r e la c i o n ame ntos, por sua vez', inf orm am em urn

modelo de diagrama de classes como essas classes estarao

de alguma f orma ligadas (associadas) para atender as

responsabilidades que lhes foram atribufdas. Sera tambem

tare fa dos relacionamentos demonstrar os papeis de cada

classe. Os relacionamentos demons tram, por exemplo, a

imporrnnciade cada classe relacionadaa urn modelo quando

for utilizado 0relacionamento do tipo agre g a f QO , em que

serao demonstradas a classe superior e suas agregadas.

Por exemplo, as portas do vefculo estarao ligadas por

meio das dobradic;as, com a responsabilidade de cumprir

urn comportamento quando acionadas. Mas, qual a

importancia das portas e das dobradic;as nesse prbcesso?

As portas estao disponfveis para realizar a func;ao de dar

aces so ao interior do vefculo. As dobradic;as auxiliarao as

portas nesse processo, girando-se e fazendo com que a

porta f ac;amovimentos, permitindo assim a execuc;ao do

comportamento "abrir". Assim, a porta, alem desse

comportamento, deve realizar outros, como destravar-se

e abrir os vidros. As dobradic;as somente estao ali para

realizar 0comportamento de girar-se. Logo, as dobradic;as

sao agregadas da porta, pois sem as portas, as dobradic;as

nao teriam sentido para estar ali.

II

As c ol abo r afoes  representam a f orma como as classes

interagirao para executar urn comportamento cooperati yo.

Clienle

codigoClienle

nomeCli enle

EnderecoBairroCidadeCEPTelefone1

Te lefo ne2

i f I I

Pe ssoaFlsica PessoaJuridica

dalaNascime nlo CNPJ

sexo inscricaoE sladual

RG ramoAlivldade

CP F falu ra m en loA n u aI

salatio numF uncionarios

esladoCivii

~

Cl ienleReferencia

No me

Telef onelipoReferenc ia

PIOpO!i1a

codigoProposla&od igolo ja

P ro ou toValorf mantlamenlo

Vi llor Entrada

. " ""Data

polltiUCredilo'·

codl llOPolitlcaC redi to

idad lJMinimavalorM inimoFinanciamenlo

1 wlof ~'aldmoFlnanciarrientovalo rRendaJ ri(in ima .c re d:! iicor e lrl l:inim o

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 21/50

Modelagem utilizando a UML

Mapeamento para Iinguagens de programa~ao

Existem ferramentas que ofere cern suporte para 0

mapeamento das classes criadas por meio da UML, para

as linguagens de programac;;aoorientadas a objetos. Apesar

desse recurso, a UML e independente de qualquer

linguagem de programac;;ao. Dessa forma, podemos

representar os modelos na UML sem que obrigatoriamente

tenhamos de atender a padr6es de uma linguagem de

programac;;ao especffica.

Classe Cliente

  / /Source f i le : c : /C l ien te . ja va

pub l i c c l a s s C l i e n t e

p r i va t e i n t cod i goC l ie n t e ;

p r i v a te S t r i n g nom eC l i e n t e ;

p r i v a te S t r i n g Ende r eco ;

p r i v a te S t r i n g Ba i r r o ;

p r i v a te S t r i n g C i d a de ;

p r i v a t e S t r i n g CEP ;

p r i v a te S t r i n g T e l e f one1 ;

p r i v a te S t r i n g T e le fone2 ;

pub l ic C l ien te { )

Voce deve utilizar os diagramas de classes para visualizar

a arquitetura de urn sistema dentro das seguintes formas:

Visualizar as classes de urn sistema, seus

relacionamentos e colabora~oes

Nessa forma e possfvel visualizar quais san as classes que

formarao 0 sistema, bem como os relacionamentos

existentes entre elas e suas colaborac;;6es. Nesse tipo de

visualizac;;ao, 0 mais importante e a possibilidade de

identificar qual e 0tamanho da estrutura de classes que 0

sistema deve ter, e principal mente os tipos de

relacionamento existentes entre as classes.

II

Nessa forma voce podeni identificar, por exemplo, se foi

atribufda a uma classe muitas responsabilidades que foi

atribufda a uma outra. Isso pode ser urn problema

f uturamente para 0sistema, visto que as classes precisam

ser estruturadas dentro de uma harmonia, em que as

responsabilidades de cada classe devem ser equilibradas.

Por meio dos diagramas de classes, voce podeni fazer a

transic;;aodas classes que serao persistidas em banco de

dados, para modelos 16gicos de banco de dados.

No capftulo anterior, discutimos os diagramas de casos de

uso. Essa in vestigac;;ao realizada para cap tar 0

comportamento de urn sistema e a base de toda a formac;;ao

dos outros diagram as na UML.

A descoberta dessas abstrac;;6es do sistema representa

atribuir a realizac;;aode cada caso de uso a elas. Portanto,usaremos no decorrer desse capftulo novos exemplos de

casos de uso e os usados no capftulo anterior, paramostrar

que com a amilise dos casos de uso e possfvel descobrir

quais as classes responsaveis por sua implementac;;ao (dos

casos de uso).

Atributo e uma propriedade de classe. Representa as

caracterfsticas pr6prias de uma abstrac;;ao. Urn atributo

representa algum tipo de propriedade da classe que esta

sendo modelada.

cod igo C l ien ten b lY ie C l ien te ·

idad esexo, .

III

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 22/50

Modelagem utilizando a UML

Voce ainda pode representar os atributos, com seu tipo e

valor inicial padrao, como mostra a f igura a seguir:

Cliente

codigoCliente : char = 1nomeCliehte : char

idade : int

sexo:int

As opera~6es SaDprocess os ou servi~os realizados par

uma classe, e disponibilizadas para usa de outras classes

em urn sistema.

Uma opera~ao e disparada a partir de urn evento gerada

para 0sistema. As opera~6es, com os atributos de uma

classe, executam as responsabilidades atribufdas a uma

classe.

consultarQinser irO .

atualizarQ8xcluirO .

Voce ainda pode representar as opera~6es, def inindo a

visibilidade, parametros a serem enviados, etc.

c6nsu ltar(codigoCliente :..int )iriserirO . .. . . ..

atllalizarO

exduirQ .

II

A visibilidade e urn item importante para a especif ica~ao

de atributos e opera~5es de uma classe. A visibilidade

especifica se urn atributo ou opera~ao pode ser utilizada

par outras classes. A UML oferece tres tipos de visibilidade

para essa especifica~ao. Sao elas:

r a p a Sfmb olo Descri~ao

o elemento pode ser utilizado peloob jeto no qual ele perlence e por

qualquer objeto cliente.

o elemento pode ser utilizadosomente pelo proprio objeto aoqual ele perlence, ou se existirem ,

pelas suas subclasses.

o elemento pode ser utilizadosomente pelo ob jeto ao qual ele

perlence.

Cliente

# codigoC liente

# nomeCliente

# Endereco

# Bairro

# Cida de

# CE P

+ Tel efone1

+ Telefo ne2

- consultar(codigoCliente : int)

- inserirO

- atualizarO

- excluirO

As responsabilidades SaDas obriga~6es que uma classe

deve cumprir, por meio de seus atributos (caracterfsticas)

e suas opera~6es (comportamentos).

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 23/50

Modelagem utilizando a UML

o exemplo demonstrado nesse guia, e a capta~ao dessas

responsabilidades por meio da amilise de casos de uso.

Observa~ao: tive algumas experiencias na

defini~ao de classes em que nao foi utilizada a

analise de casos de uso. Nao deram muito

certo. Prefiro 0uso da tecnica de analise de

casos de uso, apesar da existencia de outras,

como, por exemplo, 0 uso da tecnica dos

cartoes CRC (Class - Responsability -

Collaboration).

Uma classe pode ter qualquer numero de atributos e

opera~oes. Na pratica, uma classe bem estruturada deve

contersomente os atributos e opera~6es que dizem respeito

aelamesma.

Nao e possivel precisar urn numero certo de atributos e

opera~6es que uma classe deve ter. Tente equilibrar a

estrutura de suas classes de tal forma que seja possivel

atingir seu proposito: atender as responsabilidades que

lhe foram atribuidas.

Uma pre-condir;fio  e algo que necessita ocorrer antes da

execu~ao de uma opera~ao. Isso significa que 0sucesso

da execu~ao de uma opera~ao esta condicionado ao

atendimento a umaou mais pre-condi~6es. A defini~ao de

uma pre-condi~ao deixa explicito que a responsabilidade

de seu atendimento fica para 0chamador da opera~ao.

Isso ajuda muito quando estamos falando de opera~6escomplexas, pois essa divisao de responsabilidades -

chamador I executor - reduz a complexidade no momenta

em queestarnos escrevendo 0quedeve fazer essas opera~oes.

II

Uma pos-condir;fio  e 0resultado que uma opera~ao deve

produzir apos 0termino de sua execu~ao. Ao definir uma

pos-condi~ao, voce implicitamente ja esta definindo qual

eo resultado obtido apos 0termino da execu~ao de uma

opera~ao.

A especifica~ao de pre-condi~ao e pos-condi~ao para as

opera~6es do sistema san as informa~6es necessarias queos chamadores dessas opera~6es precisam saber sobre

elas, ou seja, 0 chamador tern conhecimento do que a

opera~ao necessita para ser executada (pre-condi~ao) e

do resultado obtido apos sua execu~ao (pos-condi~ao).

Da defini~ao de pre-condi~6es e de pos-condi~6es,

podemos ter tambem as exce~6es. As exce96es ocorrem

quando as pre-condi~6es foram atendidas, mas isso nao

sera verdadeiro para as pos-condi~6es.

. AnaliseCredito..

ObterCreditScoreO

Nome da opera~ao: ObterCreditScoreResponsabilidade: obtem a pontuayao atingida para urn

c1iente, de acordo com os dados desse c1iente e da

politica de credito definida

Pre-condi~ao: deve ser inf ormado qual e 0 cliente

P6$-condi~ao: a pontuayao f oi obtida, inf ormando essa

pontuayao ao chamador da operayao.Exce~ao: senao f orem encontrados os dados necessarios

para a obteyao da pontuayao, retornar urn erro

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 24/50

Modelagem utilizando a UML

O perac;oes versus  metod os

Apesarde muitas pessoas utilizarem opera~6es e metodo

como sinonimos para algumas linguagens de programa~ao,

na VML existe uma distin~ao entre os dois termos. Vma

opera~ao e urn procedimento de chamada em urn objeto,

enquanto urn metoda e 0 que implementa esse

procedimento de chamada. Podemos ver essa distin~ao

entre os dois termos, quando falamos em polimorf ismo.

Por exemplo, quando temos urn supertipo com doissubtipos, em que cada subtipo subrescreve a opera~ao

"Salvar" do supertipo, temos uma opera~ao e dois metodos

dif erentes que a implementam (uma para cada subtipo).

Vamos utilizar neste exemplo 0 mesmo caso de uso

apresentado no t6pico Diagrama d e casos d e uso.

_________0

~. m"lemCII"""

Analista de

Credito

Objetivo: manter os clientes da empr esa, onde t ambem

serao submet idos a analise de cr ed ito. Os client es

devem f ornecer in f ormar ;i'   Jescomo referencias pessoais

e comerciais , dad os pr o fissionais e dados pessoais.

 Ator  : Analist a d e credito

 Descrir;ao: esse caso de uso comer;a no cad astrament o

de uma proposta de financiament o pelo Analista d e

Cr edito, que sera submetida a uma analise de credito.

Passos:

• C omo as primeiras in formar ;i'Jes a ser em f ornecidas

Sa D as inf ormar;i'Jes sobr e 0 cliente , 0 Analista d e

Cr edit o d eve ent rar com os dad os pessoais d o cliente,

como 0nome completo, end erer ;o de residencia, bairr o,

cidad e, CEP , Estad o, telefone de contat o, nome daempresa, ender er ;o comer cial  , car go que ocupa, saldrio

e data de nasciment o.

II

• 0 Analista de Cr edit o d eve ent r ar  com os document os

de apr esent ar;ao obr igat6 r ia, como 0CPF  eo RG.

• Se 0 client e possuir  contas bancarias, esses dados

d ever ao ser fornecidos.

• 0client e obr igator iamente deve a pr esent ar no minimo

duas r e f er encias pessoais ou comerciais, para f utur as

consultas de cred ito.

• Para toda mani pular ;ao dos clientes na base d e d ados ,

deve ser  validad o 0 CPF  do client e e se a cid ade

escolhid a e verdadeir a.

• Deve ser possivel incluir  um novo cliente  , sempr e que

exist ir uma nova pr o posta de financiament o.

• Deve ser possivel alt  er ar  os dad os do cliente, com 0

objet ivo de at uali zar ;ao cad astral.

• Deve ser possivel excluir  0 cliente cadastrado, caso

haja desistencia da proposta d  e cr edito.

• Deve ser possivel consult ar os dados do clientes , ond e

o Analista de Cr ed it o d ever a informar  0CPF ou 0

c6 d igo do client e, podend o consultar todos os dados

d este.

Vamos analisar:

O b je tos do caso de uso

Client es

N o me d o c lien te

En der eyo de res idencia

Bairro

CidadeVal idar a c idade

C EP

Estado

Te le fone de con tat oN o me d a em presa

Endereyo comercia l

Cargo

Salario

Da ta de nasc imento

C PF

R GV a li da r o C P F

Conta bancar ia

referencias

al terar os dados do cl iente

exclu ir 0 cl ien teInclu ir urn novo c1 ien te

consultar os dad os dos cl ien tes

C PF

Caracter is t ica

Cand ida ta a c1a sse

Atribut o do c1 ien te

Atri but o do c1 ien te

Atri buto do clie n te

C andidata a c lasse

C o mpo rta m ent o d ese jad o

Atri but o do cl ie nt e

Atribu to do clie nt e

Atr ibuto do cl ie nt eAtributo do cl ienteAtributo do cl iente

Atributo do cl iente

Atribu to do c liente

At ribu to do c1 iente

Atr ibuto do cl iente

At ribu to do c liente

Compor tamento dese jado

Candidata a classeCand idata a classe

Compor tamento dese jad o

Compor tamento dese jad o

Compor tamento dese jado

Compor tamento desejado

Atribu to do c lien te e candidato a chave depesqui saAt ributo do cl ient e e cand ida to a c have de

pesquisa

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 25/50

Modelagem utilizando a UML

Estabelecendo as classes do domlnio

Vamos primeiramente listar as classes identif icadas nesta

analise de caso de uso.

ClienteReferenC ia

ClienteCon taBancaria

Vamos agora identificar para cada classe descoberta, os

seus atributos e os respectivos relacionamentos e

multiplicidades.

Clientes'Cl ien leRe f e renc ia

N omeco dig oCliente

.'. / Te lef o ne

n om C lie n te . : .>1.- .

Ipo R ef e ren cia , _. "cp r ..··· ..R C ) > 1

d at a N a sC im en lc ili paSe xo·· ...

norneE~presa ::: : C lien t eC on ta B a n ca r iat~mpoServico ):

~ cp digo Ba nco .ca ~go::::.... .<::: ':< codigoAgen~ia

sa lario.:···;:: " . < . : : < co digoConta 't!pEn dCq~ranc~ : 0.," va lLi m ite ·

npo~special..

1

L'

C lienteEndereco

Er idere CO ·'Com pl emento .., ·Ci dil de

B a ir i 'o ' :' :' codigoC ida de ,. ,CEp ·., . N om eC .i dada::E$i.d~ '· 1.. 1t e i ~ f o n e :" . .: .. . .. . . .'li po Eiidereci l

Modelagem utilizando a UML

Algumas classes como ClienteContaBancaria e

ClienteReferencia, por exemplo, nao tern especificados

no caso de uso quais saD os seus atributos. Dessa forma,

os atributos citados nessas classes sao apenas sugest6es.

Em urn caso de uso real, esses atributos deveriam estar

especificados em caso de uso (nao se esque~a).

Observa~ao: criamos 0 diagrama de classes

apresentado, baseado na analise de casos de

uso. Vamos modelar os comportamentos

identif icados nessa f ase, no t6pico Diagramas

de lnterat ;ao.

Como fazer

• Identifique as classes que farao parte da estrutura do

sistema, par meio da analise de casos de uso.

• Identifique as caracterf sticas para cada classe.

• Fa~a com que as classes nao sejam sobrecarregadas

com muitas responsabilidades. Distribua as

responsabilidades harmonicamente, visando manter

urn equillbrio em toda a estrutura do sistema.

• Junte todas as classes descobertas para 0sistema e as

coloque em diagramas de classes. Estabele~a os

relacionamentos que devem existir entre as classes,

explicitando a importancia e a fun~ao de cada classe no

modelo.

• Detalhe a estrutura de cada classe e dos diagramas de

classes, definindo 0 tipo de cada atributo e a

multiplicidade nos relacionamentos entre as classes.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 26/50

o diagrama de objetos representa a modelagem de

instancias das classes de urn sistema em determinado

ponto e momenta de execu<;ao.

o diagrama de objetos pode ser considerado uma varia<;ao

do diagrama de classes, pois se utiliza de quase todas as

suas nota<;6es. 0 objetivo do diagrama de ob jetos e

mostrar as instancias das classes de urn sistema emdeterminado momenta de execu<;ao desse sistema.

Nesse caso, os objetos saGdif erenciados de suas classes

por terem seus nomes sublinhados. Cada ob jeto tern 0

nome na seguinte forma: nome d a instancia : nome da

classe. Apesar de nao s e r tao importante quanta urn

diagrama de c1asse, 0diagrama de objetos pode a juda-Io

na compreensao de diagramas complexos que nao estejarn

muito c1aros.

~co d lg o Pro pos ta = 102 310 1

codlgolo ja = 10

Pf odU f O=l D479 S89

V aJ o rF ina nc iam en lo = 1 .50 0 ,00Val Of E nttada = 50 0,00

Pr a zo > ::5

ValO f'P arcela = 2 90, 0 0

Oa t; = 0510212001

IP O IC red lto :P oli ti caC redito

cod lgoP o litlca C fe d ito = 1ida de M inima,.lS

lorM lnlmo Flm lO cla me nlo = 20 0,00

alorM ax im o Financiame nlo = 2.000,00ralorRendaM inlma = 500,00

c r ed itS co re M ini m o = 25

codlgOAnallse=lDO

Data= 05 lO2J2001

H o ra = 02 :2 5 P M

R esponsav el = MaliaR e sul tad o = A prov a do

I

Sco re :An aliseCred itsc o re

cr edltS coleC llenle = 35c re d itS co re M in im o = 25

Data"0 5f02J2001

s ta tu s = A provad o

I Renda:AtlaliseRenda

valO iRen d aln fo r ma da = 1 .000,00va lolR e n da M in ima,. 500 ,0 0

Oala=05J02120 0t

Sla lu s = A + l rova do

Os diagramas de objetos saG utilizados tipicamente na

modelagem de estruturas de objetos, para mostrar os

objetos de urn sistema funcionando em determinado

ponto no tempo.

Os diagramas de intera<;ao - formados pelos diagram as

de seqUencia e diagramas de colabora<;ao - representam

a dinarnica de urn sistema. Os diagramas de intera<;ao

mostram como os ob jetos colaboram entre si para a

realiza<;ao de urn cornportarnento.

Os objetos colaboram entre si a partirdaintera<;ao existente

entre os atores e 0 sistema. A partir dos eventos geradospelos atores, havera de ter opera<;6es em resposta a esses

eventos, ou se ja, 0evento e urn estfmulo gerado pelo ator

no sistema, e as opera<;6es SaGas respostas a esse estfmulo.

Porexemplo, quando 0ator solicitar ao sistema a inser<;ao

de urn novo c1iente, entre outras coisas, 0 sistema deve

validar se 0CPF informado pelo c1iente e verdadeiro. Por

tras do evento "inserir novo c1iente", 0 sistema devera

executar uma opera<;ao para satisfazer 0even to gerado,

podendo ser uma opera<;ao chamada ValidarCPF ().

Utilize-se dos diagram as de intera<;ao para mostrar como

os objetos colaboram entre si para a realiza<;ao dos

cornportamentos identif icados na analise de casos de uso.

Caracterf sticas dos diagramas de intera<;ao:

• Representam a dinamica entre os objetos, para

realizarem comportarnentos descobertos a partir dos

casos de uso.

• Representam as colabora<;6es entre objetos para cada

comportamento de urn sistema.

Of erece simplicidade de visualiza<;ao, pois as

colabora<;6es entre os objetos acontecem por meio da

troca de mensagens, que podem ser vistas se foremobservados os diagramas.

• Disponibiliza dois tipos de diagramas para

representarem as intera<;6es de urn sistema.

Os diagram as d e seqiiencia dao enfase a ordena<;ao

seqUencial em que os comportamentos acontecem,

enquanto os diagramas de colabor at ;ao dao enfase aordena<;ao estrutural dos objetos que colaboram entre si.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 27/50

Modelagem utilizando a UML

Diagrama de sequencia versus  diagrama de

colaboral;ao

o diagrama de seqUencia e 0diagram a de colabora<;ao

mostram os mesmos aspectos de urn modelo, apenas

diferenciando como essas informa<;6es saG projetadas.

Isso querdizerque os doisdiagramas saGsemanticamente

equivalentes, podendo usar urn ou 0outro para visualizar

modelos sob uma perspectiva dinamica.

 / ObJetO$~

I QlliJti I I ~

As linhas verticais nos diagramas de seqUenciasaGchamadas

de linha de vida, e representam a vida do objeto durante umaintera<;ao(por isso, ha uma Iinha para cada objeto).

o foco de controle tern urn importante papel nos diagramas

de seqUencia, indicando 0perfodo de dura<;aopelo qual os

objetos esmo cooperando para realizar urn comportamento.

Mensagem

Uma me(sagem e representada por uma fIecha entre dois

objetos. A mensagem e representada na posi<;aohorizontalentre as Iinhas de vida dos objetos, e sua ordem edemon strada de cima para baixo no diagrama.

Uma condi~iio indica quando uma mensagem e enviada

a urn objeto, desde que essa condi<;ao seja verdadeira.

Urn marcador de intera~ao demonstra quantas vezes

uma mensagem e enviada a urn objeto. Isso se torna util

quando queremos demonstrar urn processamento em que

hli mais de uma informa<;ao a ser processada. Pode ser

demon strada com urn asterisco (*).

Uma mensagem de retorno indica 0 retorno de uma

mensagem, e nao uma nova mensagem. Se necessario,

voce pode representar urn retorno para cad a mensagemenviada aos objetos. Utilize esses retornos quando 0

resultado de uma mensagem nao ficar claro para quem

estiver lendo 0 diagrama de seqUencia. Em diagramas de

seqUencia em que hli muitos objetos colaborando, as

mensagens de retorno pod em confundir 0 leitor por

deixar 0 diagrama muito polufdo graficamente.

Para urn cadastramento simples de c1ientes, poderfamos

ter 0seguinte diagrama de seqUencia:

: W;UCPFO

~

S,tv"Q

If---~

"l1,mEIl'hIiOOI:

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 28/50

Modelagem utilizando a UML

Diagrama de colaborac;ao

Apesar dos diagramas de intera<;ao serem semanticamente

equivalentes, ha dif eren<;as na forma de como as

informa<;6es saG organizadas em cada urn. No diagrama

de colabora<;ao, os objetos seguem uma ordem estrutural,

onde sao representados par fcones.

1:Sal Var()

Ent@da de urn ---:;;:.

~

2: Va lida rC PFO

n"'Ite m referencia)

!3:SCllv atO

As mensagens nesse diagrama sao semelhantes as do

diagrama de seqUencia. A autodelegar ;ao e representada

par urn arco e tern 0mesmo prop6sito da autochamada

nos diagram as de seqUencia.

Urn objeto e uma manisfesta<;ao concreta de alguma

abstra<;ao (classe). Urn objeto e a "invoca<;ao" de sua

abstra<;ao para seu ef etivo uso, ou seja, urn objeto e a

instancia de uma classe. Instancia e objeto tern 0mesmo

significado, podendo ser usado qualquer urn dos termos.

Uma abstra<;ao e algo que existe apenas ideal mente, ou

seja, nao e algo materializado. Ja os objetos representam

as abstra<;6es materializadas.

Na UML e possfvel representar e diferenciar esses dois

artefatos~

II

o nome de urn objeto e representado como - nome do

objet o: nome d a classe.

Voce representara nos diagramas de intera<;ao nao asclasses, mas sim as instancias de classes (objetos). Como

o objetivo dos diagramas de intera<;ao e demonstrar 0

momenta de intera<;ao dos objetos em resposta a algum

evento, f az muito sentido a representa<;ao de instancias

de classes.

Os diagramas de intera<;ao alem de serem apropriados

para a modelagem dinamica de urn sistema, apresentam

como principal foco a realiza<;ao dos casos de uso.

Com esses diagramas e possf vel e recomendado que sefa<;aa realiza<;aodos casos de uso, par meio da colabora<;ao

entre os objetos do sistema que interagirao entre si para

que esses comportamentos sejam satisfeitos.

Exemplo da realiza<;ao dos comportamentos do caso de

uso mantemClientes

Comportamentos identificados:

O b j e to s d o c a s o d e u s o C a r a c te r f st ic a

Va lida ra c idade C om p ortam e ntodese jadoVal idar 0 C P F C om p o rtam e n todese jadoInclu i rum n ovo c1 ie n te C om p o rtam en todese jado

:aalnc:lulrumn owcHente:

:~~Jepro

i Recup en. 'O :r---~ j(id,d.Eneonl.rad~1 :

, Sa••••.1() :

i "0! :~ltmConIa3anean;l1 :

: SMtO:

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 29/50

Modelagem utilizando a UML

Auxflio aos desenvolvedores

Todos os diagramas disponf veis pel a UML devem ser

usados como fonte de infonna~6es para 0desenvolvimento

de urn sistema.

Os diagramas de casos de usa, por exemplo, podem ser

usados em todas as etapas da constru~ao do sistema,

desde a def ini~ao da arquitetura ate a etapa de testes.

Os diagramas de classes podem servir de auxflio para

visualizar 0esqueleto de urn sistema, e como 0sistema

deve ser construfdo em rela~ao a sua arquitetura. Todos

os diagramas disponf veis pel a UML sao pe~as

fundamentais no desenvolvimento de urn sistema.

Osdiagramas de intera~ao demons tram os eventos gerados

pelos atores no sistema, e as opera~6es em resposta a

esses eventos. Por isso, se observarmos os diagramas de

intera~ao mais a fundo, podemos perceber maisinforma~6es do que inicialmente parece.

Podemos visualizar:

• Todos os passos para determinado cemirio de urn

sistema.

• Todos os objetos utilizados em resposta a cad a evento

gerado no sistema.

• A l6gica utilizada para responder a cada evento, por

meio das colabora~6es entre os objetos utilizados

nesse processo.

• As opera~6es utilizadas em cada evento e a importanciaque cada uma exerce no processo como urn todo.

Recomenda-se 0usa dos diagram as de intera~ao tambem

na fase de constru~ao de urn sistema, pois nesses diagrarnas

sao demonstrados todos os objetos trabalhando para

atender as necessidades do sistema. Indo mais alem, toda

a l6gica de como os objetos devem trabalhar para atender

aos eventos gerados estao demonstrados nesses diagramas.

Portanto, se voce e urn desenvolvedor de sistemas, fa~a

usa desses diagramas para facilitar seu trabalho. Se voce

nao e urn desenvolvedor de sistemas, indique ou fa~a comque seus desenvolvedores se utilizem desses diagramas.

Para a modelagem dos diagramas d e intera~iio:

• Defina 0caso de usa que voce deseja realizar por meio

dos diagramas de intera~ao.

• Def ina quais serao os comportarnentos do respectivo

caso de usa que voce expressani pelos diagrarnas de

interac;:ao.Caso todos os comportamentos do caso de

usa que voce esta expressando f iquem rnuito confusosem urn unico diagrama, separe essa rnodelagem em

mais de urn diagrarna, nomeando-os com umareferencia

ao diagrarna principal.

• Nos diagramas de seqUencia, para cada evento gerado,

mantenha apenas urn f oco de controle, com a intenc;:ao

de deixar claro para 0 leitor do diagrama quais sao as

colabora~6es existentes entre os objetos em res posta

ao respectivo evento representado.

• Crie notas para seus diagramas de interac;:aoa fim de

deixa-los mais infonnativos e completos.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 30/50

o diagrama de graficos de estados representa os estados

possfveis de urn objeto em particular. Isso quer dizer que

serao demonstrados os eventos possfveis para somente

urn objeto individual e as a~6es tomadas pOl'esse objeto

em resposta a esses eventos.

o diagrama de graficos de estados representa as

ocorrencias de eventos,bem como as atividades que devemocorrer ao longo da vida de urn objeto. As atividades

executadas pelo objeto resultam em a~6es que podem ou

nao mudar 0 estado atual de urn objeto. Portanto, crie

diagramas de gnificos de estados para as classes e os casos

de usa de urn sistema.

Caracterfsticas dos diagramas de gnificos de estados:

• Demonstra os estados possfveis para urn objeto em

particular.

• Demonstra pOl' meio das transi~6es, os eventos que

geram a mudan~a de estado de urn objeto.

• Ajuda no entendimento de processos complexos, que

casos de uso e classes passarn durante a execu~ao de

urn sistema.

Os estados tambern model am a dinamica de urn sistema.

Urn estado e urna situa~ao vivida pelo objeto pelo qual

esse objeto deve responder algo aos eventos gerados.

Portanto, urn estado e a condi~ao de urn objeto em algurn

momenta em que 0 objeto esta sendo usado no sistema.

Dica: crie diagramas de gnificos de estados

para as classes e os casos de uso mais

complexos, desde que os estados nao estejam

tao claros. Os diagrarnas de intera~ao cumprem

geralrnente 0papel de retratar os estados dos

objetos pormeio das mensagens trocadas entre

eles em resposta a cada even to. E claro que ha

diferen~as entre os diagramas de intera~ao e os

diagram as de grafico de estados. 0 primeiro

demonstra as colabora~6es entre objetos em

resposta a eventos, 0 segundo demonstra os

eventos e os estados para urn objeto em

particular, apos a ocorrencia das atividades

criadas a partir dos eventos gerados para 0

objeto.

II

Modelagem utilizando a UML

Urn evento e uma ocorrencia de urn estfrnulo gerado para

o objeto, capaz de f azer a mudan~a de seu estado atual.

Transic;ao

Uma transir;iio e urn relacionamento entre dois estados,

em que 0objeto em seu estado atual deve realizar atividades

para passar para urn outro estado, desde que as atividadestenharn sido cumpridas.

Pela figura apresentada podemos observar duas nota~6es

que representam 0 estado inicial e 0 estado final de urn

objeto. 0 estado inicial representa 0infcio do estado do

objeto. E representado pOl'urn cfrculo preto preenchido.

o estado final representa 0 termino dos estados de urn

objeto. E representado pOl' urn cfrculo preto preen chido

com urn outro cfrculo em bran co a sua volta.

Em seguida, podemos observar os dois estados possfveis

para 0 objeto larnpada, 0 estado d esligada e 0 estado

acesa. Urn estado e representado pOl' urn retangulo com

pontas arrendondadas.

Entre os estados temos urn relacionamento, responsavel

pOl' ilustrar a passagem de urn estado para outro, que

chamarnos de transi~ao.

Retornando aos exemplos dados anteriormente, vamos

analisar os estados do objeto AnaliseCredito (objeto

criado agora para darmos 0 exemplo) no contexto da

analise de credito das propostas de financiamento.

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 31/50

Como podemos ver na figura a seguir, uma amllise de

credito inicia com urn estado que chamamos de Analis

Pend ente. Seguindo a seqUencia dos eventos, apos ess~

estado inicial 0 objeto passa para 0 estado Propost a

 Analisada (repare que os estados seguem uma seqUenci

de eventos que fazem sentido se analisarmos todo

contexto do processo). Apos 0estado Pr o posta Analisad a.

o objeto pode assumir 0estado Analise Re provada ou

estado Analise Aprovada , de acordo com a condic;:aoexplfcita nas mensagens enviadas a esses estados.

Como fazer

• Defina 0tipo de contexto a ser abordado nos diagramas

de gnificos de estados - classes ou casos de uso.• Defina quais serao os eventos importantes do objeto a

serem representados.

• Estabelec;:a0estado inicial e 0estado final do objeto.

• Estabelec;:aos estados para 0objeto e, se posslvel, em

ordem sequencial, os eventos e suas respectivas

transic;:oesque ligarao urn estado a outro.

o diagrama de ati vidades representa urn fluxo de controle

de atividades, que ocorrem no processo de urn sistema,oferecendo suporte para comportamentos condicionais e

paralelos.

Modelagem utilizando a UML

Com 0diagrama de atividades e posslvel tambem fazer a

modelagem do fluxo de atividades de urn objeto especffico,

por meio das transic;:oes de estados que urn objeto sofre

durante sua existencia.

1 - ' 0 1 " ', Pedidod llAn :.liu ' \ ~-A!iYII:bd9

 /~~)• d" Cr idi lo

(RiCUPirildadosdo

'- cU & nta'-

I :=1 /0...'IC omp ativ ilj , ~Inntol

0 /  ,!

 / aprcuaranibe) / llplll'f UJnii$ld.

 \  dannd3, (l'!I"Ida

. L

:u:,I.

Ao contnirio dos outros diagram as existentes na UML, 0

diagrama de atividades nao tern origem nos trabalhos de

Booch, Rumbaugh e Jacobson. 0 diagrama de atividades

teve sua origem e outras tecnicas, como : diagramas de

eventos de Jim Odell, modelagem de estados SDL,

modelagem de workflow e redes de Petri. Esses diagramasapresentam principalmente a descric;:ao de

comportamentos por meio de processamento paralelo.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 32/50

Modelagem utilizando a UML

Atividade

Uma ativid ad e e urn estado de execuc,:aode alguma coisa.

Pode ser, pOl'exemplo, a execuc,:aode urn metodo em urn::.

c1asse, uma rotina de trabalho, etc.

Uma se para~ao e usada para exibir comportamento:

paralelos, que apresenta uma transic,:aode entrada podendo

tervarias outras transic,:oesnasafda. Quando esses thread s

de entrada sac acionados, as transic,:oes de safda sao

processadas em paralelo. No exemplo do processo d

analise de credito, 0calculo do credi tscore e a recuperac,:ao

e analise da renda do c1iente ocorrem em paralelo.

Uma jun~ao eusada para exibir comportamentos pat'alelo .

ou seja, 0objetivo e unir em uma unica safda os thread s

iniciados pOl' uma separac,:ao.

Urn d esvio e uma transic,:aode uma unica entrada, em que

ha varias transic,:oes de safda. Urn desvio e urn tipo de

comportamento Condiciorial.

Uma intercala~ao e urn comportamento condicional em

que himuitas transic,:oesde entrada e uma unica transic,:ao

de safda.

Marca 0fim  das atividades no diagrama.

Caracterfsticas do diagrama de atividades:

• Demonstra as atividades que ocorrem para urn processo

especffico do sistema.

• Pode ser utilizado para representar os passos de urn

cenario descrito pOl'meio de caso de use, para f acilitar

seu entendimento.

Modelagem utilizando a UML

No diagrama de atividades - Analise de credito - ap6s a

recuperac,:aodos dados do c1iente, e acionada uma transic,:ao

de entrada em que ha duas safdas concorrentes, ou seja, as

saf das sac comportamentos paralelos. Chamamos esse

comportamento de separa~ao. Ap6s serem efetuadas as

atividades Calcular  cr ed it  scor e e Recu perar renda d o

cliente, ocorre a atividade C omparar Polit ica de Cred it o.

Esse tipo de comportamento chamamos de jun~ao (une

as transic,:oes iniciadas pel a separac,:ao).

Ajunc,:aoimpoe umaregra no quedizrespeito as atividades

que esta recebe. Todas as atividades recebidas pOl'uma

 junc,:aodevem ser completadas (f inalizadas) para que esta

ocorra.

Uma excec,:aoa regra dajunc,:ao e 0thread  que sai de uma

separac,:ao, e que depende de uma condic,:ao para ser

finalizado. Chamamos essa condic,:ao de t hread 

condicional. Esse thread  condicional diz no diagrama

que, se a condic,:ao for falsa, esse thread  pode serconsiderado como finalizado.

No exemplo a seguir, e demonstrado urn diagrama de

atividades na preparac,:ao de urn bolo. Mesmo que eu nao

goste de baunilha, os ingredientes serao misturados.

IIS e gostar de bau nilha j

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 33/50

Costuma-se dizer que diagramas de atividades saa

variar;6es ou casos especiais de diagramas de gnif icos de

estados. Isso f az muito sentido, pois a maioria dos estadas

sac estados de ati vidades, e as transir;6es sac acionadas se

f orem finalizadas as transir;6es de origem.

Voce pode demonstrar atividades que se repetem por

meio de concorr encia dinamica. Uma concorrenciadin arnica indica que uma atividade deve ser executada em

urn ciclo (loop), ate seu termino. Utilizando esse meio,

voce nao precisa demonstrar a atividade dentro de urn

cicIo de execur;ao. A concorrencia dinamica e expressa

por urn marcador de multiplicidad~ (*), indicando a

repetir;ao da mesma atividade mais de uma vez.

A seguir, urn exemplo da execur;ao de uma atividade com

uma concorrencia dinamica:

P r e e n ch e r lis t a d ep ropos tas .. , C onco rr enc ia

din f un ica

II

V ma raia d e natac;tioorganiza as atividades representadas

em diagramas. Essa organizar;ao consiste em criar grupos

que sac respons3veis pelas atividades que ocorrem nos

diagramas de atividades.

Urn diagrama de atividades informa as atividades que

ocorrem dentro de urn processo, mas nao diz quem sac os

respons3veis por essas atividades. Voce deve utilizar as

raias de natar;ao caso queira nomear os respons3veis por

urn grupo ou par atividade, podendo inclusive informar,

se for 0caso, as classes que serao respons3veis por essas

atividades.

Vma raia de natar;ao e f ormada por zonas verticais

delimitadas por linhas.

A seguir, urn exemplo de raias de natar;ao demonstrando

a responsabilidade de cada classe sobre as atividades em

execur;ao:

Exemplo com algumas atividades do diagrama Analise de credito

utilizando raias de natac;:ao

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 34/50

Modelagem utilizando a UML

Diagrama de atividades versus  diagramas de

intera«;ao

Quando voce usar as raias de nata<;:aoem diagramas de

atividades, estani fazendo a atribui<;:ao de

responsabilidades para as atividades em execu<;:ao.Esse

tipo de nota<;:ao e semelhante as descri<;:6es de

responsabilidades nos diagramas de intera<;:ao.A diferen<;:a

e que em diagramas de intera<;:ao,sac demonstradas as

intera<;:6esde objetos, 0que nao acontece com os diagramasde atividades.

Como fazer

• Identifique os cemirios que voce deseja representar por

meio do diagrama de atividades.

• Inicie a modelagem apenas com as atividades basicas,

acrescentando ao longo da modelagem separa<;:6ese

  jun<;:6es,desvios e intercala<;:6es, e outras nota<;:6esse

necessario.

• Se necessario, tambem organize 0 diagrama de

atividades com raias de nata<;:ao.Essa e uma 6timaop<;:aopara se visualizar as responsabilidades sobre as

atividades em execu<;:ao.

II

o diagrama de com ponentes representa os componentes

que faraDparte dos sistemas em constru<;:ao,demonstrando

as dependencias entre esses componentes.

Todo 0sistema orientado a objetos tera, dependendo do

tamanho, dezenas ou centenas de componentes que em

conjunto darao sentido a todos os processos de neg6cios

desse sistema.

Poderao existir componentes responsaveis pela

irnplementa<;:ao de uma ou mais classes, mas podera, e

com certeza existirao, outros tipos decomponentes, como

tabelas, documentos, arquivos executaveis e tudo que

compora fisicamente 0 sistema. Esses outros tipos de

componentes de sistemas podem e devem ser

representados nos diagramas de componentes.

Caracteristicas do diagrama de componentes:

• Demonstra os componentes de urn sistema, com as

dependencias entre eles.

• Podem serrepresentados componentes do tipo arquivo,

documentos, tabelas, bibliotecas, entre outros artefatos

de ur n sistema.

Voce podera empregar os diagramas de componentes

em dois tipos de modelagem:

• Fontes de sistemas.

• Vers6es de sistemas.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 35/50

Modelagem utilizando a UML

Fontes de sistemas

Voce podeni utilizar m ; diagramas de componentes para

fazer a modelagem dos c6digos-fonte de urn sistema.

Dessa forma, voce teni especificado e documentado a

estrutura de componentes utilizados no constru<;ao do

sistema.

Voce podera utilizar os diagramas de componentes para

fazer a modelagem das vers6es liberadas dos sistemas

que serao construfdos. Uma versao de urn sistema

geralmente e composto por urn conjunto de componentes

e outros arquivos que serao entregues aos seus usuarios.

Urn componente e uma implementa<;ao ffsica das

abstra<;6esdescobertas pelos diagramas de classes. Assim

como as classes saD os blocos de constru<;ao mais

importantes nos sistemas orientados a objetos, oscomponentes podem ser considerados implementa<;6es

ffsicas desses blocos de constru<;ao.

Urn modelo e algo que se pretende reproduzir. as

componentes saD essas pr6prias reprodu<;6es, nao

abstratas, mas ffsicas e executaveis, com 0objetivo de se

adaptar e realizar interfaces.

II

Uma interface e urn conjunto de opera<;6es que definem

os servi<;osde uma classe e/ou componente. Uma interface

pode definir, de forma total ou parcial, os servi<;os que

serao utilizados ou fomecidos por urn componente.

Graficamente, uma interface e representada por um cfrculo

e, em sua forma expandida, por uma classe estereotipada

como « Interface».

«Interface»·Q ueu e

«In terface»W or ker

«S ~ t> > DefaultC a llB<ick O ·"<Get» .Defau ltCa liBackO

GelE veri lObjectOA ddO

«S e t» Q u eu eM g rR ef Q«Let»LogO .

« Ge t» L og O«.Le l~ .>ID O ··· ···

,Validacoas. java ~ ~

.__ .._ .._ . _ _ ._-~

Voce pode representar nos sistemas que construira nao s6

os componentes que deverao interagir com as interfaces

definidas, mas tambem todos os tipos de artefatos que

faraDparte do sistema. Esses artefatos podem ser arqui vos

executaveis, tabelas, biblioteca, documentos, arquivos

HTML, etc.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 36/50

Modelagem utilizando a UML

Tambem e possfvel definir estereotipos para classificaros

componentes de sistemas.

«Bibliolecas»

c1ientes.dll

«Bibliotecas»

avalista.dll

Sistemas baseados em componentes

Ao contnirio de outros tipos de implementa~6es, os

sistemas baseados em componentes podem trazerdiversos

beneffcios. Urn deles e a modularidade.

Em outros tipos de implementa~6es, urn sistema e

construfdo em programas, engessando todo 0processo dosistema. Quando urn sistema e construfdo em componentes

isso nao acontece, pois esses componentes podem ser

substitufdos, alterados e reutilizados indi vidualmente,

sem comprometer outras partes do sistema ..

a beneffcio nessa estruturae muito claro. Paraincluirmos

mais funcionalidades aos sistemas, basta construirmos ou

reutilizarmos componentes que forne~am os servi~os

necessarios a nova implementa~ao. Dessa forma,

construiremos sistemas com maior produtividade e

qualidade, pois faremos apenas componentes que

oferecerao servi~os ainda nao existentes no sistema.

Como fazer

• Identifique os componentes que farao parte de seu

sistema.

• Utilize estereotipos se necessano, para especificar

melhoros componentes que voce utilizara no diagrama

de componentes.

• Identifiqueas interfaces de sistemas que serao utilizadas

e disponibilizadas pelos componentes, para ilustrar

seu diagrama.

• Coloque no diagrama de componentes os documentos,tabelas, arquivos, que fazem parte de seu sistema.

a diagrama de implanta~ao representa a configura~ao e a

arquitetura de urn sistema em que estarao ligados seus

respectivos componentes, podendo ser representado

tambem a arquitetura ffsica de hardwares, processadores,

etc. a diagrama de implanta~ao abrange a visao estatica

de implantac;:ao de urn sistema, envolvendo a modelagem

da topologia de hardware em que 0sistema sera executado.

Caracterfsticas do diagrama de implanta~ao :

• Pode representar a estrutura da plataforma em que 0

sistema sera executado.

• Po de representar qualquer dispositivo, como

gerenciador de banco de dados, servidores,

computadores, etc.

a foco dado nesse diagrama nao sera destinado aos

desenvolvedores do sistema. Esse ctiagrama destina-se a

profissionais, como, porexemplo, engenheiros de sistemas

ou analistas de suporte, que devem estar preocupados

com 0hardware e 0software que esta sendo construfdo,

destacando principalmente a compatibilidade entre os

dois.

Como ja foi dito anteriormente, a UML e uma linguagem

para visualiza~ao, constru~ao, especifica~ao e

documenta~ao de artefatos de sistemas de software, mas

tambem pode abranger artefatos de hardware. Isso nao

quer dizer que a UML e uma linguagem com urn objetivo

amplo para a descri~ao de hardware. A UML vai ate 0

limite no que diz respeito a plataforma em que 0sistema

em desenvolvimento sera executadb.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 37/50

Modelagem utilizando a UML

Uso comum

o diagrama de implementa<;ao nao devera ser utilizado

para todos os tipos de sistemas. Por exemplo, se voce esta

desenvolvendo urn sistema simples que sera executado

em apenas uma maquina, em que nao ha participa<;ao de

outros tipos de hardware que interagem enquanto 0sistema

e executado, 0 uso do diagrama de implanta<;ao nao vai

ser muito uti!.

Em vez disso, utilize 0 diagrama de implanta<;ao para

fazer 0mapeamento de hardwares cujo sistema interagini

com mais de uma maquina de diferentes processadores,

servidores, banco de dados, etc.

Como fazer

• Identifique os dispositivos e processadores para 0

sistema que esta desenvolvendo.

• Se for possivel, fa<;a uso de ferramentas para a

descoberta da topologia de hardware onde 0sistema

sera executado.

• Se necessario crie mais de urn diagrama de implanta<;ao,

cada urn focalizado em aspectos especfficos de sua

estrutura de hardware.

• Para os diagramas de implanta<;ao, voce tambem pode

utilizar notas para informar melhor 0leitor sobre esses

diagramas, bem como chamar a aten<;aopara aspectos

importantes.

Se voce fez a leitura desse guia desde 0infcio,

  ja deve ter entendido 0 motivo pelo qual a

UML foi estabelecida como padrao pela

industria de software. A UML, dentro de urnciclo de desenvolvimento, abrange todos os

aspectos, que vaGdesde 0levantamento inicial

do sistema (onde nao se tern nada ainda),

passando pela modelagem da arquitetura dos

objetos que formarao esse sistema, ate 0

mapeamento da estrutura de hardware em que

esse sistema sera executado.

A UML e uma linguagem-padrao para a modelagem de

sistemas orientados a objetos. Apesar de sua padroniza<;ao

predefinida, a UML oferece nota<;6es de extensao que

permitem a amplia<;ao de como podemos expressar nossos

modelos. Basicamente, podemos encontrar duas formas

de extensao da UML:

• Estere6tipos.

• Restri<;6es.

Estere6tipos

Os estere6tipos sac utilizados para a classifica<;ao de

novos elementos na UML. 0 estere6tipo e utilizado para

a cria<;ao de classifica<;6es de elementos que nao foram

definidos como padrao, e deve ser utilizado para 0

tratamento de problemas especfficos de modelagem. Os

estere6tipos sac formados por palavras entre fmgulos

duplos "«estereotipo »". Segue uma lista de

estere6tipos predefinidos, que foram extraidos a partir do

uso comum destes. Essa lista segue a seguinte classif ica<;ao:

• Estere6tipos para relacionamentos de dependencias.

• Estere6tipos para classes.

• Estere6tipos para eventos e mensagens.

• Estere6tipos para componentes.

• Estere6tipos para relacionamentos de generaliza<;ao.

• Estere6tipos para restri<;6es.

• Estere6tipos para comentarios.

Estere6tipos para relacionamentos dedependencias

Especifica que 0 conteudo publico do pacote de destine

esta acessivel ao espa<;o do nome do pacote de origem.

Especifica que a origem instancia 0template de destino,

utilizando os parametros reais dados.

Especifica que a opera<;ao de origem invoca a opera<;aode

destino.

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 38/50

Modelagem utilizando a UML

«derived»

Especifica queo elemento-origem e deri vado do elemento-

destino. Isso significa que 0elemento-origem nao e uma

instancia do elemento-destino, mas e uma instancia de urn

outro elemento que e urn subtipo ou uma subclasse do

elemento-destino.

Especifica que urn caso de uso tern urn comportamentoestendido a partir de urn caso de uso-base.

Especifica que 0 elemento-origem tern visibilidade

especial no elemento destino.

«import»

Especifica que 0 conteudo publico do pacote-destino

pode ser recebido e acessado por urn pacote-origem.

«include»

Especifica que comportamentos comuns a mais de urn

caso de uso devem ser captura em outro caso de uso que

sera utilizado pelos casos de uso que the deram origem.

«instanceof»

Especifica que 0 objeto de origem e uma instancia do

classificador de destino.

Especifica que as opera<;6es na classe de origem criam

instancias da classe de destino.

Especifica que a origem e urn grau mais alto de abstra<;ao

que 0destino.

«send»

Especifica que a opera<;ao de origem envia 0 evento

destino.

Especifica que 0 destino e urn antecessor hist6rico da

origem.

Modelagem utilizando a UML

Estere6tipos para classes

Especifica urn elemento que interage externamente com

o sistema.

«exception»

Especifica urn evento que po de ser ativado ou capturado

por uma opera<;ao de classe.

«implementationC lass»

Especifica a implementa<;ao de uma classe em uma

linguagem de programa<;ao.

«interface»

Cole<;ao de opera<;6es que pode ser utilizado para definir

os servi<;os que uma classe pode oferecer a outras.

Especif ica urn classificadorcujas instancias de suas classes

estaoenvolvidas em urn relacionamento de generaliza<;ao.

Especif ica urn classificador cujas instancias representam

urn fluxo pesado.

«signal»

Especif ica urn estfmulo assf ncrono comunicado entre

instancias.

«stereotype»

Especifica que 0classificador e urn estere6tipo que podeser aplicado a outros elementos.

Especifica urn classificador cujas instancias representam

urn fluxo leve.

Especifica uma classe abstrata que e utilizada somente

para determinar a estrutura e 0 comportamento de urn

conjunto de objetos.

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 39/50

Modelagem utilizando a UML

«utility»

Especifica classes cujos atributos e opera90es saD todo

escopo de classes.

Estere6tipos para eventos e mensagens

«becomes»

Especifica que0

objeto-destino e0

mesmo objeto que0

de origem, mas em urn ponto adiante no tempo e com

possiveis valores, estados ou papeis diferentes.

Especifica que 0 objeto de destino e uma c6pia exata do

objeto-origem, mas e independente.

Especifica que 0objeto-destino e criado pelo evento ou

pela mensagem enviada pelo objeto-origem.

«destroy»

Especifica que 0 objeto-destino e destrufdo pelo evento

ou pela mensagem enviada pelo objeto-origem.

Estere6tipos para componentes

<<table»

Especifica urn componente que representa uma tabela de

banco de dados no sistema.

Especifica urn componente que representa urn documentodo sistema.

Especifica urn componente que representa urn componente

que poden! ser executado no sistema.

«file»

Especifica urn componente que representa c6digos-fonte

ou dados.

Especifica urn componente que representa uma bibliotec!l

de objetos.

Modelagem utilizando a UML

Estere6tipos para relacionamentos de

generalizac;ao

«implementation»

Especifica que 0filho herd a a implementa9ao do pai, mas

nao a toma publica, nem oferece suporte para suas

interfaces, violando dessa forma a caracteristicade permitir

substitui90es.

Especifica uma restri9ao que sempre precisa ser mantida

para 0 elemento que esta associado.

«precondition»

Especifica uma condi9ao que deve ser verdadeira antes da

invoca9ao de uma opera9ao.

«poscondition»

Especifica uma condi9ao que deve ser verdadeira ap6s 0

termino da execu9ao de uma opera9ao.

Estere6tipos para comentarios

«requirement»

Especifica uma caracteristica ou comportamento desejado

para urn sistema.

«responsability»

Responsabilidade ou obriga90es que urn elemento e

encarregado de cumprir.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 40/50

Modelagem utilizando a UML

Restriyoes

As restri~oes ampliam 0 vocabuhlrio dos elementos n

UML, permitindo modificar ou acrescentar novas regras

aos elementos do modelo. Por exemplo, por uma questiio

de regra de neg6cio, todos os clientes do tipo pessoa ff sica

devem ter obrigatoriamente 0salario informado. Podemo

expressar essa restri~ao como no exemplo a seguir. A

regras devem ser express a entre chaves {}.

PessoaFisica

data Nascimento

sexoRG

C P F

salarioestadoCivil

A UML tambem define como padrao algumas restri~oes.

Aqui segue uma lista com esses padroes com 0elemento

a qual se aplica.

Restriyoes para generalizayao

{complete}

Especifica que todos os subtipos de urn supertipo ja foramespecificados, nao permitindo filhos adicionais.

Especifica que nem todos os subtipos de urn supertipo

foram total mente especificados, permitindo filhos

adicionais.

Especifica que subtipos de urn supertipo podem ter mais

de urn filho como tipo.

Modelagem utilizando a UML

Restriyoes para instancias

{destroyed}

Especifica que a instancia deve ser destrufda antes da

conclusao da intera~ao da qual ela faz parte.

Especifica que a instancia deve ser criada durante a

execu~ao da intera~ao da qual ela faz parte.

Especifica que a instancia deve ser criada durante a

execu~ao da intera~ao daqual elafaz parte, mas e destrufda

antes da conclusao da execu~ao.

A UML, alem de disponibilizar nota~oes para restri~oes

diversas, apresenta uma linguagem mais formal para a

expressao de restri~oes e condi~oes, chamada DCL.

Mais informa~oes sobre a DCL, consulte :

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 41/50

Ferramentas que suportam a UML

Desde 0 lan~amento da UML no mercado, houve por

parte de algumas empresas da area de informlitica a

percep~ao da oportunidade de construirem ferramentas

que suportassem essa nova tecnologia. A seguir 0 leitor

encontrara algumas ferramentas disponiveis no mercado

que suportam a linguagem UML.

Essa ferramenta foi des en vol vida pela Rational Software.

Considero-a a mais completa disponivel ate 0momenta

no mercado. E uma ferramenta totalmente focada para a

linguagem UML, mas tambem oferece suporte para os

metodos Booch e OMT.

Essa ferramenta foi desenvolvida pela MicrosoftCorporation, fazendo parte do pacote Office. Considero-

a uma ferramenta razoavel. Alem de suporte a UML, essa

ferramenta oferece suporte para outros tipos de diagramas

(nao UML) para as mais variadas aplica~6es.

Consulte www.microsoft.comloffice/visio

Essa ferramenta foi desenvolvida pela Sybase. Ainda nao

tive a oportunidade de avaliar os recursos que suportam

a UML, mas tenho informa~6es de que essa ferramenta

suporta somente alguns diagramas da UML, como 0de

casos de uso, de classes e de seqUencia.

Para obter mais informa~6es sobre ferramentas que

suportam a l inguagem UML, acesse 0 site

www.umlbrasil.com.bre clique em "Ferramentas".

II

A seguir serao apresentadas as principais mudan~as

ocorridas durante a evolu~ao da UML ate 0momento.

A UML des de seu nascimento vem passando por mudan~as

em seu conteudo. Como con seqUencia dessas mudan~as

foram criadas vers6es mais maduras e completas. Descrevo

a seguir somente algumas mudan~as (que considero as

mais importantes) que ocorreram durante as vers6es

lan~adas da UML.

As mudan~as mais significativas nesta versao, diz respeito

aos diagramas de classes e diagramas de seqUencia. Na

versao 1.1, as classes podem ser especializadas como

tipos ou como classes de implementar;iio.

Uma classe de implementa~ao e realmente uma classe

programada no ambiente de sof tware. Uma classe

especializada como tipo que pode representar uma

abstra~ao do sistema. Podem ser classes que representam

apenas 0 modelo conceitual do sistema ou, ainda, as

interf aces do sistema.

Portanto, voce pode representar em seu modele de classes

de implementa~ao urn ou mais tipos.

Na versao 1.0 da UML, os retomos em diagram as de

seqUencia eram representados por uma flecha vazada, em

vez de uma flecha cheia. Na versao 1.1, os retomos sac

realizados por meio de uma flecha pontilhada, deixando

mais perceptivel esse tipo de atividade. Sup6e-seque essa

mudan~a foi realizada, pois a diferen~a entre uma flecha

vazadae umacheia era muito suti! e de difici! diferencia~ao.

As mudan~as realizadas da versao 1.1 para a versao 1.2,

foram modifica~6es sutis. Somente na versao 1.3 foram

feitas mudan~as real mente significativas.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 42/50

Na versao 1.1 da UML, haviadois tipos de relacionamentos

entre casos de uso: relacionamento do tipo «uses» e

«extends». Ja na versao 1.3, foram disponibilizados

tres tipos de relacionamentos:

• Include.

• Extends.

• Generalizac;ao.

No relacionamento do tipo «include» (substituindo 0

ate entao «uses») as ati vidades em comum

compartilhadas por alguns casos de uso saGinclufdas em

urn outro caso de uso publico. Por exemplo, em urn

sistema de analise de credito pode ser que tanto 0processo

de aprovac;ao de credito quanta 0processo de reprovac;ao

utilizem as atividades de validar a alc;ada do analista de

credito.

No relacionamento do tipo «extends», as atividades de

urn caso de uso nao obrigat6rias saG estendidas em urn

outro caso de uso. Isso significa que urn comportamento

de caso de uso pode ser desviado apenas em situac;oes

predefinidas no caso de uso estendido.

Por exemplo, em urn processo de analise de credito, 0

credito dos clientes pode ser aprovado automaticamente,

sem que tenha de passar par todas as etapas de analise,

caso sua renda seja cinco vezes 0 valor total do

financiamento. Esse comportamento de aprovac;ao

automatica pode mudartodo 0comportamento do sistema

caso sua condic;ao seja verdadeira.

No relacionamento de generalizar;ao 0 comportamento

comum a mais de urn caso de uso em urn mesmo dom f nio,

ecapturadoem urn supertipo (generalizado). Sendo assim,

esses casos de uso agora considerados subtipos

(especializados) herdam desse supertipo criado 0

comportamento comum a eles mesmos.

Para comportamento condicional, voce pode agora usar a

~tividade de decisao (em forma de losango), para a

mtercalac;ao ou ramificac;ao de comportamentos.

A barra de sincronizac;ao e agora refedda como separac;ao

ou junc;ao. Mas voce nao podera mais acrescentar

condic;oes arbitrarias ~s junc;oes. Deve-se, entao, seguir

regras de combinac;ao para assegurar-se de que separac;aoe junc;ao combinam.

o acionamento duplo nao e mais utilizado. Agora voce

pode utilizar a concorrencia dinamica em uma atividade

usando-se 0asterisco (*). '

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 43/50

abstra~aoCaracterfstica essencial de uma entidade que a diferencia

de todos os outros tipos.

agrega~ao

Tipo de associa<;ao na qual um todo e relacionado com

suas partes (relacionamento todo/parte).

agregada

Classe que representa 0 "todo" no relacionamento deagrega<;ao.

arquitetura

Arquitetura de sistemas e um conjunto de decis6es sobre

artefatos e elementos que formaram 0 sistema. A

arquitetura deve abranger como sera construfdo 0sistema,

seus elementos estruturais e comportamentais, suas

colabora<;6es, etc.

artefato

Conjunto de informa<;6es utilizado ou realizado por um

processo de desenvolvimento de sistemas de software.

assinaturaNome, parfunetrose valores de retomo de uma opera<;ao.

associa~ao

Associa<;ao descreve relacionamentos entre objetos. Cada

associa<;ao tem duas pontas, onde em cada ponta esta

ligado um objeto.

atividade

Estado de execu<;ao de alguma coisa. Pode ser, por

exemplo, a execu<;ao de um metodo em uma classe, uma

rotina de trabalho, etc.

ator

Papel desempenhado por qualquer usuario de um caso de

uso, ou seja, 0ator e quem solicita os servi<;os disponfveis

em casos de uso.

atributo

Atributo e uma propriedade de classe. Representa as

caracterfsticas pr6prias de uma abstra<;ao.

autochamada

Mensagem que um objeto envia para si mesmo.

caracterfstica comportamental

Caracterfstica dinamica de um elemento, como uma

opera<;ao ou um metodo.

II

caracterfstica estrutural

Caracterfstica estrutural (estatica) de um elemento.

cardinalidade

Numero de elementos existentes em um conjunto.

caso de uso

Documento que descreve os cenarios pretendidos para

um sistema, com 0objetivo de atender as necessidades dousuario.

classeAbstra<;ao de um conjunto de objetos que compartilham

os mesmos atributos, opera<;6es e relacionamentos.

colabora~ao

Nome dado a intera<;ao entre duas ou mais classes, com 0

objetivo de fornecer algum comportamento cooperativo.

componente

Parte ffsica de um sistema, que representa elementos

l6gicos para a realiza<;ao de uma ou mais interfaces.

com portamento

Resultados produzidos por eventos e metodos.

composi~ao

Forma de agrega<;ao, em que 0objeto-parte pode pertencer

somente ao objeto-todo. Alem disso, geralmente 0objeto-

todo vive e morre com suas partes, isto e, acontece uma

remo<;ao em cascata

container

Objeto que existe para conter outros objetos e que

proporciona opera<;6es para acessar ou interagir com seuconteudo.

delega~ao

Habilidade de um objeto enviar uma mensagem a um

outro objeto como resposta a uma mensagem recebida.

dependencia

Relacionamento entre dois itens, em que a altera<;ao do

item independente pode alterar a semantica do itemdependente.

destinatario

Objeto que manipula a instancia de uma mensagem

passada pelo objeto emissor.

diagrama

Representa<;ao grafica de um conjunto de elementos do

sistema, que permite a visualiza<;ao do sistema sob

diferentes perspectivas.

II

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 44/50

diagrama de atividades

Representa urn fluxo de controle de atividades, que

ocorrem no processo de urn sistema, oferecendo suporte

para comportamentos condicionais e paralelos

diagrama de casos de uso

Representa urn conjunto de cemirios identificados, que

seja util aos usuarios de urn sistema.

diagrama de classes

Representa 0modelo da estrutura de urn sistema orientado

a objetos, demonstrando as classes, os tipos e os

relacionamentos.

diagrama de colabora9ao

Urn dos diagramas de interac;ao que da enfase a organizac;ao

estrutural dos objetos que colaboram entre si.

diagrama de componentes

Representa os componentes que farao parte dos sistemas

em construc;ao, demonstrando as dependencias entre esses

componentes.

diagrama de gnificos de estados

Representaos estados possfveis deum objeto em particular.

Sao demonstrados os estados de urn objeto, eventos,

transic;6es e atividades.

diagrama de implanta9ao

Representa a configurac;ao e a arquitetura de urn sistema

a que estarao Iigados seus respectivos componentes,

podendo ser representada tambem a arquitetura ffsica de

hard wares, processadores, etc.

diagrama de objetos

Representa a modelagem de instancias das classes de urn

sistema em determinado ponto e momenta de execuc;ao.

diagrama de sequencia

Urn dos diagramas de interac;ao que da enfase a ordenac;ao

sequencial em que os comportamentos acontecem.

encapsulamento

Mecanismo usado para ocultar os dados, a estrutura

intema e os detalhes de implementac;ao de um objeto.

Toda a interac;ao com um conjunto de objetos e feita de

uma interface publica constitufda de operac;6es.

estado

Situac;ao vivida por um objeto, pela qual esse objeto deve

responder algo aos eventos gerados.

II

estere6tipo

Extensao do vocabulario da UML que permite a criac;ao

de novos tipos de blocos de construc;ao, para atender

necessidades especfficas de um modelo.

estimulo

Evento gerado no sistema que necessita de resultados.

evento

Ocorrencia de um estfmulo gerado para 0objeto, capaz de

fazer a mudanc;a de seu estado atual.

exportar

Tomar visfvel urn elemento fora do espac;o do nome que

o contem.

expressao

SeqUencia de caracteres que tem como resultado um

valor.

expressao booleana

Tem como resultado um valor booleano.

filha

Subclasse.

foco de controle

Indicador do perfodo de durac;ao pelo qual os objetos

estao cooperando para realizar um comportamento.

generaliza9ao

E a capacidade de se criar superclasses que encapsulam a

estrutura e 0comportamento comum a varias subclasses.

heran9a

Mecanismo pelo qual elementos mais especfficos

incorporam a estrutura e 0comportamento de elementos

mais gerais.

heran9a multipla

Uma variac;ao da generalizac;ao, em que uma subclasse

pode herdar a estrutura e 0 comportamento de mais de

uma superclasse.

hierarquia de classes

Representa descric;6es das relac;6es de heranc;a entre

classes.

implementa9ao

Realizac;ao concreta do contrato declarado por uma

interface ou a definic;ao de como algo e construfdo ou

computado.

incompleto

Modelagem de um elemento em que faltam certas partes.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 45/50

instancia

Manisfesta~ao concreta de alguma abstra~ao, uma entidade

a qual urn conjunto de operac,;5es pode ser aplicado e que

tern urn estado para armazenar 0efeito das operac,;5es.

integridade

Relacionamento consistente e apropriado entre dois ou

mais elementos.

OCL (Object Constraint Language)

Linguagem formal utilizada para expressar restri~5es de

efeito livre.

intera930

Conjunto de objetos que interagem por meio da troca demensagens, para a realiza~ao de urn comportamento.

Iinha de vida do objeto

Representa a existencia de urn objeto em uma intera~ao.

m3e

Superclasse.

maquina de estados

SeqUencia de estados pela qual urn objeto passa durante

seu tempo de vida.

mecanismos de extensabilidade

Urn dos mecanismos que permite a extensao da UML demaneira organizada.

objeto

Sinonimo de instancia de classe, sendo uma manifesta~ao

concreta de uma abstra~ao com uma identidade que

encapsula estados e comportamentos.

objeto persistente

Objeto que sobrevive ap6s 0termino de execu~ao de urnprocesso ou urn thread.

objeto transiente

Objeto que sobrevive somente ate 0termino de execu~ao

de urn processo ou urn thread.

opera93o

Procedimento de chamada em urn objeto.

opera93o polim6rfica

Uma mesma operac,;ao que e implementada de maneira

diferente por dois ou mais tipos.

orientado a casos de usoProcesso pelo qual os casos de uso sao utilizados como

artefatos primarios para 0 estabelecimento do

comportamento desejado do sistema, para verificar e

validar a arquitetura de urn sistema.

mensagem

Meio de comunica~ao entre objetos que contem

informa~5es a espera de atividades que acontecerao.

metodo

Implementa~ao de uma opera~ao para uma c1asse.

modele

Simplifica~ao da realidade, criado com a finalidade de

proporcionar uma melhor compreensao do sistema que

sera gerado.

multiplicidade

Indica~ao de quantos objetos podem participar de urn

dado relacionamento.

pacotes

Organizam os modelos criados na UML.

pai

Superclasse.

papel

Comportamento de uma entidade que participa de

determinado contexto no sistema.

n6

Elemento ffsico existente em tempo de execu~ao que

representa urn recurso computacional.

parametro

Especificac,;ao de uma variavel que pode ser alterada,

passada ou retornada.

polimorfismo

Conceito segundo 0qual dois ou mais tipos de objetos

podem responder a mesma mensagem de maneiras

diferentes, usando opera~5es polim6rficas.

p6s-condi93o

Algo que necessita ser verdadeiro ap6s a chamada de uma

operac,;ao.

nota

Representa comentarios, observa~5es e esclarecimentos

que se podem utilizar para qualquer elemento da UML.

II·..

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 46/50

pre-condi9ao

Algo que necessita ser verdadeiro antes da chamada de

uma opera9ao.

privado

Mecanismo de escopo usado para restringir 0acesso a

atributos e opera90es de uma classe, de maneira que

outros objetos nao possa utiliza-Ios.

produto

Artefatos de desenvolvimento, como c6digos, modelos,documenta9ao gerada, etc.

propriedade

Caracterfstica de urn elemento da UML.

publico

Mecanismo de escopo usado para tomar atributos e

opera90es de classes acessfveis a outros objetos.

raia de nata9ao

Organiza as atividades representadas em diagramas de

atividades. Essa organiza9ao consiste em criar grupos

que saG responsaveis pelas atividades ocorridas.

realiza9ao

Relacionamento entre itens, no qual urn item implementa

comportamentos especificados por outros. .

receptor

Objeto ao qual e enviada uma mensagem.

refinamento

Relacionamento que representa a especifica9ao completa

de algo ja especificado em determinado nf  vel de detalhe.

relacionamentos

Conexao semantica entre elementos.

responsabilidade

Contrato ou obriga9ao em urn tipo ou de uma classe.

restri9ao

Extensao da semantica de urn elemento da UML,

permitindo criar ou modificar regras ja existentes.

solicita9ao

Especifica9ao de urn estfmulo enviado a urn objeto.

subclasse

Elemento que recebe por heran9a a estrutura e os

comportamentos de uma superclasse.

superclasse

Elemento que con tern a estrutura e 0 comportamento

generalizado de outras classes (as subclasses).

thread

Fluxo leve de controle que pode ser executado

concorrentemente com outros thr eads no mesmo processo.

tipoEstere6tipo de uma classe, utilizado para especificar urn

domfnio de objetos, com as opera90es que podem seraplicadas aos objetos.

transi9aoRelacionamento entre dois estados, em que 0objeto no

seu estado atual deve realizar atividades para passar para

urn outro estado, desde que as atividades tenham sido

cumpridas.

UML (Unified Modeling Language)

Linguagem de modelagem unificada para visualiza9ao,

especifica9ao, constru9ao e documenta9ao de artefatos

de sistemas de software.

valor atribufdo

Extensao das propriedades de urn elemento da UML, que

permite a cria9ao de novas informa90es na especif ica9ao

desse elemento.

versao

Urn conjunto de artefatos de software, relativamente

completos e consistentes que serao entregues.

visaoProje9ao em urn modelo, vista a partir de deterrninada

perspectiva ou ponto de vista, que omite as entidades que

nao saG relevantes para essa visao.

visao dinamica

Aspectos de urn sistema que dao enfase a compartamentos.

visao estatica

Aspectos de urn sistema que dao enfase a estrutura.

visibilidade

Especifica9ao de como uma caracterfstica ou urn

comportamento especificado para uma classe podem ser

vistos par outros objetos de classe.

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 47/50

Obtendo mais informa~oes

o site www.umlbrasil.com.br foi criado pelo autor deste

guia, e e 0primeiro site brasileiro dedicado a linguagem

UML. Nele voce encontrani tudo sobre a UML, orienta~ao

a objetos, linguagens de programa~ao, entre outros

assuntos relacionados com 0 tema.

A seguir, uma amostra do que 0 UMLBrasil oferece:

• Tutoriais

Tutoriais sobre UML, orienta~ao a ob jetos, linguagens

de programa~ao, metodologias, etc.

• Artigos

Artigos sobre 0 uso da UML, Java e orienta~ao a

objetos.

• Noticias

Notfcias sobre 0 mercado, eventos, promo~6es elan~amentos de produtos.

• Livros

Livros sobre UML, orienta~ao a objetos, banco de

dados, metodologias e Iinguagens de programa~ao.

Douglas Marcos da Silva e bacharel em Administra~ao de

Empresas. Atua como Consultor na modelagem deaplica~6es orientadas a objetos utilizando a linguagem

UML, ministrando tambem treinamentos nesta linguagem.

Para duvidas ou sugest6es, envie urn e-mail diretamente

para 0autor:

Aabstra98.o 7

Agrega98.0 22

arquitetura 24, 34Associa98.0 21

atividade 62

Ator 28

atributo 8, 41

Autochamada 53

8blocos de constru98.0 17, 38

Booch 9

Ccaracterfsticas 7

caso de uso 18, 27

Caso de uso de alto nfvel 28

Caso de uso detalhado 28, 30

Classe 7, 18

CoadIYourdon 9

Colabora98.0 18

componentes 19, 67, 68comportamentos 7, 24

composi98.0 22

concorrencia dinamica 64

condi98.0 53

odesvio 62

diagrama de colabora98.0 54

diagrama de atividades 13, 24, 25, 60

diagrama de casos de uso 10, 24, 27

diagrama de classes 13, 24, 38

diagrama de colabora98.o 12

diagrama de componentes 14, 25, 67

diagrama de graficos de estados 12, 58

diagrama de implanta98.o 15, 25, 71

diagrama de objetos 14, 24, 50

diagrama de sequencia 11, 52

diagramas de intera98.o 11, 24, 25, 51, 55, 66

EEspecializa98.0 23

Estados 6, 58

Estere6tipos 73

Estfmulos 6

evento 59

Extens8.o 34

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 48/50

Ffoco de contraIe 52

GGeneralizagao 22, 32

HHeranga 8

Inclusao 33interagao 19, 51intercalagao 62Interfaces 69

Itensdinamicos 17, 19!tensestciticos 17, 18

J  jungao 62

LIinguagensde programagao 40

linhade vida 52

MMciquinade estados 19marcadorde interagao 53mensagem 52

mensagemde retorno 53metoda 46

metodoOMT 9metodoOOSE 9

modelagemvisual 16

Modularidade 6Multiplicidadede associagao 21

NNotas 17, 20

oobjeto 7, 54OMG 10OMT 9

OOSE 9

operagao 8, 42, 46

orientagaoa objetos 6

pPacotes 17, 20Polimorfismo 8p6s-eondigao 45

PowerDesigner 80pre-condigao 44

Rraiade natagao 65Realizagao 23relacionamentos 20, 38Relacionamentosentre casos de uso 32Restrigoes 73, 78Reutizagao 6

Rose 80

5separagao 62

Tthread condicional 63

transigao 59

UUML 10, 16, 17, 24, 40

Vversoes da UML 81visibilidade 43

Visio 80

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 49/50

Rational@the e-development company'"

A Rational Software auxilia as empresas a desenvolver e

implantar software para e-business, e-infrastructure e e-

devices atraves da combina~ao das melhores pniticas,

ferramentas e servi~os de engenharia de software. A

solu~ao de e-development da Rational ajuda as empresas

a criar software mais nipido - Time-to- Market - e aIcan~ar

a qualidade necessaria para satisfazerseus cIientes. Esta

solu~ao unica e integrada simplifica 0 processo de

aquisi~ao, implementa~ao e suporte de uma abrangente

plataforma de desenvolvimento de software, 0que reduz

o custo total de propriedade.

Rational ClearCase@ Family G erenc iam en to de con f i gura~6es .

R a t io n a l C le a rQ u e s jT M a n d R a t io n a l C le a rD D T S T M

G erenc iam en to de m uda n~ a e rastream en to de de fe i tos .

R a t io n a l P u rify ® , R a t io n a l Q u a n tify ® , Rational PureCoverage@ 

Execu~ao de t es tes de con f iab i lidade .

Rational Requisite Pro @ 

G erenc iam en to de requ is itos .

Rational Robot G rava~ao de sc r ip t f unc iona l e de pe r fo rm ance .

Rational Rose@ family Po ssu i recursos de m ode lagem e m tem po rea l, casos de use , we b , dadose ap l i ca l i vos .

Rational SoDA@ 

G era~a o au tom a t izada de docu m en ta~ ao .

Rational TeamTest 

Execu~ao de t es t es de f unc i ona l i dade .

Rational TestManager G eren c iam en to de ar te fatos d e tes te.

Rational SiteLoad T e s t e s d e c a r g a e m w e b s i t e s .

Rational QuaJityArchitect 

G era~a o au tom a t ica de dr ives e s tubs para tes te un itar io .

Rational Unified Process™ Processo con f igu rave l e adap tave l pa ra qua l que r p r o je t o de so ftwa re

8/3/2019 UML - Guia de Consulta Rapida (2001)

http://slidepdf.com/reader/full/uml-guia-de-consulta-rapida-2001 50/50

• A UML (Unified Modeling Language) e uma

linguagem para especifica<;ao, documenta<;ao,

visualiza<;ao e desenvolvimento de sistemas

orientados a objetos. Sintetiza os principais

metod os existentes, sendo considerada uma das

linguagens mais expressivas para modelagem de

sistemas orientados a objetos. Por meio de seus

diagramas e possivel representar sistemas de

softwares sob diversas perspectivas de

visualiza<;ao. Facilita a comunica<;ao de todas aspessoas envolvidas no processo de

desenvolvimento de um sistema - gerentes,

coordenadores, analistas, desenvolvedores - por

apresentar um vocabulario de facil entendimento.

• Este guia descreve os conceitos da UML e seus

diagramas. Apresenta exemplos de utiliza<;ao

destes diagramas, demonstrando, de maneira

pratica, como pode ser feita a transi<;ao de um

diagrama para outro.

• Pode ser de utilidade para profissionais que

estejam conhecendo a modelagem de sistemas

orientados a objetos, e para alunos dos cursos de

Ciencias da Computa<;ao, Engenharia de

Software, Processamento de Dados e Analise de

Sistemas que estejam estudando 0 assunto.