Vous êtes sur la page 1sur 146

1

Introduo
Linguagem UML
Paulo Sousa
Instituto Superior de Engenharia do Porto
Instituto Politcnico do Porto
2
Parte I
Introduo
3
UML ...
UML uma linguagem para
Visualizao
Especificao
Construo
Documentao
UML fornece mtodo padro para
descrever um sistema tendo em conta
aspectos conceptuais e/ou concretos
desse sistema
4
Visualizao
Modelos explcitos facilitam a
comunicao
Algumas estruturas transcendem o que
pode ser representado numa linguagem
de programao
Cada smbolo tem uma semntica bem
definida
5
Especificao
A notao UML permite a especificao
das decises importantes ao nvel da
anlise, desenho e implementao
6
Construo
Forward engineering
Gerao de cdigo com base no modelo
Reverse engineering
Gerao do modleo com base no cdigo
Round-trip engineering
Ciclo iterativo de desenvolviemnto com
gerao de cdigo a partir de um modelo e
actualizao do modelo com base no cdigo
7
Documentao
A notao UML permite a criao de
documentao dos artefactos existentes
o sistema:
Conceitos do problema
Cenrios de instalao
possvel acrescentar links para
documentao externa
Documentos de requisitos, planos de testes,

8
Razes para modelar
Comunicar a estrutura e comportamento
desejado(desejvel) para o sistema
Visualizar e controlar a arquitectura do
sistema
Compreender o sistema e expor
oportunidades de simplificao e
reutilizao

