Análise e Concepção de Sistemas de
Informação
Unified Modeling Language (UML)
- Modelação da Arquitectura -
Alberto Manuel Rodrigues da Silva
Prof. DEI/IST/UTL
Modelação da Arquitectura

Componentes

Nós

Diagramas de Componentes

Diagramas de Instalação
ACSI/UML-Arquitectura, Copyright, Alberto Silva
2
Diagramas de Arquitectura

Diagramas de arquitectura permitem
– A descrição física do software: Os diagramas de componentes são
usados para modelar a arquitectura de um sistema na perspectiva dos seus
componentes de software (e.g., ficheiros de código fonte, de executáveis,
de configuração, tabelas de dados, documentos de gestão do projecto),
explicitando principalmente as suas múltiplas dependências.
– A descrição física do hardware: Os diagramas de instalação, por outro
lado, são usados para modelar a arquitectura de um sistema na
perspectiva dos seus componentes de hardware (e.g., computadores,
adaptadores de rede, impressoras, routers, cablagem), explicitando as
suas dependências de comunicação.
– A integração do software com o hardware: Os diagramas de instalação
com componentes são usados para modelar um determinado ambiente de
execução com componentes, através da identificação de instâncias de
componentes que são instaladas em determinada instância de nó
computacional.
ACSI/UML-Arquitectura, Copyright, Alberto Silva
3
Diagramas de Arquitectura

Estes diagramas podem também ser aplicados na
modelação de negócios e de organizações caso se
considere, e.g., que
– as componentes de “código” sejam procedimentos e regras
de negócio; e que
– os nós (I.e., componentes não digitais) constituam a infraestrutura da organização através de um conjunto de
recursos (humanos e outros) do negócio.
ACSI/UML-Arquitectura, Copyright, Alberto Silva
4
Componentes

Um componente de software é uma parte física de um
sistema


Relação entre classes e componentes


existe de facto num computador e não apenas na mente do
analista…
Um componente pode implementar uma ou mais classes...
Quais as vantagens/motivações para a construção de
modelos de componentes?




os clientes podem ver a estrutura final do sistema
a equipa de desenvolvimento tem uma estrutura, de modo a
trabalhar mais controladamente
os escritores técnicos (que produzem documentação e helps)
podem entender melhor o âmbito do seu trabalho
promove a reutilização
ACSI/UML-Arquitectura, Copyright, Alberto Silva
5
Componentes
ACSI/UML-Arquitectura, Copyright, Alberto Silva
6
Componentes e Interfaces
Interface





Providencia uma separação clara entre a
vista externa e a vista interna de uma
abstracção
Permite compreender melhor uma
abstracção sem conhecer os seus detalhes
de implementação
Promove a abstracção; desenvolvimento
baseado em componentes; separação de
aspectos
Suportada por algumas linguagens de
programação (e.g., Java, Corba IDL, COM
IDL, …)
A adequada definição de interfaces é
essencial para um bom desenho e
desenvolvimento de sistemas OO
ACSI/UML-Arquitectura, Copyright, Alberto Silva
Enumeration
«interface»
Enumeration
hasMoreElements()
nextElement()
7
Componentes e Interfaces
interfaces
IThesaurus
ISpell
wordsmith.dll
componente
IUnknown
exemplo de interfaces de uma componente em Active-X...
ACSI/UML-Arquitectura, Copyright, Alberto Silva
8
Componentes e Interfaces
Substituição e Reutilização
As interfaces têm um impacto significativo nos
conceitos de substituição e reutilização de
componentes:
– Pode-se substituir uma componente por outra, se a nova
componente providenciar as interfaces da anterior
– Pode-se reutilizar uma componente noutro sistema, se o novo
sistema puder aceder e reutilizar a componente através das
suas respectivas interfaces
ACSI/UML-Arquitectura, Copyright, Alberto Silva
9
Componentes
Tipos de Componentes
 Componentes de trabalho


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 instalação


constituem a base dos sistemas executáveis
e.g., DLL, executáveis, controlos Active-X, classes Java
 Componentes de execução



criados como resultado da execução de um sistema, ou seja,
correspondem a instâncias das componentes de instalação
e.g., processos, threads, agentes de software
Estes componentes são apenas representados nos
diagramas de instalação (como instâncias de “componentes
de instalação”)
ACSI/UML-Arquitectura, Copyright, Alberto Silva
10
Componentes

Estereótipos para componentes (UML, v1.3)
 «document»: denota um documento.
 «executable»: denota um programa que possa ser
executado num nó.
 «file»: denota um documento contendo código fonte ou
dados.
 «libary»: denota uma biblioteca dinâmica ou estática.
 «table»: denota uma tabela de uma base de dados.
ACSI/UML-Arquitectura, Copyright, Alberto Silva
11
Diagramas de Componentes
Um diagrama de componentes


