unified modeling language (uml) - modelação da arquitectura - alberto manuel rodrigues da silva...

33
Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Análise e Concepção de Sistemas de Informação Informação

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL 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

Análise e Concepção de Sistemas de Análise e Concepção de Sistemas de InformaçãoInformação

Page 2: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

2ACSI/UML-Arquitectura, Copyright, Alberto Silva

Modelação da ArquitecturaModelação da Arquitectura

Componentes

Nós

Diagramas de Componentes

Diagramas de Instalação

Page 3: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

3ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ArquitecturaDiagramas 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.

Page 4: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

4ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ArquitecturaDiagramas 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 infra-estrutura da organização através de um conjunto de recursos (humanos e outros) do negócio.

Page 5: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

5ACSI/UML-Arquitectura, Copyright, Alberto Silva

ComponentesComponentes Um componente de software é uma parte física de um

sistema existe de facto num computador e não apenas na mente do

analista…

Relação entre classes e componentes 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

Page 6: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

6ACSI/UML-Arquitectura, Copyright, Alberto Silva

ComponentesComponentes

Page 7: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

7ACSI/UML-Arquitectura, Copyright, Alberto Silva

Componentes e InterfacesComponentes e InterfacesInterface 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

«interface»Enumeration

hasMoreElements()nextElement()

Enumeration

Page 8: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

8ACSI/UML-Arquitectura, Copyright, Alberto Silva

Componentes e InterfacesComponentes e Interfaces

exemplo de interfaces de uma componente em Active-X...

wordsmith.dll componente

ISpell IThesaurus

IUnknown

interfaces

Page 9: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

9ACSI/UML-Arquitectura, Copyright, Alberto Silva

Componentes e InterfacesComponentes e Interfaces

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

Substituição e Reutilização

Page 10: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

10ACSI/UML-Arquitectura, Copyright, Alberto Silva

ComponentesComponentes

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”)

Tipos de Componentes

Page 11: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

11ACSI/UML-Arquitectura, Copyright, Alberto Silva

ComponentesComponentes

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.

Page 12: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

12ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas 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...

Page 13: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

13ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Componentes de Instalação e Interfaces…

A relação entre interface e componente designa-se por realização

Page 14: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

14ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Relação entre Componentes

Page 15: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

15ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Representação de vários detalhes de um componente

Page 16: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

16ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Uma componente pode conter outras componentes: inclusão física

Componentes c/ Componentes…

wordsmith.dll

wordsmith.dll

Speller.obj

Thesaurus.obj

Speller.obj

Thesaurus.obj

Page 17: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

17ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Exemplo (1) - Página Web com um applet Java

<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>

demo/applets/Animator/example1.html

Page 18: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

18ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Exemplo (1) - Página Web com um applet Java

Page 19: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

19ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas 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

Page 20: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

20ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Exemplo (2) - Aplicação WinCOR para Windows

Page 21: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

21ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Exercício (1) - Programa em C para ambiente Unix

CC = gccCFLAGS = -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

Makefile

Page 22: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

22ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de ComponentesDiagramas de Componentes

Exercício (2) - Página HTML/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>

PUC: http://www.puc.pt/index.jsp

Page 23: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

23ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de InstalaçãoDiagramas 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.

Page 24: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

24ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - NósDiagramas de Instalação - NósUm nó é um objecto físico que representa uma recurso de processamento, geralmente tendo capacidades de memória e de

processamento.

Page 25: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

25ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - NósDiagramas de Instalação - NósOs 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

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

Page 26: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

26ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de InstalaçãoDiagramas de Instalação

Podem-se representar as componentes relevantes que existem ou são suportadas em determinado nó…

(relação de dependência, de estereótipo «support»)

Nós e Componentes

Page 27: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

27ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de InstalaçãoDiagramas de Instalação

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.

Nós e Componentes “connection”associação representa a ligação fisica entre nós

Page 28: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

28ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - Exemplo (1)Diagramas de Instalação - Exemplo (1)“O sistema de trabalho doméstico”: Diagrama de instalação

Modelar processadores e devices

Page 29: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

29ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - Exemplo (1)Diagramas de Instalação - Exemplo (1)

Modelar processadores e devices

“O sistema de trabalho doméstico”: Diagrama de instalação com componentes

Page 30: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

30ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - Exemplo (2)Diagramas de Instalação - Exemplo (2)

Web Browser (e.g., IE)

Servidor Web (e.g., IIS, Apache)

Interfaces Web (e.g., HTML, JSP, ASPX)

Servidor Base Dados (e.g., Oracle, SQL Server)

Componentes Aplicacionais (e.g., .NET, EJB)

Base Dados

Servidor Map (e.g., ArcIMS, MapGuide)

Ficheiro SIG (e.g., .shp, .dwg)

Editor SIG-C-Gás (e.g., baseado em ArcEditor, Map, GeoMedia)

Servidor Aplicacional (e.g. .NET/COM+, J2EE)

HTTPHTTP

PC com acesso ao SIG-C-Gás, via Web

Browser

PC com SIG-C-Gás e GestãoGIS

Servidor SIG-C-Gás

Page 31: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

31ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - Exercício (1)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.

Page 32: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

32ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - Exercício (2)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 PCS-Está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 codificado baseado em HTTP, conhecido por PCS-HTTP.

Page 33: Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

33ACSI/UML-Arquitectura, Copyright, Alberto Silva

Diagramas de Instalação - Exercício (3)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- ...