9
Tipos de diagramas
Estruturais
Consideram aspectos estticos do sistema
Comportamentais
Consideram aspectos dinmicos do sistema
10
Tipos de diagramas (II)
Estruturais
Classes
Objectos
Componentes
Instalao
11
Tipos de diagramas (III)
Comportamentais
Casos de utilizao
Sequncia
Colaborao
Estados
Actividades
12
Modelos e vistas
Modelo
uma base de dados dos elementos criados para
modelar o problema
Vistas
Diagramas sobre o modelo onde so colocados os
elementos existentes
Apagar um elemento de um diagrama no
retira esse elemento do modelo!
Nas ferramentas Rational del remove do diagrama
e CTRL+del apaga do modelo
13
Adornments and Extensibility
An adornment is an item, such as a note, that
adds text or graphical detail to a model.
The UML offers various mechanisms that you
can use to extend the official language.
stereotypes
tagged values
constraints
14
Notes
A note is a graphical symbol containing
text and/or graphics that offer(s) some
comment or detail about an element within
a model.
Check with Mike
on this.
See encrypt.doc
See http://www.
softdocwiz.com
15
Stereotypes
A stereotype is an extension of the
vocabulary of the UML that allows you to
create a new kind of building block thats
specific to the problem youre trying to
solve.
interface
Observer
update()
control
TargetTracker
Humidity Sensor
16
Esteretipos padro
copy indica uma cpia exacta de um objecto;
document indica um documento;
executable indica um componente executvel num n;
extend usado para indicar uma extenso do comportamento padro de
um caso de utilizao (ex., situaes de erro);
file indica um ficheiro com cdigo fonte ou dados;
include indica que um determinado caso de utilizao inclui
explicitamente um outro case de utilizao (ex., comportamentos
comuns);
invariant representa uma restrio sobre um elemento que deve ser
sempre satisfeita (i.e., deve ser sempre verdadeira);
postcondition representa uma restrio sobre uma operao que deve
ser sempre verdadeira aps a execuo da operao;
precondition representa uma restrio sobre uma operao que deve
ser sempre verdadeira antes da execuo da operao;
system estereotipo associado a um package que representa o
sistema que se est a modelar;
table representa uma tabela de base de dados;
17
Estereotipos no padro
possvel criar novos esteretipos associados
apenas com o problema em questo ou com a
cultura da empresa
Outros esteretipos no padro
Form indica um formulrio de interaco com o
utilizador)
COM indica que a classe implementada como um
componente COM; ou o componente fisico um
componente COM
CORBA igual ao anterior para CORBA
DLL indica que o componente uma DLL
Constructor ou create indica um mtodo construtor
18
Utilizao dos diferentes
diagramas
1. Requisitos/funcionalidades
2. Processos
3. Estrutura lgica
4. Estrutura fsica
19
Requisitos/funcionalidades
dialogando com o cliente identificar as
funcionalidades de alto nvel (as grandes
funes do sistema) pretendidas no
sistema para cada perfil de utilizador,
recorrendo a diagramas de casos de
utilizao
20
Processos
continuando o dilogo com o cliente,
analisar e efectuar uma descrio de alto
nvel dos processos existentes no sistema
e das interaces entre os diferentes
intervenientes nesses processos
(workflow), recorrendo a diagramas de
interaco (sequncia e colaborao).
21
Estrutura lgica
partindo do diagramas de casos de
utilizao e dos diagramas de interaco
de alto nvel, identificar e descrever
detalhadamente as diferentes entidades
existentes no sistema (recorrendo a
diagramas de classes), bem como detalhar
os diagramas de interaco anteriores por
forma a incluir as classes de
implementao identificadas e respectivas
operaes (diagramas de sequncia e de
colaborao).
22
Estrutura fsica
identificar os diferentes elementos fsicos
do sistema (ex., bibliotecas de funes,
executveis) recorrendo-se de diagramas
de componentes, bem como identificar os
recursos de hardware necessrios
instalao do sistema usando para tal
diagramas de instalao.
23
Parte II
Diagramas
24
Diagramas Estruturais
Diagrama de Pacotes
25
Package
A package is a general-purpose
mechanism for organizing elements of a
model, such as classes or diagrams, into
groups.
Every element within a model is uniquely
owned by one package. Also, that
elements name must be unique within
that package.
26
Sample Package Diagrams
Posting Posting Rule
GL Account
General Ledger
Accounting
A/P G/L A/R
27
Diagramas Comportamentais
Diagrama de Casos de Utilizao
28
Use Case and Actor
A use case is a sequence of actions,
including variants, that a system performs
to yield an observable result of value to
an actor.
An actor is a coherent set of roles that
human and/or non-human users of use
cases play when interacting with those
use cases.
29
Flows of Events
The main flow of events (basic course of
action) describes the sunny-day
scenario.
Each exceptional flow of events
(alternate course of action) describes a
variant, such as an error condition or an
infrequently occurring path.
30
Simple Use Case Diagram
Do
Trade
Entry
Generate
Reports
Update
Portfolio
Info
31
Organizing Use Cases
packages
generalization
include
extend
32
Use Case Packages
Packages of use cases can be very useful
in assigning work to sub-teams.
Portfolios
Create
New
Portfolio
View
Portfolio
Aggregate
Portfolios
Generate
Portfolio
Report
33
Use Case Generalization
You can generalize use cases just like you
generalize classes: the child use case
inherits the behavior and meaning of the
parent use case, and can add to or override
that behavior.
Validate
User
Check
Password
Perform
Retinal
Scan
34
Include
You can use the include stereotype to
indicate that one use case includes the
contents of another use case. This enables
you to factor out frequent common
behavior.
Validate
User
Place
Order
Track
Order
include include
35
Extend
You can use the extend stereotype to
indicate that one use case is extended by
another use case. This enables you to
factor out infrequent common behavior.
Validate
User
Place
Rush
Order
extend
36
Algumas notas sobre use
cases
Relaes entre use cases no significam fluxo
de execuo
Sistemas externas so modelados como
actores
S se modelam os use cases do prprio
sistema
O importante o texto do use case e no o
diagrama
O texto do use case deve descrever o fluxo
normal de eventos
As situaes excepcionais so descritas numa
seco parte
37
extends
includes
38
Exerccio
Supor um cenrio de
portal intranet de uma
empresa para publicao
dos contactos e
informao sobre
funes dos
colaboradores
Elaborar um diagrama de
use cases para este
cenrio
39
Diagramas Estruturais
Diagrama de Classes
40
Common Uses of Class
Diagrams
to model vocabulary of the system, in
terms of which abstractions are part of
the system and which fall outside its
boundaries
to model simple collaborations (societies
of elements that work together to provide
cooperative behavior)
to model logical database schema
(blueprint for conceptual design of
database)
41
Class
A class is a description of a set of objects that
share the same attributes, operations,
relationships, and semantics.
An attribute is a named property of a class that
describes a range of values that instances of
the property may hold.
An operation is a service that can be
requested from an object to affect behavior.
42
Class Notation
Name
Attributes
Operations
43
Atributos e operaes
Atributos
Nome-do-atributo : tipo-de-dados [ = valor-inicial ]
idade : int = 0
dtNascimento : Data
Operaes
Nome-da-operao (argumentos ) : tipo-de-retorno
Argumentos
[ { in | out | inout } ] Nome-do-argumento : tipo-de-
dados
setIdade(in idade : int) : void
getIdade() : int
44
Visibilidade
Indica o tipo de visibilidade de um
atributo ou de uma operao de uma
classe
Privado (-)
Apenas acessvel do interior; S as operaes
da prpria classe tem acesso
-idade : int
Pblico (+)
acessvel do exterior; Qualquer objecto tem
acesso
+getIdade() : int
Protegido (#)
acessvel pelo interior e por classes derivadas
45
Visibilidade (II)
Tipicamente todos os atributos de uma
classe devem ser privados
Evita a manipulao directa do estado do
objecto
Garante que o objecto estar sempre num
estado vlido (pelo menos nica e
exclusivamente da responsabilidade da
classe)
Fornece-se operaes pblicas para
aceder aos atributos da classe bem
como modificar o seu valor
46
Accessors/Mutators
So tipos de mtodos/operaes especiais de uma classe
Accessor ou getter
Um mtodo que permite consultar o valor de um atributo
Normalmente o nome do mtodo construdo com a
palavra get e o nome do atributo:
getDia() : int
Mutator ou setter
Um mtodo que permite modificar o valor de um atributo
Este mtodo consegue validar o novo valor evitando dessa
forma colocar o objecto num estado invlido
Normalmente o nome do mtodo construdo com a
palava set e o nome do atributo:
setDia(d : int): void
47
Alternative Class Notations
Name
Attributes
Operations
Responsibilities
Name
Attributes
Operations
Name
italics abstract
48
Mtodos e classes abstractas
Diz-se de um mtodo que definido em termos
de assinatura mas no implementado
Apenas se define o nome do mtodo, os argumentos
e o tipo de retorno sem fornecer a sua
implementao
Uma classe abstracta aquela que tem pelo
menos um mtodo abstracto
No permite a criao de objectos desta classe pois
nem todos os comportamentos esto definidos
Obriga implementao dos mtodos abstractos em
classes derivadas
Notao UML: itlico
mover() : void
49
Relationships
connections between classes
dependency
generalization
association
50
Dependency
A dependency is a using relationship
within which the change in the specification
of one class may affect another class that
uses it.
Example: one class uses another in
operation
Window
handleEvent()
Event
51
Generalization
A generalization is a kind of or is a
relationship between a general thing
(superclass or parent) and a more specific
thing (subclass or child).
Shape
Rectangle Circle
52
Association
An association is a structural relationship
within which classes or objects are
connected to each other. (An association
between objects is called a link.)
Company Person
53
Association Adornments
name
role
multiplicity
aggregation
composition
54
Association Name
describes nature of relationship:
can also show direction to read name:
Company Person
works for
Company Person
works for
55
Association Roles
describe faces that classes present to
each other within association
class can play same or different roles
within different associations
Company Person
employer
employee
56
Association Multiplicity
possible values same as for classes:
explicit value, range, or * for many
Example: a Person is employed by one
Company; a Company employs one or
more Persons
Company Person
1..*
1
57
Associao direccional
Corresponde a um atributo na classe
como referncia para um objecto da
classe associada
EntidadeMundo
Posicao
class EntidadeMundo {
...
Posicao pos;
...
}
58
Multiplicidade nas
associaes
Quando uma associao tem uma
multiplicidade diferente de 1 necessrio
uma coleco de referncias
Por exemplo, um vector
class Carro {
...
Roda[] rodas;
...
}
Carro
Roda
59
Associaes
Um objecto pode ter associaes com
outros objectos da mesma classe
Em termos de diagrama de classes UML,
essas associaes representam-se como
arcos
60
Aggregation
Aggregation is a whole/part or has a
relationship within which one class
represents a larger thing that consists of
smaller things.
Roda
Carro
61
Composition
Composition is a special form of
aggregation within which the parts are
inseparable from the whole.
Departamento
Empresa
62
Association Classes
An association class has properties of
both an association and a class.
Company Person
Job
description
dateHired
salary
63
Interfaces
An interface is a named collection of
operations used to specify a service of a
class without dictating its implementation.
Observer
interface
Observer
update()
64
Interface (II)
Viso como servios
A interface descreve o servio fornecido pelo
objecto.
A interface funciona como um contracto para
esse servio: se o servio fornecido, ento
ser fornecido de acordo com o descrito no
contracto
Permite a captura de semelhana entre classes
sem impor relaes artificiais entre elas
Evidencia o servio prestado sem forar
qualquer tipo de implementao
GECAD1
Slide 64
GECAD1 figura
GECAD; 06-12-2002
65
Interface (III)
As classes podem realizar uma ou mais
interfaces
MyObserver
update()
Observer
66
67
Constraints
A constraint is an extension of the
semantics of one or more model elements
which specifies a condition that must be
true.
Portfolio
Bank Account
Person
Corporation
{secure}
{or}
68
Exerccio
Continuao do
portal intranet de
uma empresa
Elaborar um
diagrama de classes
para o cenrio que
descreveram nos
diagramas de use
case
69
Diagramas Comportamentais
Diagrama de Sequncia
70
Interaction and Message
An interaction is a behavior that
comprises a set of messages, exchanged
among a set of objects, to accomplish a
specific purpose.
A message is the specification of a
communication between objects that
conveys information, with the expectation
that some kind of activity will ensue.
71
Sequence Diagram
A sequence diagram is an interaction diagram
that emphasizes the time ordering of
messages.
A lifeline is a vertical dashed line that
represents the lifetime of an object.
A focus of control is a tall, thin rectangle that
shows the period of time during which an object
is performing an action.
72
Sequence Diagram Notation
: Ticket Agent c: Client
create
setItinerary(i)
calculateRoute()
route
73
74
Utilizao de diagramas de
sequncia
Tipicamente cada use case descrito por um diagrama de
sequncia de alto nvel
So muitas vezes sub-diagramas associados a um use
case
Os focos de controlo so provocados pela recepo de
uma mensagem
Ao elaborar o diagrama de sequncia utilizam-se as
classes identificadas previamente no diagrama de classes
mas tambm normal criar novas classes
O nvel de detalhe do diagrama de sequncia depende do
que se quer transmitir.
Alto nvel para compreenso geral do processo
Baixo nvel para implementao
75
Criao e destruio
/ ClassifierRole3 / ClassifierRole1
1 : \new\
2 : \op1\
4 : Destroy
76
Ciclos e decises (UML 1.x)
/ ClassifierRole3 / ClassifierRole1
1 : \op1\
2 : \m1\
loop 5 times
end loop
77
Ciclos e decises (UML 1.x)
/ ClassifierRole3 / ClassifierRole1
1 : [x=3] \op1\
78
Exerccio
Continuao do
portal intranet de
uma empresa
Elaborar os
diagramas de
sequncia para cada
use case identificado
79
Diagramas Comportamentais
Diagrama de Colaborao
80
Collaboration Diagram
A collaboration diagram is an
interaction diagram that emphasizes the
organization of the objects that
participate in the interaction.
A path is a link between objects, perhaps
with a stereotype such as local
attached.
Sequence numbers indicate the time
ordering of messages, to one or more
levels.
81
Collaboration Diagram
Notation
: Transaction
c: Client
1: create
p: ODBCProxy
2: setActions (a,d,o)
3: destroy
2.1: setValues(d,3,4)
2.2: setValues(a,CO)
global
82
83
Algumas notas
possvel gerar um diagrama de
sequncia e a partir de um diagrama de
colaborao e vice-versa
Ambos apresentam a mesma informao
Sequncia: d nfase ao aspecto temporal
das mensagens
Colaborao: d nfase ligao existente
(topologia) entre as classes
84
Exerccio
Continuao do
portal intranet de
uma empresa
Elaborar os
diagramas
colaborao
correspondentes aos
diagramas de
sequncia
elaborados no passo
anterior
85
Diagramas Comportamentais
Diagrama de Estados
86
State, Event, and Signal
A state is a condition in which an object can
reside during its lifetime while it satisfies some
condition, performs an activity, or waits for an
event.
An event is a significant occurrence that has a
location in time and space.
A signal is an asynchronous communication
from one object to another.
87
State Notation
Idle
Cooling
Heating
Activating
Active
88
State Machine and Transition
A state machine is a behavior that
specifies the sequences of states that an
object goes through in its lifetime, in
response to events, and also its
responses to those events.
A transition is a relationship between
two states; it indicates that an object in
the first state will perform certain actions,
then enter the second state when a given
event occurs.
89
Entry and Exit Actions
An entry action is the first thing that occurs
each time an object enters a particular state.
An exit action is the last thing that occurs
each time an object leaves a particular state.
Tracking
entry/setMode(onTrack)
exit/setMode(offTrack)
90
Activities
An activity is an interruptible sequence
of actions that an object can perform
while it resides in a given state. (Actions
are not interruptible.)
Tracking
do/followTarget
91
Initial and Final States
The initial state is the default starting
place for a state machine.
The final state indicates the completion of
the state machines execution.
92
Transies
Condies de guarda
[ x < 5]
Eventos
Cancel key pressed
Aces
/ handleCancelKey()
Combinao dos trs anteriores
[x < 5] / x = 5
Cancel key presses / handleCancelKey()
[x < 5 ] Cancel key pressed
[allowCancel = true] Cancel key pressed /
handleCancelKey()
93
94
Algumas notas
Apenas se modela o estado dos
objectos/classes pertinentes
So normalmente sub-diagramas
associados classe em questo
95
Exerccio
Continuao do
portal intranet de
uma empresa
Elaborar o(s)
diagrama(s) de
estado das principais
entidades
identificadas no
diagrama de classes
96
Diagramas Comportamentais
Diagrama de Actividades
97
Why Activity Diagrams?
An activity diagram, which resembles a
flowchart, is useful for modeling
workflows and the details of operations.
While an interaction diagram looks at the
objects that pass messages, an activity
diagram looks at the operations that are
called by objects.
98
State Diagram Carryovers
The following items are common to state
diagrams and activity diagrams:
activities
actions
transitions
initial/final states
guard conditions
Bid plan
Do construction
entry/setLock()
99
Breaking Up Flows
alternate paths:
branch
merge
parallel flows:
fork
join
100
Branching
A branch has one incoming transition and
two or more outgoing transitions:
Charge credit
card
Hold in will-call Mail tickets
[today 7 days before show] [today < 7 days before show]
101
Merging
A merge has two or more incoming
transitions and one outgoing transition:
Customer
sees show
Mail tickets
Customer picks
up tickets
102
Forking
A fork represents the splitting of a single
flow of control into two or more concurrent
flows of control:
Receive order
Process order Log order
103
Joining
A join represents the synchronization of
two or more flows of control into one
sequential flow of control:
Pay bill
Bill customer Receive product
104
Swimlanes
Swimlanes partition groups of activities
based on, for instance, business
organizations:
Pay bill
Bill customer Receive product
Customer Billing
105
106
Algumas notas
So utilizados para modelar:
a lgica de uma operao de uma classe
um processo de negcio
So normalmente sub-diagramas de
classes ou de use cases
107
Exerccio
Continuao do portal
intranet de uma
empresa
Elaborar o(s)
diagrama(s) de
actividades para as
principais
actividades/processos
do sistema
108
Diagramas Estruturais
Diagrama de Componentes
109
Component
A component is a physical, replaceable
part of a system that conforms to, and
provides the realization of, a set of
interfaces.
examples:
dynamic link library (DLL)
COM+ component
Enterprise Java Bean (EJB)
110
Component Notation
Scheduler
-----------
----------
----------
----------
----------
----------
signal.cpp
111
112
Exerccio
Continuao do portal
intranet de uma
empresa
Elaborar o diagrama
de componentes do
sistema
113
Diagramas Estruturais
Diagrama de Instalao (deployment)
114
Node
A node is a physical element, which
exists at run time, that represents some
computation resource.
This resource generally has at least
some memory; it often has processing
capability.
115
Nodes and Components
Components are things that participate
in the execution of a system; nodes are
things that execute components.
A distribution unit is a set of components
that have been allocated to a node as a
group.
116
Deployment Diagram Notation
: kiosk
deploys
user.exe
c: console
deploys
config.exe
s: server
deploys
dbadmin.exe
: RAID farm
10-T Ethernet
RS-232
117
118
Exerccio
Continuao do portal
intranet de uma
empresa
Elaborar um ou mais
diagramas de
instalao
correspondentes a
diferentes cenrios de
instalao da
aplicao
119
Diagramas Estruturais
Diagrama de Objectos
120
Object Diagram
An object diagram shows a set of objects,
and their relationships, at a specific point in
time.
c: Company
d1: Department
name = R&D
p1: Person
ID = 13
: Contact Info
phone = 411
121
Quando usar
Permite evidenciar um fotograma da
execuo da aplicao para visualizar o
estado interno de cada objecto nesse
instante
122
Parte III
Classes de Anlise
123
Analysis Classes
Introduced by Jacobson in his white
book (Object-Oriented Software
Engineering; Addison-Wesley, 1992)
Used in Analysis workflow of Rationals
Unified Process
Boundary class
Control class
Entity class
124
Boundary Class
Used to model interactions between
system and its actors and clarify and
collect requirements on systems
boundaries
Often represent windows, screens, APIs
125
Control Class
Used to encapsulate control related to
specific use case
Represent coordination, sequencing,
transactions, and control of other objects
126
Entity Class
Used to model long-lived (possibly
persistent) information
Usually correlates directly to class on
class diagram
127
128
Utilizao
Numa fase inicial da anlise
para capturar a muito alto nvel a estrutura do
sistema a desenvolver
Juntamente com os diagramas de sequncia
ou actividades para descrever em passos
gerais os principais processos a implementar
Base, atravs de um processo iterativo, para
refinao at ao modelo de implementao
129
Parte IV
Um Exemplo
130
Livraria na internet
A livraria tem que aceitar encomendas via internet.
A livraria deve manter uma lista de contas de clientes at o limite de um
milho de clientes.
As contas dos clientes devem estar protegidas por password.
Deve ser possvel efectuar pesquisas no catalogo principal da livraria.
Essas pesquisas devem poder ser efectuadas por diversos mtodos
(ex., titulo, autor, ISBN).
A livraria deve fornecer um mtodo seguro de pagamento via carto de
crdito.
Devem existir ligaes electrnicas entre a aplicao web a base de
dados e o sistema de expedio (ex., DHL).
Devem existir ligaes electrnicas entre a aplicao web a base de
dados e o sistema de gesto de inventrio.
A livraria deve manter um esquema de comentrios aos livros existentes
no catalogo, sendo possvel a qualquer utilizador fazer um novo
comentrio.
Os livros devem ser classificados segundo uma pontuao baseada nos
inputs dos utilizadores.
131
Diagrama de Caso de
Utilizao
132
Caso de Utilizao Login
133
Caso de Utilizao Edit
Shoping Cart
134
Diagrama de sequncia para
caso de utilizao Login
135
Modelo do domnio
136
Diagrama de classes (I)
137
Diagrama de classes (II)
138
Diagrama de classes (III)
139
Parte V
Um Exerccio
140
Exerccio (1/2)
Pretende-se um sistema que permita fazer
simulaes de eco-sistemas
Existe um mundo (tipicamente uma grelha de
NxM posies)
Nesse mundo existiro seres/objectos (ex.,
lobos, veados, ervas, pedras).
Normalmente em cada quadrado da grelha
(mundo) apenas pode existir um ser/objecto
Em cada passo da simulao cada objecto/ser
executa uma aco (por ex., dar um passo)
141
Exerccio (2/2)
A simulao dura um nmero de passos
prdefinidos pelo utilizador
O utilizador pode configurar o mundo
indicando:
Dimenso (NxM)
Nmero e tipo de entidades a colocar
A ideia ter diferentes tipos de entidades (ex.,
1 veado e 4 lobos)
Cada tipo de entidade tem os seus prprios
objectivos
Lobo capturar o veado
Veado fugir dos lobos e comer erva
142
Exerccio (3/3)
Cada entidade pode ver o mundo sua
volta e movimentar-se no mundo sua
volta
Normalmente apenas se movimenta uma
casa (N, S, E, O) ou (N, NE, E, SE, S,
SO, O)
Normalmente apenas v uma casa mas
pode-se implementar animais com viso
mais apurada
143
Fim do Mdulo
144
Bibliografia
Parte desta apresentao baseada em:
An Introduction to the Unified Modelling
Language, Kendal Scott, Embarcadero
Webninars, 2000.
Rosenberg, Doug (2001). UML for e-
Commerce. Seminrio Iconix.
145
Onde obter mais informao
UML.org
http://www.uml.org/
UML na OMG
http://www.omg.org/technology/uml/index.ht
m
Dicionrio UML
http://www.usecasedriven.com/UML.htm
Cetus Links
http://www.cetus-links.org/oo_uml.html

Vous aimerez peut-être aussi