ilustra as dependências entre vários componentes de software.
entre outros, incluem-se nesta definição lata artefactos:
 de código fonte,
 de código binário,
 de código executável,
 procedimentos de negócio e
 documentos.
Observação ...
 Um diagrama de componentes representa apenas tipos de
componentes e nunca instâncias de componentes.
 Para ilustrar instâncias de componentes deve ser usado um
diagrama de instalação

E apenas se ilustram componentes executáveis...
ACSI/UML-Arquitectura, Copyright, Alberto Silva
12
Diagramas de Componentes
Componentes de Instalação e Interfaces…
A relação entre interface e componente designa-se por realização
ACSI/UML-Arquitectura, Copyright, Alberto Silva
13
Diagramas de Componentes
Relação entre Componentes
ACSI/UML-Arquitectura, Copyright, Alberto Silva
14
Diagramas de Componentes
Representação de vários detalhes de um componente
ACSI/UML-Arquitectura, Copyright, Alberto Silva
15
Diagramas de Componentes
Componentes c/ Componentes…
Uma componente pode conter outras componentes: inclusão física
wordsmith.dll
Speller.obj
Thesaurus.obj

Speller.obj
wordsmith.dll
Thesaurus.obj
ACSI/UML-Arquitectura, Copyright, Alberto Silva
16
Diagramas de Componentes
Exemplo (1) - Página Web com um applet Java
demo/applets/Animator/example1.html
<html>
<head>
<title>The Animator Applet (1.1) - example 1</title>
</head>
<body>
<h1>The Animator Applet (1.1) - example 1</h1>
<applet codebase="." code=Animator.class width=460
height=160>
</applet>
<a href="Animator.java">The source.</a>
<hr>
</body>
</html>
ACSI/UML-Arquitectura, Copyright, Alberto Silva
17
Diagramas de Componentes
Exemplo (1) - Página Web com um applet Java
ACSI/UML-Arquitectura, Copyright, Alberto Silva
18
Diagramas de Componentes
Exemplo (2) - Aplicação WinCOR para Windows
Considere a aplicação WinCOR desenvolvida sobre ambiente
Windows e responsável pela gestão de correspondência (entrada
e saida) de uma organização. A aplicação consiste num conjunto
variado de componentes de instalação, nomeadamente:
 wincor.exe: ficheiro que contêm o executável da aplicação
 pblib32.dll, sde32.dll, sdemdb32.dll: bibliotecas
com código binário que providenciam funcionalidades
adicionais
 wincor.hlp: ficheiro de ajuda sobre a aplicação.
 wincor.ini: ficheiro de configuração da aplicação
 entrada.db, saida.db: ficheiros/tabelas da base de dados
de suporte
Pretende-se o respectivo diagrama de componentes
ACSI/UML-Arquitectura, Copyright, Alberto Silva
19
Diagramas de Componentes
Exemplo (2) - Aplicação WinCOR para Windows
ACSI/UML-Arquitectura, Copyright, Alberto Silva
20
Diagramas de Componentes
Exercício (1) - Programa em C para ambiente Unix
Makefile
CC = gcc
CFLAGS = -g
ex-pipes : ex-pipes.o util.o server.o client.o
$(CC) -g -o ex-pipes ex-pipes.o util.o
server.o client.o
server.o : server.c util.h comms.lib
$(CC) -o server.c util.h comms.lib
client.o : client.c util.h comms.lib
$(CC) -o server.c util.h comms.lib
ACSI/UML-Arquitectura, Copyright, Alberto Silva
21
Diagramas de Componentes
Exercício (2) - Página HTML/JSP
PUC:
http://www.puc.pt/
index.jsp
<head>
<title> Personal Unified Communication (PUC) </title>
<link rel="stylesheet" href="style1.css">
</head>
<body>
<jsp:include page="/genericJSP/top.jsp" flush="true" />
<jsp:include page="/genericJSP/middle.jsp" flush="true" />
<jsp:include page="/genericJSP/bottom.jsp" flush="true" />
</body>
</html>
ACSI/UML-Arquitectura, Copyright, Alberto Silva
22
Diagramas de Instalação
O objectivo dos diagramas de instalação é mostrar a
configuração hardware de um sistema, consistindo
na identificação de:



nós (computadores, periféricos, …)
Instâncias de componentes de software, e
objectos
Bem como nos canais de comunicação existentes entre
esses nós.
ACSI/UML-Arquitectura, Copyright, Alberto Silva
23
Diagramas de Instalação - Nós
Um nó é um objecto físico que representa uma recurso de
processamento, geralmente tendo capacidades de memória e de
processamento.
ACSI/UML-Arquitectura, Copyright, Alberto Silva
24
Diagramas de Instalação - Nós
Os nós podem consistir em recursos
–
–
–
–
computacionais (hardware)
humanos
organizacionais
processamento mecânico
Nós e Componentes
Semelhanças




