Professional Documents
Culture Documents
Dissertao de Mestrado
Dissertao apresentada ao Programa de Ps-graduao em Informtica da PUC-Rio como requisito
parcial para obteno do ttulo de Mestre em
Informtica.
A meus pais
Agradecimentos
RESUMO
Palavras-Chave
Engenharia
questionrios.
de
Requisitos;
elicitao
de
requisitos;
informtica;
ABSTRACT
Software
requirements
elicitation
through
the
use
of
requirements
Keywords
Software Engineering; requirements elicitation; questionnaires.
SUMRIO
1. Introduo
1.1. Motivao
11
12
2. Reviso da literatura
13
13
26
3. Questionrios
29
29
36
40
41
44
44
5. Experimento prtico
61
61
65
76
78
78
79
6.3. Contribuies
82
83
7. Referncias bibliogrficas
84
1
Introduo
1.1.
Motivao
O desenvolvimento de software requer uma srie de levantamentos
necessrios para se definir as necessidades de um projeto a ser iniciado e que so
comuns a qualquer projeto de software, como por exemplo:
ser construdo;
competncias;
10
11
1.2.
Objetivo da dissertao
Nessa dissertao identificamos as etapas necessrias e comuns criao de
um questionrio, com objetivo de elaborar uma lista de requisitos a serem
utilizados como base para a gerao de questionrios. Este conhecimento foi
adquirido atravs da bibliografia existente sobre o assunto.
Aps a identificao das etapas necessrias, objetiva-se a elaborao de um
mtodo que apie o processo de gerao de perguntas de questionrios,
questionrios esses a serem utilizados para a coleta de requisitos e sua priorizao.
Ser provido ento ao Engenheiro de Software uma forma de ajud-lo no processo
de elaborao de questionrios, sobretudo no processo de elaborao de
perguntas, criao e formatao dos mesmos.
O objetivo no a construo de um questionrio que cubra todos os casos e
requisitos possveis; a idia que com o tempo ele v sendo incrementado e
ajustado. No o seu objetivo tambm substituir reunies ou entrevistas de
levantamento de requisitos, mas sim apoi-las, priorizando perguntas previamente
definidas (possveis requisitos) de acordo com a opinio dos respondentes. O
questionrio poder ser aplicado aos respondentes, por exemplo, antes da
realizao de reunies, com o objetivo de orientar o Engenheiro de Software a
identificar quais os pontos mais importantes a serem levantados, do ponto de vista
dos respondentes. Ele poder ser aplicado tambm na fase inicial de um projeto,
onde os resultados obtidos estaro apoiando, servindo de base para o ciclo de vida
do projeto, j que a qualquer momento teremos condies de confrontar os
requisitos que foram priorizados pelos usurios com os que esto sendo levados
em considerao no desenvolvimento do sistema em questo.
12
1.3.
Organizao da dissertao
Nessa dissertao ser apresentada uma estratgia para a coleta de requisitos
e sua priorizao baseada na utilizao da tcnica de questionrios. O objetivo
prover um apoio etapa inicial de elicitao de requisitos.
O captulo 2 apresenta uma reviso da literatura a respeito do estado da arte
no que diz respeito utilizao de questionrios na Engenharia de Requisitos.
Alm disso, tambm ser apresentada a tcnica GQM (Goal Question Metric),
utilizada no mtodo proposto nessa dissertao.
No captulo 3 sero apresentados os conceitos que fundamentam a tcnica
de questionrios. Alm disso, ser mostrado tambm que, aps a realizao de
uma extensa pesquisa nas reas de Cincias Sociais e Marketing, com objetivo de
colher as principais recomendaes de diversos autores a respeito das boas
prticas a serem consideradas na elaborao e formulao de questionrios em
geral, foi consolidada uma lista de requisitos para a construo de questionrios de
qualidade.
No captulo 4 ser apresentada a definio de um processo para a elaborao
de perguntas de questionrios para a elicitao de requisitos de software. O
objetivo prover ao Engenheiro de Software uma forma de ajud-lo no processo
de construo de questionrios, sobretudo no processo de elaborao e criao de
perguntas.
No captulo 5 ser apresentada uma ferramenta utilizada para o processo de
criao das perguntas de questionrios e avaliao dos resultados obtidos, atravs
das respostas enviadas pelos respondentes.
O captulo 6 ir discutir o mtodo e a ferramenta propostos, com objetivo de
avali-las. Posteriormente, ser feira uma comparao da nossa proposta com
outras iniciativas anlogas, ou seja, iniciativas relacionadas ao processo de
elicitao de requisitos atravs da utilizao de questionrios, que foram
identificadas no decorrer do processo de pesquisa. Apresentaremos a concluso,
as contribuies esperadas e sugestes de possveis desdobramentos dessa
dissertao.
13
2
Reviso da literatura
Esse captulo tem por objetivo apresentar o estado da arte no que diz
respeito utilizao de questionrios para a elicitao de requisitos, sobretudo
requisitos de software, no contexto da Engenharia de Software. Posteriormente,
ser apresentada a tcnica GQM (Goal Question Metric), que ser utilizada no
processo de elaborao de perguntas.
2.1.
A utilizao de questionrios na Engenharia de Requisitos
O trabalho estuda a tcnica de questionrios para a elicitao de requisitos
e sua priorizao. Questionrios so utilizados em diversas reas, sobretudo nas
Cincias Sociais e Marketing, sendo aplicados, por exemplo, em pesquisas de
opinio, censo e pesquisas de boca de urna em poca de eleio. Questionrios
tambm so bastante utilizados como uma tcnica auxiliar s tcnicas de
entrevistas e reunies, tcnicas essas amplamente utilizadas no processo de
elicitao de requisitos. Um dos objetivos aqui propostos estudar e explorar a
sua utilizao na rea de Engenharia de Requisitos, como uma tcnica a ser
utilizada para a elicitao de requisitos, sobretudo requisitos de software. O
objetivo prover ao Engenheiro de Software uma forma de ajud-lo no processo
de elaborao de questionrios, sobretudo no processo de elaborao de
perguntas, criao e formatao de questionrios.
Para que isso fosse possvel, foram realizadas vrias pesquisas com objetivo
de identificar iniciativas que utilizassem questionrios para a elicitao de
requisitos de software. A idia era tentar utilizar ao mesmo tempo tcnicas para a
formulao de bons questionrios (o que no envolve muito o conhecimento
tcnico, mas sim humano) e as tcnicas de Engenharia de Software destinadas a
esse fim. Esse processo deu-se atravs da realizao de pesquisas em duas reas
diferentes: pesquisas na rea de Engenharia de Software e mais especificamente
14
15
ela um valor de prioridade, que poderia ter o seu valor alterado durante o curso da
entrevista dependendo das respostas dadas pelos entrevistados durante a
realizao da entrevista. Devem ser exibidas aos entrevistados as questes com
prioridade mais alta. Logo, as questes devem ser perguntadas em uma ordem
apropriada e apenas questes relevantes devem ser perguntadas.
16
de rever todas as respostas que eles tivessem dado durante qualquer estgio da
entrevista.
confirmassem suas respostas s questes de texto livre. Isso poderia permitir que
os entrevistados checassem se eles marcaram as respostas da forma que eles
realmente pretendiam.
ser capazes de alterar suas respostas uma vez que elas tivessem sido salvas na
base de dados. Isso para imitar as entrevistas face-a-face onde todas as respostas
dadas sero lembradas pelo entrevistador. Uma questo pode ser apresentada mais
de uma vez durante o processo de entrevista, podendo ser dadas respostas
diferentes para a mesma pergunta, mas todas as respostas devem ser gravadas na
base de dados.
17
18
O sistema rodar sete dias por semana, vinte e quatro horas por dia;
Funcionalidade;
Usabilidade;
Confiabilidade;
Performance;
Suportabilidade.
Requisitos de desenho;
Requisitos de implementao;
Requisitos de interface;
Requisitos fsicos.
interface do usurio;
19
adaptabilidade,
gerenciabilidade,
compatibilidade,
configurabilidade,
representam
restries.
De
modo
simplificado,
mecanismos
Mecanismo de desenho
Mecanismo de
implementao
Persistncia
RDBMS
Oracle
OODBMS
Ingres
ObjectStore
Comunicao
Orbix, VisiBroker
Message queue
MSMQ, MQSeries
20
21
Requisito
Questes
Impacto
Respostas
Priori
dade
Licenas
O sistema, ou
Quanto maior a
O mdulo de
sofisticao do
controle de
licenciado?
mecanismo de
estoque ser
licenciamento,
comercializado
Existem muitas
como um
restries no
realizao da
componente
mecanismo
comercializao e
separado do
utilizado para
maior o custo de
sistema e ir
prover
manuteno.
requerer licena.
capacidade de
A ferramenta
licenciamento?
FlexLM
Mdia
utilizada por
toda nossa
organizao para
prover
capacidade de
licenciamento.
Disponibili-
Existe algum
Quanto maior a
Disponibilidade
dade
requisito a
disponibilidade,
uma
caracterstica
mdio entre
comercializao do
chave do
falhas do sistema
sistema.
produto. O
(MTBF)?
Alta
Que plataformas
O desenvolvimento
O produto deve
Alta
22
Suporte a
o sistema deve
ser
plataformas
suportar?
plataforma pode
implementado
reduzir o potencial
de comercializao
seguintes
do produto.Tambm plataformas
pode permitir uma
UNIX:
integrao com as
Sun Solaris
caractersticas das
IBM AIX
plataformas.
HPUX
23
experimentos pilotos.
Nessa dissertao [5], foi adotado um padro de questionrio utilizado para
instanciar o modelo que utiliza o conceito de unificao de variveis, isto , cada
pergunta composta de uma parte fixa mais uma parte varivel que corresponde
resposta de uma outra pergunta j respondida. Cada pergunta tem o objetivo de
instanciar um nodo no meta-modelo. A relao entre duas perguntas definida por
cada arco que liga um par de nodos do modelo. No decorrer da entrevista, os
nodos vo sendo instanciados com cada uma das respostas para cada pergunta
feita e os arcos vo ligando cada par de instncias de respostas que se relacionam.
preenchimento do modelo;
24
2.
de relao so vlidas;
25
componente do modelo.
O assistente atua em dois momentos: em tempo da entrevista, fornecendo
uma estratgia para o preenchimento do modelo conceitual e identificando
relaes
no
pr-definidas;
num
segundo
momento
(ps-entrevista)
26
2.2.
A tcnica GQM
Diversos atributos dos produtos, projetos e processos de software podem
ser medidos. No entanto, deve-se selecionar um conjunto de mtricas pequeno e
equilibrado, que ir ajudar a organizao a acompanhar o progresso na direo de
seus objetivos. Segundo Solingen & Berghout [14], a tcnica GQM Goal
Question Metric (Objetivo/Pergunta/Mtrica) excelente para selecionar as
mtricas apropriadas aos seus objetivos. A tcnica iniciada selecionando-se
alguns objetivos do processo ou da organizao. Declaram-se os objetivos de
modo que sejam quantificveis e mensurveis. Acreditamos que [14] fornece uma
boa explicao sobre GQM e resumimos abaixo seus pontos principais.
Para cada objetivo, identificam-se as perguntas que teriam de ser
respondidas, para saber se o objetivo est sendo alcanado. Se o seu objetivo era
reduzir os custos de manuteno em 50% no prazo de um ano, algumas
perguntas apropriadas poderiam ser: Quanto gasta em manuteno a cada ms?
Qual a parcela dos custos de manuteno que gastamos em cada aplicativo
suportado?
Finalmente, identificam-se mtricas que ajudaro a responder cada pergunta.
De acordo com Solingen & Berghout [14], algumas delas sero simples itens de
dados, contadas diretamente, tais como valor total gasto em manuteno. Outras
mtricas sero calculadas a partir de um ou mais itens de dados. Para responder a
ltima pergunta anterior, deve-se saber o nmero de horas gasto em cada um dos
trs tipos de manuteno citados, bem como o custo total de manuteno em um
dado perodo. As mtricas e sua interpretao refletem os valores e os pontos de
vista dos diferentes grupos afetados: colaboradores, usurios e operadores.
Conforme descrito acima, podemos concluir ento que a tcnica GQM define
certos objetivos, refina esses objetivos em questes e define mtricas que devem
prover informaes que respondam s questes. Respondendo s questes, os
dados medidos definem os objetivos de modo operacional podendo ento ser
analisados para identificar se os mesmos foram atingidos ou no.
27
uma variedade de razes, com respeito aos vrios modelos da qualidade, dos
vrios pontos de vista e relativo a um ambiente particular. O conjunto de objetivos
baseado nas necessidades da organizao e seus projetos. O objetivo determina o
que deve ser melhorado ou aprendido. Segundo [14], o processo de definio de
objetivos suportado por templates como o descrito abaixo. Utilizando esses
templates possvel definir objetivos em termos de finalidade, perspectiva e
ambiente. A identificao de sub-objetivos, entidades e atributos relacionados aos
sub-objetivos feita nesse passo.
Finalidade: analisar alguns objetos (processos, produtos) com a finalidade de
melhorar, avaliar, motivar, caracterizar, predizer.
Perspectiva: com enfoque em custo, corretude, remoo de defeitos, mudanas,
segurana, do ponto de vista do usurio, cliente, gerente, desenvolvedor,
corporao.
Ambiente: nos contextos de fatores de problemas, pessoais, recursos, processos.
28
Segundo Solingen & Berghout [14], uma vez que esses passos foram
identificados, dados so coletados e interpretados para produzir respostas s
questes quantificveis que foram definidas para completar os objetivos.
29
3
Questionrios
3.1.
Tipos de questes
Questionrios podem ser elaborados e aplicados de diversas maneiras, de
acordo com as necessidades. A seguir, segundo Parasuraman [3], sero
apresentadas as principais formas de aplicao de questionrios:
Auto resposta (via correio ou e-mail): tem como vantagens o fato de poder
ser enviado a um grande nmero de pessoas de forma no muito dispendiosa e o
respondente pode preencher o questionrio quando lhe for mais conveniente. No
entanto, este tipo de questionrio tem tambm algumas desvantagens: baixa taxa
de resposta, no sendo indicado para perguntas que exijam respostas muito
detalhadas.
Auto resposta (em grupo): um grupo de pessoas reunido e as perguntas
so feitas simultaneamente, contudo cada pessoa responde individualmente ao seu
questionrio. Os grupos so reunidos mediante algum critrio de convenincia. Se
as pessoas que esto sendo questionadas no entenderem o significado de alguma
pergunta podem pedir ajuda ou esclarecer o propsito do estudo.
Auto resposta (porta a porta): este tipo de questionrio menos habitual.
O investigador, neste caso, desloca-se a casa ou ao local de trabalho dos
30
31
32
33
Vantagens
Desvantagens
Estimula o pensamento
livre,
pessoas,
esclarece
clarifica
opinies,
atitudes
percepes;
Permite
inquirido;
que
inquirido
se
Geralmente
requer
mtodos
virtualmente
os
vieses julgamento
associados ao investigador;
mais
subjetivo
que
Indispensvel
para
estudos
construo
para
de
anlise
variveis
estatstica,
34
35
Vantagens
Contribuem
para
Desvantagens
maior
Conduzem
os
inquiridos
numa
36
3.2.
Requisitos para a construo de questionrios de boa qualidade
Realizamos uma pesquisa nas reas de Cincias Sociais e Marketing [1-4, 78], com objetivo de colher as principais recomendaes de diversos autores a
respeito das boas prticas a serem consideradas na elaborao e formulao de
questionrios em geral.
Inicialmente, as recomendaes dos autores da bibliografia estudada foram
coletadas e armazenadas. Aps a coleta, as recomendaes foram cruzadas, com
objetivo de identificar algum conflito ou contradio entre elas. Os conflitos e
contradies encontrados foram eliminados, restando apenas a lista de
37
especficas;
38
nmero de pginas, o que implica por sua vez num maior nmero de questes por
pgina;
destacadas;
de uma prvia exposio sobre a entidade que est promovendo a pesquisa e sobre
as vantagens que essa pesquisa poder trazer para a sociedade e em particular para
o respondente, se for o caso;
39
40
3.3.
Erros comumente cometidos num processo de aplicao de
questionrios
Segundo Selltiz & Cook [4], em um processo de pesquisa podem ocorrer
dois tipos de erros, os erros amostrais e os erros no-amostrais. O primeiro est
ligado a falhas nos processos de escolha da amostra e da determinao do seu
tamanho. Quanto aos erros no-amostrais, inmeras so as fontes de sua
ocorrncia; entre elas, questionrios de dados mal elaborados, com questes
tendenciosas ou dbias e a escolha ou o uso incorreto de escalas de medio. A
mensurao sempre ocorre em situaes complexas, onde diversos fatores
influenciam as caractersticas medidas e o processo de mensurao, podendo gerar
erros no-amostrais.
De acordo com Selltiz & Cook [4], a variao entre resultados individuais,
num instrumento de medida aplicado a um grupo de pessoas, decorre de certo
nmero de fatores contribuintes. Parte da variao pode ser entendida como
resultante de diferenas reais, entre os indivduos, quanto caracterstica que est
sendo medida; parte dela representa erros na mensurao. O problema bsico na
avaliao de resultados de qualquer mensurao o de definir o que deve ser
considerado como diferenas reais na caracterstica medida e o que deve ser
considerado como variaes devidas a erro de mensurao. Selltiz & Cook [4]
aponta algumas das possveis fontes de diferenas nos resultados, num grupo de
indivduos:
41
42
questes;
43
A introduo;
pergunta.
Os questionrios tambm podem conter estruturas ou dependncias lgicas,
ou seja, a seqncia de perguntas pode depender das respostas enviadas pelos
respondentes. Essa abordagem funciona como uma espcie de dilogo entre o
questionrio e o Engenheiro de Software, na qual o dilogo vai se adaptando a
este ltimo.
Caso o processo de anlise revele necessidade de muitas alteraes, o
questionrio revisado dever ser ento novamente testado. O processo ser
repetido tantas vezes quantas forem necessrias, at que o instrumento se encontre
maduro, pronto para ser aplicado. De acordo com Mattar [2], para instrumentos
que foram cuidadosamente desenvolvidos, dois ou trs ciclos de processos de
anlise costumam ser suficiente.
44
4
Um processo para a elaborao de perguntas de
questionrios para a elicitao de requisitos de software
Esse captulo tem por objetivo apresentar um mtodo que foi criado com
objetivo de prover ao Engenheiro de Software uma forma de ajud-lo no processo
de elaborao de perguntas de questionrios. O mtodo proposto utiliza como
base a tcnica GQM, descrita anteriormente.
4.1.
Definio do processo
Com a finalidade de criar um mtodo que pudesse prover ao Engenheiro
de Software uma forma de ajud-lo no processo de elaborao de perguntas de
questionrios, foram realizadas diversas pesquisas com objetivo de identificar
quais os principais tipos de requisitos existentes, categoriz-los (funcionais e no
funcionais) e definir as principais atividades envolvidas no processo de
levantamento dos requisitos de software em geral. Com base nesse estudo, foi
elaborado um modelo conceitual, sujeito a alteraes, para a elicitao de
requisitos de projetos ou sistemas de software, modelo esse criado atravs de
pesquisas, da utilizao do SRS (Software Requirements Specification) da IEEE
[24] e do modelo proposto na dissertao da Ana Paula Gilvaz [5]. O modelo
flexvel est ilustrado a seguir:
45
Famlia de
Produtos
Pode pertencer a
Atende a
Indstria
Pertencem a
Sistema
Possui
Objetivos
Funcionais
Traz
Utilizam
Possui
Trazem
Contribuem
Possuem
Benefcios
Objetivos no
Funcionais
Definem
So relevantes em
relao a
Definem
Grupos de
Usurios
Possuem
Pertencem a
reas
Funcionais
Definem
A idia que esse modelo sirva de base para a elaborao das perguntas de
questionrios, que sero utilizados para priorizar e elicitar alguns dos requisitos de
software de um sistema ou produto a ser construdo. O modelo no cobre todos os
casos possveis de requisitos, podendo ser utilizado ou no para ajudar no
processo de elaborao de perguntas, dependendo do domnio em questo, como
veremos atravs dos dois exemplos que sero apresentados adiante, os quais
utilizaro o mtodo proposto.
Posteriormente a tcnica GQM (Goal Question Metric) foi estudada, com
objetivo de utiliz-la na construo de um processo de elaborao de perguntas de
questionrios. O seguinte processo foi ento definido:
Conhecimen
to tcnico
Nvel de
Instruo
46
Modelo
UDI
Instanciar modelo
Relaes
Template da
tcnica GQM
Definir objetivos
Objetivos do GQM
Definir questes
Questes
necessrias
Definir mtricas
Mtricas
Especificar
perguntas
Ferramenta
Perguntas do
questionrio
47
48
2.
Cenrios;
49
Sero listadas, para cada questo, as mtricas que sero utilizadas, para
que as questes dos objetivos possam ser respondidas. Essas mtricas definidas
sero as perguntas a serem aplicadas no questionrio;
Questes
1) Como voc avaliaria o seu
Mtricas (Perguntas)
Indique
da
seu
grau
linguagem
de
de
modelagem UML apresentada nas aulas modelagem UML, com base no que foi
expositivas da matria PES na PUC- apresentado nas aulas expositivas da
Rio, no perodo de 2004.1?
Indique
da
seu
grau
linguagem
de
de
modelagem UML utilizada nas aulas modelagem UML, com base no que foi
experimentais da matria PES na PUC- utilizado nas aulas experimentais da
Rio, no perodo de 2004.1?
50
Respostas:
1 No aprendi; 2 Aprendi,
mas tenho dvida; 3 Aprendi o
bsico; 4 Aprendi, mas no sei usar
sozinho; 5 Aprendi e sei usar;
Aplicando o tpico 2 (Cenrios) ao objetivo 1, teremos o seguinte objetivo:
Saber o que o sujeito entende que aprendeu sobre a tcnica de Cenrios em aula
expositiva [grau] e em aula experimental [grau]. Agora esse objetivo deve ser
transformado em um objetivo do GQM, atravs da utilizao do template para a
criao de objetivos, anteriormente detalhado:
Analisar as opinies dos alunos matriculados na matria PES no perodo de
2004.1, com a finalidade de avaliar o grau de aprendizado da tcnica de Cenrios
em aulas expositivas e em aulas experimentais, com a perspectiva de
documentao das opinies dos alunos, do ponto de vista dos alunos da matria,
no contexto da Universidade (PUC-Rio) onde a matria foi aplicada.
Seguindo o mtodo de criao de perguntas de questionrios definido
anteriormente, sero aplicados os prximos passos:
1.
para que as questes dos objetivos possam ser respondidas. Essas mtricas
definidas sero as perguntas a serem aplicadas no questionrio;
Questes
Mtricas (Perguntas)
Indique
seu
grau
de
apresentada
nas
51
Respostas:
1 No aprendi; 2 Aprendi,
mas tenho dvida; 3 Aprendi o
bsico; 4 Aprendi, mas no sei usar
sozinho; 5 Aprendi e sei usar;
Indique
seu
grau
de
utilizada
nas
experimentais da matria PES na PUC- experimentais da matria PES na PUCRio, no perodo de 2004.1?
52
Questes
Mtricas (Perguntas)
sido
aplicado
nas
foi
apresentado
nas
expositivas da matria PES na PUC- com o que foi apresentado nas aulas
Rio, no perodo de 2004.1?
53
sido
Questes
Mtricas (Perguntas)
aplicado
nas
Para o segundo problema, o modelo conceitual que foi criado com objetivo
de elicitar requisitos de software foi parcialmente utilizado para a criao dos
objetivos das questes do questionrio, pois nesse caso estamos tentando elicitar
requisitos de um software a ser construdo, tomando como base um modelo
previamente definido para atingir essa finalidade. Os objetivos foram definidos
parcialmente atravs da instanciao dos nodos do modelo. Alm da instanciao
54
55
Mtricas (Perguntas)
relao
portabilidade
ser
facilmente
reutilizvel
56
Respostas:
1 Sem necessidade; 2 Pouco
necessrio;
Razoavelmente
Razoavelmente
relao
extensibilidade
(possibilidade de as funcionalidades do
sistema serem facilmente evoludas) do
sistema.
Respostas:
1 Sem relevncia; 2 Pouco
relevante; 3 Razoavelmente relevante;
4 Relevante; 5 Muito relevante;
J os demais objetivos no reutilizaram perguntas do modelo proposto.
Sendo assim, de acordo com o processo detalhado no incio dessa seo, para
obter as perguntas do questionrio, o Engenheiro de Software deve:
Transformar o objetivo definido num objetivo do GQM, aplicando o
template para a criao de objetivos, anteriormente detalhado;
Definir questes para que o objetivo seja atingido, de acordo com o
universo de informaes do sistema que ser desenvolvido;
Definir mtricas que sero utilizadas, para que as questes dos objetivos
possam ser respondidas. Essas mtricas definidas pelo Engenheiro de Software
sero as perguntas do questionrio.
57
para que as questes dos objetivos possam ser respondidas. Essas mtricas
definidas sero as perguntas a serem aplicadas no questionrio;
Questes
Mtricas (Perguntas)
Razoavelmente
58
para que as questes dos objetivos possam ser respondidas. Essas mtricas
definidas sero as perguntas a serem aplicadas no questionrio;
Questes
Mtricas (Perguntas)
sistema
EC
oferecer
uma do
sistema
EC
oferecer
uma
Razoavelmente
59
2.
para que as questes dos objetivos possam ser respondidas. Essas mtricas
definidas sero as perguntas a serem aplicadas no questionrio;
Questes
Mtricas (Perguntas)
Razoavelmente
para que as questes dos objetivos possam ser respondidas. Essas mtricas
definidas sero as perguntas a serem aplicadas no questionrio;
60
Questes
Mtricas (Perguntas)
sistema
EC
o
notificar
revisor,
caso
Razoavelmente
61
5
Experimento prtico
Nesse captulo ser apresentada uma ferramenta web, que foi desenvolvida
com objetivo de criar questionrios para coleta e priorizao de requisitos de
software. Ela tambm apia o Engenheiro de Software no processo de criao das
perguntas de questionrios e avalia os resultados obtidos, atravs das respostas
enviadas pelos respondentes.
5.1.
Caractersticas gerais da ferramenta
Foi desenvolvida uma ferramenta que consiste em um gerador de
questionrios, cujas perguntas a serem apresentadas so as perguntas geradas
atravs da utilizao do processo aqui proposto detalhado anteriormente. O
processo de definio e especificao da ferramenta foi realizado atravs da
utilizao das tcnicas de cenrio e lxico, onde foram definidos e detalhados os
cenrios que deveriam ser contemplados pelo sistema.
Depois ento, tomando como base os cenrios que foram gerados no
processo de definio e especificao da ferramenta, foi elaborado um prottipo
do sistema. No processo de escolha da plataforma de desenvolvimento, foi
considerado que deveria ser utilizado somente software livre. Sendo assim, a
linguagem de programao utilizada para o desenvolvimento da ferramenta foi a
linguagem Java (jdk verso 1.4 da Sun MicroSystems), juntamente com o banco
de dados MySQL (verso 4.0.13) e o servidor Tomcat (verso 5.0). Atravs da
utilizao da linguagem de modelagem UML, foram criados os diagramas de
classe e seqncia do sistema, gerando tambm os cdigos das classes do sistema
(somente a estrutura, mtodos e atributos das classes).
62
Questionario
projeto : String
administrador : Administrador
descricao : String
assuntoEmail : String
criado por
dataLimite : Date
categorias : Array List
perguntas : Array List
respondentes : Array List
Categoria
descricao : String
possui
consultarCategorias()
cadastrarCategQuest()
1..*
pertence a
criado por
1
Administrador
nome : String
f uncao : String
senha : String
login : String
email : String
ef etuarLogin()
cadastrarAdministrador()
criarQuestionario()
v erif icarSeLoginJaCadastrado()
setarAtributosAdm()
1
1
possui
1..*
QuestionarioFacade
Pergunta
resposta : Resposta
projeto : String
PerguntaGeral
categoria : Categoria
tipoPergunta : TipoPergunta
titulo : String
id : int
criarQuestionario()
env iaEmail()
possui
cadastrarPerguntasRespostas()
retornarPerguntasDaCategoria()
cadastrarPerguntas()
retornarPerguntasDoProjetoResp()
getPE_resposta()
retornarPerguntasDoProjeto()
obterRelev anciaPergunta()
1
possui
possui
1
1..*
1..*
T ipoPergunta
Resposta
descricao : String
id : int
retornarRespostasDaPergunta()
cadastrarRespostasParaRespondentes()
v erif icarSeUsuarioJaRespondeuQuestionario()
remov erTodasRespostas()
getRG_tipoResposta()
adicionarRespostaRespondente()
inserirRespostasDoUsuario()
possui
T ipoResposta
id : int
descricao ; String
Respondente
emailRespondente : String
resposta : String
observ acao : String
email : String
respostas : Array List
responde
1..*
responderQuestionario()
cadastrarRespondentes()
cadastrarQuestResp()
setRD_tipoRespondente()
obterNumeroRespondentesDoProjeto()
obterNumRespQuestProj()
RespostaGeral
id : int
titulo : String
63
id
(1,n)
Categoria
projeto
(1,n)
Pertence
Questionario
(1,n)
(1,n)
Possui
login
(0,n)
Cadastra
Administrador
(1,n)
(1,n)
Possui
(1,1)
Responde
Possui
(1,n)
(1,1)
(1,1)
id
Pergunta_Geral
Pergunta
(1,1)
Possui
(1,n)
(1,n)
Respondente
(1,n)
id
id
(1,n)
Envia
(1,n)
Tipo_Pergunta
Possui
Possui
(1,1)
(1,1)
(1,1)
Resposta_Geral
id
Resposta
(1,1)
Possui
(1,n)
Tipo_Resposta
id
id
64
65
5.2.
Apresentao da ferramenta
A seguir, a ferramenta proposta ser apresentada. A ferramenta foi utilizada
na simulao do estudo de caso Elicitao de requisitos para a especificao de
um sistema multi-agente (Expert Committee - EC), onde as perguntas geradas
atravs da utilizao do mtodo proposto foram detalhadas no captulo 4 dessa
dissertao. Vale ressaltar que a ferramenta um prottipo, cujo objetivo
mostrar a possibilidade de automao de parte do processo proposto nessa
dissertao. As telas da ferramenta que esto expostas a seguir resultam de sua
utilizao por outro aluno de mestrado, tambm da rea de Engenharia de
Software.
As seguintes perguntas (mtricas obtidas atravs da aplicao do processo
proposto nessa dissertao) e respostas foram previamente inseridas na ferramenta
(cadastradas no modelo de dados exibido na figura 9 da seo 5.1), aps terem
sido geradas atravs da utilizao do mtodo de gerao de perguntas, processo
esse detalhado na seo 4.1. Foram definidos objetivo e justificativa para cada
questo criada, de forma a esclarecer a questo para os respondentes:
Indique o grau de relevncia em relao portabilidade do sistema. #
Objetivo: Identificar a necessidade do sistema ser portvel. # Justificativa: A
portabilidade permite que o sistema execute em plataformas diferentes. Respostas:
Sem relevncia; Pouco relevante; Razoavelmente relevante; Relevante; Muito
relevante.
Indique o grau de relevncia em relao extensibilidade do sistema. #
Objetivo: Identificar a necessidade do sistema ser extensvel. # Justificativa: A
extensibilidade permite que as funcionalidades sejam facilmente evoludas.
Respostas: Sem relevncia; Pouco relevante; Razoavelmente relevante; Relevante;
Muito relevante.
Indique o grau de necessidade do sistema ser facilmente reutilizvel. #
Objetivo: Identificar a necessidade do sistema ser reutilizvel. # Justificativa:
Quanto mais reutilizvel for o sistema mais fcil ser o seu reuso. Respostas: Sem
necessidade; Pouco necessrio; Razoavelmente necessrio; Necessrio; Muito
necessrio.
66
67
implementada.
Respostas:
Sem
necessidade;
Pouco
necessrio;
Aps efetuar o login com sucesso, o sistema exibe sua tela principal,
atravs da qual possvel o administrador do sistema utilizar suas
funcionalidades.
68
que ainda no tenha sido cadastrado no sistema, ou seja, que no tenha sido criado
ainda algum questionrio com esse nome de projeto informado. Esse o projeto
que se deseja elicitar requisitos de software, atravs da aplicao do questionrio
aos respondentes. No estudo de caso em questo, o nome do projeto cadastrado foi
Expert Committee.
o
69
de
reutilizar
perguntas
previamente
cadastradas,
caso
respondentes do questionrio sendo criado (um e-mail por linha), para os quais
ser enviado o questionrio;
o
70
Aps ter digitado cada uma das novas perguntas que foram cadastradas e
ter informado no desejar cadastrar mais novas perguntas, o sistema exibe a tela
de confirmao abaixo:
71
72
73
74
75
76
5.3.
Mtodo utilizado para anlise das respostas e priorizao dos
requisitos
As estatsticas das respostas de cada pergunta realizada atravs do relatrio
classificatrio, que so apresentadas ao administrador do sistema, foram
elaboradas num formato que fosse possvel o administrador saber qual o nvel de
relevncia, do ponto de vista do respondente, acerca dos assuntos levantados pelas
perguntas do questionrio. Dessa forma, possvel o administrador ter uma idia a
respeito da prioridade de cada uma delas, sendo possvel, por exemplo, priorizar
os requisitos sendo elicitados atravs da aplicao das perguntas.
Conforme os respondentes vo enviando as suas respostas, as perguntas vo
recebendo as seguintes classificaes possveis: BAIXA (requisito pouco
importante), MEDIA (requisito razoavelmente importante) ou ALTA
(requisito muito importante, positivo). Essas classificaes visam apoiar o
Engenheiro de Software no processo de priorizao dos requisitos de software. Se
uma determinada pergunta foi classificada como tendo prioridade ALTA, quer
dizer ento que se trata de um requisito muito importante (do ponto de vista dos
respondentes do questionrio), devendo ento ser priorizado. Todas as respostas
so apresentadas aos respondentes no formato gradativo, sendo atribudos valores
(por exemplo, de 1 a 5) para cada uma das possveis respostas (ex.: 1 pouco
importante; 5 muito importante). Sendo assim, o algoritmo utilizado para
classificar uma pergunta como BAIXA, MEDIA ou ALTA, de acordo com as
respostas enviadas pelos respondentes foi o seguinte:
1.
77
78
6
Avaliao, contribuio e desdobramentos
6.1.
Avaliao do mtodo e da ferramenta propostos
O mtodo proposto nessa dissertao possui o objetivo de apoiar o
Engenheiro de Software no processo de gerao de perguntas de questionrios.
Conforme j detalhado anteriormente, as perguntas dos questionrios gerados
seriam as mtricas obtidas atravs da utilizao do mtodo. Essa uma
abordagem interessante, pois normalmente o processo de gerao de perguntas
no uma tarefa simples, logo, ter um mtodo que apie esse processo certamente
traz benefcios. Como as perguntas so geradas tomando como base os objetivos a
serem atingidos atravs da utilizao do questionrio (atravs da utilizao da
tcnica GQM), subentende-se que os objetivos do questionrio sero alcanados
atravs da aplicao das perguntas (mtricas) geradas.
Todas as perguntas previamente definidas com a utilizao do modelo (e
categorizadas como objetivos funcionais e objetivos no funcionais) foram
geradas atravs da aplicao do mtodo proposto. Como o modelo no abrange
todos os casos possveis, as perguntas geradas conseqentemente tambm no
abrangem todos os casos de requisitos possveis. Entretanto, o modelo flexvel a
ponto de poder ser alterado conforme a convenincia do usurio, podendo at no
ser utilizado, ou seja, os objetivos podem ser definidos separadamente, sem a
79
6.2.
Comparao com outras iniciativas
Agora, iremos comparar as principais diferenas em relao s abordagens
sugeridas pelos artigos [23] e [32], pela dissertao [5] e o mtodo aqui proposto.
As principais diferenas encontradas foram as seguintes:
O mtodo proposto por esta dissertao d a possibilidade de se tomar
como base um modelo conceitual, flexvel, atravs do qual possvel em um nvel
mais abstrato definir os principais requisitos a serem priorizados e os seus
80
81
82
6.3.
Contribuies
Entendemos que a dissertao traz as seguintes contribuies:
Uma lista de requisitos para apoiar a construo de questionrios, que
poder ser utilizada como referncia por pessoas que desejam elaborar
questionrios.
A definio de um mtodo que ajude a construo de perguntas de
questionrios, que tambm poder ser utilizado por pessoas que desejam elaborar
perguntas de questionrios a serem construdos. Esse mtodo utiliza a tcnica
GQM (Goal Question Metric), com objetivo de demonstrar a eficcia de sua
utilizao nesse contexto.
Uma ferramenta web para criao de questionrios, que permite o usurio
utilizar perguntas previamente formuladas e devidamente categorizadas (ex.:
requisitos funcionais ou no funcionais) atravs do processo definido, permitindo
tambm que o usurio cadastre perguntas que lhe forem mais convenientes. A
ferramenta ir, de acordo com a opinio dos respondentes, priorizar os requisitos
funcionais e no funcionais que foram considerados necessrios implementao
de um sistema a ser desenvolvido, alm de exibir tambm uma anlise estatstica
das repostas enviadas. Vale salientar que no um conjunto de requisitos
completo; poder ser incrementado e modificado conforme necessrio.
Um modelo conceitual extensvel que cobre alguns casos que foram
considerados importantes, para a priorizao e elicitao de requisitos de projetos
e/ou sistemas de software. Foi demonstrado que a partir de um modelo possvel
gerar um conjunto de perguntas de questionrios (possveis requisitos), que so
por sua vez priorizadas de acordo com a opinio dos respondentes.
83
6.4.
Trabalhos futuros
Nossa contribuio envolve uma estratgia para a elicitao e priorizao de
requisitos de software atravs da utilizao de questionrios, gerados atravs de
uma ferramenta web assistente em todo o processo (gerao das perguntas e
anlise dos resultados obtidos).
Do ponto de vista dessa estratgia, identificamos a aplicao da estratgia
em outros estudos de caso em domnios de sistemas de informao e outros
domnios, como por exemplo, na rea de Cincias Sociais e Marketing, para se ter
uma avaliao mais completa da sua eficcia em outros domnios. Existe tambm
a possibilidade de se incrementar e adaptar o modelo conceitual proposto. Alm
disso, poderia ser realizada uma investigao de como o modelo conceitual
proposto pode ser integrado a mtodos de especificao de requisitos,
funcionando como uma base de conhecimento.
Do ponto de vista da ferramenta, poderamos ter a implementao de:
tcnicas de resoluo de conflitos para a anlise das respostas; outras tcnicas para
anlise estatstica dos resultados obtidos; outros tipos de pergunta (atualmente o
modelo genrico, mas implementamos somente perguntas com respostas do tipo
graduais) fechadas e at mesmo abertas, sendo que a anlise dos resultados de
perguntas abertas muito mais trabalhosa e no prevista pelo modelo proposto
nessa dissertao.
84
7
Referncias bibliogrficas
2001.
3
85
14
McGraw-Hill, 1999.
15
86
Paulo,
Brasil.
Disponvel
em:
87