Você está na página 1de 36

UML Diagramas de componentes

Por Srgio Crespo

Crespo, 2010

Diagrama de Componentes
Captura a estrutura fsica da implementao Construdo como parte da especificao da arquitectura Objectivo
Organizar o cdigo fonte (ambiente de desenvolvimento) Construir uma release executvel (ambiente de produo) Especificar uma base de dados fsica

Desenvolvido por arquitectos e programadores Contm componentes, interfaces e relaes entre componentes

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

Componentes
Um componente uma parte fsica (feita de bits e bytes) e substituvel de um sistema, que proporciona a realizao de um conjunto de interfaces
Podem-nos interessar diferentes ambientes: desenvolvimento, produo, testes, ...

Exemplos: executveis, bibliotecas, tabelas, ficheiros, documentos Um componente representa um empacotamento fsico de elementos relacionados logicamente (normalmente classes) Notao: caixa com tabs kernel32.dll

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

Tipos de componentes - cones e esteretipos


<<executable>> componente que pode ser executado num n
2 rodas dentadas

<<library>>

biblioteca esttica ou dinmica

<<database>>

base de dados

<<table>>

tabela de uma base de dados

<<file>>

Arquivo contendo cdigo fonte ou dados

<<document>>

documento genrico

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

Interfaces
Uma interface um conjunto de operaes usado para especificar os servios de uma classe ou componente Relao de concretizao (realization): um componente pode concretizar, realizar (implementar os servios de) uma ou mais interfaces
Normalmente quer dizer que tem classes que implementam esses interfaces Diz-se que as interfaces so exportadas Um componente poder ser substitudo por outro componente que implementa as mesmas interfaces
- No basta obedecer mesma sintaxe, mas tambm mesma semntica

Relao de dependncia: um componente pode usar uma ou mais interfaces


Diz-se que essas interfaces so importadas Um componente que usa outro componente atravs de uma interface bem definida, no deve depender da implementao (do componente em si), mas apenas da interface

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

UML Diagrama de Componentes Interfaces

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

Interfaces oferecidas e usadas

http://www.dsc.ufcg.edu.br/~patricia/esii2003.1/aulas/UMLComponents.pdf

Interfaces Exemplo 2
image.java ImageObserver componente.java

ou com mais detalhe:

dependncia

interface

concretizao

image.java

<<interface>> ImageObserver
abort: int {final static} error: int {final static} imageUpdate(): Boolean

componente.java

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

Interfaces Exemplo 3
componente

Java Application JDBC

Visual Basic Application Sun JDBCODBC brigde


interface (mais precisamente, API)

SQL Server JDBC driver

ODBC

Oracle ODBC driver

SQL Server ODBC driver Transact SQL SQL Server DBMS


UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

10

Tipos de dependncias entre componentes


Dependncias simples:
entre arquivos com cdigo fonte, para controlo de alteraes entre executveis e/ou bibliotecas, para gesto de configuraes e dependncias entre executveis ou bibliotecas e tabelas ou documentos de ajuda por eles usados

Dependncias estereotipadas:
esteretipo hyperlink - entre pginas html ou pginas html e executveis esteretipo trace - entre verses consecutivas do mesmo tipo de componente

No esquecer que melhor depender das interfaces do que das implementaes

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

11

Relaes de Dependncia

http://www.dsc.ufcg.edu.br/~patricia/esii2003.1/aulas/UMLComponents.pdf

12

Dependncias

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

13

Composio e agrupamento de componentes


Conforme o nome indica, os componentes so para compor (montar), criando componentes maiores ou sistemas inteiros Exemplos:
Base de dados composta por tabelas Biblioteca dinmica (dll) composta por componentes COM+

No caso de agrupamentos de componentes que no criam componentes (fsicos) maiores, usar pacotes de componentes
Web site Base de dados de biblioteca

hyperlink

Web page 1

Web page n

Tabela de scios

Tabela de reservas

Tabela de publicaes
14

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

UML Diagrama de Componentes

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

15

UML Diagrama de Componentes

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

