Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Diagrama de Estruturas Compostas Franklin Ramalho Universidade Federal de Campina Grande - UFCG SI2- UFCG 2 Agenda • Contexto e Motivação • Diagrama de Estruturas Compostas – Definição – Elementos • Artefatos • Meta-modelo • Sintaxe concreta • Exemplos SI2- UFCG 3 Contexto e Motivação • Como verificar a relação hierárquica entre os elementos de meu sistema? – Quais seus “sub-elementos” e como estes se relacionam? • Como faço para verificar a relação em tempo de execução dos elementos de meu sistema? • É possível verificar a estrutura interna de um elemento do sistema e as suas possíveis colaborações? • Como as instâncias colaboram entre si para alcançar uma funcionalidade? SI2- UFCG 4 Diagrama de Componentes • Um diagrama de componentes é uma unidade modular com interfaces bem definidas indicando sua(s) funcionalidade(s). SI2- UFCG 5 Diagrama de Componentes • E se for preciso... – Especificar o motor do carro?! – Descrever a relação entre as partes de um motor para realizar as funções motoras?! – Verificar essas relações enquanto o motor funciona? SI2- UFCG 6 Diagrama de Estruturas Compostas • Diagrama que mostra a estrutura interna de um componente (ou classe) e as possíveis colaborações realizadas por ela. 2 SI2- UFCG 7 Diagrama de Estruturas Compostas • Estrutura refere-se a uma composição de elementos interconectados, representando instâncias de tempo de execução colaborando para atingir um objetivo comum • Também utilizado para descrever a estrutura interna de um classificador SI2- UFCG 8 Diagrama de Estruturas Compostas • Com eles é possível descrever: – Estruturas de elementos interconectados. – Estruturas das instâncias interconectadas em tempo de execução. – Colaborações entre instâncias SI2- UFCG 9 Estrutura Composta x Componentes • Diagrama de Componentes: – Divide uma aplicação complexa em componentes independentes. – Permite conectar os componentes através de interfaces. – Especifica o “quê” ao invés do “como”. • Diagrama de Estruturas Compostas: – Decompõe hierarquicamente um componente em uma estrutura interna. – Permite visualizar a relação entre os elementos em tempo de execução. – Não é preciso descrever um componente SI2- UFCG 10 Estrutura Composta x Classes • Diagrama de Classes: – Divide uma aplicação complexa em classes – Visão estática da estrutura de classes • Diagrama de Estruturas Compostas: – Decompõe hierarquicamente uma classe em uma estrutura interna. – Permite visualizar a relação entre os elementos em tempo de execução. SI2- UFCG 11 Diagrama de Estrutura Compostas • Principais elementos: – Propriedade – Porta – Conector – Colaboração SI2- UFCG 12 Propriedade (Motivação) • Diagrama de Classes – Qual o elemento principal? 3 SI2- UFCG 13 Propriedade • Conjunto de instâncias internas pertencentes a uma instância do classifier (container) • Structural Classifier: Um Classifier que tem uma estrutura interna • É representada por um retângulo contido no corpo de uma classe/componente • Pode conter multiplicidade SI2- UFCG 14 Propriedade • Quando uma instância de um classificador é criada, um conjunto de instâncias correspondente às suas propriedades podem ser criadas SI2- UFCG 15 Propriedade • Parte – Propriedade que está contida na classe ou componente • Demais Propriedades – Representadas por linhas tracejadas – Chamadas de propriedades referenciadas SI2- UFCG 16 Exemplo do Carro SI2- UFCG 17 Exemplo do Carro SI2- UFCG 18 Exemplo do Carro 4 SI2- UFCG 19 Exemplo do Carro SI2- UFCG 20 Exemplo do Carro SI2- UFCG 21 Exemplo do Carro • Semânticas distintas! – No diagrama de estruturas compostas: • Uma instância de motor se relaciona com 2 instâncias de Roda • Uma instância de motor se relaciona com instâncias de Roda apenas se todos fizerem parte da mesma instância da classe Carro SI2- UFCG 22 Exemplo SI2- UFCG 23 Construtores • É possível definir construtores que respeitem as referidas regras de instanciação SI2- UFCG 24 Conector • Conceitos – Une dois ou mais elementos conectáveis, cada um representando um conjunto de instâncias. – Por que não é uma associação? 5 SI2- UFCG 25 Conector • Por que não é uma associação? – In contrast to associations, which specify links between any instance of the associated classifiers, connectors specify links between instances playing the connected parts only. (UML Spec) • Na implementação, podem ser realizados por um socket de rede, um apontador, ... SI2- UFCG 26 Porta • E se uma instância de motor pudesse ser usada para um carro ou um barco ou um avião ou um brinquedo...? SI2- UFCG 27 Porta • Conceito: – Propriedade de um classifier que especifica um ponto de interação: • Entre o Ambiente e o Classifier. • Entre o Classifier e seus elementos internos. – Conectadas às propriedades de um classifier através de conectores – É capaz de especificar os serviços requeridos ou oferecidos pelo classifier. SI2- UFCG 28 Colaboração • Define um conjunto de papéis cooperativos usados coletivamente para ilustrar uma funcionalidade específica. • Geralmente, um colaboração define um comportamento genérico para depois ser instanciado (CollaborationUse) SI2- UFCG 29 Colaboração • Um classificador • Representada por: – Entidades cooperativas • Representadas por instâncias – E conectores • Define os caminhos de comunicação entre as instâncias participantes SI2- UFCG 30 Diagrama de Estruturas Compostas • Ocorrência de colaboração: – Determina como um padrão descrito por uma colaboração é aplicado em um contexto, através da associação de entidades específicas do contexto com os elementos do collaboration. 6 SI2- UFCG 31 Diagrama de Estruturas Compostas Colaboração Ocorrências de colaboração SI2- UFCG 32 UML 2.0 Superstructure • Dividido em 3 pacotes de alto nível: – Structure – Behavior – Supplement • Dividem-se em outros sub-pacotes SI2- UFCG 33 UML 2.0 Superstructure – Structure © Franklin Ramalho SI2- UFCG 34 UML 2.0 Superstructure – CompositeStructure SI2- UFCG 35 UML 2.0 Superstructure – CompositeStructure SI2- UFCG 36 UML 2.0 Superstructure – InternalStructure 7 SI2-UFCG 37 UML 2.0 Superstructure – Connectors SI2- UFCG 38 UML 2.0 Superstructure – Ports SI2- UFCG 39 UML 2.0 Superstructure – Collaborations SI2- UFCG 40 UML 2.0 Superstructure – Collaborations SI2- UFCG 41 Referências • Especificação de UML da OMG: – http://www.omg.org
Compartilhar