40
1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

Embed Size (px)

Citation preview

Page 1: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

1

Unified Modeling Language (UML)- Modelação da Arquitectura -

Alberto Silva / José Borbinha

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

Page 2: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

2

Page 3: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

3

Modelação da Arquitectura

• Introdução• Componentes

• Diagramas de Componentes

• Nós

• Diagramas de Instalação

Page 4: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

4

Diagramas de Arquitectura

Diagramas de arquitectura (ou estrutura) 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 5: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

5

Modelação da Arquitectura

• Introdução

• Componentes• Diagramas de Componentes

• Nós

• Diagramas de Instalação

Page 6: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

6

Componentes (de software)

• Um componente de software é uma agregação de várias peças de software.

• Um componente pode concretizar uma ou mais classes.

• Vantagens e 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

orientação que lhe permite trabalhar de forma controlada– a equipa de documentação e ajudas (help) podem

entender melhor o âmbito do seu trabalho– promove-se a reutilização– ...

Page 7: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

7

Componentes

Page 8: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

8

Componentes e Interfaces (outra vez...)

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

Page 9: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

9

Componentes e Interfaces (outra vez...)

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

WP.exe wordsmith.dll

ISpell<<Interface>>

ISpell

WP.exe wordsmith.dll

Page 10: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

10

Componentes e Interfaces

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

wordsmith.dll

componente

ISpell

IThesaurus

IUnknown

interfaces

Page 11: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

11

Componentes e Interfaces

As interfaces têm um impacto significativo nos conceitos de substituição e reutilização de componentes:

– Pode-se substituir um componente por outro, se o novo componente providenciar as interfaces do anterior

– Pode-se reutilizar um componente noutro sistema, se o novo sistema puder aceder e reutilizar o componente através das suas respectivas interfaces

Substituição e Reutilização

Page 12: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

12

Componentes

Componentes de trabalho, a partir dos quais são criados os componentes de instalação (ficheiros com código fonte, ficheiros de dados, documentos, ...)

Componentes de instalação, constituem a base dos sistemas executáveis (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 dos componentes de instalação (processos, threads, agentes de software, ...)

NOTA: Os componentes de execução são apenas representados nos diagramas de instalação (como instâncias de “componentes de instalação”)

Tipos de Componentes

Page 13: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

13

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.

Page 14: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

14

Modelação da Arquitectura

• Introdução

• Componentes

• Diagramas de Componentes • Nós

• Diagramas de Instalação

Page 15: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

15

Diagramas de Componentes

Um diagrama de componentes ilustra as dependências entre vários componentes de software.

Incluem-se nesta definição lata, por exemplo, artefactos: de código fonte, de código binário, de código executável, procedimentos de negócio, documentos...

Notas: Um diagrama de componentes representa apenas tipos de

componentes e nunca instâncias de componentes (para ilustrar instâncias de componentes devem ser usados diagramas de instalação)

Apenas se ilustram componentes executáveis...

Page 16: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

16

Diagramas de Componentes

Componentes de Instalação e Interfaces…

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

Page 17: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

17

Diagramas de Componentes

Relação entre Componentes

Page 18: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

18

Diagramas de Componentes

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

Page 19: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

19

Diagramas de Componentes

Um componente pode conter outros componentes: inclusão física

Componentes com Componentes…

wordsmith.dll

wordsmith.dll

Speller.obj

Thesaurus.obj

Speller.obj

Thesaurus.obj

Page 20: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

20

Diagramas de Componentes

Exemplo1: Página Web com um applet Java

demo/applets/Animator/example1.html

<html> <head> <title>The Animator Applet - example 1</title> </head> <body> <h1>The Animator Applet - example 1</h1> <applet codebase=".“ code=Animator.class width=46 height=160> </applet> <a href="Animator.java">The source.</a> <hr> </body></html>

Page 21: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

21

Diagramas de ComponentesExemplo: Pretende-se o diagrama de componentes da aplicação WinCOR, desenvolvida sobre ambiente

Windows, para gestão de correspondência de uma organização, que consiste no seguinte conjunto de componentes de instalação:

wincor.exe: ficheiro que contêm o executável da aplicação pblib32.dll, sde32.dll, sdemdb32.dll: bibliotecas com código binário de 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

Page 22: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

22

Modelação da Arquitectura

• Introdução

• Componentes

• Diagramas de Componentes

• Nós• Diagramas de Instalação

Page 23: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

23

Nós

Um nó é um objecto físico que representa uma recurso, geralmente tendo capacidades de memória e de processamento.

Page 24: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

24

Nós e instâncias

Page 25: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

25

NósOs nós podem consistir em recursos

– computacionais (hardware)– humanos– organizacionais – processamento mecânico

Nós e Componentes

Semelhanças Ambos podem participar em relações de

generalização, dependência e associação Ambos podem ser aninhados Ambos podem ter instâncias Ambos 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 de elementos lógicos

Nós representam a instalação fisica de componentes

Page 26: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

26

Modelação da Arquitectura

• Introdução

• Componentes

• Diagramas de Componentes • Nós

• Diagramas de Instalação

Page 27: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

27

Diagramas de Instalação (“deployment”)

O objectivo dos diagramas de instalação é mostrar a configuração de hardware de um sistema, consistindo na identificação de...

• nós (computadores, periféricos, …)• instâncias de componentes de software• objectos

...bem como nos canais de comunicação existentes entre esses nós...

Page 28: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

28

Diagramas de Instalação

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

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

Nós e Componentes

Page 29: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

29

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

“connection”: associação que representa a ligação fisica entre nós

Page 30: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

30

Diagramas de Instalação

Nós e Componentes

Page 31: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

31

Diagramas de Instalação - Exemplo

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

Page 32: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

32

Diagramas de Instalação...

Page 33: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

33

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 34: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

34

Relações entre Diagramas de Componentes e de Instalação

Exemplo: Sistema de informação de uma universidade

Page 35: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

35

Exemplo: Diagrama de Componentes do Sistema de informação de uma universidade

Page 36: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

36

Exemplo: Diagrama de Instalação do Sistema de informação de uma universidade

Page 37: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

37

Exemplo: Sistema de informação de uma universidade

Page 38: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

38

A propósito dos Diagramas de Arquitectura

• Estes diagramas podem também ser aplicados na modelação de negócios e de organizações em que

– os componentes de “código” representam os procedimentos e regras de negócio;

– os nós (isto é, os componentes não digitais) representam a infra-estrutura da organização através de um conjunto de recursos do negócio (humanos e outros).

Page 39: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

39

Page 40: 1 Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Silva / José Borbinha Análise e Concepção de Sistemas de Informação

40

...!!! Extra à matéria da cadeira !!!...Diagrama de Estrutura Composta (“Composite Structure Diagram”)

• Diagrama para representar a estrutura interna de alguns elementos (classes, componentes, nós, ...) usando:

• Partes (instâncias que compõem o elemento)• Portos (pontos de interacção entre as Partes)• Conectores (“links” entre Partes ou Portos)

• Pode ser equivalente aos diagramas de classes, mas mostra as partes individuais das classes, em vez das classes no seu todo...