Capítulo 4 UbiCheck: Uma Abordagem para Apoiar a Definição de Requisitos de
4.3. Atividades de UbiCheck
4.3.2. Configurar Guia para Definição de Requisitos de Ubiqüidade
O Guia para Definição de Requisitos de Ubiqüidade elaborado até agora considera as informações de todos os fatores de ubiqüidade. Entretanto, não considera se todos esses fatores são importantes para o projeto em que ele será aplicado.
Como no capítulo 2 foi discutido que projetos de software ubíquo podem contemplar uma pequena parcela dos fatores, seria interessante aproveitar essa situação para configurar o Guia para Definição de Requisitos de Ubiqüidade. Nesse sentido, poderiam ser consideradas apenas as perguntas que tivessem relação com os fatores considerados relevantes para o projeto, o que poderia trazer os seguintes benefícios:
• Foco no que é importante: o desenvolvedor não perderia tempo respondendo perguntas que não dizem respeito ao seu projeto, o que poderia reduzir a quantidade de informações estranhas capturadas nos requisitos.
56
• Redução do tamanho do guia: ele conteria menos perguntas, portanto, exigiria menos esforço para ser aplicado em um projeto.
Sendo assim, foi preparada uma estratégia para especializar o Guia para Definição de Requisitos de Ubiqüidade. Conforme ilustra a figura 19, o primeiro passo é Identificar as Necessidades do Projeto, que consiste na seleção dos fatores de ubiqüidade relevantes.
Conforme visto no final da seção anterior, UbiCheck oferece apoio parcial para a seleção dos fatores: é fornecida uma lista de fatores e o desenvolvedor utilizar sua própria experiência e intuição para selecionar aqueles que são relevantes para o projeto.
Uma vez selecionados os fatores, o próximo passo é Especializar o Guia para Definição de Requisitos de Ubiqüidade, o que é feito selecionando apenas as perguntas que possuem relação com esses fatores, ou seja, aquelas em que foram originadas por pelo menos um fator considerado relevante para o projeto.
A tabela 7 mostra um trecho do Guia para Definição de Requisitos de Ubiqüidade da característica Sensibilidade ao Contexto, o qual será utilizado para exemplificar essa atividade.
Tabela 7: Trecho do Guia para Definição de Requisitos de Ubiqüidade da característica Sensibilidade ao Contexto
Fatores Pergunta
SC05,SC10,SC12,SC13,
SC14,SC17, SC22 e SC23 1. Quais as informações de Contexto relevantes para o sistema?
SC05 2. Quais informações de contexto são do tipo informação do sistema?
SC17 3. Como categorizar informações de contexto?
SC10,SC14 e SC17 4. Como a fonte de dados influencia na categorização das informações
de contexto?
Figura 19: Passos da atividade Configurar Guia para Definição de Requisitos de Ubiqüidade Identificar Necessidades do Projeto Especializar o Guia de Definição de Requisitos de Ubiqüidade
57 Fatores Pergunta
SC12 e SC13 5. Como a utilidade da informação de contexto é considerada?
SC23 6. Como personalizar informações de contextos?
SC22 e SC23 7. Como a preferência do usuário influencia na personalização de
informações de contexto?
SC14 8. Quais os usuários relevantes para o sistema?
SC22 e SC23 9. Como a preferência do usuário é considerada?
SC10,SC14 e SC17 10. Quais fontes de dados são relevantes para o sistema?
SC09 e SC10 11. Quais fontes de dados são do tipo sensor?
A partir dela, as perguntas foram agrupadas de acordo com os fatores que as originaram, conforme mostram as listagens a seguir:
SC05
1. Quais as informações de Contexto relevantes para o sistema? 2. Quais informações de contexto são do tipo informação do sistema?
SC09
11. Quais fontes de dados são do tipo sensor?
SC10
1. Quais as informações de Contexto relevantes para o sistema?
4. Como a fonte de dados influencia na categorização das informações de contexto? 10. Quais fontes de dados são relevantes para o sistema?
11. Quais fontes de dados são do tipo sensor?
SC12
1. Quais as informações de Contexto relevantes para o sistema? 5. Como a utilidade da informação de contexto é considerada?
SC13
1. Quais as informações de Contexto relevantes para o sistema? 5. Como a utilidade da informação de contexto é considerada?
SC14
1. Quais as informações de Contexto relevantes para o sistema?
4. Como a fonte de dados influencia na categorização das informações de contexto? 8. Quais os usuários relevantes para o sistema?
10. Quais fontes de dados são relevantes para o sistema?
SC17
1. Quais as informações de Contexto relevantes para o sistema? 3. Como categorizar informações de contexto?
4. Como a fonte de dados influencia na categorização das informações de contexto? 10. Quais fontes de dados são relevantes para o sistema?
58
SC22
1. Quais as informações de Contexto relevantes para o sistema?
7. Como a preferência do usuário influencia na personalização de informações de contexto? 9. Como a preferência do usuário é considerada?
SC23
1. Quais as informações de Contexto relevantes para o sistema? 6. Como personalizar informações de contextos?
7. Como a preferência do usuário influencia na personalização de informações de contexto? 9. Como a preferência do usuário é considerada?
Continuando o exemplo, para configurar o Guia para Definição de Requisitos de Ubiqüidade basta realizar a união das perguntas associadas a cada fator relevante para o projeto.
Supondo que seja interessante para o projeto definir requisitos associados apenas aos fatores SC12, SC13 e SC23, o guia configurado teria todas as perguntas associadas a esses fatores. Como o fator SC12 tem as perguntas 1 e 5 associadas; o fator SC13 também tem as mesmas perguntas (1 e 5) e o fator SC23 tem as perguntas 1, 6, 7 e 9. O guia configurado para esses três fatores seria o conjunto de perguntas 1, 5, 6, 7 e 9, conforme listado a seguir:
SC12, SC13 e SC23
1. Quais as informações de Contexto relevantes para o sistema? 5. Como a utilidade da informação de contexto é considerada? 6. Como personalizar informações de contextos?
7. Como a preferência do usuário influencia na personalização de informações de contexto? 9. Como a preferência do usuário é considerada?
Caso o fator SC05 também fosse interessante para o projeto, as suas perguntas (1 e 2) também seriam consideradas no guia especializado, conforme listado a seguir:
SC05, SC12, SC13 e SC23
1. Quais as informações de Contexto relevantes para o sistema? 2. Quais informações de contexto são do tipo informação do sistema? 5. Como a utilidade da informação de contexto é considerada? 6. Como personalizar informações de contextos?
7. Como a preferência do usuário influencia na personalização de informações de contexto? 9. Como a preferência do usuário é considerada?
É importante destacar que apenas a pergunta 2 é realmente nova neste novo guia, pois a pergunta 1 já era contemplada no guia anterior por fazer parte dos fatores SC12, SC13 e SC23.
59
Uma vez configurado, a próxima atividade é definir os requisitos de ubiqüidade do projeto, o que é descrito na próxima subseção.