Escolar Documentos
Profissional Documentos
Cultura Documentos
VIÇOSA
MINAS GERAIS - BRASIL
2011
VICTOR OLIVEIRA HERMSDORF
Dissertação apresentada à
Universidade Federal de Viçosa, como
parte das exigências do Programa de
Pós-Graduação em Ciência da
Computação, para obtenção do título de
Magister Scientiae.
VIÇOSA
MINAS GERAIS - BRASIL
2011
Dedico essa dissertação aos meus pais
Mozart e Eliene
ii
AGRADECIMENTOS
iii
BIOGRAFIA
iv
SUMÁRIO
AGRADECIMENTOS.............................................................................................. iii
BIOGRAFIA .............................................................................................................. iv
SUMÁRIO .................................................................................................................. v
RESUMO .................................................................................................................... x
ABSTRACT ............................................................................................................... xi
1 INTRODUÇÃO .................................................................................................. 1
1.1 O problema e sua importância ....................................................................... 2
1.2 Objetivos ........................................................................................................ 3
1.3 O fluxo de trabalho utilizado no desenvolvimento dessa pesquisa................ 4
1.4 Estrutura da dissertação ................................................................................. 6
2 REFERENCIAL TEÓRICO ............................................................................. 8
2.1 Dinâmica de sistemas ..................................................................................... 8
2.2 Engenharia de requisitos .............................................................................. 12
2.3 Elicitação de requisitos ................................................................................ 16
2.4 Trabalhos correlatos ..................................................................................... 19
3 MODELAGEM DA ATIVIDADE DE ELICITAÇÃO DE REQUISITOS 21
3.1 Identificação e seleção de variáveis ............................................................. 22
3.2 Diagramas de influência .............................................................................. 23
3.3 Diagrama estoque-fluxo ............................................................................... 28
3.3.1 Taxa de Elicitação .............................................................................. 28
3.3.2 Produtividade ...................................................................................... 33
3.3.3 Requisitos repetidos............................................................................ 35
3.3.4 Custo da elicitação .............................................................................. 38
4 SIMULAÇÕES E ANÁLISES DOS RESULTADOS ................................... 40
4.1 Técnica de Entrevista ................................................................................... 40
4.1.1 Cenário E1 .......................................................................................... 40
4.1.2 Cenário E2 .......................................................................................... 41
4.1.3 Cenário E3 .......................................................................................... 42
4.1.4 Cenário E4 .......................................................................................... 43
4.1.5 Cenário E5 .......................................................................................... 45
v
4.1.6 Comparação dos cenários utilizando a técnica de entrevista.............. 46
4.2 Comparação entre as técnicas de elicitação ................................................. 50
4.2.1 Cenário C1 .......................................................................................... 50
4.2.2 Cenário C2 .......................................................................................... 57
5 PORTAL CORPORATIVO PARA APOIO A DECISÃO .......................... 65
vi
LISTA DE FIGURAS
vii
Figura 4.20. Custo por cláusula correta em C1 utilizando a técnica de Sorting ........ 53
Figura 4.21. Cláusulas elicitadas em C1 utilizando a técnica de Análise de Protocolo
.................................................................................................................................... 53
Figura 4.22. Custo por cláusula correta em C1 utilizando a técnica de Análise de
Protocolo .................................................................................................................... 54
Figura 4.23. Comparação de cláusulas elicitadas em C1 ........................................... 55
Figura 4.24. Comparação de cláusulas elicitadas corretamente em C1 ..................... 55
Figura 4.25. Comparação de custo final por cláusula correta em C1 ........................ 56
Figura 4.26. Cláusulas elicitadas em C2 utilizando a técnica de Entrevista .............. 57
Figura 4.27. Custo por cláusula correta em C2 utilizando a técnica de Entrevista .... 57
Figura 4.28. Cláusulas elicitadas em C2 utilizando a técnica de Laddering.............. 58
Figura 4.29. Custo por cláusula correta em C2 utilizando a técnica de Laddering ... 58
Figura 4.30. Cláusulas elicitadas em C2 utilizando a técnica de Sorting .................. 59
Figura 4.31. Custo por cláusula correta em C2 utilizando a técnica de Sorting ........ 59
Figura 4.32. Cláusulas elicitadas em C2 utilizando a técnica de Análise de Protocolo
.................................................................................................................................... 60
Figura 4.33. Custo por cláusula correta em C2 utilizando a técnica de Análise de
Protocolo .................................................................................................................... 60
Figura 4.34. Comparação de cláusulas elicitadas em C2 ........................................... 61
Figura 4.35. Comparação de cláusulas elicitadas corretamente em C2 ..................... 62
Figura 4.36. Comparação de custo final por cláusula correta em C2 ........................ 62
Figura 4.37. Comparação das porcentagens de cláusulas elicitadas em C2............... 64
Figura 5.1. Tela inicial do portal corporativo ............................................................ 65
Figura 5.2. Tela de cadastro de empresas .................................................................. 66
Figura 5.3. Tela de projetos........................................................................................ 67
Figura 5.4. Tela de cadastro de projetos .................................................................... 67
Figura 5.5. Tela principal de um projeto .................................................................... 68
Figura 5.6. Tela do painel de controle........................................................................ 69
Figura 5.7. Tela de resultados de simulações ............................................................. 70
viii
LISTA DE TABELAS
ix
RESUMO
x
ABSTRACT
xi
1 INTRODUÇÃO
1
As decisões gerenciais devem ser tomadas cuidadosamente, analisando-se
todo o contexto e as conseqüências de cada possibilidade. Muitas vezes, porém, essas
decisões se dão em cenários complexos e com muitas variáveis a serem analisadas, o
que leva a tomadas de decisão reativas onde se considera apenas o problema presente
sem relacioná-lo ao seu ambiente, suas variáveis e demais problemas correlacionados
(AMBRÓSIO, 2008). Isso se torna um risco considerável no projeto, visto que
decisões gerenciais tomadas de maneira equivocada podem comprometer todo um
projeto levando a grandes prejuízos e, mais do que isso, podem levar à produção de
softwares com falhas críticas, que podem significar grandes perdas no futuro, tanto
financeiras como até mesmo de vidas humanas (PETERSON, 1996).
2
Fonte: (MCCONNELL, 1998).
1.2 Objetivos
O objetivo geral deste trabalho é produzir um modelo de dinâmica de
sistemas que aborde a atividade de elicitação do processo de engenharia de requisitos
de software, permitindo que gerentes possam utilizá-lo para auxiliá-los na análise e
tomadas de decisão relativas aos projetos de software.
Os objetivos específicos relacionados são:
Selecionar as principais variáveis dinâmicas envolvidas na atividade de
elicitação;
Elaborar diagramas de influência a partir da seleção de variáveis para explicitar
como elas se relacionam;
3
Mapear os diagramas de influência para um modelo estoque-fluxo da dinâmica
de sistemas;
Validar o modelo com dados da literatura que comprovem a sua consistência, e
estabeleçam a viabilidade do seu uso no apoio à tomada de decisão;
Construir uma ferramenta de apoio que permita o uso efetivo dos modelos de
dinâmica de sistemas por empresas de software.
4
retornar aos passos anteriores para ajustar partes do modelo, corrigir ou ajustar
relacionamentos e diagramas, incluir novas variáveis, etc. Esse fluxo foi repetido até
que o modelo se tornou estável e condizente com a literatura.
5. Verificação da aplicabilidade do modelo: Foram elaborados cenários para
verificar a aplicabilidade do modelo e a viabilidade do seu uso como uma ferramenta
de apoio à tomada de decisão referente à atividade de elicitação de requisitos.
6. Possibilitar o uso do modelo por empresas de software: Para facilitar o
acesso das empresas ao modelo, foi desenvolvida uma ferramenta de apoio,
permitindo que simulações e análises sejam efetuadas remotamente, via Web.
5
1.4 Estrutura da dissertação
No Capítulo 2 é apresentado o referencial teórico, resultado da revisão
bibliográfica realizada. Nesse capítulo são discutidos os principais conceitos
relacionados ao trabalho. O primeiro tema a ser abordado é a dinâmica de sistemas
(Seção 2.1), ferramenta utilizada para modelar e realizar simulações. O contexto da
modelagem é o processo de engenharia de requisitos (Seção 2.2), e mais
especificamente a atividade de elicitação de requisitos (Seção 2.3), que é uma das
atividades realizadas na engenharia de requisitos. Nesse capítulo são apresentados
ainda os trabalhos correlatos (Seção 2.4), que foram tomados como base para o
desenvolvimento deste trabalho.
6
Fonte: Elaborada pelo autor.
7
2 REFERENCIAL TEÓRICO
8
(BRAGA et al., 2004). Apesar disso, os diagramas de influência muitas vezes se
mostram muito simplistas ou incompletos para explicar um sistema e seu
comportamento (MADACHY, 2007; RICHARDSON, 1986). É necessário então
fazer uso de diagramas mais poderosos, que possuem mais recursos para melhor
representar sistemas e comportamentos. São utilizados então os diagramas estoque-
fluxo.
9
Segundo (LANE, 2008), as principais vantagens da utilização de diagramas
de estoque-fluxo são: foco em entidades, recursos e atributos mensuráveis; distinção
entre estoque e fluxo e entre fluxos e elos de informação; são melhores para mostrar
os processos causais reais sendo modelados, e como operam os diferentes loops no
processo; forçam uma especificação mais detalhada dos mecanismos causais;
fornecem uma base melhor para inferir comportamentos; e são diagramas prontos
para simulação.
10
volume de água, menor deve ser a abertura da torneira (sinal -), para evitar que o
volume de água ultrapasse o volume desejado e transborde.
A situação ilustrada na Figura 2.1 pode também ser representada por meio de
um diagrama de estoque-fluxo, conforme apresentado na Figura 2.3. Estão
representados o estoque “Volume de água”, o fluxo “Fluxo de água” e as variáveis
auxiliares “volume de água desejado” e “abertura da torneira”. O valor do estoque
“Volume de água” é modificado somente pelo fluxo “Fluxo de água”, que é
influenciado pela variável auxiliar “abertura da torneira”. A variável “abertura da
torneira” por sua vez, é influenciada pela variável “volume de água desejado” e pelo
valor do estoque “Volume de água”.
11
relação pode levar a um entendimento errôneo do sistema. Pode parecer que se o
fluxo de água diminuir, o volume de água na banheira também irá diminuir, o que
não condiz com a realidade. Nesse caso, utilizando o diagrama de estoque-fluxo é
possível verificar que o “Fluxo de água” é somente um fluxo de entrada para o
estoque “Volume de água”. Dessa forma somente será possível aumentar o valor do
estoque através desse fluxo, ou seja, nunca será possível reluzi-lo.
12
2003). Segundo SOMMERVILLE (2007), o processo global de engenharia de
requisitos inclui quatro sub-processos: avaliar se o sistema é realmente útil para o
negócio (estudo de viabilidade); descobrir requisitos (elicitação e análise); escrever
os requisitos em algum formulário padrão (especificação); e verificar se os requisitos
realmente definem o sistema que o usuário necessita (validação).
1
Elicitadores são os profissionais que efetivamente realizam a elicitação. Na literatura esses
profissionais recebem diversas denominações, como engenheiros de requisitos, especialistas de
requisitos e engenheiros de software.
13
que seja possível validá-los, verificar a sua implementação e estimar o seu custo
(SWEBOK, 2004). Em sistemas maiores e mais complexos, particularmente
envolvendo outros componentes que não são softwares, são utilizados até três
documentos na atividade de especificação: documento de definição do sistema,
especificação de requisitos do sistema e especificação de requisitos do software
(SWEBOK, 2004). O documento de definição do sistema, cujo IEEE (Institute of
Electrical and Electronics Engineers) provê conselhos para sua formulação através
do IEEE 1362 (IEEE1362, 1998), define os requisitos em alto nível, da perspectiva
do domínio. A especificação de requisitos do sistema, cujo guia para sua formulação
é o IEEE 1233 (IEEE1233, 1998), especifica o sistema como um todo, além do
escopo do software, como por exemplo, um sistema para aviões modernos, onde
existem diferentes hardwares envolvidos. A especificação de requisitos do software,
cujo padrão segue o IEEE 830 (IEEE830, 1998), estabelece a base de acordo entre
clientes e prestadores de serviço do que o produto de software deve ou não fazer. Em
sistemas de software comuns, apenas o documento de especificação de requisitos do
software é necessário (SWEBOK, 2004).
14
de software proposta. Segundo CHENG; ATLEE (2007), essa diferença torna a
engenharia de requisitos inerentemente difícil por uma séria de fatores:
15
mercado geral, em vez de ser para um cliente específico, existe uma pressão maior,
dada a necessidade de lançar o produto o mais rápido possível. Uma engenharia de
requisitos efetiva é um importante fator de sucesso para conseguir alcançar a
demanda do mercado (HÖST et al., 2001).
16
Na elicitação, os stakeholders são identificados e são estabelecidos os
relacionamentos iniciais entre clientes e equipe de desenvolvimento (SWEBOK,
2004). Um dos fatores-chave para o sucesso dessa atividade é a boa comunicação
entre os stakeholders e os elicitadores.
Stakeholders geralmente não sabem o que eles querem do sistema, exceto pelos
termos mais gerais.
Stakeholders naturalmente expressam os requisitos utilizando seus próprios
termos e com conhecimento implícito dos seus próprios trabalhos.
Diferentes stakeholders possuem requisitos diferentes, que podem expressar de
diferentes maneiras.
Fatores políticos podem influenciar os requisitos de um sistema. Por exemplo,
gerentes podem demandar requisitos que irão aumentar a sua influência na
organização.
O ambiente econômico e empresarial é dinâmico. Novos requisitos podem
surgir a partir de novos stakeholders que nem foram consultados a princípio.
Para contornar as dificuldades da elicitação de requisitos podem ser utilizadas
diversas técnicas de elicitação. Essas técnicas são mecanismos de interações entre
elicitadores e stakeholders (DIESTE; JURISTO, 2010), onde o objetivo é extrair dos
stakeholders o máximo de informações possível sobre o domínio do problema que o
software deve resolver. Neste trabalho, serão consideradas as técnicas de entrevista
(JOHNSON; JOHNSON, 1987), análise de protocolo (ERICSON; SIMON, 1984),
sorting (GAMMACK, 1987) e laddering (LAFRANCE, 1986; CORBRIDGE et al.,
1994).
17
A entrevista é a técnica mais comumente utilizada na prática (DAVIS et al.,
2006). Ela consiste em diálogos entre elicitadores e stakeholders sobre o domínio do
problema no qual o software deve atuar. Existem diversos tipos de entrevistas, como
entrevistas estruturadas (mais formais, sendo preparada com antecedência, onde o
entrevistador faz as mesmas questões e na mesma ordem para cada um dos
entrevistados), não-estruturadas (diálogo menos formal, onde não há um roteiro
rígido a ser seguido, dando liberdade ao entrevistado de abordar os assuntos a seu
próprio modo) e grupo foco (onde mais pessoas participam da entrevista formando
um grupo de discussão). Neste trabalho será abordada a técnica de entrevista não-
estruturada.
18
A escolha da técnica de elicitação de requisitos depende do tempo e recursos
disponíveis para o projeto, e também do tipo de informação que necessita ser
extraída (NUSEIBEH; EASTERBROOK, 2000). No escopo deste trabalho, mais
importante do que estudar cada técnica específica, é a comparação entre as técnicas
no que diz respeito à efetividade, qualidade e tempo gasto na elicitação.
19
AMBRÓSIO (2008) é focado nas atividades de especificação e validação de
requisitos. Não são tratadas no modelo as atividades anteriores à especificação.
Considera-se que os requisitos do software vêm de um escopo externo. A Figura 2.4
mostra os estoques referentes aos estados dos requisitos durante a simulação no
trabalho de AMBRÓSIO (2008). As atividades realizadas no decorrer da
especificação dos requisitos são responsáveis por acrescentar requisitos nesses
estoques e transferir requisitos de um estoque para o outro, alterando o estado dos
requisitos (AMBRÓSIO, 2008).
20
3 MODELAGEM DA ATIVIDADE DE ELICITAÇÃO DE
REQUISITOS
21
3.1 Identificação e seleção de variáveis
Tomando como ponto de partida a literatura citada no Capítulo 2 sobre
engenharia de requisitos e elicitação de requisitos, aliada aos estudos (DIESTE;
JURISTO, 2010; DIESTE; LOPEZ; RAMOS, 2008; DIESTE; JURISTO; SHULL,
2008; DAVIS et al., 2006), foi possível analisar diversas variáveis presentes na
atividade de elicitação.
22
Fonte: Elaborada pelo autor.
2
Figura 3.2. Exemplo de GQM utilizado no trabalho
2
O “x” utilizado no GQM tem o significado de “versus”. Por exemplo, “esforço x tempo” significa
“esforço versus tempo”.
3
Overhead de comunicação aqui considerado como o tempo adicional gasto para os profissionais se
comunicarem, que se torna maior à medida que o número de profissionais aumenta.
23
que foi levada em consideração neste trabalho está relacionada ao seu perfil, ou seja,
que tipo de elicitador está sendo utilizado no projeto (estudante, especialista no
assunto ou engenheiro de software/analista) (GRIFFIN; HAUSER, 1993).
24
Fonte: Elaborada pelo autor.
Figura 3.4. Relações dos stakeholders
25
um mesmo cenário (mesmo número de pessoas alocadas, utilizando a mesma
técnica), a tendência é que com o passar do tempo a produtividade caia na medida
em que os requisitos vão sendo elicitados (GRIFFIN; HAUSER, 1993).
As relações dos custos do projeto são mostradas na Figura 3.7. Quanto mais
profissionais alocados para a elicitação, maior é o custo geral do projeto. Geral no
sentido de estar relacionado ao próprio projeto, independente de quem está arcando
com esses custos, se é a empresa que está desenvolvendo o software ou a empresa
contratante. A empresa de software é responsável pelos honorários dos elicitadores,
enquanto a empresa contratante arca com os custos dos stakeholders.
À primeira vista pode parecer que a relação dos custos dos stakeholders não é
importante para o gerente de projetos da empresa de software (usuário do modelo);
porém, a alocação de um stakeholder no projeto implica na parada de suas atividades
normais dentro da empresa contratante. Se muitos stakeholders forem alocados, ou
muitas horas de elicitação forem necessárias, isso pode gerar um custo muito grande
para a empresa contratante, o que pode até inviabilizar o projeto. Além disso, existe
um fator não considerado no modelo (pela dificuldade de mensuração), mas visto na
prática, que é a resistência dos próprios stakeholders em auxiliar na elicitação.
Quanto mais tempo o stakeholder é afastado das suas atividades normais, mais
aumenta a sua resistência no auxílio da elicitação do projeto de software, visto que a
preocupação com o acúmulo de suas atividades normais também aumenta.
26
Para facilitar a comparação de custos entre os cenários simulados, foi
calculado o custo por requisito correto, ou seja, o custo total do projeto dividido pelo
número de requisitos corretos elicitados.
27
3.3 Diagrama estoque-fluxo
A partir das relações estabelecidas nos diagramas de influência apresentados
na seção anterior, foi construído um diagrama estoque-fluxo da dinâmica de sistemas
para representar a atividade de elicitação. A transformação do diagrama de influência
no diagrama estoque-fluxo foi baseada no processo disponível em (MADACHY,
2007).
28
A “taxa de elicitação” depende da “técnica de elicitação” utilizada e da
“produtividade total da equipe” alocada no projeto. Essa taxa influencia a quantidade
de requisitos elicitados. Os requisitos elicitados podem ser requisitos repetidos ou
novos requisitos, que ainda podem ter sido elicitados corretamente (“Taxa de
Elicitação Correta”) ou não (“Taxa de Erros”), dependendo da “qualidade da
elicitação”. A “qualidade da elicitação”, por sua vez, depende também da “técnica de
elicitação” utilizada.
Efetividade
Introspecção e
Sorting Laddering
observação
Entrevista > > >
Análise de
< <
Protocolo
Sorting <
Fonte: Elaborada pelo autor
29
completos do que análise de protocolo, sorting e laddering. É dito ainda que a
análise de protocolo é a pior de todas as técnicas em todas as dimensões (efetividade,
eficiência e completude).
30
"THEN y"). Apesar de ambas representarem apenas uma regra de produção, é
possível extrair mais informações da primeira regra, visto que ela contém mais
cláusulas. Nos experimentos citados foram considerados os números de cláusulas
para a comparação entre as técnicas de elicitação.
31
Tabela 3.2. Resumo dos resultados dos experimentos descritos em (CORBRIDGE et
al., 1994; BURTON et al., 1990)
4
(BURTON et al., 1987 apud CORBRIDGE et al., 1994)
5
(BURTON et al., 1988 apud CORBRIDGE et al., 1994)
6
(BURTON et al., 1990)
7
(BURTON et al., 1990)
8
(CORBRIDGE et al., 1994)
32
cláusulas foram categorizadas em verdadeiras, falsas, triviais e parcialmente
verdadeiras. As definições de verdadeiras e falsas são auto-explicativas. A definição
de trivial dada foi que a cláusula não é relevante no diagnóstico de problemas no
domínio em questão. Uma cláusula classificada como parcialmente verdadeira
significa que se ela sofresse alguma modificação ela se tornaria verdadeira
(BURTON et al., 1990). Os resultados do experimento são exibidos na Tabela 3.3.
Parcialmente
Verdadeira Trivial Falsa
Verdadeira
Entrevista 63 22 8 6
Análise de
46 17 32 5
Protocolo
Sorting 43 44 7 6
Laddering 55 22 17 6
Para finalizar essa parte do modelo (Figura 3.9), foi considerada a dificuldade
em encontrar novos requisitos. Essa dificuldade foi estimada com base em
entrevistas feitas com engenheiros de softwares de uma empresa de Viçosa-MG. A
dificuldade é inversamente proporcional ao número de cláusulas que restam para ser
elicitadas no domínio do problema. Quanto menos cláusulas restam, maior é a
dificuldade em encontrá-las e elicitá-las. Além disso, a relação não é linear. A
dificuldade aumenta de forma exponencial na medida em que as cláusulas vão sendo
elicitadas.
3.3.2 Produtividade
A segunda parte do modelo (Figura 3.10) apresenta as variáveis que
impactam na produtividade da equipe.
33
Fonte: Elaborada pelo autor.
Figura 3.10. Parte do modelo referente à produtividade
34
de os stakeholders mais experientes obterem maior produtividade do que os menos
experientes pode ser validado através do trabalho (FOWLKES et al., 2000).
35
Fonte: (GRIFFIN; HAUSER, 1993)
Figura 3.11. Relação entre número de clientes entrevistados e o percentual de
necessidades identificadas
A relação exibida na Figura 3.11 pode ser obtida através de um modelo beta-
binomial (GRIFFIN; HAUSER, 1993). A partir desse modelo é possível predizer de
forma aproximada qual é a produtividade percebida (através do percentual de
necessidades identificadas) dado o número de pessoas entrevistadas. Essa relação não
é linear devido ao número de requisitos repetidos elicitados pelos stakeholders, que
aumenta na medida em que o número de stakeholders também aumenta.
36
Fonte: Elaborada pelo autor
Figura 3.12. Comparação entre os gráficos obtidos utilizando a função beta-binomial
37
produtividade média percebida dos stakeholders alocados no projeto. A
“produtividade nominal” é a produtividade de um único stakeholder alocado no
projeto utilizando uma técnica de elicitação específica. A “produtividade percebida”
é a média das produtividades dos stakeholders alocados.
38
Nessa parte do modelo são calculados os custos médios dos profissionais na
equipe dado o número de pessoas de cada perfil multiplicado pelo valor da
remuneração desse perfil.
39
4 SIMULAÇÕES E ANÁLISES DOS RESULTADOS
4.1.1 Cenário E1
O cenário E1 é composto por apenas 1 elicitador engenheiro de
software/analista e 1 stakeholder experiente.
40
Os resultados referentes às cláusulas elicitadas são exibidos na Figura 4.1. O
gráfico do custo por requisito correto é mostrado na Figura 4.2.
4.1.2 Cenário E2
O cenário E2 é formado por 2 elicitadores engenheiros de software/analistas e
2 stakeholders experientes, ou seja, o dobro de profissionais com relação a E1.
41
Fonte: Elaborada pelo autor
Figura 4.3. Cláusulas elicitadas no Cenário E2
4.1.3 Cenário E3
No cenário E3 são considerados profissionais com menos experiência, uma
mão de obra mais barata. Nesse cenário, são alocados 2 elicitadores estudantes e 2
stakeholders pouco experientes.
42
Fonte: Elaborada pelo autor
Figura 4.5. Cláusulas elicitadas no Cenário E3
4.1.4 Cenário E4
No cenário E4 são alocados 1 elicitador engenheiro de software/analista e 2
stakeholders pouco experientes. Neste caso, foram alocadas 15 horas de sessões de
elicitação para cada stakeholder, totalizando as mesmas 30 horas em sessões de
elicitação dos outros cenários.
43
os requisitos do primeiro stakeholder e começa a trabalhar com o segundo (em torno
da hora 15 na simulação), começa a aumentar no gráfico o número de cláusulas
repetidas. Como conseqüência, essas cláusulas repetidas diminuem a produtividade
real da equipe (relacionada aos requisitos corretos), o que acaba causando um
aumento do custo por cláusula correta, observado na Figura 4.8.
44
4.1.5 Cenário E5
No cenário E5 são considerados 1 elicitador estudante e 2 stakeholders
experientes. Assim como em E4, foram alocadas 15 horas de sessões de elicitação
para cada stakeholder, totalizando 30 horas em sessões de elicitação.
45
4.1.6 Comparação dos cenários utilizando a técnica de entrevista
Para facilitar a visualização da configuração dos cenários, eles foram
resumidos na Tabela 4.1.
46
Fonte: Elaborada pelo autor
Figura 4.12. Comparação de cláusulas elicitadas corretamente
47
Fonte: Elaborada pelo autor
Figura 4.14. Comparação de custo final por cláusula correta
48
elicitadas corretamente. Essa proporção pôde ser reforçada pela proximidade entre o
custo por cláusula correta entre esses dois cenários, observada através da Figura 4.14.
49
4.2 Comparação entre as técnicas de elicitação
Nesta seção serão considerados dois cenários. Um cenário mais simples e
outro mais complexo. Cada cenário será simulado utilizando cada uma das quatro
técnicas de elicitação. Ao final de cada cenário será realizada uma comparação entre
as técnicas.
4.2.1 Cenário C1
C1 é o mesmo cenário apresentado em E1 (Seção 4.1.1). Em C1 foram
alocados 1 elicitador engenheiro de software/analista e 1 stakeholder experiente.
50
Fonte: Elaborada pelo autor
Figura 4.16. Custo por cláusula correta em C1 utilizando a técnica de Entrevista
51
Fonte: Elaborada pelo autor
Figura 4.18. Custo por cláusula correta em C1 utilizando a técnica de Laddering
52
Fonte: Elaborada pelo autor
Figura 4.20. Custo por cláusula correta em C1 utilizando a técnica de Sorting
53
Fonte: Elaborada pelo autor
Figura 4.22. Custo por cláusula correta em C1 utilizando a técnica de Análise de
Protocolo
54
Fonte: Elaborada pelo autor
Figura 4.23. Comparação de cláusulas elicitadas em C1
55
Fonte: Elaborada pelo autor
Figura 4.25. Comparação de custo final por cláusula correta em C1
56
4.2.2 Cenário C2
No cenário C2 foram alocados 2 elicitadores engenheiro de software/analista,
1 elicitador estudante, 6 stakeholders experientes e 2 stakeholders pouco experientes.
57
Fonte: Elaborada pelo autor
Figura 4.28. Cláusulas elicitadas em C2 utilizando a técnica de Laddering
58
Fonte: Elaborada pelo autor
Figura 4.30. Cláusulas elicitadas em C2 utilizando a técnica de Sorting
59
Fonte: Elaborada pelo autor
Figura 4.32. Cláusulas elicitadas em C2 utilizando a técnica de Análise de Protocolo
No caso do cenário C2, a variável que mais influencia no custo por requisito
correto (impedindo que o custo seja fixo) é o número de cláusulas repetidas. Esse
número aumenta muito a partir do momento que os três elicitadores terminam de
elicitar cláusulas dos três primeiros stakeholders e começam a elicitar de novos três.
60
Na simulação, isso ocorre por volta de 10 horas de elicitação. É perceptível nos
gráficos de todas as técnicas que o número de cláusulas repetidas aumenta muito a
partir dessa hora e, conseqüentemente, assim também acontece com o custo por
requisito correto.
61
Fonte: Elaborada pelo autor
Figura 4.35. Comparação de cláusulas elicitadas corretamente em C2
62
novos elicitadores são alocados, eles não sabem ao certo o que já foi elicitado a partir
dos stakeholders anteriormente alocados. Isso faz com que a taxa de requisitos
repetidos aumente de maneira muito mais brusca. Dessa forma, a taxa de elicitação
de requisitos corretos cai e, conseqüentemente, aumenta o custo por requisito correto,
o que também é visível através das figuras de custo por requisito correto referentes a
cada técnica.
63
Fonte: Elaborada pelo autor
Figura 4.37. Comparação das porcentagens de cláusulas elicitadas em C2
64
5 PORTAL CORPORATIVO PARA APOIO A DECISÃO
9
Os estudantes responsáveis pelo desenvolvimento do Portal foram Jean P. Freitas e Jailton J. Sousa
Coelho
65
No sistema, existem dois níveis de usuário. O primeiro é o responsável pela
empresa, que faz o cadastro no portal e pode criar, editar ou excluir projetos da
empresa. O segundo nível de usuário são os gerentes de projetos, que possuem
usuários e senhas relacionados a um ou mais projetos específicos. Os usuários
gerentes podem editar os projetos pelos quais são responsáveis, configurando o
cenário do projeto e executando simulações.
Na Figura 5.1, ao clicar em “Cadastre sua empresa”, o responsável pela
empresa no portal deverá entrar com dados da empresa e escolher usuário e senha
para realizar o acesso ao portal. A Figura 5.2 mostra a tela de cadastro de empresas.
Na tela inicial (Figura 5.1), uma vez que o responsável pela empresa entre no
sistema com seu usuário e senha, é exibida a tela de projetos (Figura 5.3). Nessa tela
o usuário responsável pela empresa pode cadastrar novos projetos e abrir projetos já
existentes para executar simulações.
66
Fonte: Elaborada pelo autor
Figura 5.3. Tela de projetos
67
pelos responsáveis pela empresa, através da tela de projetos (Figura 5.3), ao
selecionar um projeto e clicar em “Abrir”.
68
Fonte: Elaborada pelo autor
Figura 5.6. Tela do painel de controle
69
gráficos podem ser minimizados e maximizados para melhor visualização (na figura
são mostrados dois gráficos minimizados). Além disso, pode ser feito um zoom no
gráfico para visualizar maiores detalhes e o gráfico pode ser copiado através do botão
“Copy to clipboard”. Algumas configurações de visualização estão disponíveis
através do botão “Model Settings”.
70
6 CONCLUSÕES E TRABALHOS FUTUROS
71
Através desse trabalho foi possível verificar que o uso de um modelo de
dinâmica de sistemas que represente a atividade de elicitação de requisitos pode
auxiliar na identificação de riscos envolvidos nas tomadas de decisão em projetos de
software, favorecendo a adoção de medidas preventivas.
72
modelo para a atividade de análise. Em um modelo para análise poderiam ser
avaliadas situações como a classificação e priorização de requisitos, conflitos
de requisitos e sua negociação, e como essas situações são influenciadas pelo
número de stakeholders no projeto.
b) União dos modelos já construídos. Após o desenvolvimento de um modelo
para a atividade de análise, todo o contexto da engenharia de requisitos
estaria modelado. O próximo passo seria então a união dos três modelos
(modelo produzido por este trabalho, modelo de análise e o modelo de
AMBRÓSIO (2008)). Para isso, algumas adaptações deveriam ser feitas para
que os modelos trabalhassem com parâmetros compatíveis. Essa adaptação
pode ser trabalhosa, visto que um exemplo de transformação necessária seria
encontrar ou desenvolver uma relação de cláusulas por pontos de função, que
foram as duas medidas adotadas para quantificar requisitos, neste trabalho e
no trabalho de AMBRÓSIO, respectivamente.
c) Validar os modelos com dados reais de empresas. Para garantir que os
modelos produzidos estejam em conformidade com o que é visto na prática, é
importante que eles sejam validados a partir de dados reais de projetos de
software. Essa validação pode fazer com que os modelos sofram algum tipo
de adaptação, como inclusão de novas variáveis, novos relacionamentos,
calibração de valores, etc.
d) Atualização do Portal Corporativo. Os novos modelos desenvolvidos
poderão ser incluídos no portal. Além disso, podem ser incluídas novas
funcionalidades, como a possibilidade dos gerentes construírem e adaptarem
os seus próprios modelos, baseados nos já existentes.
73
REFERÊNCIAS BIBLIOGRÁFICAS
74
D.S. Moralee, Ed., Research and Development in Expert Systems IV, pp. 136-
145. Cambridge: Cambridge University Press.
CORBRIDGE, B.; RUGG, G.; MAJOR, N.P.; SHADBOLT, N.R.; BURTON, A.M.
Laddering – technique and tool use in knowledge acquisition. Knowledge
Acquisition, vol. 6, pp. 315-341, 1994.
DIESTE, O.; LOPEZ, M.; RAMOS, F. Updating Systematic Review about Selection
of Software Requirements Elicitation Techniques. In Workshop on Engenharia
de Requisitos (WER 2008). Proceedings... Barcelona, Espanha, 2008.
75
FOWLKES, J. E.; SALAS, E.; BAKER, D.P. The utility of event-based knowledge
elicitation. Human Factors, vol. 45, pp. 24-35, 2000.
GRIFFIN, A.; HAUSER, J. R. The voice of the customer. Marketing Science vol.
12, pp. 1-27, 1993.
HÖST, M.; REGNELL, B.; NATT och DAG, J.; NEDSTAM, J.; NYBERG, C.
Exploring bottlenecks in market-driven requirements management processes with
discrete event simulation, The Journal of Systems and Software, Vol. 59, pp
323-332, 2001.
IEEE – Institute of Electrical and Electronics Engineers. IEEE Guide for Developing
System Requirements Specifications. IEEE Standard 1233-1998.
IEEE – Institute of Electrical and Electronics Engineers. IEEE Guide for Information
Technology-System Definition-Concept of Operations. IEEE Standard 1362-
1998.
76
LAFRANCE, M. The knowledge acquisition grid: A method for training knowledge
engineers. Proceedings of the Knowledge Acquisition for Knowledge Based
Systems Workshop, Banff, AB, Canada, 1986.
PETERSON, I. Fatal defect: chasing killer computer bugs. New York, NY:
Vintage Books, 1996. 268 p.
77
RODRIGUES, A. G.; WILLIAMS, T. M. System dynamics in software project
management: towards the development of a formal integrated framework.
European Journal of Information Systems, 6 (1), p. 51–66, 1997.
SENGE, P. The Fifth Discipline: The Art and Practice of the Learning
Organization. New York: Currency Doubleday, 1990. 371 p.
78