cadeiras.iscte.ptcadeiras.iscte.pt/cdsi/fich/diagramascomponentes.pdf · 2005. 5. 16. · diagrama...

30
25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected] 25 Maio 2004 Elsa Cardoso, DCTI Elsa Cardoso, DCTI - - ISCTE ISCTE [email protected]

Upload: others

Post on 31-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

25 Maio 2004

�������������� ��������������������� ��������������������� ��������������������� ��������������������� ��������������������� ��������������������� ��������������������� ������������������� ����� �� � �������������� ����� �� � �������������� ����� �� � �������������� ����� �� � �������������� ����� �� � �������������� ����� �� � �������������� ����� �� � �������������� ����� �� � ��

� � � �� ����� � � �� ����� � � �� ����� � � �� ����� � � �� ����� � � �� ����� � � �� ����� � � �� ����

Elsa Cardoso, DCTI Elsa Cardoso, DCTI -- ISCTEISCTE

[email protected]

Page 2: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Sumário

2

Conceitos UML

Perspectiva de Desenho do Sistema:

Diagrama de classes numa perspectiva de Desenho:EstereótiposRelação de DependênciaRelação de RealizaçãoInterfaces

Reutilização:1. Interfaces para classes2. Camadas (layers) no diagrama de classes3. Pacotes

Noção de Componente e Nó

Diagramas de Componentes e de Instalação

Page 3: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Desenho do Sistema

3

A fase de Desenho procura determinar COMO é que o sistema cumpre os requisitos

- O diagrama de classes é refinado ao nível de Desenho

REUTILIZAÇÃO

Grande objectivo do desenvolvimento orientado por objectos, onde se procura produzircomponentes reutilizáveis, que possam ser utilizados em diferentes aplicações,

diminuindo os custos de desenvolvimento

Page 4: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Refinamento do Diagrama de Classes

4

Mecanismo de extensibilidade que permite aumentar a flexibilidade dasclasses, através de uma subclassificação

É possível criar novos estereótipos

Os mais utilizados são: <<interface>> e <<control>>

1. Estereótipo

Gestão

criar()apagar()ver()

<<Interface>>

ControloAcesso

verificaAcesso()

<<control>>

GestãoControloAcess o

Classe com um conjunto de regras que controlamdeterminadas operações do sistema e que coordenam

as interacções com as outras classes.

Conceitos UML

Page 5: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected] 5

Utilizada quando uma classe recorre aos serviços disponibilizados por outra classe, numa relação de cliente/fornecedor de serviços

2. Noção de Dependência

Funcionario

binomemorada

Gestão

EncomendanumeroEdatatipoEncomenda

criar()apagar()ver()

Relação de Dependência

A classe Funcionario depende (ou usa alguma funcionalidade) da classe Encomenda através da interface Gestão

Refinamento do Diagrama de Classes Conceitos UML

Page 6: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected] 6

Utilizada na modelação de um contrato entre uma classe que especifica o serviço euma outra classe que garante a realização do serviço.

Estabelece-se entre uma interface e uma classe ou entre uma interface e um componente.

Mistura entre a relação de generalização e a de dependência (ver notação)

3. Noção de Realização

Relação de Realização (forma expandida)

Funcionario

binomemorada

Gestão<<Interface>>

EncomendanumeroEdatati poEn comen da

criar()apaga r()ver()

Funcionario

binomemorada

Gestão

EncomendanumeroEdatatipoEncomenda

criar()apagar()ver()

Relação de Realização (forma simples)

Refinamento do Diagrama de Classes Conceitos UML

Page 7: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected] 7

Uma interface é um grupo de operações que são utilizadas para especificar um serviço.Este serviço funciona como um contrato entre a classe e os seus clientes

Mecanismo para separação entre a vista externa e a vista interna de um determinado elemento usual nas linguagens de programação baseadas em objectos

Uma interface é realizada (ou implementada) por uma ou mais classes, as quais prometem implementar todos os métodos nela especificados

