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.