Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Bruno Ferreira
Belo Horizonte
Centro Federal de Educao Tecnolgica de Minas Gerais
Diretoria de Pesquisa e Ps-Graduao 2008
F383t
2008
Ferreira, Bruno
Uma tcnica para validao de processos de desenvolvimento de
software. 2008.
146 f.
Orientador: Gray Farias Moita
Dissertao (mestrado) Centro Federal de Educao Tecnolgica
de Minas Gerais.
1. Engenharia de software Teses. 2. Software Verificao.
3. Software Validao. I. Moita, Gray Farias. II. Centro Federal de
Educao Tecnolgica de Minas Gerais. III. Ttulo.
CDD 005.1
Dedico este trabalho aos meus pais, Divino e Maria e aos meus irmos Efrem e
Viviane, que sempre me incentivam a seguir em frente e a superar os desafios.
minha namorada Danielle, que compreendeu meus momentos de ausncia e
impacincia.
AGRADECIMENTOS
Ao meu orientador, Prof. Dr. Gray Farias Moita, pelas diretrizes de pesquisa,
pelo incentivo durante todo o projeto e pela pacincia e apoio mesmo nos
momentos adversos.
RESUMO
ABSTRACT
The increasing demand for software in the last decades led to a most
intensively use of specific software development processes. Although there are
several software development processes with different characteristics in the
literature, such processes are not enough to encompass the numerous fields of
software applications. The practices of development differ among the
developers and, therefore, sometimes it is necessary to improve or join
processes already known to guarantee one needs. Consequently some
software producers are still in need of specific processes that can attend their
particular interests and, in some situations, forcing them to conceive new
processes. However, a process can only guarantee its correctness and
efficiency after being thoroughly tested and validated. The validation is
conceptually complex and related to a wide range of issues, many times
subjective, what leads to a possible absence of guidelines or benchmarks to
validate a process of development of software. In this research a process
validation model is proposed, based on the concepts of Verification and
Validation (V&V), making use of the Software Inspection Technique to validate
software development processes. It is presented a case study that was carried
out as a first attempt of analysing the proposed model. The presented results
indicate that it is viable and simple to validate processes with the use of V&V
concepts and techniques.
10
11
LISTA DE FIGURAS
Figura 1.1 Apresentao da dissertao em captulo ................................... 21
Figura 2.1 Camadas da engenharia de software (Fonte: Pressman, 2006). . 23
Figura 2.2.1 Modelo em Cascata (Fonte: Pressman, 2006). ......................... 26
Figura 2.2.2 Modelo Incremental (Fonte: Pressman, 2006). ......................... 27
Figura 2.2.3 Modelo RAD (Fonte: Adaptado de Pressman, 2006). ............... 28
Figura 2.2.4 Modelo de Prototipagem (Fonte: Pressman, 2006). .................. 30
Figura 2.2.5 Modelo Espiral (Fonte: Pressman, 2006). ................................. 31
Figura 2.3.1 Termos relativos ao cronograma de um PU (Fonte: Larman,
2004). ............................................................................................................... 33
Figura 2.3.2 Artefatos mais importantes produzidos durante as fases do PU
(Fonte: Pressman, 2006). ................................................................................. 34
Figura 2.3.4 Ciclo de desenvolvimento proposto pelo PESC. (Fonte: Pereira
Jr, 2007). .......................................................................................................... 38
Figura 2.5 Framework de comparao de eventos (Fonte: Cook e Wolf,
1999). ............................................................................................................... 47
Figura 3.1 Atividades de Verificao e Validao (Adaptada de NAS, 2006).
......................................................................................................................... 51
Figura 3.2 Diagrama em V da Engenharia de Sistemas (Adaptada de NAS,
2006). ............................................................................................................... 52
Figura 3.3 Modelo clssico de V&V (Adaptada de Sargent, 2000). ............... 53
Figura 3.4.1 Redistribuio do retrabalho pelas atividades de
desenvolvimento de software. (Adaptado de Wheeler et al., 1996). ................ 65
Figura 3.4.2 Custo relativo para corrigir um defeito (Adaptado de Boehm,
1981). ............................................................................................................... 65
Figura 3.4.3 Processo de inspeo de software (Fonte: Fagan, 1976) ......... 67
Figura 3.4.4 Processo de Inspeo de Software Assncrono (Fonte: Sauer et
al., 2000). ......................................................................................................... 69
Figura 4.1 Inspeo de Software em diferentes artefatos (Fonte: Ackerman et
al.,1989) ........................................................................................................... 73
Figura 4.2 Verso padro do Checklist proposto pelo VProcInsp ................. 80
Figura 4.3 Modelo de Inspeo proposto pelo VProcInsp (Adaptado de Sauer
et al., 2000). ..................................................................................................... 82
Figura 4.3.2 Atividades pertencentes fase de Planejamento...................... 84
Figura 4.3.3 Documento de Planejamento de Validao por Inspeo
proposto pelo VProcInsp .................................................................................. 85
12
13
LISTA DE TABELAS
Tabela 2.1 Princpios da XP (Adaptado de Astels et al., (2002). ................... 35
Tabela 2.2 Mtodo de validao de processos baseados em atividades.
(Fonte: Moor e Delugach, 2006)....................................................................... 46
Tabela 3.1 Taxonomia de Tcnicas de Verificao & Validao (Fonte: Balci,
1995). ............................................................................................................... 56
Tabela 3.2 Caractersticas da tcnica de Desk-Checking. (Fonte: Perry,
1995). ............................................................................................................... 57
Tabela 3.3 Caractersticas da tcnica de Peer-Review. (Fonte: Perry, 1995).
......................................................................................................................... 58
Tabela 3.4 Caractersticas da tcnica de Design Review (Fonte: Perry, 1995)
......................................................................................................................... 59
Tabela 3.5 Caractersticas da tcnica de Auditoria (Fonte: Perry, 1995). ..... 60
Tabela 3.6 Caractersticas da tcnica de Walkthrough (Fonte: Perry, 1995). 61
Tabela 3.7 Caractersticas da tcnica de Inspees (Fonte: Perry, 1995) .... 62
Tabela 4.1 Taxonomia de defeitos propostos pelo VProcInsp ...................... 77
Tabela 4.2 Tcnica de Insp. de Software (Adaptado de Barcelos e Travassos,
2005). ............................................................................................................... 78
Tabela 5.1 Planejamento de experimento. .................................................... 97
Tabela 5.2 Informaes levantadas pelo VProcInsp antes da fase de
Discriminao ................................................................................................. 109
Tabela 5.3 Descrio dos itens com discrepncias do cheklist de
especificao.................................................................................................. 111
Tabela 5.4 Informaes levantadas pelo VProcInsp na etapa de
Especificao na fase de Discriminao ........................................................ 113
SUMRIO
CAPTULO 1 .................................................................................................... 16
INTRODUO ................................................................................................. 16
1.1 Motivao ............................................................................................... 17
1.2 Caracterizao do Problema .................................................................. 18
1.3 Objetivos: Geral e Especfico ................................................................. 20
1.4 Organizao da Dissertao .................................................................. 20
CAPTULO 2 .................................................................................................... 22
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE ............................. 22
2.1 Processo de desenvolvimento: viso geral ............................................ 22
2.2 Modelos de Processo de Desenvolvimento ........................................... 24
2.2.1
2.2.2
2.2.3
16
CAPTULO 1
INTRODUO
Desenvolvimento
de
Software,
ou
simplesmente,
processo
de
17
1.1 Motivao
O cenrio mundial nunca foi to competitivo como hoje e isso no est restrito
a um setor especfico. No ambiente de competio, onde as empresas
procuram alcanar uma posio de destaque sobre seus concorrentes, elas
adotam estratgias visando criar e sustentar vantagens competitivas.
18
19
20
21
Problema:
Como validar novos processos de
desenvolvimento de software de
forma simples, extensvel e
adaptvel?
Hiptese:
Se forem aplicados conceitos e
tcnicas de Verificao e
Validao de Software, ento a
tarefa de validar um processo
pode se tornar simples, adaptvel
e extensvel.
Soluo Proposta:
Propor uma tcnica de validao
baseada em Inspeo de
Software. Para medir a
discrepncia entre o modelo
formal e a execuo do processo.
Avaliao da soluo:
Aplicar a tcnica de validao em
um processo j validado. Para
analisar a valia e possveis
melhorias da tcnica proposta.
2. Processo de Desenvolvimento:
Apresenta conceitos acerca de Processos
de Desenvolvimento de Software,
Certificao de Processos e uma anlise
dos trabalhos correlatos.
3. Verificao e Validao:
Apresenta conceitos e tcnicas de
Verificao & Validao de Software.
feita uma anlise das tcnicas informais e
os conceitos de Inspeo de Software so
apresentados.
4. Tcnica de Validao Proposta:
Apresenta uma proposta para validar
processos de desenvolvimento de forma
metdica, denominada VProcInsp.
22
CAPTULO 2
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
de
software
um
processo
estruturado,
planejado
padronizado.
Segundo Paula (2003, p.11), um processo um conjunto de passos
parcialmente ordenados, constitudos por atividades, mtodos, prticas e
transformaes, usados para atingir uma meta.
Para Pressman (2006, p.17), os processos de software formam a base para o
controle gerencial de projetos de software e estabelecem o contexto no qual os
mtodos tcnicos so aplicados, os produtos de trabalho (modelos,
documentos, dados, relatrios, formulrios) so produzidos, os marcos so
23
Validao: o software deve ser validado para garantir que ele faa o que
o cliente deseja;
24
sero
utilizados.
Segundo
Pressman
(2006,
p.
19),
25
26
Comunicao
Iniciao do Projeto
Levantamento de
Requisitos
Planejamento
Estimativas
Cronogramas
Monitorao
Modelagem
Anlise
Projeto
Construo
Codificao
Teste
Implantao
Entrega
Manuteno
27
Incremento 1
1
Entrega do 1
incremento
Incremento 2
Entrega do 2
incremento
Incremento n
Entrega do
incremento N
Tempo decorrido
1 Comunicao
2 Planejamento
3 Modelagem
4 Construo
5 Implantao
Modelo RAD
O Modelo RAD (Rapid Application Development) um exemplo de modelo
incremental, considerado uma adaptao para projetos curtos, geralmente com
prazo mximo de 90 dias. Sua principal caracterstica que o produto de
software seja desenvolvido em componentes, pois a reutilizao de cdigo
permite que a equipe de desenvolvimento possa desenvolver um sistema
completamente funcional em pouco tempo.
Este modelo de desenvolvimento tem aplicao nos casos em que o sistema
pode ser modularizado. Cada uma das equipes RAD de desenvolvimento fica
responsvel por um mdulo, enquanto que outras equipes desenvolvem outros
mdulos, de forma concorrente. Ao final da construo de cada mdulo h uma
integrao entre eles. Este ciclo se repete at que o software esteja
completamente pronto. Este modelo possui cinco fases mostradas na Figura
2.2.3.
A comunicao trabalha para entender os problemas do negcio. O
planejamento para gerenciar o trabalho paralelo das equipes. A fase de
28
Comunicao
Modelagem
Modelagem de negcios
Modelagem de dados
Modelagem de processo
Equipe 2
Construo
Reuso de componentes
Gerao automtica de
cdigo
Testes
Construo
Reuso de componentes
Gerao automtica de
cdigo
Testes
Planejamento
Modelagem
Modelagem de negcios
Modelagem de dados
Modelagem de processo
Equipe 1
Construo
Reuso de componentes
Gerao automtica de
cdigo
Testes
60 a 90 dias
Implantao
Integrao
Entrega
Feedback
29
30
uma iterao
rao planejada e o prottipo modelado de forma rpida. Aps a
modelagem; o prottipo criado, implantado e depois avaliado pelo usurio.
Esta avaliao usada para refinar os requisitos e fornecer um melhor
entendimento do problema.
Aps a identificao
cao de todos os requisitos, o prottipo deve ento ser
descartado, j que no foi construdo observando-se
observando se critrios para a garantia
da qualidade do produto. Em seguida, o produto final construdo, com foco na
qualidade. A Figura 2.2.4 exibe o ciclo d
de
e desenvolvimento do modelo de
prototipagem ressaltando a sua forma cclica.
Modelo Espiral
O Modelo Espiral um modelo iterativo, como o Modelo de Prototipagem, e
sistemtico como o Modelo em Cascata. Essas caractersticas facilita
facilitam com
que sejam lanadas verses utilizveis do projeto ao final de cada iterao do
modelo, similar ao modelo incremental.
Esse modelo se subdivide em regies que abrigam conjuntos de tarefas que
crescem proporcionalmente
nalmente ao risco e ao tamanho do projeto. So elas:
Comunicao com o Cliente, a fim de manter contato com o cliente, adquirindo
informaes teis ao sistema; Planejamento, que definir custo
custo e tempo de
desenvolvimento, alm de realizar uma anlise de risco,
co, onde os riscos da
31
Modelagem
Anlise de
Projeto
Incio
Implantao
Entrega
Feedback
Construo
Cdigo
Teste
32
33
vantagens
antagens dessa abordagem pode-se
pode
citar (1) a mitigao precoce, em vez de
tardia, de riscos, (2) o progresso visvel desde o incio e (3) a complexidade
administrada, a equipe no sobrecarregada
sobrecarregada pela "paralisia da anlise" ou por
passos muito longos e complexos;
Como mostra a Figura
igura 2.3
2.3.1 o PU organiza o trabalho de cada iterao em
quatro fases principais e Larman (2004, p. 43) as descreve como a seguir
seguir:
1. Concepo viso aproximada, regras de negcio, escopo e
estimativas vagas. (estudo de viabilidade);
2. Elaborao viso refinada, implementao iterativa da arquitetura
central, resoluo dos riscos, identificao da maioria dos requisitos e do
escopo
o e estimativas mais realistas;
3. Construo implementao iterativa dos elementos restantes e
preparao para a implantao;
4. Transio testes beta e implantao;
implantao
34
Concepo
- Documento de viso.
- Modelo inicial de
caso de uso.
- Glossrio inicial do
projeto.
- Caso de negcio
inicial.
- Avaliao inicial de
risco.
- Plano de projeto.
- Modelo de negcio.
- Prottipos.
Elaborao
- Modelo de caso de
uso.
- Requisitos
suplementares.
- Modelo de anlise.
- Descrio da
arquitetura do
software.
- Prottipo arquitetural
executvel.
- Modelo de projeto
preliminar.
- Lista de risco
revisada.
- Plano de projeto,
incluindo: planos de
iterao, fluxos de
trabalho, marcos.
Construo
- Modelo de projeto.
- Componentes de
software.
- Incremento integrado
de software.
- Plano de teste.
- Caso de teste.
- Documentao de
apoio como: manuais
do usurio e de
instalao, descrio
do incremento atual.
Transio
- Incremento de
software entregue.
- Relatrio de teste
beta.
- Realimentao
geral do usurio.
Outro ponto a ser considerado sobre o PU que algumas das prticas e dos
princpios do PU so invariantes, como o desenvolvimento iterativo e orientado
ao controle de riscos, bem como a retificao contnua da qualidade.
Entretanto, um aspecto-chave do PU que todas as atividades e os artefatos
so opcionais, tornando o processo leve e adaptativo.
Extreme Programming (XP)
Extreme Programming um processo de desenvolvimento gil. Segundo Beck
(2000), os processos geis aplicam-se com especial relevncia em pequenos
projetos ou projetos com equipes de trabalho co-localizadas. Apresentam uma
viso semelhante sobre as boas prticas necessrias ao desenvolvimento de
software e a obteno da qualidade, como, por exemplo, o desenvolvimento
iterativo, a preocupao com os requisitos e o envolvimento dos usurios finais
no processo.
Segundo Astels et al. (2002), as prticas do XP so criadas para funcionar
juntas e fornecer mais valor do que cada uma poderia fornecer individualmente.
O XP apresenta uma grande preocupao com relao a alterao constante
35
3. Planejamento
4. Reunies curtas
5. Teste contnuo
6. Simplicidade
7. Programao em Pares
8. Padro de Codificao
9. Propriedade coletiva
sobre o cdigo-fonte
10. Integrao contnua
12. Concepo de
pequenas verses
Descrio resumida
O cliente deve participar do desenvolvimento, fornecendo o
feedback necessrio para a correo precoce de falhas.
Deve-se utilizar metforas para a definio de termos
complexos, para permitir um conhecimento uniforme de toda a
equipe.
O projeto deve ser constantemente planejado para permitir
uma real
identificao do seu progresso.
As reunies devem ser curtas, de preferncia sem o uso de
cadeiras, para que se discuta os termos estritamente relevantes.
Deve-se efetuar testes antes mesmo da implementao de um
cdigo. Este teste precoce permite um controle otimizado sobre
as falhas de um projeto.
O projeto deve ser o mais simples possvel.
A programao deve ser feita em pares. Enquanto um
programador tem um foco no cdigo que est desenvolvendo, o
observador tem uma viso macro do processo, permitindo a
identificao facilitada de falhas.
Todos as pessoas envolvidas no processo devem definir e seguir
um mesmo padro de codificao.
Todas as pessoas devem ter acesso livre ao cdigo-fonte, de
modo que possa acrescentar melhorias e corrigir falhas
identificadas.
Deve-se efetuar uma contnua integrao do novo cdigo
gerado, para que seja possvel identificar precocemente falhas
na integrao deste novo cdigo.
O desenvolvedor deve alterar a estrutura interna sempre, de
forma a melhorar a sua performance, sem alterar o
funcionamento externo do cdigo.
Devem ser concebidas pequenas verses de cdigo de cada vez,
para que os usurios tenham rapidamente um contato com uma
verso executvel do software e conseqentemente consigam
gerar o feedback necessrio.
A equipe de desenvolvimento deve ter uma jornada de trabalho
flexvel e leve, para que no exista fadiga e estresse dos seus
membros.
36
tanto,
foi
realizada
uma
pesquisa
semiqualitativa,
atravs
da
37
software;
13. Documentao de mdulos lgicos reutilizveis em outros projetos;
14. Plano e descrio dos testes;
15. Relatrios de erros encontrados e causas;
16. Registro das falhas e dos sucessos do projeto de software;
17. Manual do usurio do software.
Tomando como ponto de partida as diretrizes citadas acima, Pereira Jr (2007)
props um processo de desenvolvimento inicial. Esse processo sofreu fortes
influncias do Processo Unificado e do Extreme Programming, adaptando os
conceitos j consagrados do ciclo de vida iterativo e incremental do PU e a
padronizao e propriedade coletiva do cdigo-fonte, a simplicidade do
processo e a integrao contnua propostos pelo XP.
O ciclo de desenvolvimento utilizado no PESC definido como iterativo e
incremental, que empregado no Processo Unificado e na XP. Como o ciclo de
vida evolutivo, ele composto por iteraes. Ao final de cada iterao, temse uma parte executvel do sistema, conhecido como liberao ou verso. Em
cada uma das iteraes so contempladas as seguintes fases:
38
mas
que
no
deixe
de
lado nenhum
detalhe
importante
ao
desenvolvimento.
Desenvolvimento
Com
base
no
planejamento
rpido
feito
Figura 2.3.4 Ciclo de desenvolvimento proposto pelo PESC. (Fonte: Pereira Jr,
2007).
39
e documentadas
Desenvolvimento.
Este
no
artefato
documento
de
de
Controle Geral
detalhamento
possui
de
os
Plano de Testes este artefato utilizado na fase de testes. O cdigofonte gerado na fase anterior do ciclo de vida servir de base para a
aplicao dos testes que sero documentados neste artefato.
40
Avaliao
O propsito dos procedimentos de avaliao de processos de software
determinar onde os padres organizacionais do processo se familiarizam com
um modelo pr-determinado. A idia da avaliao determinar o estado atual
das prticas da equipe de desenvolvimento. Essa determinao a base para
a criao de um plano para melhorias nos procedimentos, mtodos e
ferramentas de engenharia de software. O objetivo principal melhorar a
qualidade do produto e a produtividade das pessoas que esto usufruindo do
processo. Portanto, uma avaliao de processo ajuda uma organizao a
caracterizar e entender o estado atual do seu processo de software e fornece
informaes e recomendaes para facilitar as melhorias.
A avaliao realizada atravs de instrumentos que podem ser um
questionrio de avaliao ou um especialista (ou time de especialistas) que
avalia o estado das prticas, fazendo uso de entrevistas, observaes, ou
mesmo outros mtodos subjetivos; ou uma mistura deles. O instrumento de
avaliao
deve
competentemente.
ser
aplicado
em
um
contexto
prprio
usado
41
onde
cada
nvel
indica
um
procedimento
gradativo
de
Expresso em latim que quer dizer com este objetivo. Geralmente significa uma soluo designada
para um problema ou tarefa especfica, que no pode ser aplicada em outros casos. (Wikipedia, 2008).
42
43
44
45
46
Tabela 2.2 Mtodo de validao de processos baseados em atividades.
(Fonte: Moor e Delugach, 2006)
47
O mtodo adotado por Cook e Wolf para medir as diferenas entre os streams
a Edio de String,, onde o nmero de inseres, delees e substituies
simblicas (tokens)) necessrias para transformar uma string em outra so
analisadas. Para mais detalhes sobre Edio de String consulte (Kruskal,
1983).
Uma investigao sobre validao de p
processos
rocessos mostra a existncia de poucos
trabalhos nesta rea. Ass poucas referncias encontradas (Cook
Cook e Wolf, Moor e
Delugach) adotam como princpio a comparao entre modelo e prtica, mas o
fazem de formas distintas, conforme mostrado acima, e no consideram
conside
questes como a eficincia e os resultados finais obtidos pelo processo.
Preocupao com a adaptabilidade destas tcnicas aos vrios ambientes de
desenvolvimento e a possibilidade de extenso das tcnicas no esto
2
Cook e Wolf (2006) implementam Streams atravs de vetores para armazenar os eventos capturados
pelo framework de validao.
48
49
CAPTULO 3
VERIFICAO E VALIDAO DE SOFTWARE
50
51
Requisitos do Sistema
Tabela de
Validao
Validao
Documento
de
Requisitos
Especificao
da
Verificao
1
Documento
de
Requisitos
Planejamento
Tcnico
Verificao
Requisitos do Sistema
VRTM
MVP
4
MVP
Verificao
52
Ainda sobre a Figura 3.2, fica claro que o modelo proposto em NAS (2006) tem
dois momentos distintos na aplicao de V&V, onde a validao aplicada s
fases iniciais e a verificao aplicada no decorrer do ciclo de
desenvolvimento. Alguns autores como Sargent (2000) e Balci (1994) propem
a aplicao de Validao em outras fases do desenvolvimento, criando uma
maior evidncia que o produto final est correto e que atende as necessidades
do usurio. A Figura 3.3 mostra um paradigma clssico de V&V, onde fica claro
que alm da validao da especificao ou do modelo conceitual, existem as
atividades de validao operacional e dos dados.
53
Entidade
Problema
Validao
do Modelo
Conceitual
Validao
Operacional
Experimentao
Anlise e
Modelagem
Validade
de Dados
Modelo
Computacional
Implementao
Modelo
Conceitual
Verificao do
Modelo
Computacional
Figura 3.3 Modelo clssico de V&V (Adaptada de Sargent, 2000).
Segundo Balci (1995), a exatido dos resultados julgada de acordo com os objetivos do estudo, por
exemplo, em alguns casos 60% de exatido suficiente, em outros casos so exigidos 95%.
54
das sadas do modelo ter a exatido desejada. neste ponto onde muitos dos
testes de validao ocorrem, sendo possvel encontrar diferenas e apurar em
quais das etapas do modelo apresentam falhas. Na Validade dos Dados
definido como garantir que os dados necessrios para a construo e avaliao
do software so adequados e corretos. importante ressaltar que esse
paradigma, apresentado na Figura 3.3, aplicado durante todo o ciclo de
desenvolvimento de forma iterativa. Vrias verses de softwares so criadas e
melhoradas at que se obtenha um produto que satisfaa a exatido
pretendida.
Os paradigmas apresentados por NAS (2006) e Sargent (2001) mostram
pontos em comuns e algumas dissonncias. Este fato comum entre os
diversos paradigmas e pode ser percebido em outros trabalhos como Banks et
al. (1988) e Knepell e Arangno (1993). Mas, independente das diferenas,
todos os paradigmas exigem que uma equipe de profissionais conduza as
atividades de verificao e validao.
Sargent (2001) aponta quatro formas diferentes ao se aplicar V&V em relao
equipe envolvida:
1. A prpria equipe de desenvolvimento toma as decises de como o
software vlido. Estas decises so subjetivas e feitas baseadas nos
resultados de vrios testes e avaliaes conduzidas como parte do
processo de desenvolvimento do modelo.
2. Outro mtodo ter os usurios do modelo fortemente envolvidos com o
time de desenvolvimento para determinar a validade do modelo de
simulao. Neste mtodo, o foco de quem determina a validade do
software
deve
mudar
dos
desenvolvedores
para
os
usurios,
55
56
Tabela 3.1 Taxonomia de Tcnicas de Verificao & Validao (Fonte: Balci, 1995).
Tcnicas de Verificao & Validao e Testes
Tcnicas
Auditoria, Validao de Face, Inspees, Revises, Teste de Turing,
Walkthroughs
Checagem de Inconsistncia, Anlise de Fluxo de Dados, Anlise Baseada
em Grafos, Anlise Semntica, Analise Estrutural, Anlise Sinttica
Teste de Caixa Branca, Teste Button-Up, Monitorao de Execuo,
Execuo de Perfil, Execuo de Trao, Testes de Campo, Comparao
Grfica, Validao Preditiva, Teste de Regresso, Anlise Sensitiva,
Tcnicas Estatsticas, Teste de estresse, Testes de Sub-Modelo, Debug
Simblico, Teste Top-down, Visualizao, Teste de Caixa Branca
Grfico de Causa Efeito, Anlise de Partio, Anlise de Caminhos,
Execuo Simblica
Checagem de Suposies, Anlise de Limites, Suposio Indutiva
Induo, Inferncia, Deduo Lgica, Clculos Preditivos, Transformao
Preditiva, Prova de Exatido
Classificao
Informal
Esttica
Dinmica
Simblica
Restries
Formal
execuo
do
sistema
tendo
como
funo
avaliar
seu
comportamento.
As tcnicas simblicas tambm avaliam o comportamento dinmico do sistema
fornecendo entradas simblicas e expresses so produzidas como resultado
da transformao dos dados simblicos durante o caminho de execuo do
software. As tcnicas de restries de V&V so empregadas para avaliar a
exatido do modelo usando afirmao de checagem, anlise do limite, e
afirmaes indutivas.
Por ltimo, as tcnicas formais de V&V so baseadas na prova formal
matemtica de exatido. Segundo Balci (1995), se atingvel, esse tipo de prova
o meio mais eficaz, mas estas tcnicas, e principalmente as tcnicas
57
Esttica
Estrutural
Funcional
Descrio: Desk checking o meio mais tradicional de anlise de um software. Essa tcnica
conduzida pelo prprio analista ou programador. O processo envolve uma reviso completa
do produto para garantir que ele est estruturalmente correto e que os padres e requisitos
foram obtidos.
Sugesto de Utilizao: Realizar Desk Cheking normalmente uma parte integral de projeto e
da codificao. Essa tcnica requer que o desenvolvedor valide a forma de trabalhar do
produto desenvolvido de acordo com os requisitos. O processo envolve uma avaliao passo a
passo do produto final. Vrios testes individuais so usados como base para conduzir esta
avaliao.
Custo de Uso: Desk Cheking executada por um indivduo completamente informado dos
requisitos do produto.
Habilidades para Uso: As habilidades necessrias para utilizar essa tcnica so as mesmas
necessrias para desenvolver o produto analisado.
Vantagens: Fornece uma checagem redundante na validao do produto desenvolvido.
Desvantagens: freqentemente difcil para o indivduo que desenvolveu o produto
identificar os defeitos.
58
Tabela 3.3 Caractersticas da tcnica de Peer-Review. (Fonte: Perry, 1995).
Nome: Reviso por Pares4 (Peer-Review)
Tipo:
Manual Automtica
Dinmica
Esttica
Estrutural
Funcional
Descrio: A reviso por pares uma anlise em dupla aonde os envolvidos realizam as
mesmas funes durante a reviso. Por exemplo, os analistas de sistemas revisando as
especificaes do projeto e os programadores revisando os cdigos fontes. Esse tipo de
reviso pode ser conduzida por uma ou mais duplas. A reviso normalmente conduzida
observando a eficincia, estilo e aderncia aos padres.
Sugesto de Utilizao: O uso de reviso em pares deve ser um processo formal e empregado
a todo setor de desenvolvimento de software. Quando essa tcnica usada, todos os
sistemas devem ser sujeitos s revises e no apenas selecionando um projeto. Os pares
devem receber diretrizes durante as revises para garantir sua consistncia. Geralmente, os
relatrios formais no esto preparados ao final da reviso em pares, mas os resultados so
enviados diretamente ao desenvolvedor.
Custo de Uso: Reviso em pares um trabalho intensivo em que o custo depende do nmero
de pares conduzindo a reviso e do escopo das revises. Normalmente ela uma tcnica de
custo mdio.
Habilidades para Uso: Os pares que conduzem a reviso devem ser instrudos em como
conduzir essas revises e os indivduos que formam as duplas devem ter o mesmo nvel de
conhecimento sobre os principais tpicos.
Vantagens: Reviso em pares aplica uma dupla anlise para garantir um produto de
qualidade. Freqentemente, essa anlise em dupla pode incentivar os membros da equipe
quando no existe um supervisor.
Desvantagens: Membros dos pares podem ser relutantes em criticar outras duplas, ou faz-lo
em excesso, o que pode causar ressentimento dentro das equipes.
59
Esttica
Estrutural
Funcional
60
Dinmica
Esttica
Estrutural
Funcional
61
Dinmica
Esttica
Estrutural
Funcional
62
Dinmica
Esttica
Estrutural
Funcional
63
64
65
Figura 3.4.1 Redistribuio do retrabalho pelas atividades de desenvolvimento de
software. (Adaptado de Wheeler et al., 1996).
Figura 3.4.2 Custo relativo para corrigir um defeito (Adaptado de Boehm, 1981).
66
seguintes
do
processo
de
desenvolvimento,
incluindo
67
68
69
Segundo Sauer et al. (2000), este processo mais eficiente no que se diz
respeito ao tempo, pois os inspetores trabalham em paralelo e discrepncias
encontradas por mais de um inspetor vo direto para a fase de retrabalho e as
discrepncias encontradas por um inspetor no precisa ser discutida com todos
os outros inspetores. A Figura 3.4.4 mostra o processo proposto.
70
permitir
reunies
de
inspeo
tanto
sncronas
quanto
assncronas.
Os conceitos, tcnicas e ferramentas de V&V de software apresentados neste
captulo so utilizados com eficincia, para minimizar a possibilidade de que
um sistema no apresenta falhas e que realmente atenda as necessidades do
usurio final. Estes mesmos conceitos e em particular a tcnica de Inspeo de
Software e suas ferramentas foram utilizados como base para a criao da
tcnica proposta, que apresentada no prximo captulo para validar
processos de desenvolvimento de software.
71
CAPTULO 4
PROPOSTA DE UMA TCNICA DE VALIDAO DE PROCESSO
POR INSPEO
72
73
uso da validao
dao em documentos conceituais (Perry, 1995; Barcelos e
Travassos, 2005).
). A Figura 4.1 ilustra a possibilidade de se realizar inspees
nos diferentes artefatos de software.
74
de
75
da
documentao
do
processo,
as
informaes
dos
software
76
do
processo,
alm
de
esclarecer
os
objetivos,
77
Quanto ao nmero de inspetores, pode-se ter a idia que quanto mais pessoas
forem alocadas para esse papel, maior seria o nmero de defeitos
identificados. Contudo, o custo da avaliao poderia se tornar muito alto e,
alm disso, estudos experimentais mostram que no a quantidade de
inspetores que importa, mas sim a utilizao de profissionais com diferentes
nveis de experincia (Svahnberg, 2003). E, a realizao da reviso, a partir
de diferentes perspectivas, que influenciam no tipo e na quantidade de defeitos
encontrados (Shull, 1998).
1.
2.
Ambigidade
3.
4.
5.
Inconsistncia
6.
7.
8.
Outro
9.
10.
78
Checklist
Tcnicas de
Leitura
Descrio
Tcnicas ad-hoc so as tcnicas mais simples para identificar defeitos em
artefatos de software. Elas no oferecem nenhum tipo de apoio ou
procedimento de execuo formal e sistemtico de inspeo. Sendo
assim, os defeitos identificados dependem exclusivamente da
capacidade, competncia e experincia do inspetor. Um dos pontos
negativos em usar tcnicas ad-hoc o fato delas no oferecerem auxlio
aos inspetores para identificar defeitos.
Checklist uma evoluo da tcnica ad-hoc. Ao se utilizar checklist para
revisar artefatos de software, fornecido ao inspetor um conjunto de
questionamentos que o auxiliam a identificar em que parte do artefato
avaliado ele deve procurar por defeitos
Tcnicas de leitura so procedimentos que visam guiar individualmente
os inspetores no entendimento de um artefato de software e, por
conseqncia, na identificao de discrepncias.
Porm, para que esse tipo de tcnica seja utilizado, o artefato deve ser
representado de forma especfica e padronizada, caracterstica que ainda
no pode ser atingida nos processos de desenvolvimento de software
79
pois,
apesar
de
existirem
inmeros
processos
de
80
*Inspetor..............:____________________________
*Fase/Atividade...:____________________________
*Principais Objetivos
[seo reservada para descrever os objetivos gerais propostos pelo processo ou etapa do processo que est sob
validao]
*Importncia
[seo reservada para descrever a importncia do processo ou etapa sob validao]
Entradas
N
Descrio do Item de Avaliao
Sim
No
RE
Sadas
N
Descrio do Item de Avaliao
Sim
No
RE
Passos
N
Descrio do Item de Avaliao
Sim
No
RE
Ferramentas
N
Descrio do Item de Avaliao
Sim
No
RE
Templates
N
Descrio do Item de Avaliao
Sim
No
RE
Responsveis
N
Descrio do Item de Avaliao
Sim
No
RE
Observaes
[seo reservada ao moderador ou inspetores para descrever informaes relevantes para validao do processo]
81
se
todas
as
ferramentas
especificadas
pelo
processo
de
82
Figura 4.3 Modelo de Inspeo proposto pelo VProcInsp (Adaptado de Sauer et al.,
2000).
83
Planejamento
Nessa fase, o primeiro passo identificar um profissional que exercer o papel
do moderador da inspeo. O Planejamento similar a uma Gerncia de
Projetos, pois nessa atividade o Moderador define a equipe, prazos, custos,
entre outras funes cabveis gerncia.
Durante essa fase, o Moderador deve definir a abrangncia em que a inspeo
de validao do processo vai ser realizada (por etapa, por iterao, ao final do
ciclo de desenvolvimento, entre outros), alm de informaes como datas e
tamanho da equipe. O Moderador define tambm os participantes, com base
na experincia de desenvolvimento, conhecimento do domnio e experincia
com validao de processos.
A principal atividade do Planejamento a configurao do checklist para a
inspeo de validao. Para configurar o checklist, o Moderador conta com a
documentao ou modelo formal do processo sob validao e com o apoio do
Autor do processo. Em uma reunio, os profissionais que assumiram os papis
de Moderador e Autor criam o checklist seguindo diretrizes propostas na
atividade de Definio do Checklist, que foi apresentada na Seo 4.2.1.4, e
identificam os artefatos a serem avaliados.
A ltima atividade cronolgica do Planejamento a apresentao do processo
sob validao, dos objetivos da inspeo e dos checklists aos inspetores
selecionados. Essa atividade pode ser omitida se os inspetores possuem
conhecimento sobre o processo e sobre os artefatos a serem inspecionados.
Nessa apresentao, os documentos a serem utilizados durante a inspeo
so entregues. A Figura 4.3.2 mostra o fluxo das atividades e os documentos
necessrios e produzidos durante a etapa de planejamento. Nessa figura, as
setas slidas indicam o fluxo das atividades e as setas tracejadas representam
os documentos de entrada e sada das atividades.
84
85
VProcInsp Validao de Processo de Desenvolvimento de Software por Inspeo
Documento de Definies do Planejamento
*Moderador..:_________________________________________
*Autor(res)...: _________________________________________
_________________________________________
*Data de Inicio:
*Data de Trmino prevista:
*Nome do Processo de Desenvolvimento:
*Descrio do Processo de Desenvolvimento:
[seo reservada para a descrio de informaes sobre o processo. O prprio documento formal do processo
pode ser anexado.]
*Apresentao Realizada
Observaes:
Sim
No
*Data da Realizao:
[seo reservada ao moderador para descrever informaes relevantes para o planejamento da validao do
processo]
86
87
ID:
Inspetor..:_________________________________________
Lista com os identificadores dos checklists sob responsabilidade do inspetor.
ID:
Inspetor..:_________________________________________
Lista com os identificadores dos checklists sob responsabilidade do inspetor.
Observaes:
[seo reservada ao moderador para descrever informaes relevantes sobre as atribuies dos inspetores]
Anlise e Comparao
Na fase de Anlise e Comparao, os inspetores individualmente analisam os
artefatos e os comparam com o modelo formal do processo, guiados pelos
checklists, identificando discrepncia entre os dois conjuntos de documentos.
importante ressaltar que na maioria das vezes, os inspetores tero que
investigar
todas
as
informaes
produzidas
durante
processo
de
88
A fase de Anlise
lise e Comparao conta com os checklists criados pelo
Moderador na fase de Planejamento, com os documentos do modelo formal do
processo, caso os inspetores julguem insuficientes os dados do checklist,
checklist e
com os artefatos criados durante a execuo do processo de desenvolvimento.
Com esses documentos em mos, os inspetores comparam o modelo formal
com a execuo. Os resultados dessa fase so o checklist e os relatrios de
discrepncias preenchidos.
O documento de checklist foi apresentado na Seo 4.2.1.4 e o Relatrio de
Discrepncia
pncia mostrado na Figura 4.3.7. Neste documento, o Inspetor deve
preencher o seu
eu identificador nico e qual item do checklist foi encontrado uma
discrepncia. Deve ser preenchido,
preenchid
tambm, o campo Descrio
Descrio com
informaes de como a discrepncia acontece. O inspetor no deve preencher
o campo Discrepncia Aceita.
Aceita Ele preenchido pelo Moderador
oderador na fase de
Coleo e confirmado, ou no,
no na fase de Discriminao. Logo, o inspetor
nspetor deve
desconsiderar esse campo.
89
*ID Inspetor........:______
*N Discrepncia:______
*Descrio:
*Inspetor..:______________________________________
*ID Checklist.:________ *ID Item do Checlist.:________
*Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:_______________________________
*N Discrepncia:______
*ID Checklist.:_________ *ID Item do Checlist.:________
*Descrio:
*Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:_______________________________
*N Discrepncia:______
*ID Checklist.:_________ *ID Item do Checlist.:________
*Descrio:
*Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:_______________________________
Observaes:
Coleo
Na etapa de Coleo, o Moderador da inspeo tem acesso a todas as listas
de discrepncias atravs dos Relatrios de Discrepncias produzidos pelos
Inspetores na atividade de Anlise e Comparao. O Moderador poder, ento,
selecionar discrepncias destas listas e as descartar ou classificar como
replicadas, caso haja mais de uma discrepncia representando o mesmo
defeito. Quando uma discrepncia descartada, ela retirada das prximas
atividades do VProcInsp.
90
Quando discrepncias so classificadas como replicadas, por sua vez, fica sob
responsabilidade do moderador selecionar uma das verses da discrepncia. A
verso selecionada poder ainda ser editada, de modo que informaes
importantes contidas nas rplicas possam ser acrescentadas. Deve-se lembrar
que essas rplicas devem entrar nos dados estatsticos do inspetor que
levantou tais discrepncias.
O Inspetor nessa etapa deve preencher o campo do Relatrio de Discrepncias
informando se a discrepncia foi, ou no, aceita. Em caso negativo, ele deve
informar tambm o motivo.
Discriminao
O Moderador, o Autor e os Inspetores tm participao nesta atividade.
Durante a discriminao, as discrepncias so tratadas como tpicos de
discusso. Cada participante pode acrescentar seus comentrios relativos a
cada uma das discrepncias, que fica disponvel, como tpico de discusso
enquanto o Moderador e o Autor no decidem se o item representa realmente
uma discrepncia ou no.
Por fim, se de fato a discrepncia for constatada, o Moderador deve marcar no
Relatrio de Discrepncias que ela foi realmente aceita e deve-se atualizar as
estatsticas do inspetor responsvel por essa discrepncia.
importante ressaltar que a soluo para as discrepncias no so discutidas
nessa etapa. Esta uma tarefa do autor do processo. Logo, cabe ao autor
gerar, da forma que lhe convier, documentao para que alteraes no
processo sejam feitas.
Retrabalho
Nessa fase, o autor corrige as discrepncias detectadas durante a inspeo.
Continuao
O material corrigido pelos autores repassado para o Moderador, que faz uma
anlise da inspeo como um todo e re-avalia a qualidade do artefato
91
92
CAPTULO 5
AVALIAO DA TCNICA DE VALIDAO DE PROCESSO POR
INSPEO PROPOSTA
5.1 Discusso
O VProcInsp, apresentado no captulo anterior, foi desenvolvido com um
embasamento terico adquirido nos estudos de Processo de Desenvolvimento
de Software e de conceitos de Verificao e Validao apresentados na
literatura, alm da experincia profissional dos envolvidos na pesquisa com o
uso de boas prticas da Engenharia de Software no desenvolvimento de
sistemas. Mas, no se pode assegurar, apenas com esse conhecimento
adquirido, que a tcnica proposta obtenha os resultados esperados. Portanto,
alm de desenvolver o mtodo de validao, importante avaliar se ele atende
aos objetivos inicialmente definidos.
Para que isso seja possvel, diversas perguntas devem ser respondidas at
que se possa afirmar que o VProcInsp realmente atende aos seus objetivos.
Entre os questionamentos possveis, procura-se responder, inicialmente, se
vivel utilizar a abordagem proposta na validao de processos e se ela
eficaz.
93
Poder
levar
novas
compreenses
sobre
reas
atualmente
pesquisadas;
94
Experimentos:
atividades
com
propsito
de
descobrir
algo
95
5.2 Definio
A fase de definio do estudo experimental descreve os objetivos de sua
realizao. No contexto desse trabalho, o objetivo avaliar se o apoio
fornecido pelo VProcInsp para a atividade de validao de processos de
desenvolvimento adequado e se traz benefcios. Assim pretende-se
responder as seguintes perguntas:
Q1 O mtodo facilmente aplicvel (simples, adaptvel, extensvel) e conduz
os envolvidos na validao do processo de forma correta?
Q2 A documentao proposta pelo VProcInsp realmente necessria e
fornece informaes teis?
Q3 possvel comparar o modelo formal com a execuo do modelo?
5.3 Planejamento
Segundo Wohlin et al. (2000), a fase de planejamento descreve como o
experimento deve ser realizado. Esta descrio envolve: (1) a seleo do
contexto, (2) a formulao das hipteses, (3) a seleo das variveis, (4) a
seleo dos indivduos, (5) o projeto do experimento, (6) instrumentao e (7) a
avaliao da validade.
De acordo com Wohlin et al. (2000), a seleo do contexto pode ser
caracterizada em quatro dimenses: (1) processo monitoramente contnuo ou
96
ou
(2)
Dependentes
da
manipulao
ou
das
condies
97
Tabela 5.1 Planejamento de experimento.
Seleo de Contexto:
Esse estudo de caso se prope a ser executado sem um monitorando contnuo das
atividades, pois os dados sero coletados de informaes existentes apenas em duas fases
do processo de desenvolvimento, e os participantes so profissionais da rea de
desenvolvimento e qualidade de softwares aplicando o VProcInsp em um ambiente real de
desenvolvimento de sistemas.
Formulao da Hiptese:
Com vista na idia apresentada anteriormente de que um processo vlido se tangvel
de ser seguido e faz o que se prope, a seguinte hiptese nula foi elaborada:
Hiptese Nula: A utilizao do VProcInsp no permite aos participantes do processo
de validao comparar o modelo formal com a execuo do processo.
Com os resultados da fase de anlise e interpretao dos dados do estudo de caso,
pretende-se chegar a uma concluso sobre a possibilidade da rejeio desta hiptese nula.
Seleo das variveis:
Esse experimento utiliza as seguintes variveis:
Varivel Independente:
o A documentao do Modelo formal do Processo de Desenvolvimento de Software
sob validao.
Varivel Dependente:
o Os documentos gerados pelo VProcInsp.
o Os artefatos gerados pela execuo do processo.
Seleo dos indivduos:
O participantes devem deter conhecimento sobre o VProcInsp e/ou sobre o Processo de
desenvolvimento de software e se possvel experincia com Inspees de Software. Os
participantes selecionados iro assumir os papeis pr-estabelecidos pelo VProcInsp. Assim,
um participante assume o papel do Moderador, outro, o papel de Autor e duas pessoas
tm a funo de Inspetor.
Projeto do Experimento:
O projeto de estudo experimental segue o fluxo normal das fases proposta pelo VProcInsp,
atribuindo, assim, os papeis, as atividades e os documentos que devem ser executados.
Logo, os participantes devem aplicar o VProcInsp em um ambiente industrial coletando as
informaes necessrias para a validao do processo, mas com o foco central em analisar
o VProcInsp. Como o estudo de caso tem o foco em analisar a tcnica proposta e no o
processo de software, a fase de Continuao apresentada na Seo 4.2.1.5, a princpio,
no se faz necessria, pois, a continuao a re-execuo da validao em pontos
reestruturados do processo.
Instrumentao:
Na realizao do experimento, os dois inspetores utilizaro como instrumento os checklists
criados pelo Moderador. A partir destes checklists, os inspetores criam os relatrios de
discrepncias que se tornam o instrumento para que o moderador e o autor discutam e
definam se realmente as informaes so relevantes validao do processo ou no.
Sendo que, o resultado dessa definio utilizado pelo Autor na tentativa de executar as
adaptaes necessrias para que o processo seja considerado vlido.
Avaliao da Validade:
O estudo envolve profissionais da rea de desenvolvimento e de engenharia de software
em um ambiente real de desenvolvimento. Mas, somente com esse estudo de caso, no
possvel generalizar os resultados para todos os ambientes de desenvolvimento, sendo
necessrio para isto realizar novos estudos de casos. Esse estudo, porm, ir dar subsdios
para que melhorias e confirmaes sejam realizadas no processo e, principalmente, no
VProcInsp.
98
5.4 Operao
O experimento foi realizado na empresa TOTVS S.A. que segundo a 19
Pesquisa de Informtica realizada pela Fundao Getlio Vargas a lder do
mercado nacional em pacotes ERP e atua em pases como Mxico, Argentina
e Portugal. A empresa agrupa as marcas Microsiga, Logocenter e RM Sistemas
tendo uma base de aproximadamente quinze mil clientes. O estudo foi
realizado exclusivamente sobre a marca RM Sistema que tem sua matriz na
cidade de Belo Horizonte (FGV, 2008).
A empresa foi selecionada por usar um processo validado que controla com
eficincia todo o setor de desenvolvimento de sistemas, gerenciando os mais
de 200 participantes que esto envolvidos diretamente com os produtos RM.
Outro ponto importante, que o processo de desenvolvimento dessa empresa
certificado CMMI nvel 2 ou MPS.BR nvel F.
No o intuito deste trabalho, e nem de interesse da empresa, detalhar todo o
processo utilizado pela RM Sistemas. Mas o processo segue a tendncia
mundial no uso de um processo iterativo e incremental com suas fases bem
definidas, organizando a construo, implantao e manuteno. O processo
lembra as caractersticas do Processo Unificado, propondo artefatos comuns e
deixando a cargo dos stakeholders a escolha do que realmente necessrio,
para que a burocracia no atrapalhe o desempenho dos mesmos.
O processo utilizado pelo RM faz uso da UML para modelagem dos seus
projetos que adotam o paradigma orientado a objetos com uma arquitetura
compostas em duas ou trs camadas. A Figura 5.1, mostra, de forma geral, o
processo de desenvolvimento criado pela RM Sistemas.
99
100
101
foram
escolhidos.
Os
checklists
foram
configurados
102
103
104
A discriminao foi realizada pelo Moderador, pelo Autor, por dois inspetores e
por um analista, que trataram todos os itens do checklist como pontos de
discusso, com nfase nos sete tpicos de discrepncia apontados no relatrio
referente fase de Especificao do processo. Como pode ser visto na Figura
5.5, o relatrio de discrepncias da fase de Implementao est vazio, porque
no foram encontradas evidencias de que o modelo e a execuo estavam
sendo aplicados de forma diferente.
105
VProcInsp Validao de Processo de Desenvolvimento de Software por Inspeo
Relatrio de Discrepncias
Taxonomia de Defeito:
Omisso:
Quando um dos elementos (artefato, atividade, tarefa, etapa) necessrios ao processo
no foram definidos.
Quando faltam sees de especificao de como os artefatos, atividades, tarefa e
etapas sero definidos.
Quando falta definio de termos utilizados no processo.
Ambigidade:
Quando a forma como os elementos do processo ou suas responsabilidades foram
definidos dificultam ou impossibilitam seu uso.
Quando elementos possuem o mesmo nome, mas responsabilidades diferentes
(Homnimo);
Inconsistncia:
Quando elementos descritos possuem mesma responsabilidade, mas nomes distintos
(Sinnimo)
Quando um elemento presente na execuo do processo no foi definido no modelo
formal
Quando a representao no condiz com a semntica estabelecida pela abordagem
de documentao.
Quando as responsabilidades dos stakeholders no foram definidas.
Outro:
Quando o defeito no se encaixa nas categorias acima.
ID Inspetor........: 00002
Inspetor..: Tllio Mendes Rodrigues
N Discrepncia: 01
ID Checklist.: 001
ID Item do Checklist.: 02
Descrio:
No foram encontrados diagramas UML para os dez requisitos inspecionados. Logo, no
foram usados os documentos expostos no item como entrada.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 02
ID Checklist.: 001
ID Item do Checklist.: 07
Descrio:
No foram encontrados diagramas UML para os dez requisitos inspecionados. Logo, no
foram produzidos documentos de caso de uso e outros diagramas como sada.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 03
ID Checklist.: 001
ID Item do Checklist.: 12
Descrio:
No foram criados diagramas de caso de uso para os requisitos. Logo no havia arquivos
para serem atualizados no SourceSafe.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 04
ID Checklist.: 001
ID Item do Checklist.: 21
Descrio:
No foram criados diagramas de caso de uso. Logo os templates no foram utilizados.
Classificao da Discrepncia:
106
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 05
ID Checklist.: 001
ID Item do Checklist.: 24
Descrio:
No existem diagramas UML para esses requisitos no SourceSafe. Logo o desenvolvedor
no criou nenhum diagrama.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 06
ID Checklist.: 001
ID Item do Checklist.: 26
Descrio:
Todas as solicitaes de criao de script foram feitas pelo prprio desenvolvedor.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 07
ID Checklist.: 001
ID Item do Checklist.: Inexistente
Descrio:
Ao inspecionar os artefatos para responder o item 26 o inspetor relatou a seguinte
discrepncia: A solicitao de criao de script feita na etapa de Implementao e no na
Etapa de Especificao.
Evidncia: A data de abertura de ocorrncia para os scritps eram posteriores ao
apontamento de horas na fase de implementao. Ou seja, as datas de abertura de
solicitao eram feitas depois do encerramento da fase de Especificao
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
Observaes:
A discrepncia 07 no existia no checklist, mas foi uma discrepncia levantada a partir do
item 26 e que deve ser verificada.
Quantidade total de discrepncias levantadas: 7
Quantidade total de discrepncias aceitas.......: 7
Figura 5.6 Relatrio de Discrepncia preenchido com os dados do estudo de caso
107
108
na Seo 4.2.1.5, ou seja, a anlise foi feita a partir das discrepncias aceitas
somente pelo moderador, sem levar em considerao as opinies do autor, dos
inspetores e dos analistas. Esta tabela dividida em Tabela 5.2-A e 5.2-B que
representam respectivamente os dados da etapa de especificao e
implementao. Estas tabelas so importantes, pois, se pode comparar de
forma simples o que era esperado com o que realmente foi executado no
processo de desenvolvimento de software.
109
Tabela 5.2 Informaes levantadas pelo VProcInsp antes da fase de Discriminao
Itens do
RE
Sim
No
NA
Checklist
10
0
0
1
Sim
0
10
0
2
Sim
10
0
0
3
Sim
4
0
6
4
Sim
4
0
6
5
Sim
10
0
0
6
Sim
0
10
0
7
Sim
10
0
0
8
Sim
4
0
6
9
Sim
4
0
6
10
Sim
10
0
0
11
Sim
10
0
0
12
Sim
10
0
0
13
Sim
4
0
6
14
Sim
10
0
0
15
Sim
10
0
0
16
Sim
10
0
0
17
Sim
10
0
0
18
Sim
10
0
0
19
Sim
10
0
0
20
Sim
0
10
0
21
Sim
10
0
0
22
Sim
10
0
0
23
Sim
10
0
0
24
Sim
10
0
0
25
Sim
0
4
6
26
Sim
4
0
6
27
Sim
0
4
6
28
Sim
Tabela A Dados levantados na etapa de
Especificao
Itens do
RE
Sim
No
NA
Checklist
10
0
0
1
Sim
10
0
0
2
Sim
10
0
0
3
Sim
10
0
0
4
Sim
10
0
0
5
Sim
10
0
0
6
Sim
10
0
0
7
Sim
10
0
0
8
Sim
10
0
0
9
Sim
10
0
0
10
Sim
10
0
0
11
Sim
10
0
0
12
Sim
10
0
0
13
Sim
10
0
0
14
Sim
10
0
0
15
Sim
10
0
0
16
Sim
10
0
0
17
Sim
10
0
0
18
Sim
10
0
0
19
Sim
Tabela B Dados levantados na etapa de
Implementao
da
etapa
de
implementao.
Estas
tabelas
possuem
110
111
Tabela 5.3 Descrio dos itens com discrepncias do cheklist de especificao.
N do
Item
2
Descrio do Item
Explicao do item
12
21
Os templates disponveis em
SS\RM.NET\Souce\RM.Templates\RM.
Docs\ E_UC - Caso de Uso.doc foram
utilizados ao criar/atualizar casos de uso
e/ou outros diagramas?
O Desenvolvedor foi responsvel por
criar/atualizar casos de uso e/ou outros
diagramas?
Analista Responsvel foi o responsvel
por solicitar ao criao/atualizao do
script?
24
26
28
112
113
RE
Sim
No
NA
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
10
0
10
4
4
10
0
10
4
4
10
0
10
4
10
10
10
10
10
10
0
10
10
0
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
10
0
6
6
0
10
0
6
6
0
10
0
6
0
0
0
0
0
0
10
0
0
10
0
6
6
6
114
115
116
CAPTULO 6
CONCLUSES E CONSIDERAES FINAIS
6.1 Resumo
Com o aumento da demanda e da complexidade dos sistemas, os processos
de desenvolvimento de software vm sendo considerados fundamentais para
que um produto de qualidade seja obtido. Atualmente, empresas de todos os
portes e instituies cientficas fazem uso dos benefcios adquiridos pelo uso
desses processos.
Contudo, os vrios processos de desenvolvimento vm sendo customizados e
outros propostos para atender as necessidades de cada meio produtor de
software, como o caso, respectivamente, do processo da RM Sistemas e do
PESC. Isto faz surgir a necessidade de validar os processos para garantir que
so tangveis de serem seguidos, descartando burocracias desnecessrias ou
constatando a ausncia de uma orientao mais metdica.
Durante a pesquisa que resultou nessa dissertao foram identificadas, atravs
de uma reviso sistemtica, algumas tcnicas de validao de processos
descritas na literatura. Com a caracterizao dessas tcnicas, foi possvel
identificar seus benefcios e limitaes, e foi sugerida uma tcnica de validao
que permite minimizar as limitaes e, suprir a ausncia constatada de tcnicas
de validao de processos bem documentadas e genricas.
A tcnica proposta, intitulada de VProcInsp, caracterizada pela simplicidade
de uso, sem deixar de ser metdica, com fases, papis, atividades e
117
118
(a) Comparar o modelo formal com a execuo do processo pode ser uma
boa estratgia para validar um processo. Atividades no existentes no
modelo formal, mas freqentemente executadas, ou que so propostas,
e nunca utilizadas pelos stakeholders, podem ser facilmente percebidas
e mostram evidencias que algo no est correto.
(b) A utilizao de conceitos de V&V e, principalmente, da tcnica de
Inspeo de Software torna a validao de processos metdica, pois os
envolvidos sabem exatamente o que devem realizar em cada etapa
estabelecida sem comprometer a simplicidade.
(c) Para aplicar a tcnica, a empresa deve sentir sua necessidade e todos
os envolvidos na validao devem estar empenhados em descobrir
discrepncias e no levar a inspeo para o lado pessoal, pois no a
inteno apontar quem no est seguindo o modelo formal e sim,
apontar por que o modelo no est sendo seguido.
(d) A tcnica proposta pode ficar dependente da estrutura da empresa para
alcanar bons resultados, pois a empresa ou instituio cientfica devem
possibilitar que os inspetores analisem os artefatos, que para o
VProcInsp podem ser documentos de especificao, logs de aplicativos,
caixa de emails, programas de controle de fluxo de atividades, atas de
reunies, entre outros. Logo, se a empresa no armazena ou
disponibiliza tais informaes a credibilidade da tcnica pode ser
reduzida, pois os dados seriam coletados somente atravs de
entrevistas.
Apesar de mostrar indcios que comparar o modelo formal com a
execuo do processo pode ser uma boa estratgia para validar
processos, vrias questes ainda podem ser abordadas. Isto se deve ao
fato que validar um produto, processo ou fenmeno conceitualmente
complexo e se refere a muitas questes subjetivas.
(e) Um processo pode no ser seguido e produzir um resultado satisfatrio,
ou a prtica e o processo podem ser coincidentes, mas o produto final
119
6.2 Contribuies
Com base no que foi realizado durante essa pesquisa, pode-se identificar as
seguintes contribuies oferecidas comunidade produtora de software:
120
6.3 Limitaes
Ao analisar a tcnica proposta foram identificadas algumas limitaes. Uma
delas que o estudo realizado forneceu somente resultados preliminares sobre
o processo validado. Isso ocorreu por no ser possvel realizar um estudo mais
amplo na empresa, englobando todas as etapas, um maior nmero de produtos
e requisitos.
Seria importante aplicar a tcnica proposta em outras empresas, com
diferentes processos para que os resultados fossem considerados definitivos
121
122
REFERNCIAS BIBLIOGRFICAS
123
124
Site
da
Fundao
Getlio
Vargas
acessado
em
25/08/2008
http://www.fgv.br/fgvportal/principal/idx_materia.asp?str_chave=11269&sessao=2,
2008
GARG, P. K., Process Modeling of Software Reuse, 1992. In Proceedings of
the 5th International Workshop on Institutionalizing Software Reuse, Palo Alto.
GILB, T., GRAHAM, D. Software Inspecion. Addison-Wesley, 1993.
HUMPHREY, W. S. A Discipline for Software Engineering. Addison-Wesley.
Reading-MA, 1995.
IEEE, IEEE Recommended Practice for Software Requirements Specifications
Description, Standart 830, IEEE Press. 1998.
JACOBSON, I.; RUMBAUGH, J.; BOOCH, G. The Unified Software
Development Process. Addison-Wesley, Reading MA, 1999.
JOHN R. C., STEVE M. E. Verification and Validation in a Rapid Software
Development Process, NASA Software IV&V Facility, 2000.
JOHNSON, P. An Instrumented Approach to Improving Software Quality
through Formal Technical Review, in proc. 16th International Conference on
Sotware Engineering, Sorrento, Italy, 1994.
KNEPELL, P. L., ARANGNO, D. C., Simulation validation: A confidence
assessment methodology, IEEE Computer Society Simulation, 1993.
KALINOWSKI, M. Infra-Estrutura Computacional de Apoio ao Processo de
Inspeo de Software, Dissertao de Mestrado, Programa de Engenharia de
Sistemas e Computao COPPE/UFRJ, Rio de Janeiro, 2004
125
O.,
ATKINSON,
C.
Generalized
Perspective
Based
F.,
MALLARDO,
T.,
CALEFATO,
F.,
Tool
support
for
Melhoria
Contnua
da
Qualidade.2004.
Disponvel
em
System
Engineering
Manual
verso
3.1
fonte:
http://www.faa.gov/about/office_org/headquarters_offices/ato/service_units/oper
ations/sysengsaf/seman/SEM3.1/Section%204.14%20v3.pdf
acessado
em
30/03/2008, 2006
OBERKAMPF, W.L., TRUCANO, T.G., Verification and validation benchmarks,
Nuclear Eng. Design, Validation and Uncertainty Estimation Department,
Sandia National Laboratories, vol 238 p. 716-743, 2007.
126
127
128
Apndice A
Documentos do VProcInsp Aplicados no Estudo de Caso
Planejamento
VProcInsp Validao de Processo de Desenvolvimento de Software por Inspeo
Documento de Definies do Planejamento
Moderador..: Bruno Ferreira
Autor(es)...: Isabela Iunes de Oliveira
Sandra Cristina de Andrade Soares
Data de Inicio: 30/06/2008
Data de Trmino prevista: 04/07/2008
Nome do Processo de Desenvolvimento: Processo de Desenvolvimento RM V. 2.0
Descrio do Processo de Desenvolvimento:
Caractersticas:
- Baseado no Processo Unificado
- Iterativo e Incremental
- Poucos artefatos obrigatrios
- Modelagem com UML
- Criao de produtos orientado a objetos em duas e trs camadas
Aplicar inspeo no final das (os):
Etapas
Iteraes
Projeto
Inspetores Selecionados:
Outros
Checklist entregue
Checklist entregue
Checklist entregue
Checklist entregue
Checklist entregue
Apresentao Realizada
Sim
No
Data da Realizao: 01/07/2008
Observaes:
As inspees sero realizadas em duas etapas em uma iterao do processo.
129
Abaixo so listados os 10 requisitos que foram inspecionados durante a execuo do
processo de desenvolvimento.
01) 1287098 Rateio Default de Itens de Contrato
02) 874346 Centro de Custo
03) 790414 Manter Contrato
04) 790435 Implementar Associao Total ao item do contrato
05) 790436 Implementar Associao parcial ao item do contrato
06) 790446 Implementar Realinhamento de Preo
07) 1286910 Calculo de Projeto Calculo de Insumo com vigncias
08) 1286913 Calculo de Projeto Calculo de Composies com vigncias
09) 1286920 Calculo de Projeto Calculo de Tarefas com vigncias
10) 1278552 Calculo de Projeto Calculo da Curva ABC e S utilizando Vigncia
130
Documento de Informaes dos Inspetores
ID: 00002
Inspetor..: Tllio Mendes Rodrigues
Nvel de experincia com desenvolvimento de software
1
2
3
4
5
Nvel de experincia com o domnio do ambiente processo de desenvolvimento
1
2
3
4
5
Nvel de experincia com validao de processos
1
2
3
4
5
1-Nenhum
2-Pouco
3-Razovel
4-Suficiente
5-Alto
Nome dos Processos de Desenvolvimento j validados pelo inspetor
1) _______________________________________________
2) _______________________________________________
3) _______________________________________________
4) _______________________________________________
5) _______________________________________________
Estatstica com o nmero de erros por categorias levantados pelo inspetor
_______Omisso ________Ambigidade ________Inconsistncia ________Outro
Curriculum:
Observaes:
Como sero validadas somente duas etapas, no foi necessrio dividir os itens de um
mesmo checklist entre os inspetores. Sendo que cada inspetor responsvel por todos os
itens do seu checklist.
131
Anlise e Comparao
132
*Principais Objetivos
Criar/Atualizar Regras de Negcio
Especificar detalhadamente as regras de negcio contidas no processo que est sendo
desenvolvido.
Criar/Atualizar Casos de Uso/Outros Diagramas
Possibilitar o entendimento da funcionalidade do sistema em um nvel mais voltado ao
negcio a todos os envolvidos no projeto.
Criar/Atualizar Glossrio
Definir a terminologia especfica do problema de domnio, explicando termos que
possam ser desconhecidos ao leitor das descries dos casos de uso ou outros
documentos do projeto.
Solicitar Criao/Atualizao de Script
Escrever scripts com as alteraes na base de dados necessrias para as
implementaes do Caso de Uso.
Criar Script de Alterao na Base de Dados
Escrever scripts com as alteraes na base de dados necessrias para as
implementaes do Caso de Uso.
*Importncia
Criar/Atualizar Regras de Negcio
Fonte de informao para entendimento das regras de negcio pertinentes a cada
funcionalidade que est sendo especificada.
Criar/Atualizar Casos de Uso/Outros Diagramas
Fonte de informao para realizao dos casos de testes, futuros testes de
funcionalidade e contribuio na documentao do produto. Fonte de consulta futura de
novas implementaes e anlise de impacto.
Criar/Atualizar Glossrio
Documentar os termos utilizados na especificao.
Solicitar Criao/Atualizao de Script
Escrever scripts padronizados que sero enviados para os clientes, em forma de
Conversor de base de dados em uma data pr-estabelecida, com o objetivo de ter a
bases de dados de todos os clientes com a mesma estrutura.
133
Criar Script de Alterao na Base de Dados
Escrever scripts padronizados que sero enviados para os clientes, em forma de
Conversor de base de dados em uma data pr-estabelecida, com o objetivo de ter a
bases de dados de todos os clientes com a mesma estrutura.
Entradas
N Descrio do Item de Avaliao
A Aplicao Delphi ou Documentos de Especificao ou outros
01
Sim
10
Evidncia: Entrevista
No
0
NA
0
RE
Sim
requisitos.
Evidncia: Entrevista e o RM
Especfica
10
0
0
Sim
03
dos
dez requisitos
04
10
Sim
Evidncia: Entrevista e o
Glossrio
4
0
6
Sim
Evidncia: RM Agilis
Sim
Evidncia: RM Agilis
O documento ss\RM.Net\Source\PrjProjetos\Projeto\
E_BR-Regra deNegocio.doc foi atualizado com as informaes
Comentrio:
07
requisitos.
08
Sim
No
NA
RE
10
0
0
Sim
Evidncia: Documento de
Especificao
0
10
0
Sim
Evidncia: Documento de
Especificao
10
0
0
Sim
Evidncia: Documento de
Especificao
4
0
6
Sim
Evidncia: RM Agilis
Evidncia: RM Agilis e MS
Outlook
Sim
134
N
11
Passos
Descrio do Item de Avaliao
Sim
10
No
0
NA
0
RE
Sim
Evidncia: MS SourceSafe
10
Sim
Evidncia: MS SourceSafe
SourceSafe
13
10
Sim
Evidncia: MS SourceSafe
Evidncia: MS SourceSafe e
email
Ferramentas
N Descrio do Item de Avaliao
Foi utilizado o MS Word, MS Visio ou Source Safe ao
15
Sim
10
Estrutura da empresa.
16
Estrutura da empresa.
17
Estrutura da empresa.
18
Estrutura da empresa.
19
Estrutura da empresa.
N
20
Templates
Descrio do Item de Avaliao
Os templates disponveis em
No
0
Sim
NA
0
RE
Sim
Evidncia: Software
Instalados e Extenso dos
artefatos
10
0
0
Sim
Evidncia: Software
Instalados e Extenso dos
artefatos
10
0
0
Sim
Evidncia: Software
Instalados e Extenso dos
artefatos
10
0
0
Sim
Evidncia: Software
Instalados e Extenso dos
artefatos
10
0
0
Sim
Evidncia: Software
Instalados e Extenso dos
artefatos
Sim
10
No
0
NA
0
RE
Sim
135
SS\RM.NET\Source\RM.Templates\RM.Docs\E_BR RegrasNegocio.dot
foram utilizados ao Criar/Atualizar Regras de Negcio?
Comentrio: Os documentos preenchidos tm a mesma estrutura
dos
Os templates disponveis em
SS\RM.NET\Souce\RM.Templates\RM.Docs\ E_UC - Caso
de Uso.dot foram utilizados ao Criar/Atualizar Casos de Uso
e/ou Outros Diagramas?
Comentrio: No foram criados diagramas de caso de uso para os
Os templates disponveis em
SS\RM.NET\Source\RM.Templates\RM.Docs\E_G
Glossario.dot foram utilizados ao Criar/Atualizar o
Glossrio?
Comentrio: Os documentos preenchidos tm a mesma estrutura dos
Evidncia: Documento de
especificao
0
10
0
Sim
Evidncia: Documento de
especificao
10
0
0
Sim
Evidncia: Documento de
especificao
No
0
NA
0
RE
Sim
Evidncia: MS SourceSafe
0
10
0
Sim
Evidncia: MS SourceSafe
SourceSafe
25
10
Sim
Evidncia: MS SourceSafe
0
4
6
Sim
Evidncia: RMAgilis
0
6
Sim
Evidncia: MS SourceSafe
Observaes
Ao inspecionar os artefatos para responder o item 26 o inspetor relatou a seguinte discrepncia: A
solicitao de criao de script feita na etapa de Implementao e no na Etapa de Especificao.
Evidncia: A data de abertura de ocorrncia para os scritps eram posteriores ao apontamento de horas
na fase de implementao. Ou seja, as datas de abertura de solicitao eram feitas depois do
encerramento da fase de Especificao
136
VProcInsp Validao de Processo de Desenvolvimento de Software por Inspeo
Checklist de Inspeo
*Instrues
Avalie as discrepncias entre o modelo formal do processo e a execuo do mesmo somente na fase
de Especificao atravs dos itens de avaliao que compem o checklist.
Busque discrepncias entre o processo e a execuo do mesmo. Sem identificar possveis erros de
anlises, modelagem, implementao ou testes. Se atente apenas s discrepncias.
Analise as discrepncias nos requisitos listados abaixo.
01) 1287098 Rateio Default de Itens de Contrato
02) 874346 Centro de Custo
03) 790414 Manter Contrato
04) 790435 Implementar Associao Total ao item do contrato
05) 790436 Implementar Associao parcial ao item do contrato
06) 790446 Implementar Realinhamento de Preo
07) 1286910 Calculo de Projeto Calculo de Insumo com vigncias
08) 1286913 Calculo de Projeto Calculo de Composies com vigncias
09) 1286920 Calculo de Projeto Calculo de Tarefas com vigncias
10) 1278552 Calculo de Projeto Calculo da Curva ABC e S utilizando Vigncia
Caso a sua resposta seja diferente da Resposta Esperada - RE (No - N, Sim - S); uma discrepncia
entre o modelo formal e a execuo foi descoberta.
Nas colunas Sim, No e NA (No aplicvel) de cada item do checklist devem ser preenchidas com
valores inteiros entre zero e dez. Aonde zero significa que nenhum requisito obteve a resposta e dez
significa que todos os dez requisitos obtiveram a resposta sim ou no ou NA. Ateno: A soma das
trs colunas deve ser igual a dez.
O campo Comentrio fica disponvel caso o inspetor queira fazer algum comentrio a respeito de um
requisito ou alguma situao em que a discrepncia precisa ser esclarecida.
O campo Evidncia tem a funo de indicar a origem da inspeo que gerou uma discrepncia ou
no. Ou seja, informa o artefato que foi inspecionado. Esse campo pode assumir os valores:
Ferramentas, Doc. Tcnicos, Doc. Gesto, Logs, Ata de Reunio, Email, softwares utilizados no
processo e outros.
Caso haja dvida em relao aos termos utilizados ou nos itens do checklist pea informaes ao
moderador.
Leia as subsees Fase/Atividade, Principais Objetivos e Importncia para ampliar o conhecimento
sobre o contexto da inspeo.
*ID do checklist.........: 002
*Inspetor.........:Srgio Gontijo do Nascimento
*Fase/Atividade..:
137
*Principais Objetivos
Analisar implementao
Buscar o entendimento do requisito antes da implementao/correo do mesmo;
Verificar se todas as informaes necessrias a implementao esto contidas na
especificao do requisito;
Identificar eventuais inconsistncias.
Implementar
Escrever o cdigo que implementa o requisito.
Realizar Teste Preliminar
Verificar se o cdigo fonte funciona efetivamente, independente do resto do sistema;
Identificar se existe algum gargalo de processamento;
Verificar a cobertura do cdigo;
Verificar utilizao de memria;
Verificar impactos em outros pontos do sistema.
Publicar Implementao
Armazenar o cdigo fonte em local previamente estabelecido;
Armazenar o Cdigo Fonte em lugar centralizado, de forma a possibilitar execuo de
backups;
Proteger o Cdigo Fonte contra problemas na mquina do Desenvolvedor;
Possibilitar o compartilhamento do Cdigo Fonte com os demais desenvolvedores;
Manter histrico das alteraes no Cdigo Fonte.
*Importncia
Analisar implementao
138
Conhecer o que precisa ser implementado/corrigido para saber qual ao tomar.
Implementar
Atravs desta atividade estamos concretizando uma implementao.
Realizar Teste Preliminar
Esta tarefa importante, pois uma vez que este teste seja bem feito, quando o
desenvolvedor encaminhar uma verso para o QSW homologar, a chance de existirem
erros menor, evitando assim possveis retrabalhos.
Publicar Implementao
Depois do cdigo fonte devidamente implementado (estiver compilando) deve-se
disponibilizar o cdigo fonte no SourceSafe. Esta tarefa importante para proteger e
compartilhar o cdigo fonte.
N
01
Entradas
Descrio do Item de Avaliao
Sim
10
No
0
NA
RE
Sim
Evidncia: RM Agilis
10
0
0
Sim
Evidncia: Entrevista
10
0
0
Sim
Evidncia: Entrevista
10
0
0
Sim
Evidncia: Entrevista
Sadas
N
05
Sim
10
No
0
NA
0
RE
Sim
Evidncia: No verificvel
10
Sim
Evidncia: RM Especifica
10
Sim
Evidncia: MS SourceSafe
comprovadas.
Passos
N
08
Sim
10
No
0
NA
0
RE
Sim
Evidncia: MS SourceSafe
10
Sim
139
Comentrio: Foi requisitado ao desenvolver que compile o cdigo
fonte no Visual Studio com a ultima verso disponvel no SourceSafe
10 Foi verificado se outros pontos do sistema no foram afetados
nos Testes Preliminares?
Comentrio: Essa informao no pode ser verificvel em logs e ou
softwares utilizados..
11 Foi inserido comentrios ao executar o check in no
SourceSafe?
Comentrio: Na opo Details do SourceSafe todas as ocorrncias
foram preenchidas com comentrios.
Ferramentas
N
Descrio do Item de Avaliao
Foi utilizado o RM Agilis e o RM Especifica na Anlise da
12
Sim
Evidncia: Entrevista
10
Sim
Evidncia: MS SourceSafe
Sim
10
No
0
NA
0
RE
Sim
Implementao?
Comentrio: Os campos Solicitao,
Evidncia: Entrevista
13
10
Infra-Estrutura da empresa.
14
Sim
15
Infra-Estrutura da empresa.
Infra-Estrutura da empresa.
Foi utilizado o Visual Studio.NET, Visual SourceSafe, RM
Agilis, Delphi para Publicar a Implementao?
Comentrio: Software padres e controlados pela equipe de
Responsveis
N
Descrio do Item de Avaliao
16
Observaes
Sim
10
No
0
NA
0
Evidncia: RM Agilis
10 0
0
Evidncia: RM Agilis
10 0
0
RE
Sim
Sim
Sim
Evidncia: Entrevista
10
Sim
140
VProcInsp Validao de Processo de Desenvolvimento de Software por Inspeo
Relatrio de Discrepncias
Taxonomia de Defeito:
Omisso:
Quando um dos elementos (artefato, atividade, tarefa, etapa) necessrios ao processo
no foram definidos.
Quando faltam sees de especificao de como os artefatos, atividades, tarefa e
etapas sero definidos.
Quando falta definio de termos utilizados no processo.
Ambigidade:
Quando a forma como os elementos do processo ou suas responsabilidades foram
definidos dificultam ou impossibilitam seu uso.
Quando elementos possuem o mesmo nome, mas responsabilidades diferentes
(Homnimo);
Inconsistncia:
Quando elementos descritos possuem mesma responsabilidade, mas nomes distintos
(Sinnimo)
Quando um elemento presente na execuo do processo no foi definido no modelo
formal
Quando a representao no condiz com a semntica estabelecida pela abordagem
de documentao.
Quando as responsabilidades dos stakeholders no foram definidas.
Outro:
Quando o defeito no se encaixa nas categorias acima.
ID Inspetor........: 00002
Inspetor..: Tllio Mendes Rodrigues
N Discrepncia: 01
ID Checklist.: 001
ID Item do Checklist.: 02
Descrio:
No foram encontrados diagramas UML para os dez requisitos inspecionados. Logo, no
foram usados os documentos expostos no item como entrada.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 02
ID Checklist.: 001
ID Item do Checklist.: 07
Descrio:
No foram encontrados diagramas UML para os dez requisitos inspecionados. Logo, no
foram produzidos documentos de caso de uso e outros diagramas como sada.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 03
ID Checklist.: 001
ID Item do Checklist.: 12
Descrio:
No foram criados diagramas de caso de uso para os requisitos. Logo no havia arquivos
para serem atualizados no SourceSafe.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 04
ID Checklist.: 001
Descrio:
Outros
ID Item do Checklist.: 21
141
No foram criados diagramas de caso de uso. Logo os templates no foram utilizados.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 05
ID Checklist.: 001
ID Item do Checklist.: 24
Descrio:
No existem diagramas UML para esses requisitos no SourceSafe. Logo o desenvolvedor
no criou nenhum diagrama.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 06
ID Checklist.: 001
ID Item do Checklist.: 26
Descrio:
Todas as solicitaes de criao de script foram feitas pelo prprio desenvolvedor.
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
N Discrepncia: 07
ID Checklist.: 001
ID Item do Checklist.: Inexistente
Descrio:
Ao inspecionar os artefatos para responder o item 26 o inspetor relatou a seguinte
discrepncia: A solicitao de criao de script feita na etapa de Implementao e no na
Etapa de Especificao.
Evidncia: A data de abertura de ocorrncia para os scritps eram posteriores ao
apontamento de horas na fase de implementao. Ou seja, as datas de abertura de
solicitao eram feitas depois do encerramento da fase de Especificao
Classificao da Discrepncia:
Omisso
Ambigidade
Inconsistncia
Outros
Discrepncia aceita:
Sim
No Motivo:
Observaes:
A discrepncia 07 no existia no checklist, mas foi uma discrepncia levantada a partir do
item 26 e que deve ser verificada.
Quantidade total de discrepncias levantadas: 7
Quantidade total de discrepncias aceitas.......: 7
142
VProcInsp Validao de Processo de Desenvolvimento de Software por Inspeo
Relatrio de Discrepncias
Taxonomia de Defeito:
Omisso:
Quando um dos elementos (artefato, atividade, tarefa, etapa) necessrios ao processo
no foram definidos.
Quando faltam sees de especificao de como os artefatos, atividades, tarefa e
etapas sero definidos.
Quando falta definio de termos utilizados no processo.
Ambigidade:
Quando a forma como os elementos do processo ou suas responsabilidades foram
definidos dificultam ou impossibilitam seu uso.
Quando elementos possuem o mesmo nome, mas responsabilidades diferentes
(Homnimo);
Inconsistncia:
Quando elementos descritos possuem mesma responsabilidade, mas nomes distintos
(Sinnimo)
Quando um elemento presente na execuo do processo no foi definido no modelo
formal
Quando a representao no condiz com a semntica estabelecida pela abordagem
de documentao.
Quando as responsabilidades dos stakeholders no foram definidas.
Outro:
Quando o defeito no se encaixa nas categorias acima.
ID Inspetor........: 00001
Inspetor..: Srgio Gontijo do Nascimento
Observaes:
No foram encontradas discrepncia para o a fase de Implementao ao executar o checklist com os 19 itens.
143
Apndice B
Questionrio de Avaliao Ps-Experimento
Por favor, responda o questionrio abaixo, de forma a nos permitir o registro de
sua opinio sobre a aplicao da abordagem para a validao de processo de
desenvolvimento de software baseado na tcnica proposta pelo VProcInsp
Nome:Bruno Ferreira
Papel: Moderador
1) Como voc classifica o grau de dificuldade de utilizao do VProcInsp?
Muito Fcil
Fcil
Mediana
Difcil
Muito Difcil
144
Fcil
Mediana
Difcil
Muito Difcil
145
Fcil
Mediana
Difcil
Muito Difcil
146
Fcil
Mediana
Difcil
Muito Difcil