• Nenhum resultado encontrado

Capítulo 3 Goals and Aspectual Scenarios to Software Product Lines (GAS2SPL)

3.3. Refinamento dos Cenários

Esta atividade tem o propósito de preencher as lacunas que ficaram nos cenários, advices e intertype declarations após a execução da atividade anterior. Isto ocorre, pois, segundo Souza (2012), os modelos de objetivos não são suficientes para capturar aspectos comportamentais. A atividade de refinar os cenários de caso de uso pode ser executada várias vezes pelo engenheiro de domínio até que este fique satisfeito com as descrições obtidas.

O engenheiro de domínio pode analisar novamente todos os artefatos que foram utilizados para criar o modelo SR (especificação de requisitos, reuniões com interessados, entre outros), bem como realizar novas entrevistas ou utilizar outras técnicas de elicitação de requisitos com os interessados.

Analisando os artefatos gerados na atividade anterior percebemos que existem lacunas na Resposta do Sistema, na descrição de passos dos advices e intertype declarations e, nos passos de cenários alternativos. Assim como na atividade de Souza (2012) não foram definidas heurísticas, mas, de acordo com Souza (2012), deve-se tentar responder algumas perguntas ao analisar cada caso de uso. Estas perguntas são:

• Quais as possíveis exceções ou falhas que podem ocorrer durante a execução desse passo?

• Se houver algum tipo de exceção, qual é a resposta do sistema nesta situação? • Este passo pode ser refinado em outros? Quais?

• Existe algum caminho alternativo aos passos do cenário principal que o ator possa realizar e que não represente uma exceção?

Para respondê-las e elaborar os cenários, advices e intertype declarations mais completos para o TaRGeT, foram analisadas as informações disponíveis em Souza (2012) e TARGET (2011). Com isso, preenchemos as lacunas relacionadas aos cenários e as respostas fornecidas pelo sistema. As Figuras 54-72 apresentam os cenários, advices e intertype declarations após a execução desta atividade.

Figura 54 Caso de uso Suíte de Teste Gerada

UC01

Suíte de Teste Gerada Ator: Engenheiro de Teste Cenário Principal 01

Descrição: Gerar suíte de teste

ID Ação do Usuário Resposta do Sistema

CP01

Figura 55 Caso de uso Documento de Requisitos Obtido

UC02

Documento de Requisitos Obtido Ator: Engenheiro de Requisitos Cenário Principal 01

Descrição: Obter documento de requisitos

ID Ação do Usuário Resposta do Sistema

CP.01 [CA.01] Documento carregado

Figura 56 Caso de uso Consistência entre Artefatos Mantida

UC03

Consistência entre artefatos mantida Ator: Engenheiro de Teste

Cenário Principal 01

Descrição: Manter consistência entre artefatos

ID Ação do Usuário Resposta do Sistema

CP01

Figura 57 Caso de uso Documento Verificado

UC04

Documento Verificado Ator: Engenheiro de Teste Cenário Principal

Descrição: Verificação de documento

ID Ação do Usuário Resposta do Sistema

CP.01 [CA.01] Caso de teste verificado sintaticamente

Figura 58 Caso de uso Filtro Selecionado

UC05

Filtro Selecionado

Ator: Engenheiro de Teste Cenário Principal

Descrição: Seleção de Filtros

ID Ação do Usuário Resposta do Sistema

Figura 59 Intertype Declarations Gerar Suíte de Teste Detalhada

ITD01

Descrição: Gerar suíte de teste detalhada

ID Ação do Usuário Resposta do Sistema

ITD01.01 @incluir UC02 Documento de

Requisitos Obtido Obtém documento de requisitos

ITD01.02 @incluir UC04 Documento Verificado Verifica documento de requisito

ITD01.03 @incluir UC05 Filtro Selecionado Seleciona filtro

ITD01.04 Gerar casos de teste específico Gerar casos de teste para casos de uso

específicos do documento de requisitos

ITD01.05 @incluir UC03 Consistência entre

artefatos mantida Mantém a consistência entre os artefatos

Figura 60 Intertype Declarations Gerar Suíte de Teste Diretamente

ITD02

Descrição: Gerar suíte de teste diretamente

ID Ação do Usuário Resposta do Sistema

ITD02.01 @incluir UC02 Documento de

Requisitos Obtido Obtém documento de requisitos

ITD02.02 @incluir UC04 Documento Verificado Verifica documento de requisito

ITD02.02 Gerar todos os casos de teste Gerar casos de teste para todos os casos de