16

UML Diagrama de Componentes

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

17

UML Diagrama de Componentes

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

18

UML Diagrama de Componentes

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

19

Caso de estudo (biblioteca)


Pacotes de componentes
Pginas Web Dinmicas do SIB

Compone ntes de Lgica de Negcio do SIB

Base de Dados do SIB

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

20

UML Diagrama de Componentes


EXEMPLO

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

21

UML Diagrama de Componentes


EXEMPLO

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

22

UML Diagrama de Componentes


EXEMPLO

Note que h dependncias identificadas entre os diferentes componentes de instalao


Estas dependncias referem-se ao executvel wincor.exe Sendo que somente ser executado se todos os componentes restantes estiverem instalados adequadamente, e, que o mdulo sdemdb32.dll depende do mdulo sde32.dll

http://www.fag.edu.br/professores/elielder/materias/apoo/10.pdf

23

Caso de estudo (biblioteca)


Todos os componentes
Pginas Web Dinmicas do SIB
Mostra menu que est disponvel em qualquer p gina

login. h tml

index.html para inserir novo

Segue um padro! Qual ?

pesquisaAu t ores.html

pesquisaPubli caes.html

pesquisaReq uisies.html

pesquisaS cios.html

listaAutor es.asp

listaPublica es.as p

listaRequisi es.asp

listaSci os.asp

fichaA utor. asp

fichaPublica o.asp

fichaRequi sio.asp

fichaSc io.asp

Componentes de Lgica de Negcio do SIB


<<COM+>> GestoAuto res <<COM+>> GestoPubli caes <<COM+>> GestoRequ is ies <<COM+>> GestoSci os

Base de Dados do SIB


<<dbtable>> Autores <<dbtable>> Publicaes <<dbtable>> Requisies <<dbtable>> Scios

UML diagramas de componentes, v.1.0, Joo Pascoal Faria, 2001

24

UML 2.0
Na UML 2.0, os seguintes elementos so utilizados para especificar componentes e interfaces. Interfaces Portas Classificadores estruturados Componentes Conectores

25

UML 2.0
Interfaces podem ser Requerida Provida Podem ser descritas de 3 formas

26

Interfaces: alternativas de modelagem

27

Portas
Conceito novo da UML 2.0 Portas: Especificam pontos de interao:
Entre componentes e seu ambiente Entre componentes e suas partes internas

Pode ter interfaces definidas ou no

28

Classificadores
Um Classificador um mecanismo que descreve caractersticas estruturais e comportamentais. Os Classificadores incluem classes, interfaces, tipos de dados, sinais, componentes, ns, casos de uso e subsistemas.

Na maioria dos casos, TODOS os tipos de Classificadores tm caractersticas estruturais e comportamentais (as interfaces so a nica exceo; elas podero no ter atributos!) Os Classificadores possuem: visibilidade, escopo, mutiplicidade e atributos e operaes.

29

Componentes
O componente tambm um classificador Possui duas formas de representao

UML 2.0

UML 1.4 e 2.0

30

Conectores
So mecanismos de interao entre os componentes.

Representando conectores como uma associao

Representando conectores usando associao de classes Representing a connector using an Association Class, without (a) and with (b) showing connections between component and connector interfaces (Ports)
Documenting Architectural Connectors with UML 2, James Ivers, Paul Clements1, David Garlan, Robert Nord1, Bradley, Schmerl, and Jaime Rodrigo Oviedo Silva, (Software Engineering Institute, Carnegie Mellon University, Pittsburgh PA 15213,USA and School of Computer Science, 31 Carnegie Mellon University, Pittsburgh PA 15213, USA)

UML Components A Simple Process for Specifying Component-Based Software

32

UML Componentes: Workflows

Importante SABER!
33

Tarefa: Analisar e explicar em aula!

1/3

Entregar um artigo, impresso, comentando a arquitetura com o mximo de detalhes!

34

Continuao

2/3

35

Continuao
Diagrama de DEPLOYMENT

3/3

36

Você também pode gostar