• Aucun résultat trouvé

LE MAIRE : Merci beaucoup

Dans le document Séance du 27 janvier 2020 (Page 84-87)

COMMISSION IMMOBILIER - BÂTIMENTS

M. LE MAIRE : Merci beaucoup

Para atender aspectos específicos de uma modelagem de características dentro da área de reutilização de processos, foi necessária a construção de um meta-modelo que representasse, explicitamente, os conceitos de características, variabilidade e opcionalidade associados à representação dos elementos que constituem a definição de processos de software, como atividades, tarefas, papéis e produtos de trabalho.

Assim, foi proposto o meta-modelo OdysseyProcess-FEX (TEIXEIRA, 2011), inspirado no SPEM (Software Process Engineering Metamodel) (OMG, 2008) e baseado na Odyssey-FEX (OLIVEIRA, 2006), utilizada para representação de variabilidades através de modelos de características para

linhas de produtos de software. Desta forma, o meta-modelo OdysseyProcess-

FEX também é baseado na modelagem de características, apresentada na

próxima seção.

Figura 4.2 – Elementos da ELPS (TEIXEIRA, 2011) 4.2.1.1. Modelagem de Características

A modelagem de características é uma das técnicas mais aceitas para representar produtos em uma linha de produtos (LEE et al., 2002). O propósito da modelagem de características é “capturar e gerenciar as similaridades e diferenças, de forma a facilitar o entendimento de clientes e desenvolvedores no que se refere às capacidades gerais de um domínio, que são expressas através de características” (KANG et al., 1990).

Uma característica de processo é uma adaptação do conceito usado tradicionalmente em linhas de produtos para o domínio de processos. As características são tipicamente organizadas em um modelo de características, comumente usado para representar variabilidade nas linhas.

O conceito de variabilidade é trabalhado através da classificação de uma característica como Ponto de Variação, Variante ou Invariante. Essa classificação quanto à variabilidade é mutuamente excludente, ou seja, cada característica não pode ser classificada com mais de um dos tipos de variabilidade definidos:

• Pontos de variação: refletem a parametrização no domínio de uma maneira abstrata e podem ser configurados através das variantes, ou seja, podem ser realizados por diferentes variantes;

• Variantes: atuam como alternativas para se configurar um ponto de variação, ou seja, uma variante é uma das possíveis implementações de um ponto de variação;

• Invariantes: características fixas que representam elementos não configuráveis em um domínio.

Estes conceitos são apresentados no exemplo ilustrado pela Figura 4.3, no domínio de Processos de Engenharia de Requisitos, onde a característica “Elicitar Requisitos” é um ponto de variação, que possui como variantes as características “Realizar Entrevistas”, “Aplicar Questionários”, “Usar Cenários”, “Realizar Brainstoming” e “Construir Protótipos”.

Figura 4.3 – Exemplo de modelo de características com variabilidade

Em relação à opcionalidade, as características podem ser classificadas como (BLOIS, 2006, LINDEN et al., 2007, OLIVEIRA, 2006):

• Elementos opcionais: elementos que podem ou não estar presentes nos processos derivados a partir da LPS;

• Elementos mandatórios: elementos que devem obrigatoriamente estar presentes em todos os processos derivados a partir da LPS.

No exemplo da Figura 4.3, a opcionalidade é retratada nas características através de uma linha pontilhada e a obrigatoriedade através da linha contínua. Logo, com exceção da característica “Elicitar Requisitos”, as

Ponto de Variação Variante Opcional Mandatório Relacionamento Alternativo

demais características podem ou não ser incluídas no processo composto para o projeto ao recortar a LPS.

O meta-modelo OdysseyProcess-FEX combina relacionamentos próprios do modelo de características (como o alternativo) com relacionamentos da UML (herança, composição, agregação e associação). Um exemplo do relacionamento alternativo também é apresentado na Figura 4.3.

Outro conceito relacionado à modelagem de características é a cardinalidade, que é utilizada para definir o número mínimo e máximo de características que podem ser escolhidas a partir de um conjunto de alternativas de um ponto de variação. No exemplo da Figura 4.3, é possível observar que uma ou mais técnicas de “Elicitar Requisitos” (cardinalidade é <1- 5>) podem ser selecionadas.

A especificação de restrições entre as características, que inclui os relacionamentos de dependência e mútua exclusividade, é uma forma de indicar a necessidade ou incompatibilidade da seleção conjunta de características (OLIVEIRA, 2006). Tais conceitos podem ser representados através do uso de regras de composição:

• Inclusivas: definem relações de dependência entre duas ou mais características, indicando que elas devem ser selecionadas em conjunto; • Exclusivas: definem relações de mútua exclusividade entre duas ou mais

características que não devem ser escolhidas em conjunto.

As regras de composição são expressas pela seguinte estrutura: antecedente + palavra-chave + consequente. A palavra-chave representa o tipo de regra: “requer” (requires), referente às regras inclusivas; e “exclui” (excludes), referente às regras exclusivas. Antecedente e consequente são expressões (literais ou booleanas) e representam uma característica ou combinação de características.