4. Interface

Conceito associado ao desenvolvimento de software baseado em componentes

Refinamento do Diagrama de Classes Conceitos UML

Page 8: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected] 8

Captura de semelhanças entre classes não relacionadas sem forçar a criação de relações artificiais entre elas;

Declaração de métodos que uma ou mais classes esperam implementar;

Revelar a interface de programação de um objecto sem revelar a sua classe. I.e., um objecto pode ser visto de diferentes perspectivas (ou diferentes tipos) consoante as situações.

4. Interface – benefícios ao nível da programação

Refinamento do Diagrama de Classes Conceitos UML

Page 9: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Uma classe pode conter várias interfaces, fornecendo assim diferentes abstracções dos seus serviços, conforme o cliente.

4. Interface – exemplo

Funcionariobinomemorada

Gestão

criar()apagar()ver()

<<Interface>>

EncomendanumeroE : Longdata : DatetipoEncomenda : StringvalorTotal : Long

criar()apagar()ver()adicionaProduto()calculaValorTotal()

Clientebi : Stringnome : Stringmorada : String

preRegisto()

Visualizar

ver()

<<Interface>>

Refinamento do Diagrama de Classes Conceitos UML

9

Page 10: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Desenho do Sistema

10

Algumas estratégias possíveis para, ao nível do Desenho, promover a reutilização:

REUTILIZAÇÃO

• Interfaces para classes

• Camadas (layers) no diagrama de classes

• Pacotes

Page 11: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Camadas (layers) no Diagrama de Classes

Três camadas de serviços

1. Serviços de Interface ou User services– fornece a interface do utilizador para apresentação e recolha de dados

2. Serviços de Negócio ou Business services– engloba as classes que possuem as regras fundamentais do negócio

3. Serviços de Dados ou Data services– permite manter, actualizar e aceder aos dados persistentes

Reutilização

11

Page 12: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Caso de Estudo: PhonePizza Ex. Diagrama de Classes com 3 níveis

12

Ecrã Pré-registo<<user interface>>

Ecrã Reservas<<user interface>>

Ecrã Encomendas<<user interface>>

Controlo Acesso

verificaAcesso()

SD_Clientebinomemorada

criar()apagar()consultar()actualizar()

<<data connection>>

SD_EncomendanumeroEdatatipoEncomenda

criar()apagar()consultar()actualizar()

<<data connection>>*

1

*

1efectua

Cliente {persistence=yes}binomemorada

pre-registo()

Encomenda {pers istence=yes}numeroEdatatipoEncomenda

criar()

*

1

*

1

efectua

Serviços de Dados

Serviços de Interface

Serviços de Negócio

Page 13: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Pacotes – organização de artefactos

Um pacote (package) em UML permite agrupar elementos de modelação (diagramas, classes, componentes, interfaces, etc) de um sistema de forma

a que semântica ou estruturalmente faça sentido

Reutilização

13

Gestão de Clientes

Controlo de Acesso

Gestão de Encomendas

Gestão de Produtos

Vantagens:

(1) Facilita a gestão e procura de artefactos(2) Evita os conflitos de nomes

(Ex: X::A é � de Z::A)(3) Providencia um mecanismo de controlo de

acessos (visibilidade)

Pública: “+”,Privada: “-” e Protegida: “#”

Encomendas Internet

+ FormEncomenda+ FormCatalogo- Encomenda

Page 14: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Relações entre Pacotes

VISIBILIDADE

Reutilização

14

Um elemento com Visibilidade Pública (“+”)– pode ser usado/referenciado por qualquer outro elemento independentemente do local onde é definido

Um elemento com Visibilidade Privada (“-”)– pode ser usado/referenciado por elementos definidos no mesmo pacote

