Upload
internet
View
106
Download
0
Embed Size (px)
Citation preview
1
Unified Modeling Language (UML)- Modelação da Arquitectura -
Alberto Silva / José Borbinha
Análise e Concepção de Sistemas de Informação
2
3
Modelação da Arquitectura
• Introdução• Componentes
• Diagramas de Componentes
• Nós
• Diagramas de Instalaçã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.
5
Modelação da Arquitectura
• Introdução
• Componentes• Diagramas de Componentes
• Nós
• Diagramas de Instalaçã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– ...
7
Componentes
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
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
10
Componentes e Interfaces
exemplo de interfaces de uma componente em Active-X...
wordsmith.dll
componente
ISpell
IThesaurus
IUnknown
interfaces
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
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
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.
14
Modelação da Arquitectura
• Introdução
• Componentes
• Diagramas de Componentes • Nós
• Diagramas de Instalaçã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...
16
Diagramas de Componentes
Componentes de Instalação e Interfaces…
A relação entre interface e componente designa-se por realização
17
Diagramas de Componentes
Relação entre Componentes
18
Diagramas de Componentes
Representação de vários detalhes de um componente
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
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>
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
22
Modelação da Arquitectura
• Introdução
• Componentes
• Diagramas de Componentes
• Nós• Diagramas de Instalação
23
Nós
Um nó é um objecto físico que representa uma recurso, geralmente tendo capacidades de memória e de processamento.
24
Nós e instâncias
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
26
Modelação da Arquitectura
• Introdução
• Componentes
• Diagramas de Componentes • Nós
• Diagramas de Instalaçã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...
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
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
30
Diagramas de Instalação
Nós e Componentes
31
Diagramas de Instalação - Exemplo
“O sistema de trabalho doméstico”: Diagrama de componentes e Diagrama de instalação com componentes
32
Diagramas de Instalaçã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
34
Relações entre Diagramas de Componentes e de Instalação
Exemplo: Sistema de informação de uma universidade
35
Exemplo: Diagrama de Componentes do Sistema de informação de uma universidade
36
Exemplo: Diagrama de Instalação do Sistema de informação de uma universidade
37
Exemplo: Sistema de informação de uma universidade
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).
39
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...