É importante destacar que o conceito de característica de processo tem sido utilizado com semântica diferente em outras abordagens. No trabalho de Barreto (2011), uma característica pode ser vista como um aspecto, qualidade ou caracterização com a qual o processo precisa ser compatível e com semântica definida pelo usuário. Características de processo são usadas apenas como um mecanismo de alto nível para seleção de componentes.

4.2.1.2. OdysseyProcess-FEX

O meta-modelo OdysseyProcess-FEX (TEIXEIRA, 2011) visa explicitar a representação de conceitos de elementos de processos e de variabilidades do domínio. Possui um conjunto de restrições e propriedades que juntas constituem as regras de boa formação do modelo. Essas regras direcionam a construção e a verificação de consistência de um modelo de características do domínio de processos de software. Além disso, define o conjunto de relacionamentos disponíveis entre os conceitos representados.

Junto ao meta-modelo é apresentada a notação OdysseyProcess-FEX, que tem como objetivo representar simbolicamente os conceitos formalizados pelo meta-modelo. Cada característica de processo pode ser classificada segundo sete categorias. Para cada categoria definida foi especificado um símbolo e um estereótipo associado à representação visual dos conceitos descritos (Tabela 4.1).

Tabela 4.1 – Categorias das características na notação OdysseyProcess-FEX (TEIXEIRA, 2011)

Categoria Símbolo

Disciplina

Característica que representa uma categorização de trabalho, relacionado com uma grande área de

interesse no âmbito do domínio como um todo. <<discipline>>

Atividade

Característica que representa o agrupamento de unidades de trabalho menores, representadas por

outras atividades ou por tarefas. <<activity>>

Tarefa Característica que representa uma unidade fundamental de trabalho.

<<task >>

Prática Característica que representa uma forma ou estratégia comprovada de realizar um trabalho.

<<practice>>

Conceito Característica que descreve ideias-chave, aborda temas gerais ou princípios básicos.

<<concept>>

Papel

Característica que representa um conjunto de habilidades, competências e responsabilidades de

indivíduo(s). <<role>>

Produto de Trabalho

Característica que representa um artefato consumido, modificado ou produzido por uma

tarefa. product>><<work

Um exemplo com algumas das disciplinas do RUP (Rational Unified

Process) (IBM, 2009) é apresentado na Figura 4.4. Quase todas, à exceção da

“Implementação” e “Teste”, foram definidas como opcionais para que seja possível no momento do recorte do processo selecionar apenas aquelas que

interessam para o projeto em questão. As disciplinas “Implementação” e “Teste” foram definidas como obrigatória por ser considerada essencial para qualquer projeto da organização. Elas não poderão ser excluídas durante a composição do processo.

Uma vez identificadas as disciplinas, é possível identificar as suas principais atividades. As atividades correspondem a um agrupamento lógico de unidades menores de trabalho, que podem corresponder a outras Atividades ou a Tarefas. Alguns exemplos de atividades foram modelados no diagrama da Figura 4.4. No caso da atividade “Estimativa” foram identificadas três possíveis tarefas dedicadas às estimativas de tamanho, esforço e custo.

Do ponto de vista da representação de processos de software, vale destacar que uma limitação significativa do meta-modelo Odyssey-ProcessFEX (TEIXEIRA, 2011) originalmente proposto é que ele não aborda o sequenciamento/fluxo dos processos, tipicamente presente na modelagem de processos. Porém, este meta-modelo atualmente encontra-se em revisão no escopo de outra tese de doutorado do grupo que visa detalhá-lo justamente com foco na fase de projeto de domínio de processos e no seu principal artefato - os componentes de processos. Enquanto este trabalho está em andamento, no Projeto CDSoft optou-se por adotar uma estrutura simples (Tabela 4.2) para a definição dos componentes, ou seja, sem considerar todos os elementos de processo, para dar prosseguimento aos demais trabalhos do grupo, inclusive a presente tese de doutorado.

Tabela 4.2 – Estrutura para definição de componentes de processo de software

Campo Descrição

Identificador: <Identificador único do componente de processo> Nome: <Nome do componente de processo>

Papel: <Papel responsável pela execução do componente de processo>

Descrição: <Descrição do componente de processo>

Característica: <Característica de processo a qual o componente de processo está associado>

Opcionalidade: <Opcionalidade do componente de processo – Mandatório

ou Opcional>

Variabilidade: <Variabilidade do componente de processo - Ponto de

Variação, Variante ou Invariante>

Interfaces Requeridas: <Artefatos requeridos pelo componente> Interfaces Providas: <Artefatos produzidos pelo componente> Potencial de

Figura 4.4 – Exemplo parcial de modelo de características de processo na notação Odyssey-ProcessFEX

Disciplina Atividade

Dans le document Séance du 27 janvier 2020 (Page 84-87)