Um elemento com Visibilidade Protegida (“#”)– pode ser usado/referenciado por um elemento definido no mesmo pacote ou num outro pacote que seja

uma especialização do primeiro

Tipos de Relações entre Pacotes: Importação, Exportação e Generalização

Page 15: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Relações entre Pacotes Reutilização

15

Relação de Exportação:

Um pacote faz a exportação, por definição, de todos os seus elementos públicos.

Isso não implica que um elemento definido noutro pacote possa aceder/referenciar um elemento exportado.Tem que existir explicitamente uma relação de importação entre os dois pacotes.

Relação de Importação:

É uma relação de dependência entre pacotes, especificando que o pacote base importa todos os elementos públicos definidos no pacote destino.Note-se que esta relação não é simétrica!

Preferencialmente, os elementos exportados por cada pacote devem ser do tipo interface.

Page 16: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Relações entre Pacotes Reutilização

16

Gestão de Clientes

Controlo de Acesso

Gestão de Encomendas

Gestão de Produtos

Relação de Importação (exemplo)

Page 17: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Relações entre Pacotes Reutilização

17

Relação de Generalização:

usada para a especificação de famílias ou hierarquias de pacotes, típicas em sistemas complexo (máximo 3 níveis!...)

Encomendas Internet

Encomendas Central

Encomendas Telefone

Encomendas Pizzaria

Gestão de Encomendas

HIERARQUIA DE PACOTES

Page 18: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Noção de Componente

18

Noção Geral:

Uma componente é uma entidade que possa ser reutilizada. [Silva2001]Exemplos:

• Conjunto de classes C++ (implementação)• Conjunto de use cases (nível especificação de requisitos)• Conjunto de diagramas de classes (nível de análise ou de desenho)

Desde que tenham sido definidos de forma a serem reutilizáveis!...

Definição [Silva, 2001]

Uma componente é uma peça básica na implementação de um sistema.Consiste num conjunto de artefactos físicos em formato digital, como por exemplo:

- ficheiros de código (fonte, binário ou executáveis)- ficheiros de documentos relativos ao negócio.

Page 19: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Definição de Componente: [SCREEN, 1996]

A component is any object or collection of objects that is a unit of construction and reuse.It has a purpose of existence, certain behaviour, interacts with the external world,

and can be controlled.

Definição [Nunes, 2003]

Uma componente de software representa um módulo físico de código.

Definição de Componente de Software: [Schmuller, 1999]

A software component is a physical part of a system. It resides in a computer, not in the mind of the analyst. Examples: table, data files,

executable, dynamic link library, document, ...

Noção de Componente

19

Page 20: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Diagrama de Componentes

20

Objectivo

Os diagramas de Componentes utilizam-se para modelar a arquitectura de um sistemade software na perspectiva dos seus componentes digitais, explicitando as relações de dependência entre as várias componentes de software.

Um diagrama de componentes representa apenas tipos de componentes,NUNCA instâncias de componentes.

As instâncias de componentes devem ser representadas num diagrama de Instalação

Controlo Acesso

Page 21: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Componentes e Classes

21

Uma componente é uma implementação em software de uma classe.

Uma classe representa uma abstracção de um conjunto de atributos e operações.

Uma componente pode ser a implementação de várias classes.

Page 22: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Componentes e Interfaces

22

Uma interface é um conjunto de operações que uma classe apresenta às outrasclasses.

A interface que uma classe usa é a mesma interface que a respectivaimplementação de software (a componente) usa.

Em UML não há distinção de interfaces conceptuais e físicas.

ControloAcesso<<DLL>>

Internet

Page 23: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Três Tipos de Componentes: Instalação, Trabalho e Execução

• Componentes de Instalação (Deployment Components):constituem a base dos sistemas executáveis (e.g., DLL, executáveis, classes Java)

• Componentes de Trabalho (Work Product Components):a partir dos quais são criados os componentes de instalação (e.g., ficheiros com código fonte, ficheiros de dados, documentos)

• Componentes de Execução (Execution Components):criados como resultado da execução de um sistema (e.g., processos, threads, agentes de software) – apenas representadas nos Diagramas de Instalação (Deployment diagrams).

Tipos de Componentes

23

Page 24: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Estereótipos para Componentes

24

<<document>>– denota um documento

<<executable>> – denota um programa que possa ser executado num nó

<<file>>– denota um documento que contém código fonte ou dados

<<library>>– denota uma biblioteca dinâmica ou estática

<<table>> – denota uma tabela de uma base de dados

Page 25: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Diagrama de Componentes

25

Um exemplo

Considere a aplicação WinCOR desenvolvida sobre MS-Windows responsável pela gestão (entrada e saída) da correspondência de uma empresa.A aplicação consiste no seguinte conjunto de componentes de instalação (deployment components):

• wincor.exe – ficheiro com o executável da aplicação• pblib32.dll, sde32.dll, sdemdb32.dll – bibliotecas com código binário com funcionalidades adicionais• wincor.hlp – ficheiro de ajuda da aplicação• wincor.ini – ficheiro de configuração da aplicação• entrada.db, saida.db – ficheiros/tabelas da base de dados de suporte

Desenhe o Diagrama de Componentes desta aplicação, tendo em atenção que (1) o executável só pode correr se todos os restantes componentes tiverem sido instalados; e (2) o módulo sdemdb32.dll depende do módulo sde32.dll.

Page 26: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Diagrama de Componentes

26

Um exemplo

wincor.hlp<<document>>

wincor.ini<<document>>

pblib.dll<<library>>

entrada.db<<table>>

saida.db<<table>>

sde32.dll<<library>>

sdem32db.dll<<library>>

wincor.exe<<executable>>

Page 27: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Noção de Nó

27

Um nó é um objecto físico que representa um recurso de processamento.

Os nós podem consistir em recursos computacionais (hardware), e recursos deprocessamento mecânico.

Os nós podem ser representados como tipos e como instâncias. Instâncias de nóspodem conter instâncias de objectos e de componentes.

Monitor<<device>>lisboa004:Kiosk

<<processor>>

Nó(instância

de nó)

Nó(tipo de nó)

Page 28: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

<<processor>>– denota um nó que pode executar uma componente de software

<<device>> – denota um nó que não tem capacidade para executar componentes de software; e.g., uma impressora,

um scanner, ou um monitor.

Dois nós podem estar ligados através de relações de associação, que especificam a existência de caminhos de comunicação entre eles.

As comunicações podem ser caracterizadas por um estereótipo, indicando o tipo de comunicação envolvido (e.g., o tipo de canal ou o tipo de rede).

As propriedades dos nós são representadas por marcas com valores. Podem também ser definidos ícones para modelar diferentes tipos de recursos de processamento.

Os nós podem ser classificados através de estereótipos, para representar com maisdetalhe os recursos físicos:

28

Noção de Nó

Page 29: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

Diagrama de Instalação* (Deployment Diagram)

29

Objectivo

Os diagramas de Instalação utilizam-se para descrever a arquitectura de um sistemade software em termos de hardware e a sua relação com os diferentes componentes (software)

As componentes têm que ser executadas em algum recurso computacional que contenha memória e um processador.

O Diagrama de Instalação define em que recursos os diferentes componentes estarão localizados e processados

*Também denominadosDiagramas de Distribuição

Servidor http Servidor Encomendas Central

TCP/IP - XMLNó

(tipo de nó)

Comunicação

Page 30: cadeiras.iscte.ptcadeiras.iscte.pt/CDSI/fich/DiagramasComponentes.pdf · 2005. 5. 16. · Diagrama de Componentes 25 Um exemplo Considere a aplicação WinCOR desenvolvida sobre MS-Windows

25-5-2004 Diagramas de Componentes e Diagramas de Instalação [email protected]

UML – Metodologias e Ferramentas CASEAlberto Silva, Carlos Videira, Edições Centro Atlântico, 2001.

Fundamental de UML, 2ª ed. Mauro Nunes, Henrique O’Neill, FCA, 2003

UML in 24 Hours.Joseph Schuller, SAMS Macmillan Computer Publishing, 1999

Referências