podem participar em
relações de
generalização,
dependência e
associação
podem ser aninhados
podem ter instâncias
podem participar em
interacções
ACSI/UML-Arquitectura, Copyright, Alberto Silva
Diferenças


componentes são coisas que
participam na execução de um
sistema; nós são coisas que
executam componentes
componentes representam
agrupamento fisico de
elementos lógicos; nós
representam a instalação fisica
de componentes
25
Diagramas de Instalação
Nós e Componentes
Podem-se representar as componentes relevantes
que existem ou são suportadas em determinado nó…
(relação de dependência, de estereótipo «support»)
ACSI/UML-Arquitectura, Copyright, Alberto Silva
26
Diagramas de Instalação
Nós e Componentes
“connection”
associação representa a
ligação fisica entre nós
Embora a ligação seja o tipo de associação mais comum entre dois
nós, outros tipos de associações (e.g., agregação e dependência)
são também possíveis.
ACSI/UML-Arquitectura, Copyright, Alberto Silva
27
Diagramas de Instalação - Exemplo (1)
“O sistema de trabalho doméstico”:
Diagrama de instalação
Modelar processadores e devices
ACSI/UML-Arquitectura, Copyright, Alberto Silva
28
Diagramas de Instalação - Exemplo (1)
“O sistema de trabalho doméstico”:
Diagrama de instalação com componentes
Modelar processadores e devices
ACSI/UML-Arquitectura, Copyright, Alberto Silva
29
Diagramas de Instalação - Exemplo (2)
PC com SIG-C-Gás e GestãoGIS
PC com acesso ao
SIG-C-Gás, via Web
Browser
Web Browser
(e.g., IE)
HTTP
Editor SIG-C-Gás (e.g., baseado
em ArcEditor, Map, GeoMedia)
HTTP
Servidor SIG-C-Gás
Servidor Map (e.g.,
ArcIMS, MapGuide)
Interfaces Web (e.g.,
HTML, JSP, ASPX)
Servidor Web
(e.g., IIS, Apache)
ACSI/UML-Arquitectura, Copyright, Alberto Silva
Ficheiro SIG (e.g.,
.shp, .dwg)
Componentes Aplicacionais
(e.g., .NET, EJB)
Servidor Aplicacional (e.g.
.NET/COM+, J2EE)
Base
Dados
Servidor Base Dados (e.g.,
Oracle, SQL Server)
30
Diagramas de Instalação - Exercício (1)
MyGlobalNews é um jornal electrónico personalizado, baseado
em agentes de software e distribuído.
O servidor corre na máquina “xpto.ist.utl.pt” e consiste em várias
componentes, designadamente: o servidor MyGlobalNews
(aplicação Java) e a base de dados MGN (gerida pelo SQL Server
2000).
O cliente corre sobre sistema operativo Windows, em qualquer
máquina do domínio “ist.utl.pt” e consiste na aplicação
GlobalNews.exe.
O cliente MyGlobalNews acede ao servidor através do protocolo
HTTP, e este acede à base de dados MGN via Java JDBC. Todas
as máquinas do domínio “ist.utl.pt” encontram-se ligadas através
de Ethernet.
ACSI/UML-Arquitectura, Copyright, Alberto Silva
31
Diagramas de Instalação - Exercício (2)
A empresa Euro2004 pretende desenvolver um conjunto de sistemas
na área da segurança para preparar e gerir adequadamente a
organização do Euro2004. Considere que o sistema “Planeamento,
Controlo e Segurança dos Jogos” (PCS-Jogos-2004) é suportado por
múltiplas plataformas distribuídas e suportadas por várias entidades:
-A empresa Euro2004, entidade responsável por operar a aplicação
PCS-Euro2004, a qual comunica com a BD BD-PCS-Central
(suportada pelo SGBD Oracle 10i).
- Os vários donos/gestores dos estádios onde os jogos se realizam.
Em cada estádio deverá existir a aplicação PCS-Estádio, que
supervisiona todos os acontecimentos relativos à segurança de cada
estádio, tais como captura de imagens de video, análise de sensores
de incêndio, e o controlo de acessos ao estádio. A aplicação PCSEstádio mantém informação na BD BD-PCS-Estádio (a qual é
suportada pelo SGBD SQL Server). A aplicação PCS-Estádio
comunica com PCS-Euro2004 através de um protocolo proprietário e
32
ACSI/UML-Arquitectura,
Copyright, Alberto
Silva
codificado baseado
em HTTP,
conhecido por PCS-HTTP.
Diagramas de Instalação - Exercício (3)
Fazer o diagrama de instalação da infraestrutura
computacional de apoio à formação. Não esquecer:
- servidor Web, servidor BD,
- ferramentas de trabalho (e.g., CASE, IDE, …)
- descrição dos postos de trabalho
- ...
ACSI/UML-Arquitectura, Copyright, Alberto Silva
33
Download

Um diagrama de componentes