32
Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Embed Size (px)

Citation preview

Page 1: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Modelação

Aula T16Modelação Conceptual de Sistemas

A Estrutura do Sistema

José Borbinha

Page 2: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

ProgramaT01-T03 – Módulo 1

– Introdução à Modelação de SistemasT04-T07 – Módulo 2

– Modelação Conceptual de SistemasT08-T11 – Módulo 3

– OntologiasT12 – Correcção do Teste 1T13-T15 – Módulo 4

– Modelação de Sistemas: Comportamento

T16-T18 – Módulo 5

–Modelação de Sistemas: Arquitectura(A Estrutura do Sistema…)

T19-T25 – Módulo 6– Temas avançados

2Modelação

Page 3: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Modelação da estrutura de sistemas em UML e SysML

3Modelação

Page 4: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

4

Diagramas de Estrutura em UML– 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: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

UML-

Diagramas de Componentes

5Modelação

Page 6: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

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

Formas equivalentes em UML 2.0:

Page 7: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

7

Componentes e Interfaces

• “Interface” é um conceito que:– 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

• Conceito suportado por alguns modelos ou linguagens de programação (Java, Corba IDL, COM IDL, …)

Page 8: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Diagramas de Componentes

• A Component diagram illustrates the pieces of software, embedded controllers and such that make up a system, and their organization and dependencies .

• A Component diagram has a higher level of abstraction than a Class diagram; usually a component is implemented by one or more Classes (or Objects) at runtime. They are building blocks, built up so that eventually a component can encompass a large portion of a system.

• The diagram below demonstrates some components and their inter-relationships.

• Assembly connectors link the provided interfaces supplied by Product and Customer to the required interfaces specified by Order.

• A Dependency relationship maps a customer's associated account details to the required interface Payment, indicated by Order.

Modelação 8Retirado do “Help” do Enterprise Architect

Page 9: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

9

Componentes e Interfaces

“Interfaces” são relevantes para os 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

Page 10: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

10

Diagramas de Componentes

Um diagrama de componentes pode ilustrar as dependências entre vários componentes de software, tais como:

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 (para ilustrar instâncias de componentes devem ser usados diagramas de instalação)

Apenas se ilustram componentes executáveis...

Page 11: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

11

Diagramas de Componentes

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

Page 12: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

12

Diagramas de Componentes

Um componente pode conter outros componentes

wordsmith.dll

wordsmith.dll

Speller.obj

Thesaurus.obj

Speller.obj

Thesaurus.obj

Page 13: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Elementos de Diagramas de Componentes

Modelação 13Retirado do “Help” do Enterprise Architect

Page 14: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

UML-

Diagramas de Pacotes

14Modelação

Page 15: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

15

Pacotes (“Packages”)

• Pacotes são um mecanismo genérico para organizar elementos em grupos, facilitando a modelação parcial do sistema

Package A

pacote

Um pacote pode conter outros elementos, incluindo: classes, interfaces, … e mesmo outros pacotes. Mas qualquer elemento é definido em apenas um único pacote!!!

Um pactoe providencia um contexto, logo um suporte para um espaço de nomes (X::A é diferente de X::Y:A, diferente de Z::A, ...)

Page 16: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

16

Packages - Exemplos

Page 17: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

17

Pacotes...

Um package bem estruturado é:• Coerente: providencia uma fronteira bem definida que agrega um conjunto

de elementos relacionados

• Minimizar as dependências: exportar e importar entre pacoters apenas os elementos estritamente necessários

• Hierarquias balanceadas: evitar longas hierarquias de pacotes aninhadas

• Conteúdo balanceado: dentro do conjunto de pacotes de um sistema, não deverão existir pacotes nem demasiado grandes nem demasiado pequenos

Quando utilizar Packages?• Pragmatismo e legibilidade: sempre que um determinado diagrama não seja

legível num espaço útil, deve-se repartir (p.ex. numa “folha A4”)

• Rastreabilidade: representar um caso de testes por pacote…

• Alinhamento com o desenvolvimento: pacote como unidades de programação...

Page 18: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Elementos de diagramas de pacotes

Modelação 18Retirado do “Help” do Enterprise Architect

Page 19: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

UML-

Diagramas de Instalação

19Modelação

Page 20: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Diagramas de Instalação• A Deployment diagram shows how

and where the system is to be deployed; that is, its execution architecture. Hardware devices, processors and software execution environments (system Artifacts) are reflected as Nodes, and the internal construction can be depicted by embedding or nesting Nodes. As Artifacts are allocated to Nodes to model the system's deployment, the allocation is guided by the use of deployment specifications.

• Example: Two Nodes have a TCP/IP communication path indicated. Deployment relationships indicate the deployment of Artifacts. Furthermore, a deployment spec defines the process of deployment for the networkScanner Artifact. The Manifestation relationships reveal the physical implementation of components ReposCustomer and ReposInternalRecords.

Modelação 20Retirado do “Help” do Enterprise Architect

Page 21: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Diagramas de Instalação

Modelação 21Retirado do “Help” do Enterprise Architect

Page 22: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

22

Nós

Um nó é um objecto físico que representa um recurso (geralmente com capacidades de memória e de processamento).

Os nós podem consistir em recursos – computacionais (hardware)– humanos– organizacionais – processamento mecânico– …

Page 23: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

23

Nós e instâncias

Page 24: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

24

Nós e Componentes

• Semelhanças– Ambos podem participar em relações de generalização,

dependência e associação– 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 25: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

25

Diagramas de Instalação (“deployment”)

• Mostram a configuração de hardware de um sistema, identificando:

–nós (computadores, periféricos, …)– instâncias de componentes de software–objectos–canais de comunicação existentes entre

os nós...

Page 26: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

26

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 27: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

27

Diagramas de Instalação - Exemplo

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

“connection”: associações que representam ligações fisicas entre nós

Page 28: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Diagramas de Estrutura e de Blocos...

28Modelação

Page 29: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

O que há de potencialmente errado neste domínio?

Modelação 29

Exemplo retirado de: http://www.jot.fm/issues/issue_2004_11/column5/

Page 30: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Potencialmente, uma grande trapalhada…

Modelação 30

Exemplo retirado de: http://www.jot.fm/issues/issue_2004_11/column5/

Instanciação possível

Page 31: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

31

Diagrama de Estrutura Composta em UML(“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)

• Podem ser equivalentes aos diagramas de classes, mas mostram as partes individuais das classes, em vez das classes no seu todo...

Page 32: Modelação Aula T16 Modelação Conceptual de Sistemas A Estrutura do Sistema José Borbinha

Diagramas de Estrutura em UML e em SysML

32Modelação

Os “Composite Structure Diagram” são no entanto um conceito confuso em UML!O seu objectivo é melhor conseguido em SysML, nos diagramas de blocos (a ver na próxima aula…)