uso do documento de requisitos

Figura 61 Intertype declaration Escrever no Editor

ITD03

Descrição: Escrever no editor

ID Ação do Usuário Resposta do Sistema

ITD03.01 Seleciona opção para abrir o editor de caso

de uso da ferramenta Abre janela do editor de caso de uso

ITD03.02 Escrever no editor da ferramenta -

ITD03.03 Seleciona a opção de salvar o documento Documento de requisito salvo

Figura 62 Intertype declaration Parametrizar Teste

ITD04

Descrição: Parametrizar teste

ID Ação do Usuário Resposta do Sistema

ITD04.01 - Inclui parâmetros na suíte de testes

Figura 63 Intertype declaration Checar Caso de Uso Semanticamente

ITD05

Descrição: Checar caso de teste semanticamente

ID Ação do Usuário Resposta do Sistema

ITD05.01 -

Verifica a descrição dos casos de uso contém palavras que possam gerar ambiguidade (dicionário interno)

Figura 64 Advice do caso de uso Consistência entre Artefatos Mantida

ADV01

Descrição: Manter consistência entre os artefatos After @ADV01

ID Ação do Usuário Resposta do Sistema

ADV01.01

Detectar mudança nos requisitos Detecta que houve mudança nos requisitos em relação à versão anterior do documento

ADV01.02

Atualizar casos de teste Atualiza casos de teste relacionados aos casos de uso modificados

Figura 65 Cenário alternativo Filtro por Propósito de Teste

UC05 Filtro Selecionado Ator: Engenheiro de Teste Cenário Alternativo 01

Descrição: Filtrar por propósito de teste

ID Ação do Usuário Resposta do Sistema

CA01.01 - Seleciona apenas os casos de uso que

possuem o passo selecionado

Figura 66 Cenário alternativo Incluir Caso de Teste Permanentemente

UC05 Filtro Selecionado Ator: Engenheiro de Teste Cenário Alternativo 02

Descrição: Incluir caso de teste permanentemente

ID Ação do Usuário Resposta do Sistema

CA02.01 - Seleciona caso de teste para

inclusão permanente

Figura 67 Cenário alternativo Excluir Caso de Teste Permanentemente

UC05 Filtro Selecionado Ator: Engenheiro de Teste Cenário Alternativo 03

Descrição: Excluir caso de teste permanentemente

ID Ação do Usuário Resposta do Sistema

CA03.01 - Seleciona caso de teste para exclusão

Figura 68 Cenário alternativo Filtro por Caso de Uso Similar

UC05 Filtro Selecionado Ator: Engenheiro de Teste Cenário Alternativo 04

Descrição: Filtrar por caso de uso similar

ID Ação do Usuário Resposta do Sistema

CA04.01 - Seleciona casos de uso similares aos casos

de uso selecionados

Figura 69 Cenário alternativo Filtro por Requisito

UC05 Filtro Selecionado Ator: Engenheiro de Teste Cenário Alternativo 05 Descrição: Filtrar por requisito

ID Ação do Usuário Resposta do Sistema

CA05.01 - Marca os requisitos selecionados

Figura 70 Cenário alternativo Filtro por Caso de Uso

UC05 Filtro Selecionado Ator: Engenheiro de Teste Cenário Alternativo 06

Descrição: Filtrar por caso de uso

ID Ação do Usuário Resposta do Sistema

CA06.01 - Marca os casos de uso selecionados

para geração de teste

Figura 71 Cenário alternativo Verificar Caso de Teste Sintaticamente

UC04 Documento Verificado Ator: Engenheiro de Teste Cenário Alternativo 01

Descrição: Checar Caso de teste sintaticamente

ID Ação do Usuário Resposta do Sistema

CA01.01 - Verifica se os casos de uso seguem o template

suportado pela ferramenta

Figura 72 Cenário alternativo Fazer Upload de Documento

UC02 Documento de Requisitos Obtido Ator: Engenheiro de Teste

Cenário Alternativo 01

Descrição: Upload de Documento

ID Ação do Usuário Resposta do Sistema

CA01.01 Fazer upload de documento Solicita que o usuário indique o

caminho do documento de requisitos

CA01.02 Fornece caminho do arquivo Arquivo é importado para a

Ao finalizar esta atividade, os pontos comuns e variáveis da LPS estão definidos. Com isso, encerram-se as atividades relacionadas a Engenharia de Domínio na abordagem. A próxima atividade está relacionada à Engenharia de Aplicação, onde serão elaboradas as aplicações da linha de produto.