Upload
internet
View
126
Download
2
Embed Size (px)
Citation preview
Modelação
Aula T16Modelaçã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
Modelação da estrutura de sistemas em UML e SysML
3Modelação
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.
UML-
Diagramas de Componentes
5Modelaçã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– ...
Formas equivalentes em UML 2.0:
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, …)
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
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
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...
11
Diagramas de Componentes
Representação de vários detalhes de um componente
12
Diagramas de Componentes
Um componente pode conter outros componentes
wordsmith.dll
wordsmith.dll
Speller.obj
Thesaurus.obj
Speller.obj
Thesaurus.obj
Elementos de Diagramas de Componentes
Modelação 13Retirado do “Help” do Enterprise Architect
UML-
Diagramas de Pacotes
14Modelação
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, ...)
16
Packages - Exemplos
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...
Elementos de diagramas de pacotes
Modelação 18Retirado do “Help” do Enterprise Architect
UML-
Diagramas de Instalação
19Modelação
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
Diagramas de Instalação
Modelação 21Retirado do “Help” do Enterprise Architect
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– …
23
Nós e instâncias
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
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...
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
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
Diagramas de Estrutura e de Blocos...
28Modelação
O que há de potencialmente errado neste domínio?
Modelação 29
Exemplo retirado de: http://www.jot.fm/issues/issue_2004_11/column5/
Potencialmente, uma grande trapalhada…
Modelação 30
Exemplo retirado de: http://www.jot.fm/issues/issue_2004_11/column5/
Instanciação possível
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...
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…)