Linhas de Produtos de Software Professor: Uirá DIMAp / UFRN, 2009.2
Aula 4: Modelagem de Variabilidades em Requisitos
Modelagem de Requisitos Documentação textual Não limita a expressividade dos requisitos especificados Pode gerar ambiguidade Requisitos baseado em modelos Conjunto de elementos e regras de composição bem definidos (metamodelo, constraints) Possui expressividade mais restrita
Variabilidade em Requisitos Textuais Exemplo: Não fica claro se ambos tipos de câmeras são suportadas ou se são mutualmente exclusivos...
Variabilidade em Requisitos Textuais Definição de relações explícitas com o modelo de variabilidades Mais expressividade e permite relacionar várias porções de requisitos a um mesmo feature.
Variabilidades em Modelos de Casos de Uso Modelagem de Cenários com Tabelas
Variabilidades em Modelos de Casos de Uso Modelagem de Cenários com Diagramas de Seqüência
Variabilidades em Modelos de Casos de Uso Modelagem de Cenários com Diagramas de Casos de Uso
Rastreamento de Variações Necessidade de propagar variações que ocorrem em uma dada representação para outras Definição de links de rastreamento entre mod. de variabilidades e requisitos permite avaliar se variabilidades estão sendo especificadas de forma consistente Tais links podem ser usados também em atividades de análise de impacto de mudança
Rastreamento de Variações
Rastreamento de Variações
Abordagens para Rastreabilidade Recentemente, várias abordagens foram desenvolvidas para especificar links de rastreamento/dependências entre modelos de requisitos e de variabilidades Abordagens Textuais PLUSS MSVCM Abordagens baseadas em Modelos Model Templates VML4RE
PLUSS Oferece suporte para gerência de variações em casos de uso Permite relacionar a features a: Um caso de uso, cenário ou passo de um cenário Permitir definir parâmetros nos casos de uso Texto específico variando
Implementação
MSVCM Modeling Scenario Variability as Crosscutting Mechanisms (MSVCM) Oferece suporte para gerência de variações em casos de uso, usando o conceito de aspectos (early aspects) Scenarios advices são usados para estender scenarios base Implementação: Bibliotecas Haskell para representar e validar modelos de features
Composição com Scenarios parâmetro variation point composition
Composição com Scenarios parâmetro variation point composition
Composição com Scenarios variation point composition
Modelo de Feature Produtos Mapeamento (Conhecimento de configuração)
Weaving Process
Model Templates Oferece suporte para gerência de variações em modelos de forma geral Permitir criar conjunto de anotações em elementos de modelo que indicam dependência para um dado feature Implementação: FMP (Feature Modeling Plugin) Rational Software Modeler Anotações modeladas como estereótipos
Exemplo: Model Templates
Exemplo: Model Templates
Exemplo: Meta-expressions
Model Templates: Visão Geral
VML4RE Variability Modeling Language For Requirements (VML4RE) Linguagem para composição de requisitos em LPS www.ample-project.net Propósitos: Suportar a definição de relações entre features (modelo de variabilidades) e requisitos (modelos de requisitos) Especificar a composição de modelos de requisitos para derivar produtos específicos
VML4RE: Visão Geral
Exemplo da VML4RE
Exemplo da VML4RE
Exemplo da VML4RE
Referências PLUSS M. Eriksson, J. Börstler & K. Borg (2006): Software Product Line Modeling Made Practical - An Example from the Swedish Defense Industry, Communication of the ACM (CACM), vol. 49(12), 49-54 M. Eriksson, J. Börstler& K. Borg (2005): The PLUSS Approach - Domain Modeling with Features, Use Cases and Use Case Realizations, Proceedings of the 9'th International Conference on Software Product Lines (SPLC'05), LNCS, Vol. 3714, Springer-Verlag, pp. 33-44
Referências PLUSS M. Eriksson, J. Börstler & K. Borg (2006): Software Product Line Modeling Made Practical - An Example from the Swedish Defense Industry, Communication of the ACM (CACM), vol. 49(12), 49-54 M. Eriksson, J. Börstler& K. Borg (2005): The PLUSS Approach - Domain Modeling with Features, Use Cases and Use Case Realizations, Proceedings of the 9'th International Conference on Software Product Lines (SPLC'05), LNCS, Vol. 3714, Springer-Verlag, pp. 33-44
Referências MSVCM R. Bonifácio, P. Borba: Modeling scenario variability as crosscutting mechanisms. AOSD 2009: 125-136 Model Templates K. Czarnecki, M. Antkiewicz: Mapping Features to Models: A Template Approach Based on Superimposed Variants. GPCE 2005: 422-437 VML4RE M. Alferez, J. Santos, A. Moreira, A. Garcia, U. Kulesza, J. Araújo, V. Amaral. Multi-View Composition Language for Software Product Line Requirements. Software Language Engineering (SLE 2009)