195
GISLAINE CAMILA LAPASINI LEAL UMA ABORDAGEM ITEGRADA DE DESEVOLVIMETO E TESTE DE SOFTWARE PARA EQUIPES DISTRIBUÍDAS MARINGÁ 2010

UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

GISLAINE CAMILA LAPASINI LEAL

UMA ABORDAGEM I�TEGRADA DE DESE�VOLVIME�TO E TESTE DE SOFTWARE PARA EQUIPES DISTRIBUÍDAS

MARINGÁ

2010

Page 2: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,
Page 3: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

GISLAINE CAMILA LAPASINI LEAL

UMA ABORDAGEM I�TEGRADA DE DESE�VOLVIME�TO E TESTE DE SOFTWARE PARA EQUIPES DISTRIBUÍDAS

Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Estadual de Maringá, como requisito parcial para obtenção do grau de Mestre em Ciência da Computação. Orientadora: Profa. Dra. Elisa Hatsue Moriya

Huzita

MARINGÁ

2010

Page 4: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Dados Internacionais de Catalogação-na-Publicação (CIP) (Biblioteca Central - UEM, Maringá – PR., Brasil)

Leal, Gislaine Camila Lapasini

L435a Uma abordagem integrada de desenvolvimento e teste de

software para equipes distribuídas. / Gislaine Camila

Lapasini Leal. -- Maringá, 2010.

xvi, 169 f. : il., figs., tabs.

Orientadora : Prof.ª Dr.ª Elisa Hatsue Moriya Huzita.

Dissertação (mestrado) - Universidade Estadual de

Maringá, Programa de Pós-Graduação em Ciência da

Computação, 2010.

1. Software - Desenvolvimento distribuído - Processo. 2.

Software - Desenvolvimento distribuído - Teste. 3.

Desenvolvimento distribuído de software. I. Huzita, Elisa

Hatsue Moriya, orient. II. Universidade Estadual de

Maringá. Programa de Pós-Graduação em Ciência da

Computação. III. Título.

CDD 21.ed. 004.21

Page 5: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

GISLAINE CAMILA LAPASINI LEAL

UMA ABORDAGEM I�TEGRADA DE DESE�VOLVIME�TO E TESTE DE SOFTWARE PARA EQUIPES DISTRIBUÍDAS

Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Estadual de Maringá, como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.

Aprovada em 05/07/2010.

BANCA EXAMINADORA

Profa. Dra. Elisa Hatsue Moriya Huzita Universidade Estadual de Maringá – DIN/UEM

Profa. Dra. Tania Fatima Calvi Tait Universidade Estadual de Maringá – DIN/UEM

Prof. Dr. Paulo Cézar Stadzisz Universidade Tecnológica Federal do Paraná – DAINF/UTFPR

Page 6: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,
Page 7: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Aos meus pais ...A pessoa especial da minha vida...A Fred Dutra (in memorian)...

i

Page 8: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

ii

Page 9: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Agradecimentos

A pessoa especial que apareceu na minha vida e me fez entender que ”Me deberıas esperary caminar a paso lento, muy lento...”

Aos meus pais Gervasio Leal e Noeli Lapasini, pelo amor incondicional, o carinho e aforca...

A professora Dra. Elisa Hatsue Moriya Huzita, minha orientadora, pela paciencia e porter depositado confianca em meu trabalho mais uma vez...

Ao professor Dr. Marcio Eduardo Delamaro (ICMC/USP) pela paciencia, confianca eapoio...

Aos ”irmaos”de mestrado, Cesar Alberto da Silva e Ana Paula Chaves, por sempre estaremao meu lado...

Aos amigos de turma, Shido, Beto, Juliana, Clara e Huff por tudo que dividimos duranteessa jornada...

Ao pessoal do LabES pela recepcao e pelos ensinamentos durante minha estadia em SaoCarlos: Andre Abe (Vica), Gabriel (Ceara), Fabiano, Rodrigo, Vinıcius (Fofo), Katia,Rafael (Frotinha), Adriano (Delinha), Sandro (KLB) e Lucas...

A Marcia Samed pelas infindaveis conversas, conselhos, pelos cafes no fim da tarde, pelastristezas e alegrias que dividimos e, principalmente, pela amizade.

A Thelma Elita Colanzi pelo ombro amigo nos momentos dıficeis que passei, pelas con-tribuicoes no meu trabalho, pelos conselhos, pelas atividades desportivas e, principal-mente, pela amizade...

A Maria Vandete (Negavan) pela amizade, carinho e ensinamentos sobre aquilo querealmente tem valor na vida ...

Ao amigos da Engenharia de Producao, em especial: Heliana Marcia, Olıvia Oiko e EldaSalome...

iii

Page 10: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Aos professores do Departamento de Informatica que de diversas formas contribuıramcom esse trabalho, com a minha formacao academica e tambem pessoal...

A Maria Ines Davanco por sua dedicacao, carinho e simpatia...

A Capes (Coordenacao de Aperfeicoamento de Pessoal de Nıvel Superior), pelo apoiofinanceiro...

A Deus, por ter me dado forcas nos momentos de fraqueza, por colocar pessoas taoespeciais na minha vida. Enfim, por ter me proporcionado todos esses motivos paraagradecer...

iv

Page 11: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Resumo

O Desenvolvimento Distribuıdo de Software (DDS) e uma estrategia de desenvolvi-mento que atende as necessidades da globalizacao no que se refere a produtividade ereducao de custos. No entanto, ele acrescentou novos elementos ao processo de de-senvolvimento, tais como a distancia temporal, dispersao geograficae as diferencassocio-culturais, que amplificaram alguns dos desafios e, sobretudo, acrescentaramnovas exigencias no que diz respeito aos processos de comunicacao, coordenacaoe controle dos projetos. Entre essas novas demandas ha a necessidade de umprocesso de software que ofereca apoio adequado ao desenvolvimento distribuıdo desoftware. Este trabalho apresenta uma abordagem integrada de desenvolvimento eteste de software que aborda as peculiaridades de equipes distribuıdas. O objetivoda abordagem e oferecer suporte a estrategia de desenvolvimento, proporcionandouma melhor visibilidade de um projeto, melhorando a comunicacao entre as equipesde desenvolvimento e teste, minimizando a ambiguidade e a dificuldade em com-preender os artefatos e atividades. Esta abordagem integrada foi concebida fun-damentada em quatro pilares: (i) identificar as peculiaridades do DesenvolvimentoDistribuıdo de Software relacionadas a processos de desenvolvimento e de teste;(ii) definir os elementos necessarios para compor a abordagem integrada de desen-volvimento e teste para apoiar equipes distribuıdas; (iii) descrever e especificar osworkflows, artefatos e papeis da abordagem; e, (iv) representar a abordagem deforma adequada para possibilitar a comunicacao e entendimento efetivo da mesma.A abordagem foi avaliada, seguindo os princıpios da Engenharia Experimental, pormeio da conducao de um estudo de viabilidade.

v

Page 12: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

vi

Page 13: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Abstract

The Distributed Software Development (DSD) is a development strategy that meetsthe globalizations needs in relation to productivity and cost reduction. However,it added new elements to the development process, such as the temporal distance,geographical dispersion and the socio-cultural differences, which amplified somechallenges and, especially, added new requirements in relation to the communica-tion process, coordination and control of projects. Among these new demands thereis the necessity of a software process that provides suited support to the distributedsoftware development. This work presents an integrated approach of softwaredevelopment and test that considers the peculiarities of distributed teams. Thegoal of the approach is to offer support to the strategy of development, providinga better visibility of a project, improving the communication between the devel-opment and test teams, minimizing the ambiguity and difficulty in understandingthe artifacts and activities. This integrated approach was conceived based on fourpillars: (i) to identify the peculiarities of Distributed Software Development relatedto development and test processes, (ii) to define the necessary elements to composethe integrated approach of development and test to support the distributed teams,(iii) to describe and specify the workflows, artifacts, and roles of the approach, and(iv) to represent appropriately the approach to enable the effective communicationand understanding of it. The approach was evaluated, using the ExperimentalEngineering principles, by conducting a feasibility study.

vii

Page 14: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

viii

Page 15: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Sumario

Lista de Figuras xiii

Lista de Tabelas xvii

1 Introducao 11.1 Consideracoes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Contexto e Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Descricao do Problema . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.2 Solucao Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Organizacao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Revisao Bibliografica 92.1 Desenvolvimento Distribuıdo de Software . . . . . . . . . . . . . . . . . . . 92.2 Processo de Desenvolvimento de Software . . . . . . . . . . . . . . . . . . . 11

2.2.1 Norma ISO/IEC 12207 . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Tecnicas de Modelagem de Processo de Software . . . . . . . . . . . . . . . 132.4 Teste de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4.1 Conceitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.2 Teste Baseado em Modelos . . . . . . . . . . . . . . . . . . . . . . . 192.4.3 Processo de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4.4 Norma IEEE 829-1998 . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.5 Metodologia TOTEM (Testing of Object-Oriented Software Sys-

TEms with the UML) . . . . . . . . . . . . . . . . . . . . . . . . . . 242.4.6 Perfil UML2.0 de Teste . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5 Engenharia Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.6 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 Trabalhos Relacionados 333.1 Processos de Desenvolvimento de Software . . . . . . . . . . . . . . . . . . 33

3.1.1 Rational Unified Process (RUP) . . . . . . . . . . . . . . . . . . . . 333.1.2 eXtreme Programming (XP) . . . . . . . . . . . . . . . . . . . . . . 343.1.3 Agile Unified Process (AUP) . . . . . . . . . . . . . . . . . . . . . . 363.1.4 Extended Workbench Model . . . . . . . . . . . . . . . . . . . . . . 363.1.5 Local Agile Game-based Process (LAGPRO) . . . . . . . . . . . . . 37

ix

Page 16: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.2 Analise Comparativa dos Processos de Desenvolvimento . . . . . . . . . . . 373.3 Processos de Teste de Software . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3.1 Teste no RUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3.2 SiTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3.3 Processo CenPRA . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.4 Analise Comparativa dos Processos de Teste . . . . . . . . . . . . . . . . . 433.5 Abordagem de Desenvolvimento e Teste de Software . . . . . . . . . . . . . 453.6 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4 Abordagem de Desenvolvimento e Teste de Software para Equipes Dis-tribuıdas 494.1 Visao Geral da Abordagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.2 Abordagem de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.1 Disciplina Planejamento . . . . . . . . . . . . . . . . . . . . . . . . 544.2.2 Disciplina Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . 604.2.3 Disciplina Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . 654.2.4 Disciplina Implementacao . . . . . . . . . . . . . . . . . . . . . . . 68

4.3 Abordagem de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.3.1 Disciplina Planejamento . . . . . . . . . . . . . . . . . . . . . . . . 724.3.2 Disciplina Preparacao . . . . . . . . . . . . . . . . . . . . . . . . . 754.3.3 Disciplina Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.3.4 Disciplina Execucao . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.4 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5 Exemplo de Aplicacao da Abordagem 895.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.2 Disciplina Planejamento - Desenvolvimento . . . . . . . . . . . . . . . . . . 895.3 Disciplina Planejamento - Teste . . . . . . . . . . . . . . . . . . . . . . . . 935.4 Disciplina Requisitos - Desenvolvimento . . . . . . . . . . . . . . . . . . . 935.5 Disciplina Preparacao - Teste . . . . . . . . . . . . . . . . . . . . . . . . . 955.6 Disciplina Desenvolvimento - Desenvolvimento . . . . . . . . . . . . . . . . 965.7 Disciplina Projeto - Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . 995.8 Disciplina Implementacao - Desenvolvimento . . . . . . . . . . . . . . . . . 1015.9 Disciplina Execucao - Teste . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.10 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

6 Estudo de Viabilidade 1076.1 Definicao dos Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

6.1.1 Objetivo Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.1.2 Objetivo da Medicao . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.1.3 Objetivo do Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086.1.4 Questoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.2 Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086.2.1 Definicao das Hipoteses . . . . . . . . . . . . . . . . . . . . . . . . . 1086.2.2 Selecao do Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . 108

x

Page 17: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.2.3 Selecao dos Participantes . . . . . . . . . . . . . . . . . . . . . . . . 1096.2.4 Projeto do Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.2.5 Instrumentacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.2.6 Validade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

6.3 Operacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.3.1 Resultados do Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6.4 Analise e Interpretacao dos Dados . . . . . . . . . . . . . . . . . . . . . . . 1126.4.1 Validacao dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.4.2 Estatıstica Descritiva e Analise . . . . . . . . . . . . . . . . . . . . 1136.4.3 Aplicacao do Teste Estatıstico . . . . . . . . . . . . . . . . . . . . . 1206.4.4 Verificacao das Hipoteses . . . . . . . . . . . . . . . . . . . . . . . . 124

6.5 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7 Conclusoes 1257.1 Contribuicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267.2 Dificuldades e Limitacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287.4 Publicacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Referencias Bibliograficas 131

A Protocolo da Revisao Sistematica 139A.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139A.2 Formulacao da Pergunta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139A.3 Selecao das Fontes de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . 140A.4 Selecao Preliminar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140A.5 Selecao Final e Extracao dos Dados . . . . . . . . . . . . . . . . . . . . . . 141A.6 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

B Templates Abordagem de Desenvolvimento 143B.1 Plano de Desenvolvimento de Software . . . . . . . . . . . . . . . . . . . . 143B.2 Descricao Extendida Casos de Uso . . . . . . . . . . . . . . . . . . . . . . 143

C Templates Abordagem de Teste 147C.1 Plano de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147C.2 Especificacao de Projeto de Teste . . . . . . . . . . . . . . . . . . . . . . . 148C.3 Especificacao de Casos de Teste . . . . . . . . . . . . . . . . . . . . . . . . 149C.4 Especificacao de Procedimentos de Teste . . . . . . . . . . . . . . . . . . . 149C.5 Diario de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150C.6 Relatorio de Incidentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150C.7 Resumo de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

D Artefatos 153D.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153D.2 Descricao Textual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

xi

Page 18: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

D.3 Especificacao dos Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . 154

E Documentacao do Estudo de Viabilidade 161E.1 Memorial Descritivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161E.2 Questionarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

E.2.1 Questionario 1 - Perfil do Entrevistado . . . . . . . . . . . . . . . . 167E.2.2 Questionario 2 - Estudo de Viabilidade . . . . . . . . . . . . . . . . 168

xii

Page 19: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Lista de Figuras

1.1 Metodologia proposta por Mafra (2006). . . . . . . . . . . . . . . . . . . . 41.2 Metodologia de trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1 Processos da norma ISO/IEC 12207. . . . . . . . . . . . . . . . . . . . . . 132.2 Elementos estruturais de um processo (OMG, 2005). . . . . . . . . . . . . 152.3 Ciclo de vida de um processo (OMG, 2005). . . . . . . . . . . . . . . . . . 152.4 Diagrama de atividades dos passos da metologia TOTEM (Briand e Labiche,

2001). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.5 Arquitetura de Teste (OMG, 2004). . . . . . . . . . . . . . . . . . . . . . . 262.6 Comportamento de teste (OMG, 2004). . . . . . . . . . . . . . . . . . . . . 282.7 Dados de teste (OMG, 2004). . . . . . . . . . . . . . . . . . . . . . . . . . 292.8 Temporizacao de teste (OMG, 2004). . . . . . . . . . . . . . . . . . . . . . 30

4.1 Diagrama de Atividades da Abordagem Integrada de Desenvolvimento eTeste de Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Diagrama de Atividades da Abordagem de Desenvolvimento. . . . . . . . . 524.3 Diagrama de Pacotes da Abordagem de Desenvolvimento. . . . . . . . . . . 524.4 Diagrama de Pacotes da Disciplina Planejamento. . . . . . . . . . . . . . . 544.5 Diagrama de Pacotes da Definicao de Trabalho - Configurar o processo. . . 554.6 Diagrama de Casos de Uso - Definicao de Trabalho - Configurar o processo. 584.7 Diagrama de Classes - Definicao de Trabalho - Configurar o processo. . . . 594.8 Diagrama de Atividades - Definicao de Trabalho - Configurar o processo. . 604.9 Diagrama de Pacotes da Disciplina Requisitos. . . . . . . . . . . . . . . . . 614.10 Diagrama de Pacotes da Definicao de Trabalho - Definir uma visao do sistema. 614.11 Diagrama de Pacotes da Definicao de Trabalho - Traduzir a visao em modelos. 624.12 Diagrama de Casos de Uso - Definicao de Trabalho - Definir uma visao do

sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.13 Diagrama de Casos de Uso - Definicao de Trabalho - Traduzir a visao em

modelos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.14 Diagrama de Classes - Definicao de Trabalho - Definir uma visao do sistema. 644.15 Diagrama de Classes - Definicao de Trabalho - Traduzir visao em modelos. 644.16 Diagrama de Atividades - Definicao de Trabalho - Definir uma visao do

sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.17 Diagrama de Atividades - Definicao de Trabalho - Traduzir visao em modelos. 654.18 Diagrama de Pacotes da Disciplina Desenvolvimento. . . . . . . . . . . . . 65

xiii

Page 20: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.19 Diagrama de Pacotes da Definicao de Trabalho - Especificar descrevendocomo implementar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.20 Diagrama de Casos de Uso - Definicao de Trabalho - Especificar descrevendocomo implementar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.21 Diagrama de Classes - Definicao de Trabalho - Especificar descrevendocomo implementar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.22 Diagrama de Atividades - Definicao de Trabalho - Especificar descrevendocomo implementar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.23 Diagrama de Pacotes da Disciplina Implementacao. . . . . . . . . . . . . . 684.24 Diagrama de Pacotes da Definicao de Trabalho - Implementar os metodos. 694.25 Diagrama de Casos de Uso - Definicao de Trabalho - Implementar as classes

e objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.26 Diagrama de Atividades - Definicao de Trabalho - Implementar as classes

e objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.27 Diagrama de Atividades da Abordagem de Teste. . . . . . . . . . . . . . . 704.28 Diagrama de Pacotes da Abordagem de Teste. . . . . . . . . . . . . . . . . 714.29 Diagrama de Pacotes da Disciplina Planejamento. . . . . . . . . . . . . . . 724.30 Diagrama de Pacotes da Definicao de Trabalho - Configurar o processo. . . 724.31 Diagrama de Casos de Uso - Definicao de Trabalho - Configurar o processo. 734.32 Diagrama de Classes - Definicao de Trabalho - Configurar o processo. . . . 744.33 Diagrama de Atividades - Definicao de Trabalho - Configurar o processo. . 744.34 Diagrama de Pacotes da Disciplina Preparacao. . . . . . . . . . . . . . . . 754.35 Diagrama de Pacotes da Definicao de Trabalho - Planejar atividades de teste. 764.36 Diagrama de Casos de Uso - Definicao de Trabalho - Planejar atividades

de teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.37 Diagrama de Classes - Definicao de Trabalho - Planejar atividades de teste. 784.38 Diagrama de Atividades - Definicao de Trabalho - Planejar atividades de

teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.39 Diagrama de Pacotes da Disciplina Projeto. . . . . . . . . . . . . . . . . . 804.40 Diagrama de Pacotes da Definicao de Trabalho - Detalhar aspectos tecnicos. 804.41 Diagrama de Casos de Uso - Definicao de Trabalho - Detalhar aspectos

tecnicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.42 Diagrama de Classes - Definicao de Trabalho - Detalhar aspectos tecnicos. 824.43 Diagrama de Atividades - Definicao de Trabalho - Detalhar aspectos tecnicos. 834.44 Diagrama de Pacotes da Disciplina Execucao. . . . . . . . . . . . . . . . . 834.45 Diagrama de Pacotes da Definicao de Trabalho - Executar e registrar testes. 844.46 Diagrama de Casos de Uso - Definicao de Trabalho - Executar e registrar

teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.47 Diagrama de Classes - Definicao de Trabalho - Executar e registrar teste. . 864.48 Diagrama de Atividades - Definicao de Trabalho - Executar e registrar teste. 87

5.1 Visao do Negocio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.2 Modelo de Objetos de Negocios. . . . . . . . . . . . . . . . . . . . . . . . . 945.3 Diagrama de Casos de Uso. . . . . . . . . . . . . . . . . . . . . . . . . . . 955.4 Descricao da Arquitetura. . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

xiv

Page 21: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.5 Diagrama de Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.6 Diagrama de Comunicacao - Submissao de Artigos. . . . . . . . . . . . . . 985.7 Diagrama de Sequencia - Submissao de Artigos. . . . . . . . . . . . . . . . 985.8 Interface de Login. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.9 Interface da Lista de Eventos. . . . . . . . . . . . . . . . . . . . . . . . . . 1025.10 Interface de Submissao de Artigo. . . . . . . . . . . . . . . . . . . . . . . . 1035.11 Interface do Revisor de Artigo. . . . . . . . . . . . . . . . . . . . . . . . . 1035.12 Interface de Revisao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.1 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Disciplinas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.2 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Atividades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.3 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Artefatos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6.4 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x UML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6.5 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Identificacao das Equipes. . . . . . . . . . . . . . . . . . . . . . 116

6.6 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Nomenclatura. . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

6.7 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x OCL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.8 Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Padronizacao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.9 Grafico da Relacao Conhecimento em DDS x Conhecimento em Teste xAtividades de Teste ao longo das Disciplinas. . . . . . . . . . . . . . . . . . 120

E.1 Diagrama de Atividades da Abordagem Integrada de Desenvolvimento eTeste de Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

E.2 Diagrama de Pacotes da Disciplina Planejamento. . . . . . . . . . . . . . . 163E.3 Diagrama de Pacotes da Disciplina Planejamento. . . . . . . . . . . . . . . 163E.4 Diagrama de Pacotes da Disciplina Requisitos. . . . . . . . . . . . . . . . . 164E.5 Diagrama de Pacotes da Disciplina Preparacao. . . . . . . . . . . . . . . . 164E.6 Diagrama de Pacotes da Disciplina Desenvolvimento. . . . . . . . . . . . . 165E.7 Diagrama de Pacotes da Disciplina Projeto. . . . . . . . . . . . . . . . . . 166E.8 Diagrama de Pacotes da Disciplina Implementacao. . . . . . . . . . . . . . 166E.9 Diagrama de Pacotes da Disciplina Execucao. . . . . . . . . . . . . . . . . 167

xv

Page 22: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

xvi

Page 23: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Lista de Tabelas

2.1 Elementos do SPEM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 Analise Comparativa dos Processos . . . . . . . . . . . . . . . . . . . . . . 393.2 Analise Comparativa dos Processos de Teste . . . . . . . . . . . . . . . . . 44

4.1 Papeis na Abordagem de Desenvolvimento . . . . . . . . . . . . . . . . . . 534.2 Papeis na Abordagem de Teste . . . . . . . . . . . . . . . . . . . . . . . . 71

5.1 Plano Global de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . 915.2 Plano Local de Desenvolvimento - Site Maringa . . . . . . . . . . . . . . . 925.3 Plano Local de Desenvolvimento - Belo Horizonte . . . . . . . . . . . . . . 925.4 Plano de Teste - versao inicial . . . . . . . . . . . . . . . . . . . . . . . . . 935.5 Plano de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.6 Especificacao de Projeto de Teste . . . . . . . . . . . . . . . . . . . . . . . 995.7 Especificacao de Casos de Teste . . . . . . . . . . . . . . . . . . . . . . . . 995.8 Especificacao de Procedimentos de Teste . . . . . . . . . . . . . . . . . . . 1005.9 Continuacao da Tabela Especificacao de Procedimentos de Teste . . . . . . 1015.10 Diario de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.11 Resumo do Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

6.1 Resultados do Estudo de Viabilidade . . . . . . . . . . . . . . . . . . . . . 1126.2 Estatıstica Descritiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.3 Classificacao do Nıvel de Conhecimento do Participante . . . . . . . . . . . 1206.4 Nıvel Esperado que a abordagem contempla as necessidades do DDS. . . . 1216.5 Distribuicao do Grau que o Conjunto de Disciplinas atende as necessidades

do DDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216.6 Distribuicao do Grau que o Conjunto de Atividades atende as necessidades

do DDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226.7 Distribuicao do Grau que o Conjunto de Artefatos atende as necessidades

do DDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226.8 Distribuicao do Grau que a Notacao UML pode amenizar problemas de

comunicacao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226.9 Distribuicao do Grau que a Identificacao das Equipes pode aumentar a

percepcao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226.10 Distribuicao do Grau que a Abordagem Atende as necessidades do DDS. . 1236.11 Distribuicao do Grau que a OCL pode amenizar a ambiguidade. . . . . . . 123

xvii

Page 24: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.12 Distribuicao do Grau que a Padronizacao de atividades e artefatos podeimpactar na qualidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

6.13 Distribuicao do Grau em que as atividades de teste ao longo das disciplinaspodem reduzir os problemas de integracao. . . . . . . . . . . . . . . . . . . 123

B.1 Plano de Desenvolvimento de Software Global . . . . . . . . . . . . . . . . 144B.2 Plano de Desenvolvimento de Software Local . . . . . . . . . . . . . . . . . 145B.3 Descricao de Caso de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

C.1 Plano de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148C.2 Especificacao de Projeto de Teste . . . . . . . . . . . . . . . . . . . . . . . 149C.3 Especificacao de Casos de Teste . . . . . . . . . . . . . . . . . . . . . . . . 149C.4 Especificacao de Procecimentos de Teste . . . . . . . . . . . . . . . . . . . 150C.5 Diario de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150C.6 Relatorio de Incidentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151C.7 Resumo de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

D.1 Gerenciar acesso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155D.2 Gerenciar evento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156D.3 Submeter artigo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157D.4 Distribuir artigo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157D.5 Revisar artigo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158D.6 Consolidar revisao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

xviii

Page 25: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Lista de Siglas

ADDS: Ambiente de Desenvolvimento Distribuıdo de SoftwareAUP: Agile Unified ProcessCIM: Computational Independent ModelCITM: Computational Independent Testing ModelsCMMI: Capability Maturity Model IntegrationDDS: Desenvolvimento Distribuıdo de SoftwareDiSEN: Distributed Software Engineering EnvironmentGSD: Global Software DevelopmentLAGPRO: Local Agile Game-based ProcessMDA: Model Driven ArchitectureMDD: Model Driven DevelopmentMDT: Model Driven TestOCL: Object Constraint LanguageOMG: Object Management GroupPIM: Platform Independent ModelPITM: Plataform Independent Testing ModelsPML: Process Modelling LanguagePSM: Platform Specific Model - PSMRUP: Rational Unified ProcessSPEM: Software Process Engineering Metamodel SpecificationSUT: System Under TestTBM: Teste Baseado em ModelosTDD: Test-Driven DevelopmentTDF: Tecnica de Descricao FormalTOTEM: Testing of Object-Oriented Software SysTEms with the UMLUML: Unified Modelling LanguageUPM: Unified Process ModelU2TP: UML 2.0 Testing ProfileXP: eXtreme Programming

xix

Page 26: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

xx

Page 27: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Capıtulo

1

Introducao

1.1 Consideracoes Iniciais

O processo de software e definido como um conjunto ordenado de atividades para o

gerenciamento, desenvolvimento e manutencao de software, e deve estar alinhado com

as condicoes organizacionais (Fuggetta, 2000).

O Desenvolvimento Distribuıdo de Software (DDS) e uma abordagem para o desen-

volvimento dos projetos de software que vem ao encontro das necessidades da globalizacao,

que sao: aumento de produtividade, melhoria de qualidade e reducao de custos (Herbsleb

et al., 2000). Essa nova configuracao adicionou ao desenvolvimento de software desafios

relacionados as diferencas culturais, dispersoes geograficas, coordenacao e controle, co-

municacao e espırito de equipe, os quais intensificam alguns dos problemas enfrentados

durante o ciclo de vida do projeto.

No cenario atual, vivenciamos uma crescente necessidade de software com qualidade.

Diante disso, muitas formas de melhoria dos processos de desenvolvimento de software sao

utilizadas e diversos artefatos e ferramentas buscam melhorar o desenvolvimento, como a

utilizacao de metodos formais para descrever especificacoes, design e testes (Abdurazik,

2000). Analisando os trabalhos apresentados no Capıtulo 3 foi possıvel observar que os

processos de engenharia de software sao, geralmente, voltados para o desenvolvimento

de projetos coalocados, nao atendendo totalmente as necessidades do desenvolvimento

distribuıdo. E os processos que foram desenvolvidos especificamente para o contexto

de desenvolvimento distribuıdos nao contemplam os elementos basicos de um processo

1

Page 28: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2 1. Introducao

e as peculiaridades dessa abordagem. Assim, os desafios de comunicacao, coordenacao

e controle gerados pelo DDS, decorrentes das distancias fısica e temporal, demandam

processos de desenvolvimento de software que sejam adequados para serem utilizados por

equipes distribuıdas.

O objetivo deste trabalho e apresentar uma abordagem integrada de desenvolvimento

e teste de software que apoie o desenvolvimento distribuıdo de projetos, contemplando

as suas peculiaridades e, com isso, melhorar a comunicacao entre as equipes, minimizar

a ambiguidade nos artefatos e fornecer, aos envolvidos, visibilidade adequada em relacao

aos artefatos e atividades.

1.2 Contexto e Motivacao

Nos ultimos anos pode-se observar que algumas organizacoes descentralizaram suas ativi-

dades de desenvolvimento de software em busca de vantagens competitivas, tais como:

acesso a mao-de-obra qualificada, reducao de custos, avancos na infraestrutura e outros.

Essa distribuicao de atividades em um mesmo paıs ou ate mesmo em paıses diferentes,

caracterizam o DDS.

O principal objetivo dessa descentralizacao consiste em otimizar os recursos para

desenvolver produtos de maior qualidade e a um custo menor. No entanto, essa dispersao

adicionou novos desafios ao desenvolvimento relacionados a comunicacao, coordenacao e

controle, os quais podem afetar negativamente a produtividade e, por conseguinte, a qua-

lidade do software. Esses fatores influenciam a maneira pela qual o software e projetado,

desenvolvido, testado e entregue aos clientes, afetando assim os estagios correspondentes

do ciclo de vida do software. Segundo Damian e Lanubile (2004), para minimizar esses

efeitos e alcancar nıveis mais elevados de produtividade, sao necessarias novas tecnologias,

processos e metodos compatıveis com a abordagem de desenvolvimento distribuıdo.

Em Jimenez et al. (2009) e possıvel observar a evolucao dessa abordagem de desenvolvi-

mento em funcao do aumento de trabalhos disponıveis na literatura. Alem disso, nota-se

que os maiores esforcos estao centrados em processos organizacionais, os quais tratam

dos recursos humanos, gestao organizacional, alinhamento de infraestrutura e gestao de

projetos. Isto evidencia uma lacuna em relacao ao nıvel de projetos e aspectos tecnicos o

que requer novos processos e ferramentas.

Diante deste cenario, este trabalho apresenta a especificacao de uma abordagem in-

tegrada de desenvolvimento e teste de software compatıvel com as necessidades das equipes

distribuıdas.

Page 29: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

1.3 Objetivos 3

1.2.1 Descricao do Problema

Os processos de engenharia de software possuem artefatos, responsabilidades e atividades

bem definidas, possibilitando adequacao as necessidades especıficas. No entanto, estes

processos sao, geralmente, voltados para o desenvolvimento de projetos coalocados, nao

considerando as peculiaridades de coordenacao, controle e comunicacao do desenvolvi-

mento com equipes geograficamente dispersas. Rocha et al. (2008) enfatizam a necessidade

de processos adequados a essa estrategia de desenvolvimento. De acordo com (Audy

e Prikladnicki, 2008), em um ambiente de desenvolvimento distribuıdo, e fundamental

um processo de desenvolvimento comum a equipe, visto que auxilia diretamente na

sincronizacao, fornecendo a todos os membros da equipe uma nomenclatura comum de

tarefas e atividades, e um conjunto comum de expectativas aos elementos envolvidos no

processo. Diante de tal cenario observou-se a necessidade de desenvolver uma abordagem

que forneca suporte adequado ao desenvolvimento distribuıdo.

1.2.2 Solucao Proposta

A abordagem integrada de desenvolvimento e teste de software, apresentada nesse tra-

balho, vem ao encontro das necessidades do desenvolvimento distribuıdo. Essa abordagem

objetiva oferecer suporte aos processos de comunicacao, coordenacao e controle fornecendo

uma nomenclatura comum aos envolvidos no que se refere as disciplinas, papeis, atividades

e artefatos. Alem disso, objetiva-se reduzir a ambiguidade e imprecisao dos artefatos com

o uso de uma especificacao mais rigorosa e oferecer visibilidade sobre as disciplinas em

execucao, os envolvidos e suas responsabilidades.

1.3 Objetivos

Para oferecer apoio ao desenvolvimento distribuıdo de software, melhorando a comu-

nicacao entre as equipes de desenvolvimento e teste e minimizando a ambiguidade nos

artefatos, o objetivo geral desta dissertacao e apresentar uma abordagem integrada de

desenvolvimento e teste de software para equipes distribuıdas. Como objetivos especıficos,

tem-se:

∙ identificar as peculiaridades do Desenvolvimento Distribuıdo de Software relacionadas

a processos de desenvolvimento e de teste;

∙ definir os elementos necessarios para compor a abordagem integrada de desenvolvi-

mento e teste para apoiar equipes distribuıdas;

Page 30: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4 1. Introducao

∙ descrever e especificar os workflows, artefatos e papeis da abordagem;

∙ representar a abordagem proposta de forma adequada para possibilitar a comu-

nicacao e entendimento efetivo da mesma.

1.4 Metodologia

A pesquisa conduzida neste trabalho se caracteriza como sendo de base qualitativa e

do tipo exploratoria, sendo uma adaptacao da metodologia proposta por Mafra (2006),

que extende o trabalho de Shull et al. (2001), como pode ser visto na Figura 1.1. Essa

metodologia objetiva possibilitar o desenvolvimento e a maturacao de tecnologias desde

sua concepcao academica ate sua insercao na industria, sendo composta por duas fases,

Definicao e Refinamento.

Durante a fase de Definicao sao conduzidas revisoes sistematicas para identificar

evidencias disponıveis na literatura e deste modo minimizar dificuldades e incertezas no

processo de definicao. Na fase de Refinamento, o foco e coletar evidencias, pontos fortes

e fracos sobre a aplicacao da tecnologia e, baseada nessas evidencias, propor alteracoes e

melhorias. Para isso, e proposta a conducao de estudos de viabilidade, estudos observa-

cionais e estudos de caso, tanto no contexto de um ciclo de vida completo da tecnologia,

como no contexto industrial (Shull et al., 2001).

Figura 1.1: Metodologia proposta por Mafra (2006).

A metodologia utilizada no desenvolvimento deste trabalho e composta por cinco fases,

conforme ilustrado na Figura 1.2. As tres primeiras fases correspondem a fase de Definicao

Page 31: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

1.4 Metodologia 5

e a quarta fase a de Refinamento, apresentada por Mafra (2006). A seguir a metodologia

e descrita.

Na primeira fase foi realizada uma revisao inicial da literatura, que teve como objetivo

formar um referencial teorico consistente para a continuidade do estudo e visualizar

o estado da arte. Esta etapa envolveu estudos sobre desenvolvimento distribuıdo de

software, processos de desenvolvimento e teste de software e notacoes para modelagem de

processos.

Figura 1.2: Metodologia de trabalho.

A segunda fase consistiu na conducao de uma revisao sistematica, seguindo o modelo

de protocolo apresentado em (Biolchini et al., 2005). A revisao sistematica foi conduzida

para ampliar a cobertura da revisao de literatura inicial e o objetivo principal foi a iden-

ticacao de trabalhos que abordam processos de software utilizados no desenvolvimento com

equipes distribuıdas. Alem disso, a revisao tambem visou a identificacao das necessidades

dessa abordagem de desenvolvimento no que se refere ao processo de desenvolvimento. A

revisao sistematica possibilitou identificar os processos de desenvolvimento de software que

vem sendo utilizados com equipes distribuıdas. Os estudos selecionados foram, na maior

parte, referentes aos problemas (diversidade cultural, dispersoes geograficas, coordenacao

e comunicacao) encontrados quando da adocao de desenvolvimento distribuıdo, realcando

Page 32: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6 1. Introducao

a necessidade da definicao de um processo que contemple as caracterısticas dessa nova

abordagem de desenvolvimento.

Na terceira fase, Definicao da Abordagem, foi possıvel analisar e definir, com base

nas etapas anteriores, os elementos necessarios para uma abordagem integrada de desen-

volvimento e teste de software que contemple os aspectos relevantes em desenvolvimento

distribuıdo. Apos a identificacao, os elementos da abordagem foram descritos e especifi-

cados de acordo com a tecnica de modelagem definida.

A quarta fase, Avaliacao, consistiu na conducao de um estudo de viabilidade o qual

teve por objetivo criar um corpo de conhecimento sobre a aplicacao da tecnologia e nao

encontrar uma resposta definitiva. Nesse sentido, foi possıvel ao pesquisador avaliar se a

aplicacao da tecnologia e viavel, ou seja, se atende de forma adequada aos objetivos ini-

cialmente definidos, de forma a justificar (ou nao) a continuacao da pesquisa. Alem disso,

o corpo de conhecimento construıdo fornece subsıdios para o refinamento da tecnologia e a

geracao de novas hipoteses sobre sua aplicacao a serem investigadas em estudos posteriores

(Shull et al., 2001). As demais etapas do Refinamento nao foram contempladas no escopo

deste trabalho devido ao tempo disponıvel.

Por fim, a quinta fase, Redacao, consistiu em produzir este documento de dissertacao,

na escrita e submissao de artigos relacionados a este trabalho e na defesa da dissertacao.

1.5 Organizacao do Trabalho

Neste capıtulo foram descritos os objetivos deste trabalho, embasados nos problemas

encontrados durante o desenvolvimento distribuıdo de software no que se refere a pro-

cessos de desenvolvimento e teste de software. Alem disso, foi apresentado o contexto, a

motivacao e a metodologia que norteou o desenvolvimento do mesmo.

O restante deste trabalho encontra-se organizado da seguinte forma:

∙ Capıtulo 2: apresenta os conceitos relevantes que embasaram o desenvolvimento

deste trabalho, sendo eles: desenvolvimento distribuıdo de software, processo de

desenvolvimento, norma ISO/IEC 12207, tecnicas de modelagem de processos, teste

de software, teste baseado em modelos, processo de teste, norma IEEE 829-1998,

metodologia de geracao de casos de testes e perfil UML de teste.

∙ Capıtulo 3: descreve as caracterısticas dos processos de desenvolvimento e teste de

software que deram subsıdios para o desenvolvimento deste trabalho. Alem disso,

sao apresentados alguns criterios de comparacao e tais processos sao analisados

considerando as demandas do desenvolvimento com equipes distribuıdas.

Page 33: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

1.5 Organizacao do Trabalho 7

∙ Capıtulo 4: a abordagem proposta e descrita em termos de disciplinas, atividades,

papeis e artefatos. Alem disso, e apresentada a modelagem seguindo o metadomod-

elo SPEM.

∙ Capıtulo 5: ilustra um exemplo de aplicacao da abordagem proposta em um projeto

de desenvolvimento de uma aplicacao web para gerenciar o processo de submissao

e avaliacao de artigos em eventos cientıficos.

∙ Capıtulo 6: apresenta o estudo viabilidade conduzido para coletar os pontos fortes

e fracos da abordagem proposta.

∙ Capıtulo 7: discute as contribuicoes e limitacoes do trabalho e apresenta os trabalhos

futuros.

Page 34: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

8 1. Introducao

Page 35: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Capıtulo

2

Revisao Bibliografica

Neste capıtulo sao apresentados os conceitos relevantes que deram subsıdios para o de-

senvolvimento deste trabalho, sendo eles: Desenvolvimento Distribuıdo de Software, pro-

cessos de desenvolvimento, tecnicas de modelagem de processo de software, normas de

referencia, teste de software e engenharia experimental.

2.1 Desenvolvimento Distribuıdo de Software

A crescente globalizacao do ambiente de negocios e da economia, juntamente com o

avanco tecnologico, alta competitividade, aumento do tamanho das equipes, dificuldade

em reunir especialistas e aumento da complexidade do software, tem afetado, diretamente,

o desenvolvimento de software. Em busca de vantagem competitiva, diversas organizacoes

optaram por distribuir o processo de desenvolvimento de software caracterizando o De-

senvolvimento Distribuıdo de Software (DDS) (Huzita et al., 2008).

O DDS pode ser definido como o desenvolvimento de software que utiliza equipes em

varias localizacoes geograficas, com o envolvimento de pessoas de diferentes nacionalidades

e diferentes culturas organizacionais. Segundo Carmel (1999), os projetos de DDS con-

sistem de times trabalhando juntos para atingir objetivos comuns em um mesmo projeto,

porem dispersos geograficamente. Quando a distribuicao desses times atinge dimensoes

globais, o DDS e denominado Desenvolvimento Global de Software (GSD - Global Software

Development).

9

Page 36: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

10 2. Revisao Bibliografica

Em um ambiente de DDS a distribuicao pode assumir algumas configuracoes, de acordo

com a distancia entre as equipes e as organizacoes envolvidas no projeto. Em relacao a

distribuicao geografica das unidades envolvidas em um projeto, quando elas se localizam

em mais de um paıs denomina-se distribuicao offshore, se todas se encontram no mesmo

paıs tem-se a distribuicao onshore. Considerando a relacao estabelecida entre as empresas,

tem-se o outsourcing, cenario em que a empresa delega o controle sobre uma ou mais

atividades para uma empresa externa a quem contratou o servico, e o insourcing, em

que as empresas criam os seus proprios centros de desenvolvimento de software. Dessas

configuracoes de distribuicao surgem quatro modelos de negocios, que sao:

∙ onshore insourcing ou demanda domestica interna: neste modelo de negocio existe

um departamento na propria empresa, ou uma subsidiaria no mesmo paıs (onshore),

que prove servico de desenvolvimento de software, atraves de projetos internos

(insourcing);

∙ onshore outsourcing ou outsourcing : este modelo de negocio indica a contratacao

de uma terceira empresa (outsourcing) para o desenvolvimento de determinados

servicos ou produtos de software para uma empresa. A empresa terceira esta

localizada no mesmo paıs da empresa contratante (onshore);

∙ offshore outsourcing ou offshoring : este modelo de negocio indica contratacao de

uma empresa terceira (outsourcing) para o desenvolvimento de determinados servicos

ou produtos de software, sendo que a empresa terceirizada esta, necessariamente,

localizada em um paıs diferente da contratante (offshore);

∙ offshore insourcing ou internal offshoring : este ultimo modelo de negocio indica a

criacao de uma subsidiaria da propria empresa para prover servicos de desenvolvi-

mento de software (insourcing). Esta subsidiaria esta necessariamente localizada

em um paıs diferente da matriz da empresa, ou empresa contratante (offshore).

Essa configuracao de desenvolvimeto de software, o DDS, acrescentou novos fatores ao

processo, tais como, distancia temporal, dispersao geografica, diferencas socio-culturais,

os quais amplificaram alguns dos desafios existentes na area de engenharia de software e

adicionaram novas demandas que desafiam os processos de comunicacao, coordenacao

e controle dos projetos (Layman et al., 2006). Diversos trabalhos ((Damian, 2002),

(Herbsleb et al., 2000), (Mockus e Herbsleb, 2001), (Sangwan et al., 2006)) descrevem tais

desafios, os quais podem ser relacionados a fatores tecnicos (problemas de conectividade

em rede e diferencas entre os ambientes de desenvolvimento e teste) e nao tecnicos

(confianca, comunicacao, conflitos e cultura).

Page 37: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.2 Processo de Desenvolvimento de Software 11

De acordo com Mockus e Herbsleb (2001) e Damian (2002), os principais desafios

encontrados no DDS estao relacionados as diferencas culturais, dispersoes geograficas,

coordenacao e controle e comunicacao. A diversidade cultural implica dificuldades de

compreensao da linguagem natural utilizada nos documentos de requisitos e a convergencia

entre diferentes interesses (Layman et al., 2006). E as distancias geograficas agravam os

problemas de coordenacao e controle, de forma direta ou indireta, por meio dos efeitos

negativos que causam na comunicacao (Hargreaves e Damian, 2004).

A dispersao geografica dificulta a possibilidade de se estabelecer e manter relaciona-

mentos interpessoais, os quais sao essenciais para a construcao de um espırito de equipe.

Alem disso, enfrentam dificuldades para chegar a um consenso sobre as praticas de

comunicacao e processo de desenvolvimento que devem ser adotados no projeto.

A comunicacao e o fator de mediacao que afeta diretamente a coordenacao e o controle.

Ela representa a troca de informacoes nao ambıguas e completas, isto e, o emissor e o

receptor conseguem chegar a um entendimento comum. Segundo Herbsleb et al. (2000),

a comunicacao informal exerce um papel chave no sucesso das equipes distribuıdas, pois

e considerada o componente essencial de todas as praticas de colaboracao no processo de

desenvolvimento de software. A comunicacao ineficiente pode resultar em um baixo nıvel

de confianca entre as equipes e na perda da visibilidade sobre o andamento dos trabalhos

(Layman et al., 2006).

A coordenacao consiste no ato de integrar cada atividade com cada unidade organiza-

cional. A conducao da integracao, geralmente, requer comunicacao intensa e constante.

O controle e o processo de adesao aos objetivos, polıticas, padroes e nıveis de qualidade.

Mockus e Herbsleb (2001) relatam que as questoes de coordenacao e controle se tornam

um problema quando as equipes distribuıdas utilizam processos diferentes e ressaltam

a necessidade de um processo padrao. A Secao 2.2 descreve os conceitos de processo e

destaca sua importancia.

2.2 Processo de Desenvolvimento de Software

Um processo de software pode ser definido como um conjunto coerente de polıticas, estru-

turas organizacionais, tecnologias, procedimentos e artefatos necessarios para conceber,

desenvolver, implantar e manter um produto de software (Fuggetta, 2000). Envolve uma

serie de etapas constituıdas por um conjunto de atividades, metodos, praticas e tecnologias

que sao utilizadas desde o desenvolvimento ate a manutencao do software e produtos

relacionados.

Page 38: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

12 2. Revisao Bibliografica

Um processo pode ser imaturo e utilizar uma abordagem ad hoc para organizar o

trabalho, ou maduro, sendo caracterizado por um metodo padronizado e documentado,

que ja tenha sido utilizada em projetos similares ou, que seja, habitualmente, adotada em

uma organizacao.

Segundo Berger (2003), o uso de um processo padrao permite aos gerentes de projeto

definir planos em conformidade com os padroes de qualidade e procedimentos da orga-

nizacao. Uma equipe de desenvolvimento que trabalha sem um processo bem definido

acaba funcionando de maneira ad hoc, o que compromete o seu sucesso, criando uma

situacao insustentavel. Por outro lado, organizacoes maduras empregando um processo

bem definido podem desenvolver sistemas complexos de maneira consistente e previsıvel,

independente de quem o produziu (Kruchten, 2003).

Alem disso, o processo deve possibilitar a melhoria da qualidade de servico, de en-

genharia e de projeto; a diminuicao de custos por meio do aumento da previsibilidade

e capacidade de mitigar riscos, bem como a melhoria da eficiencia e produtividade da

organizacao.

2.2.1 Norma ISO/IEC 12207

A norma ISO/IEC 12207 propoe uma arquitetura de alto nıvel para o ciclo de vida de

software por meio da definicao de processos, atividades e tarefas que podem ser aplicadas

na aquisicao, no fornecimento, no desenvolvimento, na operacao e na manutencao de

software. Cada processo e composto por atividades, e cada uma destas possui um grupo

de tarefas associadas.

A ISO/IEC 12207 define 17 processos, os quais estao classificados em: processos

fundamentais, processos de apoio e processos organizacionais. Os processos estabelecidos

pela norma podem ser visualizados na Figura 2.1.

Os processos fundamentais compreendem os processos envolvidos na execucao do

desenvolvimento, operacao e manutencao do software durante o ciclo de vida, alem da

contratacao entre cliente e fornecedor. Os processos de apoio colaboram com o sucesso e

a qualidade do projeto de software. Os processos organizacionais sao empregados por uma

organizacao para estabelecer e implementar uma estrutura constituıda pelos processos do

ciclo de vida e pelo pessoal envolvido no desenvolvimento de software.

Page 39: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.3 Tecnicas de Modelagem de Processo de Software 13

Figura 2.1: Processos da norma ISO/IEC 12207.

2.3 Tecnicas de Modelagem de Processo de Software

O modelo de um processo de software e a representacao formal dos elementos e carac-

terısticas envolvidos neste processo. Segundo Ben-Shaul e Kaiser (1994), um modelo de

processo deve especificar os pre-requisitos e consequencias de cada tarefa, bem como a

sincronizacao entre as mesmas.

A modelagem de um processo de software deve ser conduzida de modo a possibilitar o

entendimento e a padronizacao do processo. Humphrey e Kellner (1989) ressaltam que a

representacao do processo possibilita a comunicacao e o entendimento efetivo do processo,

facilita o reuso, apoia a evolucao, facilita o gerenciamento do processo e e importante na

avaliacao, evolucao e melhoria contınua do processo.

A estrutura de um modelo de processo de software e, geralmente, composta por quatro

elementos:

∙ Ator: representa as entidades que executam um processo ou assumem um papel

durante a execucao de uma tarefa;

∙ Papel: grupo de responsabilidades que executam uma atividade especıfica do pro-

cesso de software;

∙ Artefato: porcao representativa de informacao do produto que resulta de uma

atividade e pode ser utilizado posteriormente como materia-prima para gerar novos

artefatos;

Page 40: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

14 2. Revisao Bibliografica

∙ Atividade: consome artefatos (de entrada) e gera novos artefatos (de saıda).

A modelagem de processos de software iniciou-se com o uso de tecnicas de analise

de sistemas, como a utilizacao de diagramas do paradigma estruturado para representar

o processo. Posteriormente, surgiram as linguagens de modelagem de processos (PML -

Process Modelling Language), que agregam os diversos elementos (ator, papel, artefato e

atividade) utilizados nas formas de modelagem anteriores.

Uma PML e uma descricao computacional, que pode ser formal, semi-formal ou

informal, de um processo externo. Ela expressa os processos de producao do software

na forma de um modelo de processo.

Em 2000, a OMG (Object Management Group) apresentou o UPM (Unified Process

Model) como uma proposta de unificacao entre as diferentes metodologias para modelagem

de processos. A evolucao do UPM deu origem ao SPEM (Software Process Engineering

Metamodel Specification), um metamodelo proposto pela OMG para a descricao de um

processo concreto de desenvolvimento de software ou uma famılia relacionada de processos

de desenvolvimento de software. Sua notacao e baseada na UML e, por este motivo,

oferece para a modelagem de processo os mesmos diagramas que sao usados para modelar

software.

Os principais elementos estruturais do SPEM, para a descricao de um processo, e

seus relacionamentos sao mostrados na Figura 2.2. Um Produto de Trabalho, tambem

chamado de Artefato, e toda informacao produzida, consumida ou modificada por um

processo. Um Tipo de Produto de Trabalho descreve uma categoria para os artefatos. A

Definicao de Trabalho e um tipo de operacao que descreve o trabalho executado em um

processo. Atividade e a principal subclasse da Definicao de Trabalho e descreve uma parte

de trabalho executado por um Papel no Processo. Uma Atividade pode ser constituıda

por um conjunto de elementos atomicos, os Passos. O Executor no Processo define um

executor para um conjunto de Definicoes de Trabalho em um processo e apresenta uma

especializacao chamada Papel no Processo, que define responsabilidades sobre artefatos

especıficos e define os papeis que executam ou auxiliam em atividades especıficas.

Em um processo, as atividades com temas comuns podem ser agrupadas em Disci-

plinas. A OMG define alguns elementos que auxiliam na definicao de como o processo

sera executado. Na Figura 2.3 sao ilustrados os elementos que compoem o ciclo de vida

de um processo.

Sob a perspectiva da execucao, um processo e visto como uma colaboracao entre

papeis para alcancar determinada meta ou objetivo. Para guiar esta execucao, pode-se

considerar as restricoes para ser a ordem em que as atividades devem ser executadas,

chamadas de pre-condicoes. Fase e uma especializacao da Definicao de Trabalho tal que

Page 41: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.3 Tecnicas de Modelagem de Processo de Software 15

Figura 2.2: Elementos estruturais de um processo (OMG, 2005).

Figura 2.3: Ciclo de vida de um processo (OMG, 2005).

sua pre-condicao define os criterios de entrada da fase. Os criterios de saıda da fase

sao suas metas, os chamados milestones. Ciclo de Vida e definido como uma sequencia

de Fases que buscam uma meta especıfica. Iteracao e uma Definicao de Trabalho com

milestones menores.

Alguns elementos do SPEM podem ser representados graficamente por meio de ıcones

(Tabela 2.1), outros existem apenas como metainformacao, nao possuindo uma repre-

sentacao grafica.

Page 42: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

16 2. Revisao Bibliografica

Tabela 2.1: Elementos do SPEM.Estereotipo Descricao NotacaoProduto de Trabalho Descricao de um pedaco de informacao gerada ou con-

sumida pelas atividades do processo, como por exemplo:modelos, planos, codigos executaveis, documentos, entreoutros.

Definicao de Trabalho Descreve a execucao, as operacoes desempenhadas e astransformacoes realizadas, por papeis, em um Produto deTrabalho. Alguns exemplos de Definicao de Trabalho sao:atividade, iteracao, fase e ciclo de vida.

Orientacao Apresenta informacoes adicionais, tais como: templates,tecnicas, procedimentos, padroes e exemplos.

Atividade Descreve ”o que”um Papel executa no Processo.

Papel no Processo Descreve os papeis, responsabilidades e competencias de umindivıduo que realiza Atividades dentro de um Processo.

Executor no Processo Descreve os proprietarios das Definicoes de Trabalho.Sao usados para Definicoes de Trabalho que nao podemassociar-se com os Papeis no Processo, tais como um Ciclode Vida ou uma Fase.

Disciplina Agrupamento de atividades comuns de um processo, comopor exemplo: requisitos, analise, projeto e gerenciamentode configuracao entre outras.

Fase Definicao de Trabalho de alto nıvel, limitada por ummilestone.

Processo Descricao completa do processo, em termos de Executoresdo Processo, Papeis no Processo, Definicoes de Trabalho,Produtos de Trabalho e Orientacoes associadas

Documento Tipo de Produto de Trabalho.

Modelo UML Tipo de Produto de Trabalho

Page 43: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.4 Teste de Software 17

2.4 Teste de Software

O crescimento do uso de software e o aumento de complexidade, tamanho, heterogenei-

dade, autonomia, distribuicao fısica e dinamismo de sistemas computacionais afetam

diretamente a qualidade destes sistemas. Neste cenario, o teste de software adquire cada

vez mais importancia, pois tem como objetivo principal detectar a presenca de defeitos

o mais cedo possıvel, nao somente no codigo-fonte, mas tambem nos documentos de

requisitos e projeto. Visando atingir este objetivo, o teste deve ser planejado e projetado

de modo a definir formas de execucao do programa que tenha uma alta probabilidade de

revelar defeitos no software (Myers, 2001).

Como objetivo secundario o teste fornece uma boa indicacao de confiabilidade e alguns

indıcios da qualidade do software como um todo. A obtencao desta indicacao e possıvel

porque o teste, quando nao detecta a presenca de defeitos, demonstra que as funcoes

do software estao, aparentemente, funcionando de acordo com as especificacoes e que os

requisitos de desempenho foram, aparentemente, cumpridos.

A atividade de testes contribui para o aumento da qualidade do produto final. No

entanto, assim como diversas outras atividades do processo de desenvolvimento de soft-

ware, possui problemas que precisam ser evitados durante a sua realizacao para garantir

o seu sucesso. Mats (2001) destaca os cinco principais problemas associados aos testes

em software, sendo eles:

∙ atrasos no cronograma do projeto, impossibilitando a equipe de completar os testes

planejados devido a reducao de recursos e tempo;

∙ carencia na rastreabilidade de casos e procedimentos de teste entre diferentes versoes

do software, o que dificulta a reutilizacao;

∙ teste manual ou nao-padronizado, resultando em um grande esforco a cada inıcio de

uma nova atividade de teste;

∙ incerteza sobre o que esta sendo testado, devido a falta de definicao dos objetivos e

escopo para as atividades de teste;

∙ ausencia de criterios para a selecao do conjunto de casos e procedimentos de testes.

Segundo Juristo et al. (2004), teste de software e considerada uma das praticas mais

custosas do processo de desenvolvimento e desta forma, necessita um bom gerenciamento

a fim de evitar desperdıcios de recursos e atrasos no cronograma, dentre outras possi-

bilidades. Com isso, a realizacao de testes em software requer recursos adequados, e a

Page 44: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

18 2. Revisao Bibliografica

utilizacao efetiva desses recursos necessita de um bom planejamento e controle (McGregor

e Sykes, 2001).

2.4.1 Conceitos

Essa secao descreve os principais termos e expressoes utilizados na area de teste de

software, sendo eles (Delamaro et al., 2007):

∙ Criterio de teste: metodo ou diretriz que serve para direcionar a atividade de teste

e/ou tomar decisoes relativas ao teste. Um criterio de teste define um conjunto de

condicoes que devem ser utilizadas na atividade de teste;

∙ Sistema em teste (SUT - System Under Test): parte ou todo sistema, subsistema

ou componente em teste, que funciona como uma caixa-preta que somente pode

ser exercitada pela estrutura de teste por meio das operacoes disponıveis em sua

interface publica;

∙ Cenario de teste: colecao de casos de teste reunida com a configuracao de teste. Os

casos de teste sao executados com base no cenario de teste;

∙ Ambiente de teste: descricao do ambiente de hardware e software no qual os testes

sao executados e a descricao de qualquer software com que o sistema em teste

interage quando testado usando dispositivos de teste ou stubs, que sao esqueletos

ou implementacoes com proposito especial de um modulo de software;

∙ Conjunto de teste: colecao de um ou mais casos de teste de um sistema em teste. O

caso de teste e o conjunto de dados de entrada, condicoes de execucao e resultados

esperados elaborados para atingir um objetivo especıfico de teste, tal como exercitar

um fluxo do programa ou verificar a conformidade com um requisito especıfico;

∙ Objetivo de teste: conjunto de caracterısticas de um software a serem medidas em

condicoes especıficas pela comparacao do comportamento atual com o comporta-

mento requerido descrito na documentacao do software;

∙ Dado de teste: dado enviado ao sistema em teste. Frequentemente, corresponde

ao dado de entrada fornecido a interface publica do sistema em teste durante a

execucao do caso de teste;

∙ Oraculo de teste: mecanismo usado para gerar o resultado esperado de um caso de

teste. Este resultado e confrontado com o resultado real obtido pela execucao do

Page 45: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.4 Teste de Software 19

sistema em teste. O resultado observado e o dado que reflete a reacao do sistema em

teste a um dado de teste. Corresponde comumente ao dado de saıda (ou retorno)

de uma funcao em teste presente na interface publica de um sistema.

∙ Laudo de teste: registro da interacao resultante da execucao de um caso de teste.

Esta associado a um veredito que indica o grau de conformidade do sistema em teste

com o objetivo definido por um caso de teste. O veredito e a sentenca conferida ao

sistema em teste indicando a sua corretude ou nao.

Existem varias tecnicas de teste que podem ser utilizadas para a selecao de subcon-

juntos de dados de teste. Cada uma destas tecnicas possui caracterısticas proprias que

tornam sua aplicacao mais indicada a diferentes etapas de teste.

As tecnicas de teste sao agrupadas em classes de tecnicas similares, dependendo de

suas caracterısticas. As principais tecnicas de teste de software sao: teste estrutural, teste

funcional e teste baseado em erros. As aplicacoes dessas tecnicas detectam a presenca de

defeitos de categorias distintas, uma vez que elas contemplam diferentes perspectivas

do software. Deste modo, impoe-se a necessidade de se estabelecer uma estrategia de

teste que contemple as vantagens e os aspectos complementares de cada uma das classes,

levando a uma atividade de teste de boa qualidade, eficaz e de baixo custo.

O teste estrutural ou teste de caixa branca, estabelece os elementos requeridos com

base na implementacao, solicitando a execucao de partes e/ou componentes elementares

do programa. Essa tecnica verifica a estrutura interna do programa.

O teste funcional, conhecido como teste de caixa preta ou teste comportamental,

estabelece os elementos requeridos com base na especificacao, sem se preocupar com

os detalhes da implementacao. Por meio da realizacao do teste funcional, o software

ou o sistema e tratado como uma caixa preta. Ele e executado com determinadas

entradas e suas saıdas sao verificadas em relacao ao comportamento definido por meio da

especificacao de software. O testador deve estar preocupado somente com a funcionalidade

e com caracterısticas do software.

O teste baseado em erros utiliza informacoes sobre os tipos de erros mais frequentes

para derivar os requisitos de teste.

2.4.2 Teste Baseado em Modelos

O Teste Baseado em Modelos (TBM) e uma tecnica de teste funcional que utiliza in-

formacoes sobre o comportamento funcional do software para a realizacao do teste. Esse

Page 46: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

20 2. Revisao Bibliografica

comportamento e descrito por meio de um modelo, denominado modelo comportamental,

o qual e construıdo a partir dos requisitos funcionais do software.

Os modelos comportamentais determinam, basicamente, quais sao as possıveis acoes

durante a execucao de um software e quais sao as saıdas esperadas. Segundo Dalal et

al. (1999), o desenvolvimento de especificacoes na forma de modelos, mesmo se realizado

em fase avancada no processo de software, e um meio efetivo de: descobrir defeitos no

sistema, ja que muitos se tornam visıveis simplesmente pela propria modelagem; definir

rapidamente a base para os cenarios de uso do sistema; e preservar esse investimento para

versoes futuras ou sistemas similares.

Offutt et al. (2003), destacam que a modelagem e um meio muito economico para se

capturar o conhecimento sobre um sistema e depois reutiliza-lo a medida que o sistema

cresce. Um benefıcio em especificar os requisitos do sistema na forma de um modelo

comportamental e usar esse modelo no teste de software e que os casos de teste podem

ser criados no inıcio do processo de desenvolvimento do software e estarem prontos para

execucao antes que o programa esteja completamente implementado. Adicionalmente, o

testador geralmente encontrara inconsistencias e ambiguidades nos modelos quando os

testes forem gerados, permitindo que a especificacao seja melhorada antes do programa

ser escrito.

Nesse contexto, o TBM surge como uma abordagem aplicavel para controlar a quali-

dade do software, assim como reduzir os custos associados ao processo de testes, visto que

casos de teste podem ser gerados a partir da especificacao do software, paralelamente

ao seu desenvolvimento, utilizando procedimentos automaticos que podem ser menos

suscetıveis a erros. Ele pode gerar melhorias nas atividades de teste por meio da simpli-

ficacao do seu planejamento, da semi-automacao de suas atividades, e controle, a partir

da gerencia dos testes e possibilidade de re-execucao automatica apos modificacoes.

Segundo El-Far e Whittaker (2001), as vantagens de utilizar teste baseado em mode-

los sao: comunicacao entre desenvolvedores e testadores; geracao automatica de testes;

atualizacao da suıte de testes. No que se refere a comunicacao, uma vez que existe um

modelo do comportamento da aplicacao, entao este pode ser utilizado como a base de

comunicacao entre testadores e desenvolvedores. Com o modelo do comportamento da

aplicacao, a geracao de casos de teste pode ser facilmente automatizada. E quanto a

atualizacao, uma vez alterado o modelo, facilmente pode ser feita a atualizacao da suıte

de teste. Como desvantagem, os autores destacam a necessidade de conhecimento da

notacao do modelo. O testador deve estar familiarizado com a notacao que sera utilizada,

o que culmina na demanda de tempo e investimento em treinamentos, alem do tempo que

Page 47: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.4 Teste de Software 21

deve ser reservado para a obtencao do modelo. Outra desvantagem e a dependencia da

existencia do modelo, uma vez que toda essa abordagem parte do modelo construıdo.

Utilizando o TBM a especificacao de testes pode ser realizada informalmente atraves

de linguagens naturais associadas ou nao a tabelas de estados ou diagramas de transicoes.

Essas especificacoes informais tendem a ser ambıguas e de difıcil analise. Para conferir

uma maior precisao e confiabilidade foram elaboradas as Tecnicas de Descricao Formal

(TDFs), que possuem um embasamento matematico que assegura a descricao de uma

maneira precisa, a qual pode ser submetida a analise e a validacao das propriedades

requeridas.

De acordo com Mantovan (2006), uma especificacao por meio de uma TDF deve apre-

sentar as seguintes propriedades: ser clara, concisa e sem ambiguidades; ser completa, sem

omitir nenhum detalhe; ser consistente; e, ser tratavel, o que significa que a especificacao

pode ser submetida a analise para verificacao e validacao de suas propriedades.

Na literatura sao encontradas diversas tecnicas de modelagem, formais e semi-formais,

que podem ser utilizadas com o Teste Baseado em Modelos, sendo elas: Maquina de

Estados Finitos, Statecharts, Redes de Petri, SDL, Estelle e UML. Tais tecnicas sao

descritas em ((Mantovan, 2006), (Cartaxo, 2006), (Fantinato, 2002)).

2.4.3 Processo de Teste

A concepcao tradicional do processo de teste, como sendo uma fase final e independente

do processo de desenvolvimento propriamente dito, tem se mostrado bastante ineficiente

devido aos altos custos associados com a correcao de erros encontrados e manutencao do

software. Tal fato contribuiu para a definicao de metodos e tecnicas sistematicas de teste

que fazem do processo de teste, um conjunto de tarefas a parte que pode ser aplicado ao

longo do processo de desenvolvimento (McGregor e Sykes, 2001).

Um processo de testes possui caracterısticas proprias em relacao ao processo de de-

senvolvimento dentro de um projeto de software. A aplicacao de testes desde a concepcao

ate a implantacao do sistema viabiliza a identificacao e correcao de defeitos tao logo eles

sejam percebidos, evitando assim, o acumulo e o provavel encadeamento dos mesmos.

Uma especificacao mal concebida pode originar um sistema com funcionalidades distintas

das esperadas pelo usuario ou, ate mesmo, ausentes. Uma analise mal elaborada pode

resultar numa arquitetura que nao permita atender determinados criterios de qualidade.

Um projeto mal construıdo pode comprometer a evolucao do software. Uma codificacao

mal feita pode ocasionar falhas de execucao. Tais problemas revelam a necessidade de

Page 48: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

22 2. Revisao Bibliografica

disciplina na conducao de testes de um software a fim de identificar, tao cedo quanto

possıvel, os defeitos nele existentes.

Em (Crespo et al., 2004) e ressaltada a necessidade de se utilizar uma metodologia

que possibilite a interacao das atividades de teste a partir do inıcio das especificacoes e

que se estenda durante a construcao do software ate a entrega do sistema. Com isso, e

possıvel obter melhorias drasticas na eficacia e eficiencia dos testes e, consequentemente,

aumentar a qualidade do software.

De acordo com McGregor e Sykes (2001), um processo de teste deve responder as

seguintes questoes:

∙ Quais partes do software serao testadas? Todos os componentes do software serao

testados ou somente partes crıticas e de alto risco?

∙ Como os testes serao realizados? Quais os criterios e tecnicas para realizacao dos

testes?

∙ Quem realizara os testes? Quem sera responsavel pelo planejamento dos testes? E

pela execucao dos testes?

∙ Quando os testes serao realizados? Em que momento do processo de desenvolvi-

mento os testes serao executados?

∙ Onde os testes serao realizados? Em qual ambiente e qual a configuracao do

ambiente os testes ocorrerao?

∙ Qual a quantidade de testes adequada? Como decidir o que testar e quando finalizar

os testes considerando os recursos limitados para a atividade?

O processo de teste deve basear-se em uma metodologia aderente ao processo de

desenvolvimento, em pessoal tecnico qualificado, em ambiente e ferramentas (McGregor

e Sykes, 2001).

O aperfeicoamento das atividades de teste, em termos de maior automacao, melhor

integracao e aproveitamento das praticas de desenvolvimento de software, deve contribuir

nao apenas para a melhoria da qualidade dos produtos, mas tambem para propiciar

condicoes que garantam que as organizacoes melhorem seus processos e os instanciem

de forma correta.

Page 49: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.4 Teste de Software 23

2.4.4 Norma IEEE 829-1998

Independentemente do processo de software utilizado durante o desenvolvimento, existem

artefatos diretamente relacionados a atividade de teste. A norma IEEE 829 [IEEE829-98]

agrupa diversas solucoes, apresenta algumas boas praticas na area e tem como proposta

descrever um conjunto basico de documentos de teste de software. Na norma sao definidos

oito documentos, sendo eles (Crespo et al., 2004):

∙ Plano de Teste: apresenta o planejamento para execucao do teste, incluindo a

abrangencia, abordagem, recursos e cronograma das atividades de teste. Identifica

os itens e as funcionalidades a serem testadas, as tarefas a serem realizadas e os

riscos associados com a atividade de teste;

∙ Especificacao de Projeto de Teste: refina a abordagem apresentada no Plano de

Teste e identifica as funcionalidades e caracterısticas a serem testadas pelo projeto

e por seus testes associados. Este documento tambem identifica os casos e os

procedimentos de teste, se existirem, e apresenta os criterios de aprovacao;

∙ Especificacao de Caso de Teste: define os casos de teste, incluindo dados de entrada,

resultados esperados, acoes e condicoes gerais para a execucao do teste;

∙ Especificacao de Procedimento de Teste: especifica os passos para executar um

conjunto de casos de teste;

∙ Diario de Teste: apresenta registros cronologicos dos detalhes relevantes relacionados

a execucao dos testes;

∙ Relatorio de Incidente de Teste: registra qualquer evento que ocorra durante a

atividade de teste e que requeira analise posterior;

∙ Relatorio-Resumo de Teste: sumariza os resultados das atividades de teste associa-

das com uma ou mais especificacoes de projeto de teste e prove avaliacoes baseadas

nesses resultados;

∙ Relatorio de Encaminhamento de Item de Teste: identifica os itens encaminhados

para teste no caso de equipes distintas serem responsaveis pelas tarefas de desen-

volvimento e de teste.

Page 50: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

24 2. Revisao Bibliografica

2.4.5 Metodologia TOTEM (Testing of Object-Oriented Software

SysTEms with the UML)

A metologia TOTEM tem por objetivo apoiar a derivacao dos requisitos de teste funcionais

a partir de artefatos UML. Os artefatos utilizados sao: diagramas e descricoes de casos

de uso, diagramas de interacao e diagramas de classe. Na Figura 2.4 e apresentado o

diagrama de atividades da metologia TOTEM.

Figura 2.4: Diagrama de atividades dos passos da metologia TOTEM (Briand e Labiche,2001).

No passo 1 os artefatos sao verificados para garantir que estes sao testaveis. Apos

essa verificacao, os requisitos de teste sao derivados a partir dos artefatos especificados,

percorrendo os passos de 2 a 5. No passo 6 os requisitos sao fundidos em um unico

conjunto de requisitos de teste, gerando o plano de teste. Por fim, sao executados os

passos 7 e 8 em que sao derivados os casos de teste e os codigos para os oraculos. Para

a geracao dos requisitos de teste sao utilizados os passos 2, 3 e 5, os quais sao descritos

como segue (Briand e Labiche, 2001):

∙ Derivacao das sequencias de casos de uso: os casos de uso possuem restricoes

e dependencias em relacao a sua execucao, o que significa que eles devem ser

executados em uma determinada ordem. A ordem de execucao e as dependencias

Page 51: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.4 Teste de Software 25

dos casos de uso podem ser visualizadas atraves do diagrama de atividades e da

descricao estendida do caso de uso. Para obter a sequencia dos casos de uso basta

percorrer os caminhos do diagrama de atividades.

∙ Derivacao dos requisitos de teste a partir do diagrama de sequencia: O diagrama

de sequencia e reescrito como uma expressao regular e as condicoes para que um

determinado caminho no diagrama de sequencia seja habilitado sao escritas em OCL

(Object Constraint Language). Essas condicoes sao obtidas a partir das condicoes

associadas aos caminhos do diagrama de sequencia. Em seguida, devem ser identi-

ficadas as sequencias das operacoes que serao executadas

∙ Derivacao das sequencias variantes: a partir das sequencias de casos de uso sao

geradas as sequencias variantes. Uma sequencia variante corresponde a um conjunto

de condicoes que devem ser satisfeitas para que cada sequencia do caso de uso possa

ser testada.

2.4.6 Perfil UML2.0 de Teste

A linguagem UML se desenvolveu como foco principalmente na definicao da estrutura de

sistemas e de seu comportamento. No entanto, com a evolucao de abordagens baseadas

em modelos, por exemplo arquitetura dirigida a modelos (MDA), surgiu a necessidade

de integracao de atividades de teste de conformidade. Essa integracao deveria permitir a

especificacao de modelos que capturassem as informacoes necessarias para realizar testes

do tipo caixa-preta em implementacoes do sistema.

Para integrar a atividade de teste e modelos de sistema, foi desenvolvido pela OMG o

Perfil UML 2.0 de Testes (U2TP - UML 2.0 Testing Profile), que define uma linguagem

para projetar, visualizar, especificar, analisar, construir e documentar os artefatos de teste

de sistemas (OMG, 2004).

O U2TP e uma linguagem de modelagem de testes que pode ser usada com tecnologias

de componentes e linguagens orientadas a objeto, aplicadas em diversos domınios de

aplicacao. Em sua concepcao foram utilizados dois princıpios de projeto: Integracao com

UML e Reuso.

A integracao com a UML refere-se ao fato de o perfil ser baseado no meta-modelo

UML, desse modo usa os mesmos princıpios e elementos dessa linguagem. O reuso esta

relacionado ao uso, onde possıvel, dos conceitos e elementos ja presentes em UML.

O perfil foi projetado para apoiar o teste de implementacoes de sistema de maneira efi-

ciente e tao automatizada quanto possıvel, tendo como foco o teste funcional caixa-preta.

Page 52: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

26 2. Revisao Bibliografica

O sistema sob teste (SUT) nao e especificado como parte dos diagramas descritos usando

U2TP: os elementos sao importados a partir do modelo completo. O SUT e acessado a

partir de suas interfaces publicas. No entanto, se o modelo de sistema define e oferece

acesso a interfaces de subsistemas e componentes internos, esses tambem podem ser

acessados em um teste: cada componente pode ser considerado um SUT menor, de escopo

mais restrito, o que possibilita a descricao usando U2TP de testes em todos os nıveis.

U2TP define apenas uma linguagem, e nao um metodo. Deste modo, os usuarios do

perfil ficam livres para definir metodologias proprias, adaptadas as suas necessidades e

domınios de aplicacao.

O perfil e organizado em diferentes grupos de conceitos. Cada um desses grupos

oferece elementos e relacoes a serem usadas na descricao de uma atividade de testes. A

arquitetura do Perfil UML 2.0 de Testes encontra-se estruturada em quatro grupos de

conceitos, sao eles: Arquitetura de Teste, Comportamento de Teste, Dados de Teste e

Temporizacao de Teste.

O grupo Arquitetura de Teste define os conceitos necessarios para descrever os com-

ponentes usados em uma atividade de teste e o relacionamento entre eles. Centra-se nos

aspectos estaticos usados durante a verificacao de um sistema, como a identificacao do

sistema sob testes (SUT), que prove operacoes atraves de interfaces publicas acessadas por

componentes de teste (test components), agrupados em contextos de teste (test contexts).

Define tambem um arbitro (arbiter), que determina o veredito final do teste, e um

escalonador (scheduler), que e responsavel por controlar a execucao. Os elementos UML

deste grupo sao representados na Figura 2.5 e descritos como segue:

Figura 2.5: Arquitetura de Teste (OMG, 2004).

Page 53: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.4 Teste de Software 27

∙ System under test (SUT): O sistema sob testes e ativado atraves de um conjunto de

interfaces publicas que expoe suas funcionalidades. Essas interfaces sao importadas a

partir do modelo completo do sistema. Como os componentes de teste se comunicam

com o alvo apenas atraves delas, nao existem outras maneiras de obter informacao do

SUT, caracterizando um teste tipo caixa-preta. Um SUT pode se apresentar atraves

de diferentes nıveis de abstracao, como um sistema completo, um subsistema ou,

ainda, um conjunto de componentes, como classes. A granularidade do SUT define

o nıvel de teste (unitario ou de integracao).

∙ Test Component : representa a implementacao de um caso de teste, e normalmente

uma classe que interage com o SUT ou com outros componentes. Ele executa

uma sequencia de acoes na forma de estımulos, ativando funcionalidades do alvo, e

de observacoes, recuperando informacoes. O componente pode realizar validacoes,

verificando os dados recebidos do SUT e atualizando o veredito do teste, bem como

registrar informacoes em logs.

∙ Arbiter : interface cuja implementacao tem como proposito determinar o veredito

final para o teste. Cada componente de teste informa a um arbitro central os seus

vereditos locais. O arbitro central determina a polıtica para o veredito final: por

exemplo, indicar o teste inteiro como falho se uma certa percentagem dos casos de

teste nao terminar com sucesso.

∙ Scheduler : interface cuja implementacao controla a execucao dos diferentes com-

ponentes de teste. Ele realiza a criacao e destruicao dos componentes, inicia sua

execucao e interage com o arbitro para informar o momento de calcular o veredito

final do teste.

∙ Test Context : estrutura usada para agrupar componentes de teste. Ela e uma classe

associada a um conjunto de componentes de teste, a uma instancia de arbitro, uma

instancia do SUT e uma instancia de um escalonador. Sua implementacao pode ser

tanto codigo executavel como scripts. Este elemento foi projetado para ser gerado

automaticamente por ferramentas, usando as descricoes dos demais elementos.

O segundo grupo, Comportamento de Teste, define os conceitos relacionados aos

aspectos dinamicos dos procedimentos, tais como: invocacao de acoes, determinacao de

vereditos e registros (logs). Neste grupo ha, tambem, elementos que associam casos de

uso a casos de teste. A Figura 2.6 ilustra os elementos deste grupo, os quais sao definidos

como segue:

Page 54: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

28 2. Revisao Bibliografica

Figura 2.6: Comportamento de teste (OMG, 2004).

∙ Veredict : enumeracao que contem ao menos os valores fail, inconclusive, pass e error,

que indicam o resultado da execucao de um teste. O valor pass indica que o SUT se

comportou como o previsto. Fail, por outro lado, indica que o comportamento do

SUT nao foi o esperado. Se a execucao do teste nao pode determinar um resultado,

o valor inconclusive e usado. O veredito error e usado para indicar que o sistema

de teste teve problemas.

∙ Validation Action: acao executada durante um teste que informa um resultado local

ao arbitro central.

∙ Default : artifıcio usado para simplificar os modelos de teste, permitindo construir

definicoes parciais de componentes de teste de maneira compacta. Uma especificacao

default, que pode ser apresentada como diagramas de sequencia ou de estado,

indica qual acao o sistema de teste deve tomar quando o SUT nao se comporta da

maneira esperada. Como essas especificacoes podem ser referenciadas por diferentes

componentes, os modelos se tornam mais compactos.

∙ Test Log : componente atraves do qual os contextos de teste podem criar rastros

de execucao e indicar informacoes de interesse. Esses registros tornam-se parte da

especificacao do sistema de teste.

O terceiro grupo de conceitos e o de Dados de Teste, que define a sintaxe e semantica

dos dados usados como entrada e saıda dos procedimentos de teste. Dados explıcitos e

classes de equivalencia formam conjuntos de dados (data sets); essas classes de equivalencia

especificam regras para formacao de dados de entrada ou saıda. Valores coringas (wild-

cards), em adicao aos ja presentes em UML padrao, sao oferecidos. Os elementos seletores

de dados (data selectors) sao usados para facilitar a criacao de estrategias de teste. Os

elementos que compoe este grupo sao mostrados na Figura 2.7 e uma breve descricao e

apresentada:

Page 55: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.4 Teste de Software 29

Figura 2.7: Dados de teste (OMG, 2004).

∙ Wildcards : valores literais usados para especificar de forma relaxada um dado

fornecido a um SUT ou recebido dele durante um teste.

∙ Data Partition: estabelece uma classe de equivalencia para valores a serem forneci-

dos a um SUT ou recebidos durante um teste. E usada como uma forma de

diferenciar, visivelmente, os dados, atribuindo a eles nomes como, por exemplo,

NumerosCPFValidos.

∙ Data Pool : mecanismo usado para associar conjuntos de dados a contextos de teste.

E uma classe que contem particoes de dados ou valores explıcitos e uma associacao

a um contexto de teste.

∙ Data Selector : operacoes que definem as estrategias usadas pelo sistema de teste

para fornecer e verificar os dados de entrada e saıda do SUT. Sao associados a uma

particao ou repositorio de dados.

∙ Coding Rules : strings usadas para referenciar padroes de codificacao e de protocolos

de transmissao de dados externos ao perfil de teste, como CORBA ou XML.

O grupo Temporizacao de Teste apresenta os conceitos de tempo usados para sin-

cronizacao entre sistemas e para verificacao de desempenho. Temporizadores (timers) sao

definidos, permitindo especificar limites de tempo para operacoes em um caso de teste.

O conceito de fuso horario (timezones) agrupa componentes de teste sob uma mesma

percepcao de tempo. Na Figura 2.8 sao representados os elementos UML deste grupo.

Page 56: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

30 2. Revisao Bibliografica

Figura 2.8: Temporizacao de teste (OMG, 2004).

O Perfil UML 2.0 de Testes possibilita projetar e descrever atividades de verificacao

e validacao de sistemas em uma linguagem padronizada, desenvolvida com foco em abor-

dagens MDA e em automacao.

2.5 Engenharia Experimental

No contexto da engenharia de software, os estudos empıricos tem adquirido importancia

ao longo do tempo. Eles podem ser definidos com uma forma de se obter informacoes

sobre um objeto de pesquisa. Desse modo, auxiliam na construcaao de conhecimento

com base em observacoes e evidencias empıricas. Parte da comunidade de pesquisa esta

voltando suas atencoes para um conjunto de tecnicas agregadas sobre a denominacao de

Engenharia de Software Experimental (Basili, 2006).

A Engenharia de Software Experimental tem como objetivo apontar indıcios sobre

hipoteses levantadas a respeito de determinados artefatos gerados durante o desenvolvi-

mento de software.

Um experimento e um tipo de estudo empırico realizado em um ambiente controlado,

passıvel de observacao e onde as hipoteses podem ser analisadas. Essa forma de estudo

esta focada em variaveis especıficas com um potencial estatıstico significativo, sendo a

forma mais efetiva para provisao de evidencia empırica e refinamento de conhecimento. Os

resultados obtidos sao analisados para identificar variaveis chaves e o relacionamento entre

elas. Essa analise pode ser apoiada por habilidade humana, experiencias, conhecimento

de domınio entre outros.

Page 57: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

2.6 Consideracoes Finais 31

A realizacao de experimentos tem por objetivo avaliar, caracterizar, prever, controlar

e melhorar produtos, processos, recursos, modelos, teorias entre outros. Alem disso,

presume um relacionamento de causa e efeito . Um experimento e desdobrado em diversas

atividades, as quais possuem complexidade variavel.

Segundo (Wohlin et al., 2000), a experimentacao caracteriza-se por um processo que

tem um inıcio a partir da Definicao do experimento passando pelo Planejamento, Ex-

ecucao, Analise e Interpretacao, Apresentacao e Empacotamento.

Na fase de Definicao, o experimento e definido em termos dos objetivos e metas

do estudo. Desse modo, devem ser respondidas questoes relacionadas ao objeto do

estudo (o que sera estudado), proposito (intencao do estudo), foco de qualidade (aspecto

de qualidade a ser estudado), perspectiva (ponto de vista em que os resultados serao

interpretados) e contexto (ambiente no qual o experimento sera realizado).

A etapa Planejamento prepara como o estudo experimental sera conduzido, atraves

da definicao dos seguintes elementos: contexto, hipoteses, variaveis, participantes e pro-

jeto experimental, contendo instrumentacao e avaliacao da validade.

Apos o planejamento do estudo, tem-se a Execucao do mesmo com o proposito de se

coletar os dados para serem analisados. Essa etapa deve haver uma monitoracao por parte

do pesquisador para ter certeza que tudo seja feito de acordo com o planejado, qualquer

vies nessa etapa pode afetar a validade do estudo.

Na fase de Analise e Interpretacao as hipoteses elaboradas sao comparadas com os

dados obtidos atraves de ferramentas estatısticas adequadas. Os resultados gerados nesta

fase sao usados pelo experimentador na tentativa de rejeitar a hipotese nula e confirmar

a hipotese alternativa.

A etapa de Apresentacao e Empacotamento os resultados obtidos com o experi-

mento sao apresentados e empacotados, atraves de documentatacao (artigos de pesquisa),

ou ainda compondo uma base de conhecimento.

No planejamento de experimentos e importante considerar a necessidade de replicacao

ou complementacao do estudo a fim de ampliar a base de dados, a credibilidade e o

ındice de confiabilidade. A fase de apresentacao e empacotamento oferece suporte para a

replicacao, oportunidades de variacao e combinacao de resultados.

2.6 Consideracoes Finais

Os conceitos e tecnicas apresentados neste capıtulo oferecem o embasamento necessario

para a contextualizacao, fundamentacao e conducao de estudos experimentais deste tra-

balho.

Page 58: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

32 2. Revisao Bibliografica

O Capıtulo 3 discute os trabalhos relacionados e sua relevancia para o desenvolvi-

mento da Abordagem Integrada de Desenvolvimento e Teste de Software para Equipes

Distribuıdas.

Page 59: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Capıtulo

3

Trabalhos Relacionados

Este capıtulo apresenta os processos de desenvolvimento e teste de software que nortearam

o desenvolvimento deste trabalho e uma analise comparativa entre os mesmos.

3.1 Processos de Desenvolvimento de Software

Esta secao apresenta, sucintamente, os processos de desenvolvimento, identificando suas

atividades, artefatos e papeis, sendo eles: RUP (secao 3.1.1), eXtreme Programming (secao

3.1.2), Agile Unified Process (secao 3.1.3), Extended Workbench Model (secao 3.1.4) e Local

Agile Game-based Process (secao 3.1.5).

3.1.1 Rational Unified Process (RUP)

O RUP e um processo de desenvolvimento de software iterativo, incremental e adaptavel,

podendo ser customizado para diversos tipos e tamanhos de produtos e projetos de

software. Identifica cada ciclo de desenvolvimento do projeto em quatro fases, cada uma

com marcos de finalizacao definidos, os chamados milestones (Kruchten, 2003).

Os milestones indicam o progresso do projeto e sao usados como base para decisoes

para continuar, cancelar, ou mudar o rumo do projeto. O RUP apresenta quatro fases:

inıcio, que tem por objetivo determinar o escopo do desenvolvimento; elaboracao, que

refere-se ao planejamento das atividades e recursos necessario; construcao, relacionada a

implementacao do software; e transicao, que tem por objetivo disponibilizar o produto.

33

Page 60: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

34 3. Trabalhos Relacionados

O RUP estrutura o projeto fazendo uma divisao bem definida de atividades (tarefas

e papeis) e apresenta uma colecao de artefatos, nos quais a comunicacao se baseia. O

processo e dividido em nove disciplinas: Gerencia de Projetos, Modelagem de Negocios,

Requisitos, Analise e Projeto, Implementacao, Teste, Instalacao, Configuracao e Controle

de Mudancas e Ambiente.

A disciplina de Gerencia de Projetos, desempenhada pelo Gerente de Configuracao e

Engenheiro de Processo, oferece suporte para equilibrar as metas em termos de custos e

prazos e gerenciar o risco para a entrega de um produto que satisfaca as necessidades do

cliente. A Modelagem de Negocio visa entender a estrutura e a dinamica da organizacao

na qual o software sera inserido e envolve os papeis de Analista de Processos de Negocios,

Projetista de Negocio e Revisor de Negocios.

Na disciplina de Requisitos as necessidades do sistema sao traduzidas na forma de casos

de uso, e os papeis envolvidos sao: Analista de Sistema, Especificador de Caso de Uso e

Projetista de Interface do Usuario. A Analise e Projeto e responsavel pela especificacao

da forma de implementacao dos requisitos, sendo desempenhada pelos papeis de Arquiteto

e Projetista.

A implementacao das classes e objetos na forma de componentes ocorre na disciplina

Implementacao, que e realizada pelos papeis de Implementador, Arquiteto e Revisor de

Codigo. A disciplina de Teste, desempenhada pelos papeis Projetista de Teste e Testador,

e responsavel por testar e verificar se o produto funciona como o esperado, documentando

falhas e problemas.

A disciplina Configuracao e Controle de Mudancas envolve o Gerente de Configuracao

e o Gerente de Controle de Mudancas e concentra-se na garantia da rastreabilidade das

versoes de um projeto. O suporte adequado a organizacao do projeto em ferramentas,

metodos e processos e provido pela disciplina Ambiente, que conta com os papeis de

Engenheiro de Processo, Escritor Tecnico, Analista de Sistema, Analista do Processo Em-

presarial, Projetista de Interface do Usuario, Projetista de Teste, Arquiteto, Especialista

de Ferramenta e Administrador de Sistema. Por fim, tem-se a disciplina de Distribuicao

que tem por objetivo distribuir, instalar, testar em campo e treinar os usuarios. Os

papeis envolvidos sao o Gerente de Distribuicao, Gerente de Projeto, Escritor Tecnico,

Desenvolvedor de Curso, Artista Grafico, Testador e Implementador.

3.1.2 eXtreme Programming (XP)

O XP e uma metodologia de desenvolvimento agil, com iteracoes curtas, que objetiva

tornar o projeto flexıvel, diminuindo o custo a possıveis mudancas e utiliza o codigo

Page 61: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.1 Processos de Desenvolvimento de Software 35

gerado como um indicador de progresso do projeto. A metodologia XP e baseada em

quatro valores: comunicacao, simplicidade, feedback e coragem.

A comunicacao e o valor mais importante, pois a maioria dos problemas que ocorrem

nos projetos tem sua causa associada a falhas na comunicacao. Utilizando o XP espera-se

que a comunicacao seja qualitativamente alta e frequente. Os clientes comunicam requisi-

tos funcionais atraves de estorietas escritas que sao usados para guiar o desenvolvimento.

A comunicacao entre os desenvolvedores ocorre sempre que necessario e, diariamente, sao

realizadas reunioes que alinham a equipe ao andamento global do projeto.

O valor simplicidade refere-se ao fato de que os desenvolvedores devem objetivar a

construcao do sistema mais simples possıvel, que realize de forma eficaz o trabalho a que

se propoe. E, conforme novos requisitos sao adicionados no sistema, este e modificado o

quanto for necessario, mas o mınimo possıvel, implementando apenas o que e necessario

e realmente importa ser construıdo.

O feedback no XP ocorre em diversos aspectos na organizacao do trabalho. A

integracao constante do sistema fornece aos desenvolvedores informacao imediata sobre o

estado do sistema e cada execucao de testes oferece aos desenvolvedores feedback imediato

em relacao a possıveis inconsistencias no codigo. Obter o feedback mais cedo significa ter

mais tempo disponıvel para reagir.

O valor coragem passa pela mudanca de paradigma necessaria para adocao de uma

metodologia agil, mas atinge tambem o processo em todos os nıveis e tarefas. Significa

tomar as decisoes na hora em que elas precisam ser tomadas. Seguindo esse valor, se uma

funcionalidade nao esta funcionando, conserte-a. Se algum codigo nao parece estar bem

escrito, refatore-o.

O ciclo da metodologia XP e composto pelas seguintes etapas:

1. Exploracao: nessa etapa o cliente escreve cartoes de estorias, cada um contendo

uma funcionalidade desejada para o primeiro release.

2. Planejamento: definicao de prioridades entre as estorias junto com o cliente. Nesta

etapa e realizada a estimativa de esforco e o cronograma para cada uma das estorias

elaboradas anteriormente.

3. Iteracoes para Release: sao realizadas diversas iteracoes ate o primeiro release

ser completado. A primeira iteracao consiste na criacao do sistema com toda a

arquitetura, nas iteracoes seguintes sao adicionadas as funcionalidades de acordo

com as prioridades estabelecidas.

Page 62: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

36 3. Trabalhos Relacionados

4. Validacao para Producao: esta etapa compreende a realizacao de testes extensivos

e verificacoes para validacao do software.

5. Manutencao: apos o primeiro release para producao, ha novas edicoes do sistema

com novas funcionalidades.

6. Morte: quando nao ha mais estorias a serem implementadas e o cliente esta satisfeito

com o codigo.

3.1.3 Agile Unified Process (AUP)

O AUP e uma versao simplificada do RUP, que utiliza tecnicas e conceitos de metodos

ageis para descrever de uma maneira simples e facil de compreender o desenvolvimento

de software.

No AUP sao realizadas sete disciplinas: Modelo, Implementacao, Teste, Implantacao,

Gerenciamento de Configuracao e Gerenciamento de Projetos. A disciplina Modelo com-

preende o ramo em que se insere a organizacao, o problema para o qual o software esta

sendo desenvolvido e a identificacao da solucao para resolve-lo. Na disciplina Imple-

mentacao os modelos sao tranformados em codigos executaveis.

O Teste e uma disciplina em que e realizada uma avaliacao objetiva com o intuito

de assegurar a qualidade, encontrar defeitos, validar se o sistema faz o que se propoe

e verificar se os requisitos sao atendidos. A Implantacao e responsavel pela entrega do

sistema.

Na disciplina Gerenciamento de Configuracao e realizado o gerenciamento do acesso

a todos os artefatos do projeto, incluindo o rastreamento das varias versoes, controle

e gerencia das alteracoes. A disciplina Gerenciamento de Projetos e responsavel por

direcionar as atividades que ocorrem no projeto, por exemplo: gestao de risco e gestao

de recursos humanos. E, Ambiente e a disciplina que objetiva assegurar que os processos,

a direcao do projeto e as ferramentas utilizadas estao acessıveis a toda a equipe de

desenvolvimento.

3.1.4 Extended Workbench Model

O Extended Workbench Model tem sido amplamente utilizado na Siemens. Nessa abor-

dagem ha uma pequena equipe central que realiza o planejamento do projeto, defininindo

os papeis e responsabilidades dos times remotos, e as atividades no inıcio de cada fase,

por exemplo, analise de requisitos, projeto de arquitetura e plano de projeto. As equipes

distribuıdas sao responsaveis pelas atividades de desenvolvimento e teste (Paulish, 2007).

Page 63: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.2 Analise Comparativa dos Processos de Desenvolvimento 37

Segundo Avritzer et al. (2007) no Extended Workbench Model tem-se como praticas

gerenciamento centralizado, desenvolvimento iterativo, diminuicao da comunicacao entre

times e especificacao formal dos requisitos. Com isso, os requisitos do sistema, arquitetura

e testes do sistema sao executados de modo centralizado, utilizando ciclos de iteracoes

curtos (cerca de 15 dias), a comunicacao entre os times e gerenciada pela equipe central e,

com o intuito de minimizar a comunicacao entre os times remotos realiza-se a especificacao

dos requisitos utilizando metodos formais.

O time central e responsavel por desempenhar os papeis de Engenheiro de Requisitos,

Arquiteto, Engenheiro de Integracao, Gerente de Infraestrutura e Administrador da ferra-

menta de colaboracao. As equipes remotas desempenham os papeis de Desenvolvedores,

Lıderes de Testes, Engenheiros de Requisitos, Arquiteto de Sistemas, Gerente de Quali-

dade, Gerente de Infraestrutura e Engenheiro de Processo e Documentacao (Urdangarim,

2008).

3.1.5 Local Agile Game-based Process (LAGPRO)

O LAGPRO e um processo para ser utilizado por equipes locais para reforcar a coor-

denacao e motivacao em um contexto de desenvolvimento distribuıdo de software. E um

processo iterativo, em que cada iteracao e dividida em fases, as quais tem duracao de duas

semanas.

A estrutura e os princıpios gerais do LAGPRO sao baseados no AUP, simplificando

suas disciplinas e fases. A disciplina Model, foi esbocada utilizando a construcao de

modelos simplificados no inıcio de cada nova iteracao e de modelos de revisoes ao final de

cada iteracao. A metodologia Test-Driven Development (TDD) foi utilizada na disciplina

implementacao, onde os times de testes definiam os testes unitarios automatizados e os

times de desenvolvimento implementavam as regras de negocio (Ribeiro et al., 2006).

O LAGPRO buscou introduzir motivacao em equipes utilizando elementos de jogos e

competicao. Segundo Ribeiro et al. (2006), as tentativas de execucao do processo falharam

devido a rejeicao por parte dos membros do time com relacao a caracterıstica competitiva.

3.2 Analise Comparativa dos Processos de Desenvolvi-

mento

Os processos RUP e XP foram escolhidos por serem amplamente utilizados, quer na

academia como na industria, sendo uma metodologia tradicional e uma agil, respectiva-

Page 64: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

38 3. Trabalhos Relacionados

mente. Em (Rocha et al., 2008) e apresentado um relato de experiencia sobre a adaptacao

do RUP para pequenas equipes de desenvolvimento distribuıdo. O AUP foi selecionado

por ser uma simplificacao do RUP que utiliza conceitos de metodos ageis. E os demais,

o Extended Workbench Model e o LAGPRO, por serem utilizados no contexto de DDS,

conforme pode ser visto em (Ribeiro et al., 2006), (Paulish, 2007) e (Urdangarim, 2008).

A seguir sera apresentada a comparacao entre os processos de desenvolvimento de

software mencionados acima. Para tanto, foi identificado um conjunto de criterios de

comparacao baseando-se nas caracterısticas de desenvolvimento distribuıdo de software

identificadas em (Urdangarim, 2008) (criterios de A - G), nos elementos basicos de um

processo de software (criterios de H - J) e no tipo de metodologia (criterio K e L). Os

criterios a serem utilizados na comparacao visando identificar qual dos processos melhor

atende as necessidades dos projetos DDS, sao:

∙ (A) Diversidade: Identifica se o processo analisado oferece mecanismos para con-

trole, coordenacao e comunicacao das diferencas (cultural e idioma) entre as equipes

envolvidas no projeto.

∙ (B) Requisitos: Caracteriza se o processo analisado trata a especificacao formal

dos requisitos, que tem por objetivo amenizar os problemas de ambiguidades nos

artefatos e com isso, minimizar a comunicacao.

∙ (C) Centralizado: Identifica se o processo analisado apresenta uma centralizacao do

controle das atividades do projeto.

∙ (D) Descentralizado: Identifica se o processo analisado e caracterizado pela descen-

tralizacao do controle das atividades do projeto.

∙ (E) Acompanhamento: Identifica se o processo caracteriza-se por acompanhar,

periodicamente, a evolucao dos trabalhos dos times remotos.

∙ (F) Colaboracao: Caracteriza se o processo permite o uso de ferramentas de cola-

boracao entre os times como meio de compartilhamento de informacoes.

∙ (G) Confianca: Identifica se o processo e capaz de promover confianca entre os

membros dos diferentes times. A confianca pode ser alcancada oferecendo visibili-

dade adequada do projeto, por meio da divulgacao das informacoes e por meio de

mecanismos de percepcao.

∙ (H) Papeis: Identifica se o processo possui uma organizacao rıgida na definicao dos

papeis a serem desempenhados.

Page 65: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.2 Analise Comparativa dos Processos de Desenvolvimento 39

∙ (I) Artefatos: Identifica se o processo apresenta a definicao dos artefatos requeridos

e gerados em cada fase.

∙ (J) Atividades: Identifica se o processo define as atividades que devem ser realizadas

em cada fase.

∙ (K) Metodologia tradicional: Caracteriza se o processo apresenta o enfoque de uma

metodologia tradicional de desenvolvimento de software.

∙ (L) Metodologia agil: Caracteriza se o processo apresenta o enfoque de metodologia

agil.

Segundo Urdangarim (2008), definir os criterios de analise e uma atividade que requer

um consideravel esforco intelectual e que, geralmente, da margem para questionamentos

que podem ir alem do escopo do trabalho em questao. Desse modo, com os criterios

expostos nao se espera esgotar as perspectivas de comparacao dos processos.

Na Tabela 3.1 os processos selecionados e descritos na Secao 3.1 sao comparados em

relacao aos criterios mencionados acima, cuja analise encontra-se na sequencia.

Tabela 3.1: Analise Comparativa dos ProcessosProcesso/Criterios A B C D E F G H I J K LRUP x x x x xXP x x x x x x x xAUP x x x x xExtended WorkbenchModel x x x x x x xLAGPRO x x x x x x x x x

Analisando a Tabela 3.1 acima, e possıvel observar que nenhum dos processos atende

todas as necessidades dos projetos desenvolvidos com equipes geograficamente distribuıdas.

Nao ha um processo que contemple os criterios relacionados ao DDS (criterios de

A - G) e apresente os elementos basicos (papeis, artefato e atividades). Desse modo,

percebe-se a inexistencia de um processo sistematico que contemple as caracterısticas

dessa nova configuracao de desenvolvimento. Para tanto, devem ser definidos as ativi-

dades, os artefatos e os papeis necessarios em cada etapa do desenvolvimento utilizando

a abordagem distribuıda.

O RUP, o XP e o AUP definem o conjunto mınimo de elementos que compoem um

processo. Entretanto, nao apresentam procedimentos para tratar as questoes relacionadas

aos problemas de DDS, que sao representadas pelos criterios de A a G.

O Extended Workbench e o LAGPRO, embora tenham sido definidos para serem uti-

lizados por projetos que sao desenvolvidos de modo distribuıdo, nao possuem mecanismos

Page 66: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

40 3. Trabalhos Relacionados

para explicitar a diversidade, tratam apenas a especificacao formal dos requisitos. No

Extended Wokbench, tambem, nao sao contemplados os fatores relacionados a colaboracao

e confianca. Alem disso, nao foram encontrados relatos sobre os artefatos gerados. E, no

caso do LAGPRO, tambem, nao foram identificadas as atividades.

Desse modo, e possıvel evidenciar a necessidade de um processo que atenda essas novas

demandas geradas pela abordagem distribuıda e apresente a definicao dos elementos que

um processo deve contemplar.

O processo de desenvolvimento de software tem passado por intensas transformacoes

nos ultimos anos. E nesse contexto, novas abordagens de desenvolvimento tem surgido

objetivando que muitos dos problemas encontrados nos projetos anteriores nao sejam

repetidos. Dentre os problemas mais comuns aos projetos de software podem ser desta-

cados: altos custos para evolucao, inconsistencia entre documentacao e sistema final,

pouca ou quase que total falta de portabilidade e baixa confiabilidade. E sabido que o

sucesso de um projeto de desenvolvimento de software inicia-se no devido planejamento

e na escolha de uma metodologia compatıvel com as caracterısticas do mesmo, o que

reforca a necessidade de um processo de desenvolvimento que contemple de forma efetiva

as necessidades do DDS.

Audy e Prikladnicki (2008), destacam que em um ambiente de desenvolvimento dis-

tribuıdo, e fundamental um processo de desenvolvimento comum a equipe pois, uma

metodologia auxilia diretamente na sincronizacao, fornecendo a todos os membros da

equipe uma nomenclatura comum de tarefas e atividades, e um conjunto comum de

expectativas aos elementos envolvidos no processo.

Segundo Rocha et al. (2008), quando o contexto e Desenvolvimento Distribuıdo, o

cenario muda com relacao ao desenvolvimento de software tradicional, pois as variaveis e

os riscos aumentam. Entao, se nao houver uma metodologia adequada para o processo de

desenvolvimento, o projeto tera boas chances de nao corresponder ao planejamento inicial.

Em sua primeira percepcao sobre o uso e estudo de DDS, Rocha et al. (2008) ressaltam

a necessidade de processos mais adequados, pois, com base nas pesquisas realizadas, nao

foi facil a identificacao de modelos de referencia de processos para o ambiente DDS.

3.3 Processos de Teste de Software

Nesta secao sao descritos alguns processos de teste, identificando suas atividades, artefatos

e papeis, sendo eles: RUP (secao 3.3.1), SiTest (secao 3.3.2) e Processo do CenPRA (secao

3.3.3).

Page 67: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.3 Processos de Teste de Software 41

3.3.1 Teste no RUP

No RUP o fluxo de teste e desempenhado por tres papeis: Projetista, Implementador e

Testador; e, composto por cinco atividades: Planejar, Projetar, Implementar, Executar

Teste de Integracao, Executar Teste de Sistema e Avaliar (Kruchten, 2003).

A atividade Planejar, realizada pelo Projetista, identifica e descreve o teste que sera im-

plementado e executado, e produz como artefato o plano de teste que contem informacoes

sobre o proposito e as metas do teste e identifica as estrategias e recursos a serem utilizadas

nas etapas subsequentes. Na atividade Projetar, o Projetista descreve e gera o modelo de

teste que inclui os casos e procedimentos de teste.

A atividade Implementar os procedimentos de teste sao implementados pelo Imple-

mentador produzindo o script de teste. Nas atividades Executar Teste de Integracao e

Executar Teste de Sistema, o Testador deve assegurar que os componentes do sistema

colaboram e funcionam como planejado, respectivamente. Durante a execucao dos testes

os dados sao capturados e o artefato Resultados de Teste e produzido.

A atividade Avaliar e realizada pelo Projetista e tem como objetivo entregar e avaliar

as medidas quantificaveis de teste para determinar a qualidade do sistema em teste e

do processo de teste. Nesta atividade e gerado um documento contendo um resumo dos

testes.

3.3.2 SiTest

A metodologia foi desenvolvida com base no modelo de qualidade CMMI (Capability

Maturity Model Integration) e encontra-se estruturada em cinco fases, as quais apresentam

atividades e artefatos (Silva et al., 2006).

Na fase inicial, a de Planejamento, sao realizadas as seguintes atividades: levanta-

mento dos requisitos necessarios para a realizacao dos testes; selecionar os modulos a

serem testados; levantamento dos riscos e ponssibilidades de mitigacao; identificacao dos

indicadores de desempenho; definicao da equipe de teste bem como suas competencias e

atividades; e elaboracao do cronograma inicial. Como artefatos desta fase sao produzidos

o plano de teste e o cronograma preliminar.

A etapa subsequente, Preparacao, e composta pelas atividades: determinacao da

sequencia dos componentes para integracao; levantamento da configuracao do ambiente

para os testes e controle das mudancas; estabelecimento do ambiente de testes de in-

tegracao, verificacao e validacao; instalacao e configuracao das ferramentas de teste; e,

elaboracao dos projetos de testes. Nesta fase sao gerados tres artefatos: o projeto de testes;

relatorio de equipe e suas respectivas atividades; e, ferramentas de testes disponıveis.

Page 68: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

42 3. Trabalhos Relacionados

Na fase de Especificacao sao definidas as atividades da equipe de testes, os dados de

entrada e saıda sao determinados e os casos e roteiros de testes sao elaborados. Como

saıdas dessa fase tem-se a especificacao dos roteiros e casos de testes. Apos a Especificacao

tem-se a fase de Execucao a qual e composta pelas seguintes atividades: execucao dos

testes de unidade, integracao, sistemas e aceitacao; elaboracao da documentacao formal de

erros; analise dos resultados; e, solicitacao das correcoes e alteracoes. Durante a Execucao

sao produzidos o registro de teste e registro de consolidacao de testes, registro de defeitos

conhecidos, diarios de testes, relatorio de conformidades e nao-conformidades e o relatorio

de incidente de testes.

A ultima fase da metodologia e a Entrega. Essa etapa consiste nas seguintes atividades:

elaboracao do relatorio final de teste; elaboracao de um resumo sobre o processo de teste

e sua aplicacao no projeto; e, registro da base de conhecimento do processo. Como saıdas

dessa fase sao gerados os registros de testes, o resumo de testes e relatorio final de testes.

3.3.3 Processo CenPRA

O Processo de teste do CenPRA e baseado em artefatos de teste definidos na norma

IEEE Std 829-1998 e tem as suas atividades definidas e ordenadas de forma a permitir

que o teste seja eficiente e eficaz. O Processo de teste do CenPRA contem subprocessos

de teste e artefatos associados. Em cada subprocesso os papeis envolvidos sao: Gerente,

Executor, Cliente e Fornecedores. A seguir os subprocessos: Planejar, Projetar, Executar,

e Registrar sao descritos (Crespo et al., 2004).

O subprocesso Planejar envolve a realizacao das seguintes atividades: definir contexto

do teste, descrevendo resumidamente os itens e caracterısticas a serem testadas; caracteri-

zar os itens de teste; identificar funcionalidades e caracterısticas que devem ser testadas

para cada item de teste; estabelecer abordagens e criterios para medir a abrangencia dos

testes, determinar o termino, aprovacao ou reprovacao dos itens de teste, suspensao e

retomada dos testes e de rastreabilidade; definir os produtos a serem gerados; definir

atividades de teste; estabelecer requisitos de ambiente; estabelecer responsabilidades;

estabelecer equipe e treinamento necessarios; elaborar cronograma; identificar riscos e

estabelecer contingencias. O artefato produzido por este subprocesso e o Plano de Teste.

No subprocesso Projetar a abordagem de teste definida no planejamento e refinada.

As atividades que compoe esse subprocesso sao: detalhar as abordagens e criterios; especi-

ficar casos de teste estabelecendo as entradas requeridas para sua execucao; estabelecer

requisitos de ambiente de teste, tais como hardware, software e recursos humanos; definir

objetivo dos procedimentos de teste; e definir os passos dos procedimentos de teste. As

Page 69: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.4 Analise Comparativa dos Processos de Teste 43

saıdas desse subprocesso sao a Especificacao de Projeto de Teste, Especificacao de Casos

de Teste e Especificacao de Procedimento de Teste.

O terceiro subprocesso e o Executar que corresponde a realizacao dos passos do

Procedimento de Teste. Este subprocesso e formado pelas seguintes atividades: executar

a sequencia de acoes previas necessarias para a execucao do teste; Executar as acoes

necessarias para iniciar a execucao do teste; registrar os resultados da execucao e das

medicoes do teste; e, executar as acoes para suspender, retomar, parar e encerrar os

testes.

O subprocesso Registrar tem como objetivos documentar cronologicamente os detalhes

relevantes relacionados com a execucao dos testes, registrar os eventos que ocorrem du-

rante a execucao e requerem analise e, descrever resumidamente os resultados e avaliacoes.

Para tanto sao realizadas as seguintes atividades: descricao do teste; registro das ativi-

dades e eventos; descricao dos incidentes de teste; determinacao do impacto do incidente;

descricao resumida dos itens de teste; descricao de desvios das especificacoes; descricao da

abrangencia; descricao resumida dos resultados; avaliacao dos itens de teste e descricao

resumida da atividade de teste. Os artefatos produzidos sao: Diario de Teste, contendo

a descricao do teste e registro de atividades e eventos; Relatorio de Incidentes com o

resumo e descricao do impacto do incidente; e, Relatorio-Resumo de Teste constituıdo

pelo Resumo dos Itens de Teste, Desvios das Especificacoes, Avaliacao da Abrangencia

do Teste, Resumo de Resultados, Avaliacao dos Itens de Teste e o Resumo de Atividades.

3.4 Analise Comparativa dos Processos de Teste

Na literatura nao foram encontrados, ate o momento da elaboracao dessa dissertacao,

relatos de processos de teste utilizados no Desenvolvimento Distribuıdo de Software. Como

ha relatos de uso do RUP, XP e AUP, e importante analisar como a fase de testes e vista

nesses processos. A SiTEST foi selecionada por ser uma metodologia de teste que apoia

o ciclo de vida do software e ser baseada no modelo de qualidade CMMI. E o processo do

CenPRA por ser amplamente utilizado (Crespo et al., 2004).

Os criterios utilizados na comparacao dos processos de teste sao:

∙ (A) Casos de Teste: Caracteriza se o processo analisado trata a especificacao formal

dos casos de teste.

∙ (B) Centralizado: Identifica se o processo analisado apresenta uma centralizacao do

controle das atividades de teste.

Page 70: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

44 3. Trabalhos Relacionados

∙ (C) Descentralizado: Identifica se o processo analisado e caracterizado pela descen-

tralizacao do controle das atividades de teste.

∙ (D) Acompanhamento: Identifica se o processo caracteriza-se por acompanhar pe-

riodicamente a evolucao dos trabalhos dos times remotos.

∙ (E) Colaboracao: Caracteriza se o processo permite o uso de ferramentas de cola-

boracao entre os times como meio de compartilhamento de informacoes.

∙ (F) Confianca: Identifica se o processo e capaz de promover confianca entre os

membros dos diferentes times. A confianca pode ser alcancada oferecendo visibili-

dade adequada do projeto, por meio da divulgacao das informacoes e por meio de

mecanismos de percepcao.

∙ (G) Papeis: Identifica se o processo possui uma organizacao sistematica na definicao

dos papeis a serem desempenhados.

∙ (H) Artefatos: Identifica se o processo apresenta a definicao dos artefatos requeridos

e gerados em cada fase.

∙ (I) Atividades: Identifica se o processo define as atividades que devem ser realizadas

em cada fase.

∙ (J) Metodologia tradicional: Caracteriza se o processo apresenta o enfoque de uma

metodologia tradicional de desenvolvimento de software.

∙ (K) Metodologia agil: Caracteriza se o processo apresenta o enfoque de metodologia

agil.

Na Tabela 3.2 e apresentada a comparacao entre os processos de teste.

Tabela 3.2: Analise Comparativa dos Processos de Teste

Processo/Criterios A B C D E F G H I J K

RUP x x x x x x

SiTest x x x x x

CenPRA x x x x x

XP x x x x x

AUP x x x x x

No RUP sao especificados os papeis envolvidos, atividades e artefatos gerados na

Disciplina de Teste. No entanto, nao retrata a especificacao formal dos casos de teste

Page 71: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.5 Abordagem de Desenvolvimento e Teste de Software 45

que e um fator importante quando o desenvolvimento e realizado de forma distribuıda

por amenizar os problemas de comunicacao decorrentes da ambiguidade e imprecisao dos

artefatos.

Na metodologia SiTest e no processo do CenPRA os testes sao realizadas ao longo do

ciclo de vida do software. Tanto SiTest quanto o processo do CenPRA definem atividades,

papeis e artefatos gerados em cada etapa. Entretanto, nao apresentam mecanismos para

tratar a especificacao formal dos casos de teste. Mesmo nao sendo encontrados relatos do

uso desses processos no contexto de DDS, e importante analisa-los pois estes integram as

atividades de desenvolvimento e teste de software.

O XP e o AUP utilizam a abordagem Test Driven Development (TDD), que e uma

pratica de desenvolvimento incremental, que se baseia na construcao de testes de regressao

automatizados para nortear as atividades de desenvolvimento (Urdangarim, 2008). Essas

metodologias definem as atividades, atores, artefatos e apresentam o enfoque agil. Entre-

tanto, essas abordagens, tambem, nao definem procedimentos para a especificacao formal

dos casos de teste.

A partir da analise da Tabela 3.2 e possıvel observar a inexistencia de um processo

que aborde a especificacao formal dos casos de teste, o que e de extrema relevancia no

contexto de DDS por amenizar os problemas de compreensao e ambiguidade ocasionados

pelas diferencas culturais e linguistıcas. Dos processos analisados, nenhum contempla

explicitamente o gerenciamento descentralizado, oferece mecanismos para acompanhar a

evolucao dos trabalhos dos times, promover a colaboracao e a confianca.

No contexto de DDS, o uso de uma notacao padrao facilita a comunicacao entre as

equipes pois, possibilita que todos os artefatos utilizados para testar um sistema possam

ser especificados e modelados, auxiliando na documentacao, entendimento e rastreabili-

dade dos artefatos.

3.5 Abordagem de Desenvolvimento e Teste de Software

Em Alves et al. (2008) e apresentada uma proposta de integracao dos processos de Desen-

volvimento Dirigido por Modelos (MDD) e Teste Dirigido por Modelos (MDT). O MDD

objetiva mudar o foco do desenvolvimento de software para os modelos, contribuindo para

aumentar a qualidade do software, facilitar a portabilidade e diminuir os custos inerentes

a evolucao. O MDT refere-se a geracao automatica de casos de teste a partir de modelos

abstratos, contribuindo para aumentar a efetividade, confiabilidade e produtividade em

processos de teste.

Page 72: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

46 3. Trabalhos Relacionados

Segundo Alves et al. (2008), a integracao destes processos pode trazer diversos benefıcios,

tais como: reducao do custo de desenvolvimento; alcance de um alto nıvel de automacao

no desenvolvimento e geracao de casos de testes; facilidade para realizar alteracoes nos

requisitos, devido a rastreabilidade provida; e, menores custos de manutencao.

A abordagem proposta representa as aplicacoes utilizando Model Driven Archicte-

ture (MDA), com modelos independentes dos detalhes de implementacao (Computational

Independent Model - CIM e Platform Independent Model - PIM) e dependentes da lin-

guagem de programacao (Platform Specific Model - PSM). Os modelos independentes

de plataforma sao formalizados com UML 2.0 e OCL (Object Constraint Language) e

os dependentes utilizando Java. Para a modelagem do CIM e do PIM foram definidos

os modelos funcionais, estruturais e comportamentais. A geracao dos casos de testes e

realizada a partir dos modelos do CIM-PIM, dando origem ao CITM (Computational

Independent Testing Models), modelos que capturam os objetivos de teste e ao PITM

(Plataform Independent Testing Models), modelos que refletem os casos de teste abstratos.

A especificacao completa dos casos de teste selecionados e os objetivos de teste sao

gerados automaticamente. Por outro lado, a geracao dos dados de teste e semiautomatica

e realizada a partir dos diagramas de classe e de maquina de estados comportamentais.

3.6 Consideracoes Finais

Este capıtulo apresentou os trabalhos, que juntamente com os problemas existentes do

DDS, deram subsıdios para a elaboracao da abordagem integrada de desenvolvimento e

teste de software para equipes distribuıdas.

A partir das analises descritas nas Secoes 3.2 e 3.4 foram elencadas algumas carac-

terısticas desejaveis para a definicao de um processo de software que atenda as necessidades

do desenvolvimento distribuıdo, sendo elas:

∙ gerenciamento hıbrido (centralizado-descentralizado) em relacao ao controle das

atividades e definicao de um lıder para estimular a confianca e compromisso entre

os membros [(Mullick et al., 2006), (Avritzer et al., 2007) e (Avritzer et al., 2008)];

∙ encorajamento da comunicacao entre desenvolvimento e equipe de teste de inte-

gracao oferecendo artefatos com informacoes relevantes para as duas equipes (Vanzin

et al., 2005);

Page 73: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

3.6 Consideracoes Finais 47

∙ especificacao formal de testes para amenizar os problemas de ambiguidade e reduzir a

necessidade de comunicacao [(Mullick et al., 2006), (Avritzer et al., 2007) e (Avritzer

et al., 2008)];

∙ uso de arquitetura baseada em componente para distribuicao do desenvolvimento

ou distribuicao por fases, por exemplo desenvolvimento e teste, para reduzir a

comunicacao entre as equipes (Lings et al., 2007);

∙ identificacao das equipes envolvidas, o que sera realizado em cada local e as respon-

sabilidades de cada membro, para auxiliar na percepcao (Lings et al., 2007);

∙ adocao de metodologias de especificacao de facil compreensao e que possuam semantica

para transmitir informacoes aos desenvolvedores, no caso a UML por ser conhecida

tanto no meio academico como industrial (Sengupta et al., 2006);

∙ integracao contınua incremental [(Vanzin et al., 2005) e (Paasivaara e Lassenius,

2004)];

∙ desenvolvimento iterativo e com entregas frequentes para fornecer uma maior vi-

sibilidade do projeto aos gerentes [(Paasivaara e Lassenius, 2004) e (Taylor et al.,

2006)];

∙ definicao infraestrutura que possibilite a colaboracao, controle da documentacao

e controle de versao dos artefatos [(Paasivaara e Lassenius, 2004) e (Taylor et al.,

2006)]; desenvolvimento e aplicacao de suıtes de teste; e, estabelecimento de metodo

para controle da documentacao [(Paasivaara e Lassenius, 2004) e (Taylor et al.,

2006)] ;

∙ definicao de um idioma para formalizacao do processo e interacao entre as equipes

(Vanzin et al., 2005).

No proximo capıtulo e apresentada a especificacao e modelagem da abordagem de

desenvolvimento e teste de software proposta para equipes distribuıdas.

Page 74: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

48 3. Trabalhos Relacionados

Page 75: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Capıtulo

4

Abordagem de Desenvolvimento e

Teste de Software para Equipes

Distribuıdas

Este capıtulo apresenta os modelos utilizados para especificar a abordagem proposta,

seguindo o metamodelo SPEM, que oferece uma estrutura de modelagem de processos

baseada na UML.

Primeiramente, e descrita uma visao geral da abordagem, permitindo entender o

contexto para o qual a mesma oferece suporte. Em seguida, os elementos da abordagem

sao detalhados.

4.1 Visao Geral da Abordagem

Um processo consiste em um conjunto de tarefas ordenadas que envolvem atividades,

restricoes e recursos para alcancar a saıda desejada. Pode ser caracterizado por prescrever

todas as suas principais atividades, utilizar recursos, estar sujeito a restricoes, gerar

produtos intermediarios e finais (artefatos). Cada atividade apresenta criterios de entrada

e saıda e um conjunto de diretrizes que explicam os seus objetivos.

Conforme analise apresentada no Capıtulo 3 foi possıvel evidenciar que ha algu-

mas lacunas no desenvolvimento distribuıdo de software no que se refere ao processo

de desenvolvimento. Para tanto, devem ser definidas as atividades, os artefatos e os

49

Page 76: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

50 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

papeis necessarios em cada etapa do desenvolvimento, considerando as peculiaridades do

desenvolvimento com equipes distribuıdas.

Se a atividade de teste for conduzida ao acaso, defeitos no projeto podem passar

despercebidos durante o teste. Portanto, uma estrategia sistematica deve ser estabele-

cida para o teste de software. Desse modo, apresenta-se uma abordagem integrada de

desenvolvimento e teste de software que tem por objetivo atender as caracterısticas das

equipes distribuıdas no que se refere a comunicacao e coordenacao, nao se restringindo a

domınios especıficos de aplicacao. Ou seja, as tecnicas definidas na abordagem podem ser

utilizadas em conjunto com tecnicas que atendam as necessidades do domınio da aplicacao,

por exemplo sistemas de tempo real, que demanda especificacoes formais que podem ser

utilizadas como complemento a abordagem proposta. A abordagem proposta considera o

processo de testes como um conjunto de tarefas a parte que pode ser aplicado ao longo

do processo de desenvolvimento, instanciado em paralelo.

Segundo a ISO/IEC 12207 a abordagem pode ser classificada como sendo um processo

fundamental relacionado ao desenvolvimento. No entanto, apresenta alguns elementos de

processos organizacionais e de apoio. Em relacao aos processos organizacionais contempla

aspectos de gerencia. E, no que se refere aos processos de apoio, engloba itens de

verificacao e validacao, os quais fornecem subsıdios para a qualidade do produto a ser

desenvolvido.

A abordagem de desenvolvimento utiliza a Unified Modeling Language (UML), que e

uma linguagem de modelagem que permite aos desenvolvedores visualizar os produtos de

seu trabalho em diagramas padronizados. O uso de especificacoes UML e atrativa por

possuir informacoes relevantes para testes e estar em uso na academia e na maioria das

empresas de tecnologia, de modo que nao ha custos extras associados ao treinamento e

integracao no processo de desenvolvimento de uma aplicacao (Hartmannm et al., 2004).

Na abordagem de teste e utilizado o Perfil UML 2.0 (U2TP), que define uma linguagem

para projetar, visualizar, especificar, analisar, construir e documentar os artefatos de teste

de sistemas (OMG, 2005). A U2TP e uma linguagem de modelagem de testes que pode

ser usada com tecnologias de componentes e linguagens orientadas a objeto, aplicadas em

diversos domınios de aplicacao e auxilia na documentacao, entendimento e ratreabilidade

dos artefatos de teste. Em sua concepcao foram utilizados dois princıpios de projeto:

integracao com UML e reuso. A integracao com a UML refere-se ao fato do perfil ser

baseado no meta-modelo UML, desse modo usando os mesmos princıpios e elementos

dessa linguagem. O reuso esta relacionado a utilizacao, onde possıvel, dos conceitos e

elementos ja presentes em UML. Outra vantagem da U2TP e a definicao de um conjunto

de conceitos proprios a area de testes que podem ser representados e mapeados para

Page 77: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.1 Visao Geral da Abordagem 51

diferentes ferramentas de testes, como por exemplo: JUnit (teste unitario) e TTCN-3

(teste de integracao e sistema). Os artefatos de teste especificados pela abordagem, sao

os recomendados pela norma IEEE 829, que descreve um conjunto basico de documentos

de teste de software (IEEE, 1998).

A visao geral da abordagem integrada, que mostra o fluxo de informacoes entre as

Disciplinas, e apresentada na Figura 4.1. Cabe ressaltar, que os artefatos gerados sao

passıveis de refinamento nas Disciplinas posteriores.

Figura 4.1: Diagrama de Atividades da Abordagem Integrada de Desenvolvimento eTeste de Software.

A integracao das unidades, independente da granularidade da distribuicao (disciplina,

componente, caso de uso, classe ou metodo), deve ser sempre acompanhada, podendo

ocorrer dentro de cada Disciplina, como tambem, entre as Disciplinas.

Segundo Alves et al. (2008), a integracao dos processos de desenvolvimento e teste pode

trazer diversos benefıcios, dentre eles: reducao do custo de desenvolvimento; alcance de

um alto nıvel de automacao no desenvolvimento e geracao de casos de testes; facilidade

para realizar alteracoes nos requisitos, devido a rastreabilidade provida; e, menores custos

de manutencao.

As secoes seguintes apresentam os aspectos estruturais que organizam o conteudo

das abordagens de desenvolvimento e teste em termos de atividades, artefatos e papeis

envolvidos. Ressalta-se, ainda, que as abordagens de desenvolvimento e teste devem ser

instanciadas em paralelo.

Page 78: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

52 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

4.2 Abordagem de Desenvolvimento

A Figura 4.2 ilustra a visao geral da abordagem de desenvolvimento, em que e possıvel

visualizar a ordem de execucao das Disciplinas.

Figura 4.2: Diagrama de Atividades da Abordagem de Desenvolvimento.

Outra forma de representar a abordagem e atraves do conjunto de elementos que a

compoem, como pode ser visto na Figura 4.3.

Figura 4.3: Diagrama de Pacotes da Abordagem de Desenvolvimento.

A Tabela 4.1 apresenta os papeis envolvidos, bem como sua descricao.

Page 79: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 53

Tabela 4.1: Papeis na Abordagem de DesenvolvimentoPapeis da Abordagem Descricao

Responsavel pelas atividades relativas ao planejamentoestrategico do projeto (Enami, 2006).

Gerencia as unidades distribuıdas, distribuindo e coor-denando as atividades. (Enami, 2006).

Lidera e coordena a modelagem de casos de uso em-presarial, delimita os processos de negocio que estaoenvolvidos. Conduz e coordena a obtencao de requisitos.

Detalha a especificacao dos requisitos do sistema.

Lidera e coordena as atividades do projeto. Estabelecea estrutura geral de cada visao de arquitetura.

Detalha a especificacao, descrevendo o fluxo de trabalhoe estrutura.

Desenvolve a programacao e realiza os testes de unidadede acordo com os padroes tecnicos e tecnologicos adota-dos para o projeto.

Pessoa ou entidade que solicita o desenvolvimento dosoftware.

Page 80: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

54 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Os papeis identificados podem participar de dois modos distintos:

∙ << perform >>: representa que um papel executa uma atividade efetivamente.

∙ << assist >>: indica que um papel auxilia outro no desempenho de suas ativi-

dades.

As Secoes seguintes descrevem cada uma das Disciplinas, sendo elas: Planejamento,

Requisitos, Desenvolvimento e Implementacao. Estas Disciplinas sao representadas sob

quatro perspectivas, as quais sao fornecidas pelos Diagramas de Pacotes, Diagrama de

Casos de Usos, Diagrama de Classes e Diagrama de Atividades.

4.2.1 Disciplina Planejamento

Objetivo

Essa disciplina e responsavel pela configuracao do processo de desenvolvimento e definicao

dos aspectos relacionados ao gerenciamento do projeto. A Figura 4.4 apresenta a Definicao

de Trabalho, mecanismo de divisao semantica para as atividades, que compoe a Disciplina.

Figura 4.4: Diagrama de Pacotes da Disciplina Planejamento.

A Definicao de Trabalho - Configurar o Processo - e detalhada no Diagrama de Pacotes

representado na Figura 4.5, em que e possıvel visualizar os elementos (papeis, atividades

e artefatos) que a constituem.

Page 81: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 55

Figura 4.5: Diagrama de Pacotes da Definicao de Trabalho - Configurar o processo.

Atividades

A Disciplina Planejamento e constituıda pelas seguintes atividades:

∙ definir a configuracao do desenvolvimento (onshore insourcing, outsourcing, off-

shoring ou internal offshoring) a ser adotada para as disciplinas posteriores. De

acordo com L’Erario (2009a) e importante explorar, estrategicamente, as aliancas

entre organizacoes para obter vantagem competitiva a partir da produtividade dis-

tribuıda;

∙ identificar as equipes envolvidas no projeto, bem como seu lıder (Gerente de Projetos

Local) para estimular a confianca e compromisso entre os membros. Na formacao

das equipes deve-se considerar, alem do idioma, questoes de afinidade e habilidades

dos membros. Segundo Cibotto et al. (2009), sempre que possıvel, envolva no

Page 82: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

56 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

projeto equipes que possuem o mesmo idioma nativo para amenizar os problemas de

comunicacao. Deve-se, tambem, estabelecer a equipe central, que sera responsavel

pela sincronizacao das atividades entre as diversas equipes;

∙ especificar a granularidade em que sera realizada a distribuicao (disciplina, compo-

nente, caso de uso, classe ou metodo). Para estabeler a estrategia de distribuicao

os Gerentes de Projeto Global e Local podem considerar alguns pontos, tais como:

1. uma arquitetura de software modular (baixo acomplamento e alta coesao)

pode ser utilizada para distribuicao dos esforcos entre as equipes pois, reduz a

complexidade e permite um desenvolvimento em paralelo simplificado (Audy e

Prikladnicki, 2008);

2. a proximidade de uma equipe do cliente pode ser considerada para a dis-

tribuicao da disciplina, no caso Requisitos.

3. as habilidades e competencias das equipes envolvidas (modelagem, teste, im-

plementacao).

Cabe ressaltar, que a estrategia de distribuicao adotada tem impacto direto sobre

a intensidade, frequencia e o tipo de coordenacao necessaria entre os participantes

do projeto (Sangwan et al., 2006)

∙ definir uma infraestrutura para comunicacao e colaboracao, tanto interna (equipes

envolvidas no projeto) quanto externa (clientes). Para que essa comunicacao ocorra

de forma adequada, e necessario que a infraestrutura seja definida corretamente.

Geralmente, sao necessarios diversos meios, tais como: viagens, telefone, e-mail,

videoconferencia, ferramentas de gerencia de projetos on-line, instant messengers e

wiki (Al-Asmari e Yu, 2006);

∙ definir um idioma para formalizacao do processo e interacao entre as equipes;

∙ definir infraestrutura para o controle de versao dos artefatos e da documentacao;

∙ definir um repositorio comum a todas as equipes envolvidas no projeto. Os Gerentes

de Projeto Global e Local devem definir os nıveis de acesso de cada integrante

com base nas atividades que estes desempenham e na responsabilidade que lhe e

conferida;

∙ distribuir as atividades entre as equipes envolvidas e seus membros. Weissleder

e Schlingloff (2008) apresentam duas estrategias que podem ser utilizadas para a

Page 83: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 57

distribuicao das atividades: minimizar a colaboracao necessaria entre as equipes,

visto que isso minimiza os impactos negativos dos problemas de comunicacao e

colaboracao; e, minimizar a diferenca entre as equipes, reduzindo o deslocamento

de tempo (fuso-horario) que afeta a comunicacao sıncrona ou as diferencas culturais;

∙ comunicar o que sera realizado por cada equipe, bem como a responsabilidade de

cada membro, para que todos tenham consciencia do que esta acontecendo, das

dependencias, quem esta realizando determinada atividade e em que local ela esta

sendo executada. Audy e Prikladnicki (2008) destacam que essa consciencia e

importante, principalmente, sob a perspectiva da documentacao e do codigo fonte.

Segundo Carmel e Tija (2005), para aumentar a percepcao podem ser utilizadas

algumas tecnicas, tais como, o uso de repositorios comuns, sistemas para controle de

projetos, ambientes de desenvolvimento integrados, reunioes de status, cronograma

das equipes e descricao dos processos.

∙ treinar os envolvidos em relacao a abordagem.

Papeis

Nessa Disciplina ha o Gerente de Projetos Global, que e responsavel por configurar o

processo de desenvolvimento por meio da realizacao das atividades descritas na Secao

anterior e o Gerente de Projetos Local.

O relacionamento entre os papeis e atividades e ilustrado no Diagrama de Casos de

Uso da Figura 4.6, em que e possıvel observar que o Gerente de Projeto Global e auxiliado

pelos Gerentes de Projetos Local na estruturacao do processo.

Page 84: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

58 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.6: Diagrama de Casos de Uso - Definicao de Trabalho - Configurar o processo.

Artefatos

Os artefatos gerados sao o plano de desenvolvimento de software global e local, que fornece

a linha basica de recursos e cronograma. Nesse artefato sao especificadas informacoes

sobre o escopo do projeto, restricoes, estrutura organizacional, papeis e responsabilidades,

recursos de hardware e software e prazos. O template desse artefato pode ser visto no

Apendice B.

O Diagrama de Classes da Figura 4.7 ilustra o relacionamento dos papeis e artefatos

envolvidos, definindo assim, os responsaveis pela geracao de cada artefato.

Page 85: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 59

Figura 4.7: Diagrama de Classes - Definicao de Trabalho - Configurar o processo.

O fluxo de atividades da Definicao de Trabalho - Configurar o Processo - e representado

pelo Diagrama de Atividades da Figura 4.8, que permite visualizar a precedencia das

atividades, bem como, as que podem ser executadas simultaneamente.

Page 86: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

60 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.8: Diagrama de Atividades - Definicao de Trabalho - Configurar o processo.

4.2.2 Disciplina Requisitos

Objetivo

Esta disciplina descreve como definir uma visao do sistema e traduzi-la em modelos.

Como metas, tem-se: estabelecer e manter contato com os stakeholders sobre o que o

Page 87: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 61

sistema deve fazer, facilitar o entendimento do desenvolvedor sobre os requisitos atraves

dos modelos gerados e delimitar o escopo do sistema.

As Definicoes de Trabalho que compoem a Disciplina Requisitos sao ilustradas na

Figura 4.9.

Figura 4.9: Diagrama de Pacotes da Disciplina Requisitos.

A Definicao de Trabalho - Definir uma visao do sistema - e detalhada no Diagrama

de Pacotes representado na Figura 4.10, por meio da apresentacao dos papeis, artefatos e

atividades envolvidos.

Figura 4.10: Diagrama de Pacotes da Definicao de Trabalho - Definir uma visao dosistema.

Os elementos (papeis, artefatos e atividades) que compoem a Definicao de Trabalho -

Traduzir a visao em modelos - sao apresentados no Diagrama de Pacotes da Figura 4.11.

Page 88: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

62 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.11: Diagrama de Pacotes da Definicao de Trabalho - Traduzir a visao emmodelos.

Atividades

A Disciplina Requisitos compreende a realizacao das seguintes atividades:

∙ descrever textualmente o sistema a ser desenvolvido;

∙ representar o modelo do negocio para entender a estrutura e a dinamica, os proble-

mas atuais e identificar potenciais melhorias, que ira gerar a arquitetura inicial do

software (Kruchten, 2003);

∙ elaborar o modelo de objetos de negocio atraves da identificacao dos itens conside-

rados importantes, os quais formam o vocabulario do sistema a ser modelado;

∙ modelar casos de uso. Um caso de uso representa uma funcionalidade do sistema

mostrando as interacoes entre ele e os atores externos. Alem disso, casos de uso sao

faceis de entender e tem uma estrutura simples. Por isso, eles sao uma boa fonte

para os requisitos de testes de sistemas (Guimaraes, 2005).

∙ detalhar as especificacoes dos casos de uso por meio de restricoes utilizando a Object

Constraint Language (OCL) que e uma linguagem de expressoes textuais precisas,

utilizada na descricao de restricoes em modelos orientados a objeto, como forma

de complementar a parte grafica dos modelos, para descrever restricoes, que nao

conseguem ser diagramaticamente representadas. Segundo (Rorato, 2007), a OCL e

uma linguagem formal baseada em modelos, que adota uma sintaxe simples, e que

utiliza sımbolos matematicos mais simples da teoria de conjuntos e logica, numa

proposta de ser precisa, porem de facil compreensao (escrita-leitura) por quem nao

Page 89: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 63

possui conhecimento matematico aprofundado. Um dos mais importantes aspectos

de OCL e que se tornou parte do padrao Unified Modeling Language (UML). No

contexto de DDS, o uso de OCL permite reduzir a ambiguidade gerada nos artefatos

devido aos fatores culturais.

Papeis

Os papeis envolvidos nessa disciplina sao o Engenheiro de Negocios e o Especificador.

As Figuras 4.12 e 4.13 apresentam os Diagramas de Casos de Uso que ilustram os

relacionamentos entre os papeis e as atividades nas Definicoes de Trabalho, Definir uma

visao do sistema e Traduzir a visao em modelos, respectivamente.

Figura 4.12: Diagrama de Casos de Uso - Definicao de Trabalho - Definir uma visao dosistema.

Figura 4.13: Diagrama de Casos de Uso - Definicao de Trabalho - Traduzir a visao emmodelos.

Artefatos

Nesta disciplina e consumido o artefato plano de desenvolvimento e sao produzidas a

descricao textual do sistema, modelo do negocio (arquitetura inicial), o modelo de objetos

de negocio, os diagramas de casos de uso e a descricao extendida de caso de uso (vide

template no Apendice B).

Page 90: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

64 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

As Figuras 4.14 e 4.15 mostram os relacionamentos entre os papeis e artefatos envolvi-

dos em cada uma das Definicoes de Trabalho.

Figura 4.14: Diagrama de Classes - Definicao de Trabalho - Definir uma visao dosistema.

Figura 4.15: Diagrama de Classes - Definicao de Trabalho - Traduzir visao em modelos.

Nas Figuras 4.16 e 4.17 sao apresentados os fluxos de atividades nas Definicoes de

Trabalho que compoem a Disciplina Requisitos.

Figura 4.16: Diagrama de Atividades - Definicao de Trabalho - Definir uma visao dosistema.

Page 91: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 65

Figura 4.17: Diagrama de Atividades - Definicao de Trabalho - Traduzir visao emmodelos.

4.2.3 Disciplina Desenvolvimento

Objetivo

Essa disciplina objetiva traduzir os artefatos gerados na fase de Requisitos em uma

especificacao que descreve como implementar o sistema.

A Definicao de Trabalho que compoe a Disciplina Desenvolvimento e apresentada na

Figura 4.18.

Figura 4.18: Diagrama de Pacotes da Disciplina Desenvolvimento.

A Figura 4.19 apresenta o Diagrama de Pacotes da Definicao de Trabalho - Especificar

descrevendo como implementar.

Page 92: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

66 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.19: Diagrama de Pacotes da Definicao de Trabalho - Especificar descrevendocomo implementar.

Atividades

A Disciplina Desenvolvimento e executada por meio da realizacao das seguintes atividades:

∙ modelar a visao estatica do sistema por meio da descricao de um conjunto de objetos

que compartilham os mesmos atributos, operacoes, relacionamentos e semantica;

∙ modelar a sequencia de mensagens entre os objetos;

∙ modelar comunicacao entre os objetos;

∙ refinar descricao da arquitetura apresentada pelo modelo do negocio;

Papeis

Os papeis envolvidos nessa disciplina sao o Arquiteto e o Projetista. O Diagrama de

Casos de Uso que ilustra os relacionamentos entre os papeis e as atividades da Definicao

de Trabalho - Especificar descrevendo como implementar - e apresentado na Figura 4.20.

Page 93: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 67

Figura 4.20: Diagrama de Casos de Uso - Definicao de Trabalho - Especificar de-screvendo como implementar.

Artefatos

Essa disciplina consome os artefatos gerados na disciplina de Requisitos. E produz:

Diagrama de Sequencia, Diagrama de Comunicacao, Diagrama de Classes e Descricao

da Arquitetura.

A Figura 4.21 mostra o relacionamento entre os papeis e artefatos envolvidos.

Figura 4.21: Diagrama de Classes - Definicao de Trabalho - Especificar descrevendocomo implementar.

O fluxo de atividades da Definicao de Trabalho - Especificar descrevendo como imple-

mentar - e apresentado na Figura 4.26.

Page 94: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

68 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.22: Diagrama de Atividades - Definicao de Trabalho - Especificar descrevendocomo implementar.

4.2.4 Disciplina Implementacao

Objetivo

A Disciplina Implementacao tem como metas a definicao da organizacao do codigo fonte,

a implementacao das classes e objetos e a integracao dos resultados alcancados pelas

diversas equipes em sistema executavel, se essa disciplina, tambem, for distribuıda.

A Figura 4.23 apresenta a Definicao de Trabalho que compoe a Disciplina Imple-

mentacao.

Figura 4.23: Diagrama de Pacotes da Disciplina Implementacao.

O Diagrama de Pacotes da Figura 4.24 mostra os papeis, atividades e artefatos en-

volvidos na Definicao de Trabalho - Implementar os metodos.

Page 95: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.2 Abordagem de Desenvolvimento 69

Figura 4.24: Diagrama de Pacotes da Definicao de Trabalho - Implementar os metodos.

Atividades

As atividades que compoem essa disciplina sao:

∙ traduzir os modelos gerados nas disciplinas anteriores em codigo fonte;

∙ realizar os testes de unidade;

Papeis

O Desenvolvedor e o papel que desempenha as atividades dessa Disciplina.

O Diagrama de Casos de Uso, apresentado na Figura 4.25, mostra os relacionamentos

entre os papeis e as atividades.

Figura 4.25: Diagrama de Casos de Uso - Definicao de Trabalho - Implementar as classese objetos.

Page 96: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

70 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Artefatos

Utiliza como entrada os artefatos da Disciplina de Desenvolvimento e produz o codigo-fonte.

A Figura 4.26 ilustra o fluxo de atividades da Definicao de Trabalho - Implementar as

classes e objetos.

Figura 4.26: Diagrama de Atividades - Definicao de Trabalho - Implementar as classese objetos.

4.3 Abordagem de Teste

O diagrama de atividades da Figura 4.27 mostra a ordem em que disciplinas sao execu-

tadas.

Figura 4.27: Diagrama de Atividades da Abordagem de Teste.

Na Figura 4.28 sao mostrados os elementos que compoem a abordagem de teste.

Page 97: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 71

Figura 4.28: Diagrama de Pacotes da Abordagem de Teste.

Na abordagem, os papeis foram definidos com base na diretrizes do RUP. A Tabela

4.2 abaixo apresenta os papeis identicados e sua descricao.

Tabela 4.2: Papeis na Abordagem de TestePapeis da Abordagem Descricao

Gerencia as unidades distribuıdas, distribuindo e coor-denando s atividades. (Enami, 2006).

Responsavel pelo planejamento e projeto de testes.

Responsavel pela execucao dos testes, avaliacao daexecucao e dos resultados do testes.

As Secoes seguintes descrevem cada uma das Disciplinas que compoem a abordagem

de testes, sendo elas: Planejamento, Preparacao, Projeto e Execucao. Estas Disciplinas

sao representadas por meio de quatro diagramas: Diagramas de Pacotes, Diagrama de

Casos de Usos, Diagrama de Classes e Diagrama de Atividades.

Page 98: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

72 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

4.3.1 Disciplina Planejamento

Objetivo

E a disciplina responsavel pela configuracao do processo de teste, trata da definicao dos

fatores relacionados a gerencia. A Figura 4.29 apresenta a Definicao de Trabalho que

compoe a Disciplina.

Figura 4.29: Diagrama de Pacotes da Disciplina Planejamento.

A Definicao de Trabalho - Configurar o Processo - e detalhada no Diagrama de Pacotes

da Figura 4.30.

Figura 4.30: Diagrama de Pacotes da Definicao de Trabalho - Configurar o processo.

Page 99: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 73

Atividades

As atividades que compoem essa disciplina sao:

∙ definir a configuracao do teste (onshore insourcing, offshoring, outsourcing ou inter-

nal offshorring). Essa configuracao pode ser diferente da definida na abordagem de

desenvolvimento. Pode-se optar por terceirizar os testes de integracao, sistemas e de

aceitacao para empresas que sejam especialistas na area. Segundo (Bazman, 2007),

a terceirizacao da atividade de testes pode ser motivada pela reducao de custos,

velocidade, melhoria dos testes e aquisicao de instalacoes de ambientes de teste.

E como, benefıcios tem-se: retorno do investimento; melhoria da confiabilidade do

software; realizacao de uma maior gama de testes; contratacao de equipe de teste

eficiente e qualificada num curto perıodo de tempo; e, maior eficiencia. Em casos

de terceirizacao os artefatos definidos na abordagem deverao ser utilizados de modo

a garantir que as informacoes necessarias resultantes do teste serao entregues. Com

isto, minimiza-se a possibilidade de eventuais impactos negativos causados pela

terceirizacao e diferencas de cultural organizacional.

∙ estabelecer equipe de teste e treinamentos necessarios;

∙ definir os requisitos de ambiente (ferramentas, pessoas e hardware).

Papeis

Os papeis envolvidos sao o Gerente de Projetos Global e o Projetista de Testes. O

relacionamento entre os papeis e atividades e ilustrado no Diagrama de Casos de Uso da

Figura 4.31.

Figura 4.31: Diagrama de Casos de Uso - Definicao de Trabalho - Configurar o processo.

Page 100: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

74 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Artefatos

O artefato consumido nessa discplina e o Plano de Desenvolvimento de Software. E, o

artefato produzido e uma versao inicial do Plano de Testes.

A Figura 4.32 apresenta o Diagrama de Classes, em que e possıvel visualizar o rela-

cionamento dos papeis e artefatos envolvidos, definindo assim, os responsaveis pela geracao

de cada artefato.

Figura 4.32: Diagrama de Classes - Definicao de Trabalho - Configurar o processo.

O fluxo de atividades da Definicao de Trabalho - Configurar o processo - e representado

pelo Diagrama de Atividades da Figura 4.33, que permite visualizar a precedencia das

atividades.

Figura 4.33: Diagrama de Atividades - Definicao de Trabalho - Configurar o processo.

Page 101: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 75

4.3.2 Disciplina Preparacao

Objetivo

O objetivo dessa disciplina e descrever o planejamento de todas as atividades envolvidas

no teste de um software. Na Figura 4.34 e apresentada a Definicao de Trabalho que

compoe a Disciplina.

Figura 4.34: Diagrama de Pacotes da Disciplina Preparacao.

A Definicao de Trabalho - Planejar atividades de teste - e detalhada no Diagrama de

Pacotes da Figura 4.35.

Page 102: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

76 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.35: Diagrama de Pacotes da Definicao de Trabalho - Planejar atividades deteste.

Atividades

A Disciplina Preparacao e composta pelas seguintes atividades:

∙ definir o contexto do teste. Consiste em descrever, resumidamente, as funcionali-

dades e caracterısticas a serem testadas, identificando os objetivos e o escopo do

teste;

∙ caracterizar os itens de teste, levantando informacoes sobre os mesmos e descrevendo-os

de forma resumida;

∙ identificar funcionalidades e caracterısticas (por exemplo, numero de acessos con-

correntes e volume de dados em situacoes de pico) a serem testadas. As tecnicas

de teste baseado em risco constituem um bom indicativo na identificacao de fatores

de riscos associados aos requisitos do software. Essa tecnica pode ser utilizada para

priorizar, com base na probabilidade de ocorrencia e impacto, a maior cobertura

de teste em determinadas funcionalidades do sistema, uma vez que a atividade de

testes e custosa, o domınio de entradas e saıdas e diverso e ha muitas possibilidades

de caminhos a serem testados. Desse modo, pode-se priorizar esforcos e alocar

Page 103: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 77

recursos para as funcionalidades que necessitam ser testadas cuidadosamente (Souza

e Gusmao, 2008);

∙ estabelecer abordagens e criterios. Esta atividade engloba a determinacao da abor-

dagem geral do teste, definicao das atividades, tecnicas e criterios para testar,

selecao de criterios adicionais de termino com base na cobertura e abrangencia,

determinacao dos criterios de aprovacao/reprovacao de cada item de teste e deter-

minacao dos criterios de suspensao e os requisitos para retomada de teste (Souza e

Gusmao, 2008). A partir dos diagramas de casos de uso, podem ser aplicados seis

criterios de teste (Carniello, 2003):

– criterios todas-as-comunicacoes, todas-as-inclusoes e todas-as-extensoes, que

requerem o exercıcio de todos os relacionamentos de cada tipo;

– criterios todas-as-comunicacoes-inclusoes-extensoes que requer o exercıcio de

todos os relacionamentos de um diagrama;

– criterios todos-os-estendidos-combinacoes e todos-os-extensores-combinacoes,

que requerem o exercıcio e o nao-exercıcio dos relacionamentos de extensao.

A especificacao detalhada dos casos de uso possibilita derivar casos de teste da

descricao de fluxo esperado, do fluxo alternativo e dos itens requeridos (Jacobson,

1992);

∙ estabelecer responsabilidades, determinando os responsaveis pelas atividades de

teste;

∙ elaborar cronograma. Consiste em definir os marcos de teste, estimar o tempo e

determinar os prazos para executar cada atividade e utilizar os recursos.

Papeis

O papel envolvido na execucao dessa disciplina e o de Projetista de Teste. O Diagrama

de Casos de Uso da Figura 4.36 mostra o relacionamento entre o papel e as atividades.

Page 104: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

78 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.36: Diagrama de Casos de Uso - Definicao de Trabalho - Planejar atividadesde teste.

Artefatos

Essa disciplina utiliza como entrada os artefatos gerados na disciplina de Requisitos. E

gera como artefato uma atualizacao do Plano de Teste contendo o planejamento para

execucao do teste, incluindo a abrangencia, abordagem, recursos e cronograma das ativi-

dades de teste. Identifica os itens e as funcionalidades a serem testadas e as tarefas a

serem realizadas.

A Figura 4.37 apresenta o Diagrama de Classes, em que e possıvel visualizar o rela-

cionamento dos papeis e artefatos envolvidos.

Figura 4.37: Diagrama de Classes - Definicao de Trabalho - Planejar atividades de teste.

O fluxo de atividades da Definicao de Trabalho - Planejas atividades de teste - e

representado pelo Diagrama de Atividades da Figura 4.38, que permite visualizar a

precedencia das atividades.

Page 105: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 79

Figura 4.38: Diagrama de Atividades - Definicao de Trabalho - Planejar atividades deteste.

4.3.3 Disciplina Projeto

Objetivo

A Disciplina de Projeto objetiva detalhar os aspectos tecnicos a serem adotados na

conducao das atividades de teste. A Figura 4.39 mostra o Diagrama de Pacotes em

que e possıvel visualizar a Definicao de Trabalho que compoe a Disciplina.

Page 106: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

80 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Figura 4.39: Diagrama de Pacotes da Disciplina Projeto.

Os elementos que compoem a Definicao de Trabalho - Detalhar Aspectos Tecnicos -

sao apresentados no Diagrama de Pacotes da Figura 4.40.

Figura 4.40: Diagrama de Pacotes da Definicao de Trabalho - Detalhar aspectostecnicos.

Page 107: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 81

Atividades

As atividades que constituem essa disciplina sao:

∙ detalhar abordagens e criterios de teste;

∙ especificar casos de teste. As restricoes OCL realizadas nos metodos das classes

podem ser utilizadas como oraculo (Packevicius, 2007). O Diagrama de Sequencias

pode ser convertido em uma arvore de teste e cada caminho corresponde a um caso

de teste;

∙ estabelecer requisitos de ambiente de teste com base na infraestrutura necessaria;

∙ definir os passos dos procedimentos de teste.

Papeis

O papel envolvido e o Projetista de Teste. O Diagrama de Casos de Uso da Figura 4.41

ilustra o relacionamento entre o Projetista de Teste e as atividades dessa Disciplina.

Figura 4.41: Diagrama de Casos de Uso - Definicao de Trabalho - Detalhar aspectostecnicos.

Artefatos

Esta disciplina utiliza como entrada os gerados na disciplina de Desenvolvimento e os da

Disciplina de Preparacao. E produz como artefatos:

∙ Especificacao de Projeto de Teste: contem um refinamento da abordagem apre-

sentada no Plano de Teste e identifica as funcionalidades e caracterısticas a serem

Page 108: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

82 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

testadas pelo projeto e por seus testes associados, identifica os casos e os procedi-

mentos de teste;

∙ Especificacao de Casos de Teste: define os casos de teste, incluindo dados de entrada,

resultados esperados, acoes e condicoes gerais para a execucao do teste;

∙ Especificacao de Procedimentos de Teste: especifica os passos para executar um

conjunto de casos de teste.

O Apendice C apresenta o template para cada um desses artefatos.

A Figura 4.42 apresenta o Diagrama de Classes, em que e possıvel visualizar o rela-

cionamento dos papeis e artefatos envolvidos.

Figura 4.42: Diagrama de Classes - Definicao de Trabalho - Detalhar aspectos tecnicos.

O fluxo de atividades da Definicao de Trabalho - Detalhar aspectos tecnicos - e

representado pelo Diagrama de Atividades da Figura 4.38, que permite visualizar a

precedencia das atividades.

Page 109: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 83

Figura 4.43: Diagrama de Atividades - Definicao de Trabalho - Detalhar aspectostecnicos.

4.3.4 Disciplina Execucao

Objetivo

Esta disciplina tem por objetivo a execucao e registro das atividades de teste projetadas

nas disciplinas anteriores. A Definicao de Trabalho que compoe a Disciplina Execucao e

apresentada na Figura 4.44.

Figura 4.44: Diagrama de Pacotes da Disciplina Execucao.

Page 110: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

84 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

A Figura 4.45 apresenta o Diagrama de Pacotes da Definicao de Trabalho - Executar

e registrar testes.

Figura 4.45: Diagrama de Pacotes da Definicao de Trabalho - Executar e registrar testes.

Atividades

A Disciplina Execucao constitui-se das seguintes atividades:

∙ preparar o procedimento de teste, que consiste na sequencia de passos e acoes

necessarias para a execucao de um conjunto de casos de teste relacionados (Crespo

e Jino, 2005);

∙ executar o procedimento de teste;

∙ elaborar o registro de teste com resultado da execucao do teste;

Page 111: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.3 Abordagem de Teste 85

∙ suspender o teste;

∙ encerrar o teste;

∙ registrar as atividades e eventos;

∙ descrever os incidentes do teste, ou seja, qualquer evento que ocorra durante a

execucao do teste e que requeira investigacao, tais como: defeito no software ou

anomalia de funcionamento do ambiente;

∙ elaborar descricao resumida dos itens de teste;

∙ descrever os desvios das especificacoes, ou seja, as discrepancias dos itens de teste

em relacao as especificacoes;

∙ elaborar descricao resumida do resultado do teste;

∙ avaliar os itens de teste.

Papeis

O papel envolvido nessa disciplina e o de Testador.

O Diagrama de Casos de Uso que ilustra os relacionamentos entre o papel Testador

e as atividades da Definicao de Trabalho - Executar e registrar teste - e apresentado na

Figura 4.46.

Figura 4.46: Diagrama de Casos de Uso - Definicao de Trabalho - Executar e registrarteste.

Page 112: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

86 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Artefatos

Os artefatos consumidos por essa disciplina sao os gerados nas Disciplinas de Imple-

mentacao e Projeto, e sao produzidos os seguintes artefatos:

∙ Diario de Testes: apresenta registros cronologicos dos detalhes relevantes relaciona-

dos com a execucao dos testes;

∙ Relatorio de Incidentes: documenta qualquer evento que ocorra durante a atividade

de teste e que requeira analise posterior;

∙ Resumo de Tese: apresenta o resumo dos resultados das atividades de teste associa-

das com uma ou mais especificacoes de projeto de teste e prove avaliacoes baseadas

nesses resultados.

No Apendice C sao apresentados os templates dos artefatos descritos.

A Figura 4.47 mostra o relacionamento entre os papeis e artefatos envolvidos.

Figura 4.47: Diagrama de Classes - Definicao de Trabalho - Executar e registrar teste.

O fluxo de atividades da Definicao de Trabalho - Executar e registrar teste - e apre-

sentado na Figura 4.48.

Page 113: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

4.4 Consideracoes Finais 87

Figura 4.48: Diagrama de Atividades - Definicao de Trabalho - Executar e registrarteste.

4.4 Consideracoes Finais

A abordagem abrange um conjunto de atividades que devem ocorrer ao longo do ciclo

de vida de um projeto e as caracterısticas essenciais de cada uma. Considera atividades

desde o modelo de negocios a ser adotado para atuar em DDS (empresas globais, parcerias

estrategicas, entre outros) ate a implementacao, fornecendo aos membros das equipes

uma linguagem comum para definicao das tarefas, atividades e marcos do projeto, o que

auxilia no processo de coordenacao. Alem disso, oferece mecanismos para a padronizacao

e reducao da imprecisao dos artefatos, o que reduz e facilita a comunicacao entre as

equipes.

Page 114: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

88 4. Abordagem de Desenvolvimento e Teste de Software para Equipes Distribuıdas

Page 115: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Capıtulo

5

Exemplo de Aplicacao da Abordagem

Este capıtulo apresenta um exemplo de aplicacao da abordagem descrita no Capıtulo 4 e

serve como prova de conceito. Esse tipo de estudo e realizado por meio da descricao do

funcionamento da abordagem em um determinado exemplo, que pode ser real ou nao. A

prova de conceito caracteriza-se pela falta de formalizacao durante a realizacao do estudo,

o autor nao utiliza os conceitos de experimentacao, o que inviabiliza obter conclusoes

sobre a real viabilidade e funcionalidade da abordagem (Kitchenham et al., 2002).

5.1 Cenario

Para efeitos de instanciacao da abordagem foi considerado um projeto de desenvolvimento

de uma aplicacao web para gerenciar o processo de submissao e avaliacao de artigos em

eventos cientıficos. Devido a limitacoes de tempo, nao foi possıvel instanciar a abordagem

em um projeto real. Desse modo, optou-se pela realizacao de uma prova de conceito.

As sessoes seguintes descrevem o instaciamento da abordagem para o cenario proposto.

Sao apresentadas cada uma das disciplinas de desenvolvimento e teste.

5.2 Disciplina Planejamento - Desenvolvimento

Na execucao dessa disciplina foram definidos os aspectos relacionados ao gerenciamento

do projeto, em que foram alocadas duas equipes, uma localizada em Maringa-PR e a outra

em Belo Horizonte-MG. Na definicao da estrategia de distribuicao foram considerados os

89

Page 116: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

90 5. Exemplo de Aplicacao da Abordagem

criterios de proximidade com o cliente e as habilidades e competencias dos membros das

equipes.

Devido a proximidade do cliente, nao houve a necessidade de definicao de uma in-

fraestrutura de apoio a comunicacao, sendo utilizadas reunioes presenciais. Para a co-

municacao entre as duas equipes foram utilizadas as seguintes ferramentas: Windows

Live Messenger, Skype, e-mail e o DotProject. Como nao ha diferenca de idioma entre as

equipes envolvidas, foi adotado o Portugues para interacao. A comunicacao da abordagem

a todos os membros das equipes envolvidas ocorreu por meio da documentacao.

A seguir (Tabelas 5.1, 5.2 e 5.3) sao apresentados o Plano Global e os Planos Locais

de Desenvolvimento de Software.

Page 117: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.2 Disciplina Planejamento - Desenvolvimento 91

Tabela 5.1: Plano Global de Desenvolvimento

Identificacao do Projeto: MSPaper

Finalidade: Desenvolver uma aplicacao web para apoiar as atividades relacionadasa submissao e revisao de artigos de eventos cientıficos.

Escopo: Este documento descreve o plano geral a ser usado pelo projeto de desenvolvimentoda aplicacao MSPaper. Fornecendo a todos os membros das equipes envolvidas visibilidadeadequada sobre o projeto.

Restricoes: (i) Numero de envolvidos no projeto; (ii) Prazo;

Site Central: MaringaIdioma: Portugues Fuso-horario: Brasılia

Gerente de Projetos Global: Gislaine Camila Lapasini Leal

Idioma do Projeto: Portugues

Configuracao do Desenvolvimento: onshore insourcing

Estrategia de Distribuicao: Disciplina

Sites Envolvidos: Maringa e Belo Horizonte

Estrutura Organizacional: 2 analistas e 1 desenvolvedor.

Papeis e responsabilidades:Site Maringa:Requisitos (Desenvolvimento)Desenvolvimento (Desenvolvimento)Site Belo Horizonte:Implementacao (Desenvolvimento)

RecursosHardware:

(i) Computador pessoal dos participantes;(ii) Servidor para a ferramentade de Gerencia de ProjetosSoftware:

(i) DotProject - ferramenta para gestao do projeto(ii) Jude - ferramenta para modelagem UML;(iii) Netbeans 6.8 - ambiente de desenvolvimento;(iv) Postgresql - sistema de gerenciamento de banco de dados

Ferramentas de comunicacao: (i) DotProject; (ii) Windows Live Messenger;(iii) e-mail; (iv) Skype

Cronograma:Data de inıcio: 22/02/2010Data de termino: 20/03/2010

Page 118: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

92 5. Exemplo de Aplicacao da Abordagem

Tabela 5.2: Plano Local de Desenvolvimento - Site Maringa

Escopo: Este documento descreve o plano geral a ser usado pela equipe local no desenvolvimentoda aplicacao MSPaper.

Idioma do Projeto: Portugues

Gerente de Projetos Local: Gislaine Camila Lapasini Leal

Disciplina:Requisitos (Desenvolvimento)Desenvolvimento (Desenvolvimento)

Papeis e responsabilidades:Gislaine Camila Lapasini LealGustavo Sato

RecursosHardware:

(i) Computador pessoal dos participantes;(ii) Servidor para a ferramentade Gerencia de ProjetosSoftware:

(i) DotProject - ferramenta para gestao do projeto(ii) Jude - ferramenta para modelagem UML;

Ferramentas de comunicacao: (i) DotProject; (ii) Windows Live Messenger;(iii) e-mail; (iv) Skype

Cronograma:Data de inıcio: 25/02/2010Data de termino: 01/03/2010

Tabela 5.3: Plano Local de Desenvolvimento - Belo Horizonte

Escopo: Este documento descreve o plano geral a ser usado pela equipe local na implementacaoda aplicacao MSPaper.

Idioma do Projeto: Portugues

Gerente de Projetos Local: Cesar Alberto da Silva

Disciplina:Implementacao (Desenvolvimento)

Papeis e responsabilidades:Cesar Alberto da SilvaDesenvolvedor: geracao de codigo e teste de unidade.

RecursosHardware:

(i) Computador pessoal dos participantes;Software:

(iii) Netbeans 6.8 - ambiente de desenvolvimento;(iv) Postgresql - sistema de gerenciamento de banco de dados(iv) JSFUnit - teste de unidade

Ferramentas de comunicacao: (i) DotProject; (ii) Windows Live Messenger;(iii) e-mail; (iv) Skype

Cronograma:Data de inıcio: 01/03/2010Data de termino: 12/03/2010

Page 119: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.3 Disciplina Planejamento - Teste 93

5.3 Disciplina Planejamento - Teste

Nessa disciplina foi definido o modelo de negocio da abordagem de teste, que e onshore

insourcing. A equipe responsavel por todos as disciplinas dessa abordagem esta localizada

em Maringa. Tambem, foram definidas as ferramentas e pessoas envolvidas na execucao.

Na Tabela 5.4 e apresentada a versao inicial do Plano de Teste.

Tabela 5.4: Plano de Teste - versao inicial

Identificacao do Projeto: MSPaper

Restricoes: (i) Numero de envolvidos no projeto; (ii) Prazo;

Configuracao do Teste: onshore insourcing

Estrategia de Distribuicao: Disciplinas

Sites Envolvidos: Maringa

Papeis e responsabilidades:Site Maringa:Planejamento (Teste)Preparacao (Teste)Projeto (Teste)Execucao (Teste)

RecursosHardware:

(i) Computador pessoal dos participantes;(ii) Servidor para a ferramentade Gerencia de Projetos

5.4 Disciplina Requisitos - Desenvolvimento

Na execucao dessa disciplina foi estabelecido contato com o stakeholder (Profa. Elisa H.

M. Huzita). Como a equipe responsavel por essa disciplina esta localizada na mesma

cidade do stakeholder, foram realizadas duas reunioes presenciais para coleta dos requi-

sitos. Os papeis de Engenheiro de Negocios e Especificador foram desempenhados pelo

mesmo ator. Com base nos dados obtidos pelo Engenheiro de Negocios, na entrevista, foi

elaborada a descricao textual do MSPaper, que pode ser vista no Apendice D. A partir

da descricao textual, foram gerados os demais artefatos, que sao apresentados a seguir.

Na Figura 5.1 e ilustrada a visao de negocios da gestao de eventos.

Page 120: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

94 5. Exemplo de Aplicacao da Abordagem

Figura 5.1: Visao do Negocio.

O modelo de objetos de negocio para o MSPaper e apresentado na Figura 5.2.

Figura 5.2: Modelo de Objetos de Negocios.

A visao estatica do MSPaper e representada atraves dos casos de uso, atores e rela-

cionamentos identificados, os quais sao ilustrados na Figura 5.3. No Apendice D e

apresentada a especificacao estendida dos casos de uso.

Page 121: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.5 Disciplina Preparacao - Teste 95

Figura 5.3: Diagrama de Casos de Uso.

5.5 Disciplina Preparacao - Teste

Essa disciplina descreve o planejamento das atividades envolvidas no teste do MSPaper,

identificando as funcionalidades e caracterısticas a serem testadas e os responsaveis. A

Tabela 5.5 apresenta o Plano de Teste gerado.

Tabela 5.5: Plano de Teste

Identificacao do Projeto: MSPaper

Finalidade: Desenvolver e aplicar testes.

Escopo: Este documento descreve o plano de testes ser usado pelo projeto de desenvolvimentoda aplicacao MSPaper. Fornecendo a todos os membros das equipes envolvidas visibilidadeadequada sobre o projeto.

Funcionalidades: Gerenciar evento; Submeter artigo e Revisar artigo.

Restricoes: (i) Numero de envolvidos no projeto; (ii) Prazo;

Configuracao do Teste: onshore insourcing

Estrategia de Distribuicao: Disciplinas

Sites Envolvidos: Maringa - Gerente Local: Elisa Hatsue Moriya Huzita - Idioma: Portugues

Papeis e responsabilidades:Site Maringa:Planejamento (Teste) - elaborar o plano de testePreparacao (Teste) - refinar o plano de testeProjeto (Teste) - projetar os casos de testeExecucao (Teste) - executar os casos de teste

RecursosHardware:

(i) Computador pessoal dos participantes;(ii) Servidor para a ferramentade Gerencia de Projetos

Cronograma:Data de inıcio: 22/02/2010Data de termino: 20/03/2010

Page 122: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

96 5. Exemplo de Aplicacao da Abordagem

5.6 Disciplina Desenvolvimento - Desenvolvimento

Nessa Disciplina os papeis de Arquiteto e Especificador foram desempenhados pelo mesmo

ator. Quanto a comunicacao, nao foram estabelecidos contatos presenciais. Esses contatos

foram realizados utilizando as ferramentas definidas na Disciplina de Planejamento.

A Descricao da Arquitetura para a aplicacao MSPaper e apresentada na Figura 5.4.

Figura 5.4: Descricao da Arquitetura.

No Diagrama de Classes da Figura 5.5 e possıvel visualizar a estrutura e a relacao

entre as classes da aplicacao.

Page 123: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.6 Disciplina Desenvolvimento - Desenvolvimento 97

Figura 5.5: Diagrama de Classes.

A Figura 5.6 ilustra o Diagrama de Comunicacao - Submissao de Artigos - em que se

pode observar a interacao entre os objetos por meio das mensagens trocadas. Da mesma

forma, foram elaborados diagramas de comunicacao para gerenciar evento, distribuir

artigo, revisar e consolidar resultados.

Page 124: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

98 5. Exemplo de Aplicacao da Abordagem

Figura 5.6: Diagrama de Comunicacao - Submissao de Artigos.

A Figura 5.7 ilustra o Diagrama de Sequencia - Submissao de Artigos - em que se

pode observar como os objetos colaboram ao longo do tempo. Do mesmo modo, foram

elaborados diagramas de sequencia para gerenciar evento, distribuir artigo, revisar e

consolidar resultado.

Figura 5.7: Diagrama de Sequencia - Submissao de Artigos.

Page 125: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.7 Disciplina Projeto - Teste 99

5.7 Disciplina Projeto - Teste

Nessa Disciplina foram detalhados os aspectos tecnicos relacionados a conducao das

atividades de teste. Desse modo, foram gerados tres artefatos: Especificacao de Projeto

de Teste (Tabela 5.6); Especificacao de Casos de Teste (Tabela 5.7) e Especificacao de

Procedimentos de Teste (Tabela 5.8).

Tabela 5.6: Especificacao de Projeto de Teste

Identificacao do Projeto: MSPaper

Responsavel: Site Maringa - Gerente de Projetos: Elisa - Idioma: Portugues

Tecnicas de Teste: Caixa-preta

Criterios de Teste: Descricao do fluxo experado, alternativo e itens requeridos (pre e pos-condicoes)dos casos de uso e caminhos do diagrama de sequencia.

Criterios de Parada: Prazo do projeto.

Tabela 5.7: Especificacao de Casos de Teste

Identificacao do Projeto: MSPaper

Responsavel: Site Maringa - Gerente de Projetos: Elisa - Idioma: Portugues

CT Pacote Descricao Dependencia1 Gerenciar evento Cadastrar evento e vincular Presidente do Comite Usuario2 Gerenciar evento Revisoes por artigo -3 Gerenciar evento Prazo de submissao -4 Gerenciar evento Data de devolucao das submissoes -5 Gerenciar evento Data de notificacao -6 Gerenciar evento Percentual de artigos aceitos -7 Submeter artigo Enviar artigo Evento8 Submeter artigo Formato do arquivo -9 Revisar artigo Artigos disponıves Evento Usuario10 Revisar artigo Revisao de artigo -11 Revisar artigo Relevancia -12 Revisar artigo Conteudo Tecnico -13 Revisar artigo Rigor Cientıfico -14 Revisar artigo Originalidade -15 Revisar artigo Qualidade da Escrita -16 Revisar artigo Avaliacao Global -

Page 126: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

100 5. Exemplo de Aplicacao da Abordagem

Tabela 5.8: Especificacao de Procedimentos de Teste

Identificacao do Projeto: MSPaper

Responsavel: Site Maringa - Gerente de Projetos: Elisa - Idioma: Portugues

CT Roteiro Resultado Esperado1 1. Inserir evento.

2. Selecionar usuario Presidente Comite Cientıfico.3. Definir datas.4. Adicionar temas.5. Salvar dados. Persistencia dos dados.

2 1. Inserir numero de revisoes por artigo menor ou igual a 0.2. Salvar dados. Emitir mensagem solicitando valor

maior que zero. Nao persistir os dados.

3 1. Inserir prazo de submissao menor que a data atual.2. Salvar dados. Emitir mensagem informando que

o prazo de submissao deve ser posteriora data atual. Nao persistir os dados.

4 1. Inserir data de devolucao das correcoes menorque a data atual.2. Salvar dados. Emitir mensagem informando que o

prazo de devolucao deve ser posterior adata de submissao. Nao persistir os dados.

5 1. Inserir data de notificacao menor que a dataatual.2. Salvar dados. Emitir mensagem informando que o

a data de notificacao deve ser posterior adata atual. Nao persistir os dados.

6 1. Inserir data de notificacao menor que a datade devolucao das revisoes.2. Salvar dados. Emitir mensagem informando que o

a data de notificacao deve ser posterior adata de devolucao das revisoes. Naopersistir os dados.

7 1. Inserir percentual de artigos aceitos menor ouigual a zero.2. Salvar dados. Emitir mensagem informando que o

percentual deve ser maior que 0.Nao persistir os dados.

8 1. Selecionar o evento.2. Selecionar tema.3. Preencher palavras-chave.4. Inserir resumo.5. Adicionar coautor.6. Enviar arquivo formato ”.pdf”. Persistencia dos dados.

Upload do arquivo

9 1. Selecionar o evento.2. Selecionar tema.3. Preencher palavras-chave.4. Inserir resumo.5. Adicionar coautor.6. Enviar arquivo formato ”.doc”. Nao persistir os dados.

Solicitar aquivo em formato ”.pdf”.

Page 127: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.8 Disciplina Implementacao - Desenvolvimento 101

Tabela 5.9: Continuacao da Tabela Especificacao de Procedimentos de Teste

10 1. Acessar area de artigos para revisao. Visualizar artigos dos eventos em que adata atual e menor que a data dedevolucao da correcao.

11 1. Inserir espacos em branco no campo revisao do artigo.2. Salvar dados. Emitir mensagem solicitando o

preenchimento do campo.Nao persistir os dados.

12 1. Inserir espacos em branco no campo relevancia.2. Salvar dados. Emitir mensagem solicitando o

preenchimento do campo.Nao persistir os dados.

13 1. Inserir espacos em branco no campo conteudo tecnico.2. Salvar dados. Emitir mensagem solicitando o

preenchimento do campo.Nao persistir os dados.

14 1. Inserir espacos em branco no campo rigor cientıfico.2. Salvar dados. Emitir mensagem solicitando o

preenchimento do campo.Nao persistir os dados.

15 1. Inserir espacos em branco no campo originalidade.2. Salvar dados. Emitir mensagem solicitando o

preenchimento do campo.Nao persistir os dados.

16 1. Inserir espacos em branco no campo qualidade da escrita.2. Salvar dados. Emitir mensagem solicitando o

preenchimento do campo.Nao persistir os dados.

17 1. Inserir espacos em branco no campo avaliacao global.2. Salvar dados. Emitir mensagem solicitando o

preenchimento do campo.Nao persistir os dados.

5.8 Disciplina Implementacao - Desenvolvimento

Essa Disciplina foi executada pela equipe de Belo Horizonte-MG, que tomando como base

os artefatos gerados nas Disciplinas anteriores e utilizando o ambiente de desenvolvimento

Netbeans 6.8 e o sistema de gerenciamento de banco de dados Postgresql, a aplicacao

MSPaper foi desenvolvida.

Page 128: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

102 5. Exemplo de Aplicacao da Abordagem

A Figura 5.8 mostra a interface de login para acesso ao MSPaper.

Figura 5.8: Interface de Login.

Na Figura 5.9 tem-se a interface em que o Presidente do Comite Cientıfico pode

visualizar os eventos nos quais e chair.

Figura 5.9: Interface da Lista de Eventos.

A interface para submissao de artigos e ilustrada na Figura 5.10.

Page 129: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.8 Disciplina Implementacao - Desenvolvimento 103

Figura 5.10: Interface de Submissao de Artigo.

As Figuras 5.11 e 5.12 mostram a lista de artigos que o revisor possui para revisar e

a interface em que os dados da revisao sao registrados, respectivamente.

Figura 5.11: Interface do Revisor de Artigo.

Page 130: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

104 5. Exemplo de Aplicacao da Abordagem

Figura 5.12: Interface de Revisao.

5.9 Disciplina Execucao - Teste

Nessa disciplina foram executadas e registradas as atividades de teste. Devido ao escopo

reduzido do projeto nao houveram incidentes de teste.

Os artefatos Diario de Testes e Resumo de Teste sao apresentados nas Tabelas 5.10 e

5.11, respectivamente.

Page 131: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

5.9 Disciplina Execucao - Teste 105

Tabela 5.10: Diario de Teste

Identificacao do Projeto: MSPaper

Responsavel: Site Maringa - Gerente de Projetos: Elisa - Idioma: Portugues

Ambiente de execucao: Intel Core 2 Duo Processor T6400, 4GB SDRAM, 320GB HDD

CT Responsavel Resultado EventosnaoEsperado

Data

1 Camila Dados persistidos corretamente. - 22/03/2010

2 Camila Mensagem solicitando valor maior que 0. - 22/03/2010

3 Camila Mensagem informando que a data de submissao - 22/03/2010deve ser maior que a data atual.

4 Camila Mensagem informando que a data de devolucao - 22/03/2010deve ser maior que a data de submissao.

5 Camila Mensagem informando que a data de notificacao - 22/03/2010deve ser maior que a data atual.

6 Camila Mensagem informando que a data de notificacao - 22/03/2010deve ser posterior a data de devolucao das revisoes.

7 Camila Dados persistidos. Percentualmenor quezero.

22/03/2010

8 Camila Dados persistidos e arquivo carregado - 22/03/2010

9 Camila Dados persistidos. Uploadformato”.doc”

22/03/2010

10 Camila Visualizacao dos artigos que a data de 22/03/2010atual e menor que a data de devolucao da correcao.

11 Camila Dados nao persistidos. - 22/03/2010

12 Camila Dados nao persistidos - 22/03/2010

13 Camila Dados nao persistidos - 22/03/2010

14 Camila Dados nao persistidos - 22/03/2010

15 Camila Dados nao persistidos - 22/03/2010

16 Camila Dados nao persistidos - 22/03/2010

17 Camila Dados nao persistidos - 22/03/2010

Page 132: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

106 5. Exemplo de Aplicacao da Abordagem

Tabela 5.11: Resumo do Teste

Identificacao do Projeto: MSPaper

Responsavel: Site Maringa - Gerente de Projetos: Elisa - Idioma: Portugues

Inıcio dos Testes: 21/03/2010 Fim dos Testes: 22/03/2010

Numeros do Teste

Casos de Teste criados antes do inıcio dos testes 16

Casos de Teste criados durante os testes 1

Casos de Teste executados 17

Casos de Teste executados com sucesso 15

Casos de Teste executados com erro 2

Casos de Teste enviados para correcao 2

Percentuais do Teste

Casos de Teste executados 100%

Casos de Teste executados com sucesso 88%

Casos de Teste executados com incidencia de erro 0%

Casos de Teste corrigidos 100%

5.10 Consideracoes Finais

A prova de conceito apresentada ilustra como a abordagem descrita no Capıtulo 4 pode

ser instanciada, nao tendo como objetivo extrair conclusoes sobre a real viabilidade e

funcionalidade da abordagem. Algumas dificuldades encontradas e que inviabilizaram a

conducao de um estudo experimental foram:

∙ no ambito regional, ha dificuldade em encontrar empresas que utilizem essa con-

figuracao de desenvolvimento.

∙ os projetos desenvolvidos utilizando a estrategia distribuıda, geralmente, sao de

grande porte, o que demandaria um prazo maior para o acompanhamento do projeto.

∙ dificuldade de reunir equipes dispersas, mesmo no meio academico, que tenham

disponibilidade para participar do experimento.

A prova de conceito exposta apresenta limitacoes em relacao ao numero de participantes

e equipes envolvidas. Alem disso, as equipes utilizam o mesmo idioma, as diferencas

socioculturais sao pequenas e nao ha diferenca de fuso horario. No entanto, esta prova

de conceito nao tem o intuito de validar a abordagem proposta mas, sim elucidar o seu

funcionamento. O Capıtulo seguinte descreve o estudo de viabilidade realizado.

Page 133: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Capıtulo

6

Estudo de Viabilidade

Este capıtulo apresenta um estudo de viabilidade, tambem denominado de projetos quasi-

experimental, da abordagem descrita no Capıtulo 4. Esse estudo tem por objetivo coletar

evidencias, pontos fortes e fracos sobre a abordagem proposta.

A principal caracterıstica de um estudo de viabilidade e que os dados sao coletados

de acordo com algum projeto experimental, mas nao ha controle sobre todas as variaveis.

O objetivo nao e encontrar uma resposta definitiva, mas sim, construir um corpo de

conhecimento que aborda a plausibilidade da continuidade do estudo, gerar nova hipoteses

sobre a abordagem e sua utilidade (Shull et al., 2001).

6.1 Definicao dos Objetivos

Esta etapa discorre sobre os objetivos do estudo de viabilidade sobre tres perspectivas:

global, da medicao e do estudo.

6.1.1 Objetivo Global

Caracterizar a viabilidade da abordagem integrada de desenvolvimento e teste de software

para equipes distribuıdas.

6.1.2 Objetivo da Medicao

Investigar e caracterizar a abordagem com relacao a viabilidade para o contexto de DDS.

107

Page 134: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

108 6. Estudo de Viabilidade

6.1.3 Objetivo do Estudo

Analisar a abordagem integrada de desenvolvimento e teste de software para equipes

distribuıdas.

Com o proposito de caracterizar

Com respeito a viabilidade das atividades, artefatos e papeis definidos pela abor-

dagem

Do ponto de vista do pesquisador

No contexto de pessoas envolvidas com o desenvolvimento distribuıdo de software.

6.1.4 Questoes

∙ Q1: As atividades presentes na abordagem sao suficientes para apoiar o DDS?

Metrica: A lista de atividades oferecidas pela abordagem.

∙ Q2: O artefatos presentes na abordagem sao suficientes para apoiar o DDS, servindo

como comunicacao entre as equipes de desenvolvimento e teste?

Metrica: A lista de artefatos especificados pela abordagem.

6.2 Planejamento

Esta etapa prepara como o estudo sera conduzido e compoe-se pelos seguintes passos:

formulacao da hipotese, selecao do contexto, selecao de variaveis, selecao de participantes

e projeto do estudo.

6.2.1 Definicao das Hipoteses

∙ H0: A abordagem integrada de desenvolvimento e teste de software nao contempla

todas as peculiaridades do desenvolvimento distribuıdo.

∙ H1: A abordagem integrada de desenvolvimento e teste de software contempla todas

as peculiaridades do desenvolvimento distribuıdo.

6.2.2 Selecao do Contexto

O estudo foi conduzido por meio de questionarios que foram enviados eletronicamente aos

participantes com conhecimento no domınio que abrange o estudo.

Page 135: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.2 Planejamento 109

6.2.3 Selecao dos Participantes

Os participantes foram selecionados com base nos conhecimentos sobre desenvolvimento

distribuıdo de software e disponibilidade, ou seja, nao foram escolhidos de forma aleatoria.

O estudo foi conduzido no ambiente academico, que de acordo com (Shull et al., 2001)

e adequado para estudos de viabilidade. Embora os resultados nao possam ser aplicados

diretamente no meio industrial, permitem que novos conceitos sejam testados antes de

seu uso na industria.

6.2.4 Projeto do Estudo

Apos a tabulacao dos dados, sera realizada uma analise descritiva dos resultados e medidas

de dispersao. Em seguida sera aplicado o teste qui-quadrado para analisar os resultados.

Esse teste se destina a encontrar um valor de dispersao para duas variaveis nominais,

avaliando a associacao existente entre variaveis qualitativas. O princıpio basico deste

metodo e comparar proporcoes, isto e, as possıveis divergencias entre as frequencias

observadas e esperadas para um dado evento.

A escala de mensuracao adotada para as variaveis dependentes, relacionadas ao perfil

do entrevistado: 0 - Nenhum; 1 - Basico; 2 - Intermediario; 3 - Avancado.

A escala de mensuracao utilizada para as variaveis independentes, relacionadas ao

estudo de viabilidade: 0 - Nenhum; 1 - Baixo; 2 - Intermediario; 3 - Satisfatorio.

6.2.5 Instrumentacao

Com o objetivo de caracterizar cada participante foi utilizado o questionario Perfil do

Entrevistado, contendo questoes que estao relacionadas com as variaveis independentes,

por exemplo: experiencia com desenvolvimento de sistemas, conhecimento em desenvolvi-

mento distribuıdo de software, gerencia de projetos e teste de software.

Com o objetivo de avaliar a abordagem integrada foi utilizado o questionario Estudo

de Viabilidade, contendo as respostas, que correspondem as variaveis dependentes de cada

participante, por exemplo: grau em que o conjunto de disciplinas, atividades, artefatos

atende ao DDS. Foi elaborado um memorial descritivo apresentando o objetivo do estudo,

as principais caracaterısticas da abordagem e o Diagrama de Pacotes de cada uma das

disciplinas, em que e possıvel visualizar os papeis, atividades e artefatos envolvidos.

Os documentos utilizados na instrumentacao podem ser vistos no Apendice E.

Page 136: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

110 6. Estudo de Viabilidade

6.2.6 Validade

Uma questao fundamental com relacao aos resultados do estudo e identificar quao validos

eles sao, pois estes devem ser generalizados. Ha quatro tipos de validade: interna, externa,

construtiva e conclusiva, as quais sao descritas a seguir (Travassos, 2002).

Validade Interna

Esse tipo de validade refere-se ao tratamento-resultado e seus riscos estao relacionados aos

participantes, que podem ficar cansados ou desanimados. Desse modo, reforca-se a neces-

sidade de uma instrumentacao preparada adequadamente para evitar mal entedimento, o

que pode afetar os resultados negativamente (Travassos, 2002).

No estudo em questao os participantes foram selecionados com base no conhecimento

sobre desenvolvimento distribuıdo de software. A validade interna e dependente do

numero de participantes, quanto maior o numero de participantes melhor sera a validade

interna.

Validade Externa

A validade externa e relacionada as condicoes que limitam a habilidade de generalizar

os resultados. Essa validade e dependente da capacidade do estudo refletir o mesmo

comportamento em outros grupos de participantes e profissionais da industria, ou seja,

em outros grupos alem daquele em que o estudo foi aplicado (Travassos, 2002).

Os dados do perfil dos indivıduos podem ser analisados para avaliar o nıvel de ex-

periencia e conhecimento em desenvolvimento distribuıdo de software. O maior problema

que pode ocorrer em relacao a validade externa e elevado numero de pessoas do meio

academico em relacao ao meio industrial.

Validade Construtiva

A validade construtiva considera os relacionamentos entre a teoria e a observacao, ou seja,

se o tratamento reflete bem a causa e o resultado reflete bem o efeito. Os problemas a

serem considerados referem-se ao fato dos participantes se basearem nas hipoteses e na

expectativa do pesquisador (Travassos, 2002).

Validade Conclusiva

Esse tipo de validade relaciona-se a habilidade de chegar a uma conclusao correta a

respeito dos relacionamentos entre o tratamento e os resultados do experimento. Para

Page 137: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.3 Operacao 111

tanto sao considerados os seguintes elementos: teste estatıstico e o tamanho do conjunto

de participantes (Travassos, 2002).

A validade conclusiva mensura a relacao entre o tratamento e o resultado, determi-

nando a capacidade do estudo em gerar alguma conclusao. A obtencao de boas conclusoes

sera permitida por meio de uma boa definicao das variaveis independentes e dependentes

juntamente com as analises descritivas adequadas e o teste qui-quadrado.

6.3 Operacao

Um roteiro (memorial descritivo) explicando a abordagem, juntamente com os ques-

tionarios do perfil do entrevistado e estudo de viabilidade foram encaminhados para 16

pessoas.

O roteiro explica a finalidade do estudo, os objetivos da abordagem e apresenta o

Diagrama de Pacotes de cada Disciplina, que contem as atividades, os papeis envolvidos

e artefatos gerados.

6.3.1 Resultados do Estudo

A Tabela 6.1 apresenta os resultados obtidos para as variaveis independentes (A - C) e

dependentes (D- L), em que:

∙ (A): Conhecimento em Desenvolvimento Distribuıdo de Software.

∙ (B): Experiencia em Gerencia de Projetos.

∙ (C): Conhecimento em teste de software.

∙ (D): Conjunto de disciplinas e satisfatorio para o DDS.

∙ (E): Conjunto de atividades atende as necessidades do DDS.

∙ (F): Conjunto de artefatos atende as necessidades do DDS.

∙ (G): Uso de notacao (UML) oferece informacoes relevantes para as duas equipes

(desenvolvimento e teste) pode amenizar os problemas de comunicacao.

∙ (H): Identificacao das equipes, bem como de seus membros e responsabilidades

atraves dos Planos de Desenvolvimento Global, Plano de Desenvolvimento Local e

Plano de Testes.

Page 138: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

112 6. Estudo de Viabilidade

∙ (I): Nomenclatura comum a todos os envolvidos no projeto possibilita entender a

dependencia das atividades e artefatos.

∙ (J): Uso de OCL (Object Constraint Language) para especificar restricoes.

∙ (K): Impacto da padronizacao dos artefatos e atividades na qualidade dos produtos

desenvolvidos.

∙ (L): Atividades de teste ao longo de todas as disciplinas.

Na Tabela 6.1 a escala de mensuracao adotada e: 0 - Nenhum; 1 - Baixo; 2 -

Intermediario; 3 - Satisfatorio.

Tabela 6.1: Resultados do Estudo de ViabilidadeN A B C D E F G H I J K L1 2 0 1 3 3 3 2 2 3 2 3 32 2 2 2 3 3 3 2 2 3 3 3 33 2 1 2 3 3 3 2 3 2 2 2 34 2 1 1 2 2 2 3 2 3 3 2 35 2 0 1 3 3 2 2 3 3 2 2 36 3 1 1 3 2 3 2 3 2 2 3 37 2 2 2 2 2 3 3 2 3 3 3 38 2 1 1 2 2 3 3 2 2 3 2 29 3 2 2 3 3 3 3 3 2 2 1 310 1 1 1 2 3 3 3 3 2 2 3 311 3 1 1 3 3 3 3 2 3 2 2 312 2 0 3 3 3 3 3 3 3 3 3 2

6.4 Analise e Interpretacao dos Dados

A Analise e Interpretacao dos Dados divide-se em quatro etapas: Validacao dos Dados,

Estatıstica Descritiva e Analise, Aplicacao do Teste Estatıstico e Verificacao das Hipoteses.

A seguir essas etapas sao descritas.

6.4.1 Validacao dos Dados

No estudo foram utilizados 12 participantes, todos responderam ao questionario Perfil do

Entrevistado e Estudo de Viabilidade. Nao foram encontrados outliers nas respostas dos

questionarios.

Page 139: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.4 Analise e Interpretacao dos Dados 113

6.4.2 Estatıstica Descritiva e Analise

A tabulacao e apresentacao de dados sao fundamentais ao bom julgamento estatıstico pois

permitem focar em caracterısticas relevantes a serem utilizadas na solucao de problemas.

Desse modo, as medidas de tendencia central, no caso mediana e moda, pois os valores

estao em escala ordinal, organizam a amostra destacando os acontecimentos (Montgomery

e Runger, 2009).

A mediana divide os dados em duas partes iguais. Se o numero de observacoes for

par, a mediana estara na metade da distancia entre os dois valores centrais. Se o numero

de observacoes for ımpar, a mediana sera o valor central. A moda e o valor da observacao

que ocorre com mais frequencia (Montgomery e Runger, 2009).

A Tabela 6.2 apresenta a estatıstica descritiva (mediana e a moda) dos dados coletados.

Tabela 6.2: Estatıstica DescritivaA B C D E F G H I J K L

Mediana 2 1 1 3 3 3 3 2,5 3 2 2,5 3Moda 2 1 1 3 3 3 3 2 3 2 3 3

Apos a tabulacao dos dados foram gerados graficos utilizando a ferramenta GNUPlot

4.0, que sao apresentados nas Figuras 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8 e 6.9. Esses graficos

ilustram a relacao entre o conhecimento dos participantes em Desenvolvimento Distribuıdo

de Software, Experiencia em Gerencia de Projetos/Conhecimento em teste de software,

e, a terceira coordenada, representa as caracterısticas da abordagem proposta que foram

analisadas: Disciplinas (Figura 6.1), Atividades (Figura 6.2), Artefatos (Figura 6.3, uso

de UML para amenizar os problemas de comunicacao (6.4), Identificacao das Equipes

para aumentar a percepcao (Figura 6.5), uso de OCL para amenizar a imprecisao dos

artefatos (Figura 6.7), padronizacao dos artefatos e atividades (Figura 6.8) e atividades

de teste (Figura 6.9).

Nas Figura 6.1, 6.2 e 6.3 pode-se observar que os participantes com conhecimento in-

termediario/avancado em DDS, experiencia basica/intermediaria em Gerencia de Projetos

avaliaram que as Disciplinas, Atividades e Artefatos propostos na abordagem contemplam

de modo intermediario/satisfatorio as necessidades do DDS. O vale apresentado representa

os participantes que nao possuem experiencia em Gerencia de Projetos.

Page 140: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

114 6. Estudo de Viabilidade

Figura 6.1: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Disciplinas.

Figura 6.2: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Atividades.

Page 141: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.4 Analise e Interpretacao dos Dados 115

Figura 6.3: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Artefatos.

A Figura 6.4 mostra que os participantes com conhecimento intermediario/avancado

em DDS, indiferente da experiencia em Gerencia de Projetos avaliaram que a notacao

UML, atraves das informacoes oferecidas para as equipes de desenvolvimento e teste,

pode amenizar os problemas de comunicacao em grau intermediario/satisfatorio.

Page 142: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

116 6. Estudo de Viabilidade

Figura 6.4: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x UML.

Na Figura 6.5, o grafico evidencia dois picos, em relacao a identificacao das equipes e

seus membros como mecanismo para aumentar a percepcao de modo intermediario/satisfatorio.

Figura 6.5: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Identificacao das Equipes.

Page 143: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.4 Analise e Interpretacao dos Dados 117

Na Figura 6.6, e possıvel evidenciar um pico e um vale, os quais sao dados pela variacao

da experiencia em gerencia de projetos dos participantes. No entanto, observa-se que a

abordagem atende de modo intermediario/satisfatorio as necessidades do DDS por oferecer

uma nomenclatura comum a todos os envolvidos no projeto e possibilitar o entendimento

das dependencias entre as atividades e artefatos.

Figura 6.6: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Nomenclatura.

O grafico da Figura 6.7 apresenta dois picos, os quais sao formados devido a variacao da

experiencia em gerencia de projetos. Mas, de modo geral a OCL foi avaliada como sendo

uma solucao intermediaria/satisfatoria para os problemas de imprecisao dos artefatos.

Page 144: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

118 6. Estudo de Viabilidade

Figura 6.7: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x OCL.

Na Figura 6.8, o grafico evidencia um vale e uma depressao. O vale representa os par-

ticipantes com conhecimento basico/intermediario em DDS e nenhuma/basica experiencia

em gerencia de projetos que avaliaram como intermediario o grau em que a padronizacao

dos artefatos e atividades podem impactar na qualidade dos produtos desenvolvidos.

A depressao demonstra que participantes com conhecimento intermediario em DDS e

experiencia intermediaria avaliaram que a padronizacao nao e determinante na qualidade

dos produtos.

Page 145: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.4 Analise e Interpretacao dos Dados 119

Figura 6.8: Grafico da Relacao Conhecimento em DDS x Experiencia em Gerencia deProjetos x Padronizacao.

O grafico da Figura 6.9 apresenta uma depressao, que representa os participantes com

conhecimento avancado em teste de software e conhecimento intermediario em DDS que

avaliaram que as atividades de teste ao longo de todas as disciplinas de desenvolvimento

podem reduzir os problemas de integracao de modo intermediario. Ja os participantes

com conhecimento basico/intermediario em teste analisaram como sendo satisfatorio a

reducao dos problemas de integracao.

Page 146: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

120 6. Estudo de Viabilidade

Figura 6.9: Grafico da Relacao Conhecimento em DDS x Conhecimento em Teste xAtividades de Teste ao longo das Disciplinas.

6.4.3 Aplicacao do Teste Estatıstico

Os participantes foram classificados em apenas um nıvel de conhecimento a partir das

variaveis de entrada, conforme pode ser visto na Tabela 6.3).

Tabela 6.3: Classificacao do Nıvel de Conhecimento do ParticipanteParticipante Nıvel de Conhecimento

1 12 23 24 15 16 17 28 19 210 111 112 1

As Variaveis Dependentes foram relacionadas com a Variavel Independente que mede

o conhecimento do participante atraves do teste estatıstico Qui-Quadrado. Como o

teste Qui-Quadrado considera a comparacao das distribuicoes, podemos comparar a dis-

tribuicao de respostas dos participantes com a distribuicao ideal.

Page 147: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.4 Analise e Interpretacao dos Dados 121

A funcao densidade de probabilidade qui-quadrado e representada por x2v, em que v

designa o numero de graus de liberdade da x2. Se v observacoes de uma variavel sao

independentes, entao o numero de graus de liberdade e igual a v. Entretanto, um grau de

liberdade e perdido para cada restricao sobre as v observacoes (Montgomery e Runger,

2009).

A funcao distribuicao e dada por P (X2 >= X2v ) = �, em que � e a probabilidade de

somas dos quadrados iguais ou superiores ao valor correspondente tabelado. O nıvel de

significancia � e, geralmente, fixado em torno do valor 0,05. Quanto maior � , maior e o

risco de rejeitar hipoteses boas; inversamente, o risco de aceitar hipoteses falsas aumenta,

na medida que o valor de � diminue. Se o valor calculado da variavel aleatoria x2 for

maior do que o valor tabelado x2v, rejeitase a hipotese de que as variaveis sejam aleatorias,

entretanto, se ele for menor ou igual, a hipotese e aceita (Montgomery e Runger, 2009).

A Tabela 6.4 mostra o nıvel esperado em que a abordagem contempla as necessidades

do DDS segundo o conhecimento dos participantes.

Tabela 6.4: Nıvel Esperado que a abordagem contempla as necessidades do DDS.Nıvel Esperado

Nıvel de conhecimento 0 1 2 301 82 43

As Tabelas 6.5, 6.6 6.7, 6.8, 6.9, 6.10, 6.11, 6.12 e 6.13 apresentam a distribuicao dos

dados de acordo o nıvel de conhecimento dos participantes.

Tabela 6.5: Distribuicao do Grau que o Conjunto de Disciplinas atende as necessidadesdo DDS.

DisciplinasNıvel de conhecimento 0 1 2 3

01 3 52 1 33

O � adotado e de 0,05 e v e 9. Desse modo, o X2v calculado para os dados da Tabela

6.5 foi 6,125.

Page 148: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

122 6. Estudo de Viabilidade

Tabela 6.6: Distribuicao do Grau que o Conjunto de Atividades atende as necessidadesdo DDS.

AtividadesNıvel de conhecimento 0 1 2 3

01 3 52 1 33

O X2v obtido para os dados da Tabela 6.6 foi 6,125.

Tabela 6.7: Distribuicao do Grau que o Conjunto de Artefatos atende as necessidadesdo DDS.

ArtefatosNıvel de conhecimento 0 1 2 3

01 2 62 43

O X2v obtido para os dados da Tabela 6.7 foi 0,04847.

Tabela 6.8: Distribuicao do Grau que a Notacao UML pode amenizar problemas decomunicacao.

Notacao UMLNıvel de conhecimento 0 1 2 3

01 3 52 2 23

Para os dados das Tabelas 6.8 e 6.9 o X2v calculado foi 4,5.

Tabela 6.9: Distribuicao do Grau que a Identificacao das Equipes pode aumentar apercepcao.

Identificacao das EquipesNıvel de conhecimento 0 1 2 3

01 4 42 2 23

Page 149: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

6.4 Analise e Interpretacao dos Dados 123

Tabela 6.10: Distribuicao do Grau que a Abordagem Atende as necessidades do DDS.Nomenclatura

Nıvel de conhecimento 0 1 2 301 3 52 2 23

O X2v obtido para os dados da Tabela 6.10 foi 3,125.

Tabela 6.11: Distribuicao do Grau que a OCL pode amenizar a ambiguidade.OCL

Nıvel de conhecimento 0 1 2 301 5 32 2 23

O X2v obtido para os dados da Tabela 6.11 foi 4,5.

Tabela 6.12: Distribuicao do Grau que a Padronizacao de atividades e artefatos podeimpactar na qualidade.

PadronizacaoNıvel de conhecimento 0 1 2 3

01 4 42 1 1 23

O X2v calculado para os dados da Tabela 6.12 foi 6,125.

Tabela 6.13: Distribuicao do Grau em que as atividades de teste ao longo das disciplinaspodem reduzir os problemas de integracao.

Atividades de TesteNıvel de conhecimento 0 1 2 3

01 2 62 43

Para os dados da Tabela 6.13 o X2v calculado foi 0,04847.

Page 150: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

124 6. Estudo de Viabilidade

6.4.4 Verificacao das Hipoteses

Pela tabela da distribuicao do qui-quadrado X2v = 7,815. Ao aplicar o teste qui-quadrado

todas as tabelas relacionadas as variaveis dependentes tiveram como resposta X2 >= X2v .

Desse modo, rejeita-se H1 em prol de H0. Com isso, podemos dizer que ”A abordagem

integrada de desenvolvimento e teste de software nao contempla todas as peculiaridades

do desenvolvimento distribuıdo”.

Como a amostra do estudo foi pequena tem-se os seguintes problemas relacionados a

validade:(1) A potencia do teste estatıstico qui-quadrado e baixa, o que afeta a validade

de conclusao; (2) Como o nıvel de conhecimento dos participantes e proximo, nao ha di-

versidade dos perfis, o que compromete a validade externa (generalizacao dos resultados).

Alem disso, observa-se que o estudo pode ter sido influenciado pela classificacao do

conhecimento em apenas um nıvel pois, a maioria dos participantes possuia conhecimento

intermediario ou avancado em DDS, mas apresentava nenhuma ou pouca experiencia em

gerencia de projetos e com conhecimento basico em teste de software. Assim, e possıvel

estratificar a analise utilizando cada um dos tipos de conhecimento do participante.

6.5 Consideracoes Finais

O teste Qui-Quadrado foi comprometido na generalizacao dos resultados devido ao re-

duzido numero de participantes, ou seja, para a aplicacao de um teste estatıstico, deveria

existir uma amostra maior do que a que foi utilizada. No entanto, a partir da analise dos

graficos apresentados na Secao 6.4.2, que correlacionam os conhecimentos do participante

com as caracterısticas analisadas da abordagem, pode-se evidenciar que as peculiaridades

do DDS sao contempladas em um nıvel intermediario/satisfatorio.

A conducao do estudo de viabilidade possibilitou levantar, junto aos participantes, os

seguintes pontos:

∙ inserir atividades que envolvam cooperacao e percepcao das equipes distruibuıdas

que estejam envolvidas em atividades conjuntas;

∙ englobar atividades de revisao das atividades e artefatos, o que afeta diretamente a

qualidade; e,

∙ gerar um artefato de conclusao de disciplina.

Page 151: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Capıtulo

7

Conclusoes

A crescente busca por maior competitividade tem levado as empresas a adotarem o DDS.

Tentando realizar desenvolvimento a baixo custo, empresas tem atravessado fronteiras,

formando um mercado global. A producao distribuıda pode ser motivada, tambem, por

questoes de qualidade, gerenciamento do controle de producao, domınio de tecnologias

empregadas, reducao da necessidade de grandes contratacoes imediatas ou para transferir

conhecimento a uma filial (L’Erario, 2009b).

Essa mudanca de paradigma tem causado impacto no marketing, na distribuicao e

na forma de concepcao, de producao, de projeto, de teste e de entrega do software aos

clientes (Sangwan et al., 2006). Segundo Damian e Lanubile (2004) para minimizar esses

efeitos e alcancar nıveis mais elevados de produtividade sao necessarias novas tecnologias,

processos e metodos compatıveis com a abordagem de desenvolvimento distribuıdo.

Diante deste cenario o objetivo deste trabalho foi apresentar uma abordagem integrada

de desenvolvimento e teste de software para apoiar o desenvolvimento com equipes dis-

tribuıdas. A abordagem foi desenvolvida com o intuito de oferecer suporte adequado

aos processos de comunicacao, coordenacao e controle fornecendo uma nomenclatura

comum aos envolvidos, melhorando a comunicacao entre as equipes atraves de artefatos

com informacoes relevantes tanto para desenvolvimento quanto para teste, oferecendo

visibilidade sobre as disciplinas em execucao, os envolvidos e suas responsabilidades.

A partir da analise dos processos realizada no Capıtulo 3, pode-se observar que mesmo

os processos que apresentam artefatos, responsabilidades e atividades bem definidas, possi-

bilitando adequacao as necessidades especıficas, eles nao contemplam as peculiaridades da

125

Page 152: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

126 7. Conclusoes

estrategia de desenvolvimento distribuıdas. Alem disso, com base na analise dos trabalhos

relacionados pode-se extrair requisitos para a definicao de um processo compatıvel com

as caracterısticas do DDS.

Com base na lacuna identificada foi elaborada uma abordagem integrada de desen-

volvimento e teste de software. A abordagem abrange um conjunto de atividades que

devem ocorrer ao longo do ciclo de vida de um projeto e as caracterısticas essenciais de

cada uma. Considera atividades desde o modelo de negocios a ser adotado para atuar

em DDS (empresas globais, parcerias estrategicas, entre outros) ate a implementacao.

A modelagem da abordagem foi realizada utilizando a notacao SPEM com o intuito de

facilitar a comunicacao, o entendimento do processo, o reuso, apoiar a sua evolucao,

facilitar o gerenciamento e com vistas a melhoria contınua do processo.

7.1 Contribuicoes

Como contribuicoes desse trabalho pode-se destacar:

∙ a abordagem encontra-se estruturada em termos de papeis, artefatos e atividades

bem definidos, o que auxilia diretamente na sincronizacao, por oferecer a todos os

envolvidos uma nomenclatura comum. Isso possibilita uma melhor compreensao dos

termos do domınio de negocios e os marcos do projeto apesar de suas diferencas em

termos de cultura e estrutura organizacional, que podem ocorrer em um cenario de

DDS. Alem disso, ter um processo bem definido permite que o mesmo seja analisado

e como resultado dessa analise, ele possa sofrer evolucoes, sendo passıvel de melhoria

contınua;

∙ oferece suporte ao processo de desenvolvimento, planejamento e projeto de software

a medida que apresenta atividades e diretrizes tanto no nıvel estrategico (aspectos

de gerencia) como operacional (verificacao e validacao), os quais fornecem subsıdios

para a qualidade do software a ser desenvolvido;

∙ utiliza o gerenciamento hıbrido (centralizado-descentralizado) em relacao ao controle

das atividades e enfatiza a importancia da definicao do Gerente de Projeto Local,

bem como define suas atividades, para estimular a confianca e compromisso entre

os membros;

∙ apresenta atividades e diretrizes para a definicao do idioma a ser adotado na for-

malizacao do processo e comunicacao entre as equipes;

Page 153: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

7.2 Dificuldades e Limitacoes 127

∙ formaliza a importancia do teste de software dentro de um projeto, tratando-o como

uma abordagem que deve ser instanciada em paralelo ao desenvolvimento e com

atividades desde a concepcao do software.

∙ integracao das abordagens de desenvolvimento e teste o que confere facilidade para

realizar alteracoes nos requisitos devido a rastreabilidade provida.

∙ oferece mecanismos para a padronizacao e reducao da imprecisao dos artefatos. Com

a padronizacao dos artefatos e possıvel reduzir a comunicacao entre as equipes e a

especificacao de templates e um fator primordial para facilitar a efetiva comunicacao

entre os membros das equipes.

∙ utiliza a notacao UML, que e de facil entendimento tanto para o meio academico

quanto industrial e possue semantica para transmitir informacoes aos desenvolve-

dores;

∙ utiliza especificacao formal de testes atraves do perfil U2TP para amenizar os

problemas de ambiguidade e reduzir a necessidade de comunicacao;

∙ oferece diretrizes para nortear o gerente de projetos (Local e Global) na distribuicao

das atividades;

∙ especifica atividades que tratam da definicao de infraestrutura para possibilitar a

colaboracao, controle da documentacao e controle de versao dos artefatos;

∙ auxilia na percepcao e conhecimento das atividades desenvolvidas, bem como o que

sera realizado em cada local e as responsabilidades de cada membro, por meio de

duas categorias de percepcao:

– percepcao de atividade: procura responder questoes, tais como: ”Quem esta

trabalhando em qual atividade?”, ”Quem foi o responsavel por determinada

tarefa e qual o resultado? ”Onde a atividade esta sendo executada?”

– percepcao de processo: relaciona-se a questoes do tipo: ”Como a tarefa daquele

pessoa se encaixa na minha? ”O que devo fazer agora?”

7.2 Dificuldades e Limitacoes

Durante a realizacao desta dissertacao foram encontradas algumas dificuldades e limitacoes,

sendo elas:

Page 154: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

128 7. Conclusoes

∙ no ambito regional, ha dificuldade em encontrar empresas que utilizem essa con-

figuracao de desenvolvimento.

∙ os projetos desenvolvidos utilizando a estrategia distribuıda, geralmente, sao de

grande porte, o que demandaria um prazo maior para o acompanhamento do projeto.

∙ dificuldade de reunir equipes dispersas, mesmo no meio academico, que tenham

disponibilidade para participar do experimento.

7.3 Trabalhos Futuros

Com base nas limitacoes apresentadas e para dar continuidade as atividades realizadas

neste trabalho, foram identificadas algumas sugestoes de trabalhos futuros, os quais estao

alem do escopo desta dissertacao:

∙ replicar o estudo de viabilidade para ampliar a aquisicao de conhecimento sobre a

aplicacao do processo, a credibilidade e o ındice de confiabilidade do mesmo.

∙ refinar a abordagem proposta por meio da conducao dos seguintes estudos:

1. estudo de observacao: para adquirir uma compreensao refinada sobre a tec-

nologia e averigurar se a aplicacao pratica da abordagem faz sentido.

2. estudo de caso (ciclo de vida): para caracterizar a aplicacao da abordagem

no contexto de um ciclo de vida de desenvolvimento e avaliar o efeito de sua

aplicacao com o intuito de verificar se o abordagem e adequada no contexto de

um ciclo de vida.

3. estudo de caso (industria): para determinar a viabilidade pratica da aplicacao

do abordagem, aprimorar o entendimento dos pesquisadores resultando no refi-

namento da abordagem com o objetivo de analisar se a abordagem e adequada

no contexto industrial

∙ definir mecanismos para analisar as redes sociais formadas durante o projeto;

∙ definir metricas para avaliar a produtividade, a comunicacao e a qualidade dos

artefatos gerados;

∙ integrar a abordagem apresentada ao DiSEN Distributed Software Engineering Envi-

ronment, que e um ADDS (Ambiente de Desenvolvimento Distribuıdo de Software),

que visa disponibilizar ferramentas de apoio a comunicacao, a persistencia e a

Page 155: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

7.4 Publicacoes 129

cooperacao para equipes de desenvolvimento geograficamente dispersas (Huzita et

al., 2007).

7.4 Publicacoes

No decorrer do mestrado foram publicados os seguintes artigos:

∙ LEAL, G. C. L. ; SILVA, C. A ; HUZITA, H. M. M. ; TAIT, T. F. C. . Towards

a Process to Information System Development with Distributed Teams. In: 12th

International Conference on Enterprise Information Systems, 2010, Funchal.

∙ LEAL, G. C. L. ; SILVA, C. A ; HUZITA, H. M. M. ; TAIT, T. F. C. . Uma Analise

Sociotecnica de Processos de Software sob a Perspectiva do Desenvolvimento com

Equipes Distribuıdas. In: VI Workshop, 2010, Belem. VI Workshop, 2010.

∙ LEAL, G. C. L. ; SILVA, C. A ; HUZITA, H. M. M.. Um Processo de Desen-

volvimento de Produto de Software para a Estrategia de Producao Distribuıda. In:

5th Americas International Conference on Production Research (ICPR Americas),

Bogota, Colombia, 2010.

∙ LEAL, G. C. L. ; SILVA, C. A ; DELAMARO, M. E. ; HUZITA, H. M. M. . A

Proposal an Integrated Approach of Software Development and Testing to Distributed

Teams. In: International Conference IADIS Information Systems 2010, 2010,

Porto.

∙ LEAL, G. C. L. ; SILVA, C. A ; HUZITA, H. M. M. . Towards a Distributed

Software Process. In: IADIS International Conference IADIS Information Systems

2010, 2010, Porto.

Page 156: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

130 7. Conclusoes

Page 157: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Referencias Bibliograficas

Abdurazik, A. Evaluation of three specification-based testing criteria. In: ICECCS

’00: Proceedings of the 6th IEEE International Conference on Complex Computer

Systems, Washington, DC, USA: IEEE Computer Society, 2000, p. 179.

Al-Asmari, K.; Yu, L. Experiences in distributed software development with wiki.

In: Software Engineering Research and Practice, 2006, p. 389–293.

Alves, E. L. G.; Machado, P. D. L.; Ramalho, F. Uma abordagem integrada

para desenvolvimento e teste dirigido por modelos. In: 2nd Brazilian Workshop on

Systematic and Automated Software Testing, Campinas, SP, 2008, p. 74–83.

Audy, J.; Prikladnicki, R. Desenvolvimento distribuıdo de software: Desenvolvi-

mento de software com equipes distribuıdas. Rio de Janeiro, RJ: Elsevier, 2008.

Avritzer, A.; Hasling, W.; Paulish, D. Process investigations for the global studio

project version 3.0. In: ICGSE ’07: Proceedings of the International Conference on

Global Software Engineering, Washington, DC, USA: IEEE Computer Society, 2007, p.

247–251.

Avritzer, A.; Paulish, D.; Cai, Y. Coordination implications of software

architecture in a global software development project. In: WICSA ’08: Proceedings of

the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008),

Washington, DC, USA: IEEE Computer Society, 2008, p. 107–116.

Basili, V. R. The role of controlled experiments in software engineering research. In:

Empirical Software Engineering Issues, 2006, p. 33–37.

Bazman The benefits of outsourced testing. http://bazman.tripod.com/outsourced.html,

2007.

Ben-Shaul, I. Z.; Kaiser, G. E. A paradigm for decentralized process modeling

and its realization in the oz environment. In: ICSE ’94: Proceedings of the 16th

131

Page 158: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

132 REFERENCIAS BIBLIOGRAFICAS

international conference on Software engineering, Los Alamitos, CA, USA: IEEE

Computer Society Press, 1994, p. 179–188.

Berger, P. M. Instanciacao de processos de software em ambientes configurados na

estacao taba. Dissertacao de Mestrado, COOPE, Universidade Federal do Rio de

Janeiro, Rio de Janeiro - Rio de Janeiro, 2003.

Biolchini, J.; Mian, P.; Natali, A.; Travassos, G. Systematic review in software

engineering: Relevance and utility. Relatorio Tecnico, COPPE/UFRJ, Rio de Janeiro,

RJ, 2005.

Briand, L. C.; Labiche, Y. A uml-based approach to system testing. In: Proceedings

of the 4th International Conference on The Unified Modeling Language, Modeling

Languages, Concepts, and Tools, London, UK: Springer-Verlag, 2001, p. 194–208.

Carmel, E. Global software teams: collaborating across borders and time zones. Upper

Saddle River, NJ, USA: Prentice Hall PTR, 1999.

Carmel, E.; Tija, P. Offshoring information technology: Sourcing and outsourcing

to a global workforce. New York: Cambridge University Press, 2005.

Carniello, A. Teste baseado na estrutura de casos de uso. Dissertacao de Mestrado,

Universidade Estadual de Campinas, Campinas, SP, 2003.

Cartaxo, E. G. Geracao de casos de teste funcional para aplicacoes de celulares.

Dissertacao de Mestrado, Universidade Federal de Campina Grande (UFCG), Campina

Grande - Paraıba, 2006.

Cibotto, R. A. G.; Pagno, R. T.; Tait, T. F. C.; Huzita, E. H. M. Uma

analise da dimensao socio-cultural no desenvolvimento distribuıdo de software. In:

V Workshop Um Olhar Sociotecnico sobre a Engenharia de Software WOSES, Ouro

Preto, Minas Gerais, 2009.

Crespo, A. N.; Jino, M. Processo de testde de software. Relatorio Tecnico, Centro

de Tecnologia da Informacao Renato Archer (CenPRA), 2005.

Crespo, A. N.; Silva, O. J.; Borges, C. A.; Salviano, C. F.; Argollo, M. T.;

Jino, M. Uma metodologia de teste de software no contexto de melhoria de processo.

In: III Simposio Brasileiro de Qualidade de Software SBQS, Brasılia-DF, 2004.

Page 159: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

REFERENCIAS BIBLIOGRAFICAS 133

Dalal, S. R.; Jain, A.; Karunanithi, N.; Leaton, J. M.; Lott, C. M.; Patton,

G. C.; Horowitz, B. M. Model-based testing in practice. In: ICSE ’99:

Proceedings of the 21st international conference on Software engineering, New York,

NY, USA: ACM, 1999, p. 285–294.

Damian, D. Workshop on global software development. In: ICSE ’02: Proceedings

of the 24th International Conference on Software Engineering, New York, NY, USA:

ACM, 2002, p. 667–668.

Damian, D.; Lanubile, F. The 3rd international workshop on global software

development. In: ICSE ’04: Proceedings of the 26th International Conference

on Software Engineering, Washington, DC, USA: IEEE Computer Society, 2004, p.

756–757.

Delamaro, M. E.; Maldonado, J. C.; Jino, M. Introducao ao teste de software.

1 ed. Editora Campus, 2007.

El-Far, I. K.; Whittaker, J. A. Model-based software testing. 2001.

Enami, L. N. M. Um modelo de gerenciamento de projetos para um ambiente de

desenvolvimento distribuıdo de software. Dissertacao de Mestrado, Universidade

Estadual de Maringa (UEM), Maringa - Parana, 2006.

Fantinato, M. Geracao de casos de teste funcional para aplicacoes de celulares.

Dissertacao de Mestrado, Faculdade de Engenharia Eletrica e de Computacao -

Universidade Estadual de Campinas (FEEC/UNICAMP), Campinas - Sao Paulo, 2002.

Fuggetta, A. Software process: a roadmap. In: ICSE ’00: Proceedings of the

Conference on The Future of Software Engineering, New York, NY, USA: ACM, 2000,

p. 25–34.

Guimaraes, D. C. Ster: Uma estrategia de testes para sistemas reativos. Dissertacao

de Mestrado, Universidade Estadual de Campinas (Unicamp), Campinas - Sao Paulo,

2005.

Hargreaves, E.; Damian, D. Can global software teams learn from military teamwork

models? In: Proc. of 3rd Int. Workshop on Global Software Development, ICSE’04,

2004.

Page 160: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

134 REFERENCIAS BIBLIOGRAFICAS

Hartmannm, J.; Vieira, M.; Ruder, A. Uml-based test generation and execution.

In: Proceedings of the 21st Workshop on Software Test, Analyses and Verification

(GI-FG TAV), Berlin, 2004.

Herbsleb, J. D.; Mockus, A.; Finholt, T. A.; Grinter, R. E. Distance,

dependencies, and delay in a global collaboration. In: CSCW ’00: Proceedings of

the 2000 ACM conference on Computer supported cooperative work, New York, NY,

USA: ACM, 2000, p. 319–328.

Humphrey, W. S.; Kellner, M. I. Software process modeling: principles of entity

process models. In: ICSE ’89: Proceedings of the 11th international conference on

Software engineering, New York, NY, USA: ACM, 1989, p. 331–342.

Huzita, E. H. M.; Silva, C. A.; Wiese, I. S.; Tait, T. F. C.; Quinaia, M.;

Schiavone, F. L. Um conjunto de solucoes para apoiar o desenvolvimento distribuıdo

de software. In: II Workshop de Desenvolvimento Distribuıdo de Software, Campinas,

SP, 2008, p. 101–110.

Huzita, E. H. M.; Tait, T. F. C.; Colanzi, T. E.; Quinaia, M. Um ambiente de

desenvolvimento distribuıdo de software - disen. In: I Workshop de Desenvolvimento

Distribuıdo de Software, Joao Pessoa, PB, 2007, p. 31–38.

IEEE Ieee standard for software test documentation. ANSI/IEEE Std 829-1998, 1998.

Jacobson, I. Object oriented software engineering. Addison-Wesley, 1992.

Jimenez, M.; Piattini, M.; Vizcaıno, A. Challenges and improvements in

distributed software development: A systematic review. Advances in Software

Engineering, v. vol. 2009, 2009.

Juristo, N.; Moreno, A. M.; Vegas, S. Reviewing 25 years of testing technique

experiments. Empirical Softw. Engg., v. 9, n. 1-2, p. 7–44, 2004.

Kitchenham, B. A. Procedures for undertaking systematic reviews. Relatorio Tecnico,

Computer Science Department, Keele University, 2004.

Kitchenham, B. A.; Pfleeger, S. L.; Pickard, L. M.; Jones, P. W.; Hoaglin,

D. C.; Emam, K. E.; Rosenberg, J. Preliminary guidelines for empirical research

in software engineering. IEEE Trans. Softw. Eng., v. 28, n. 8, p. 721–734, 2002.

Kruchten, P. The rational unified process: An introduction. Addison-Wesley, 2003.

Page 161: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

REFERENCIAS BIBLIOGRAFICAS 135

Layman, L.; Williams, L.; Damian, D.; Bures, H. Essential communication

practices for extreme programming in a global software development team. Information

and Software Technology, v. 48, n. 9, p. 781–794, 2006.

Disponıvel em http://www.sciencedirect.com/science/article/

B6V0B-4JF8H93-2/2/625aa9c8d29f7c60b2a5a38425f9a41f

Leal, G. C. L.; Silva, C. A.; Huzita, E. H. M. Towards a distributed software

process. In: International Conference IADIS Information Systems 2010, Porto,

Portugal, 2010.

L’Erario, A. As aliancas estrategicas no desenvolvimento distribuıdo de software. In:

XXIX Encontro Nacional de Engenharia de Producao - A Engenharia de Producao e

o Desenvolvimento Sustentavel: Integrando Tecnologia e Gestao, Salvador, BA, 2009a,

p. 756–757.

L’Erario, A. M3ds: um modelo de dinamica de desenvolvimento distribuıdo do

software. Tese de Doutoramento, Escola Politecnica da Universidade de Sao Paulo,

Sao Paulo, SP, 2009b.

Lings, B.; Lundell, B.; Agerfalk, P. J.; Fitzgerald, B. A reference model for

successful distributed development of software systems. In: ICGSE ’07: Proceedings of

the International Conference on Global Software Engineering, Washington, DC, USA:

IEEE Computer Society, 2007, p. 130–139.

Mafra, S. N.; Barcelos, R. F. T. G. H. Aplicando uma metodologia baseada em

evidEncias na definicao de novas tecnologias de software. In: XX Simposio Brasileiro

de Engenharia de Software (SBES), Florianopolis, SC, 2006, p. 239–254.

Mantovan, U. Uma abordagem, baseada em framework e na tEcnica de descriCAo

formal estelle, para o desenvolvimento de sistemas de arquivos paralelos distribuIdos.

Dissertacao de Mestrado, Escola Politecnica, Universidade de Sao Paulo (POLI/USP),

Sao Paulo - Sao Paulo, 2006.

Mats, L. The top five software-testing problems and how to avoid them.

Http://pe2bz.philpem.me.uk/Misc/-Testing.pdf, 2001.

McGregor, J. D.; Sykes, D. A. A practical guide to testing object-oriented software.

Addison-Wesley, 2001.

Page 162: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

136 REFERENCIAS BIBLIOGRAFICAS

Mockus, A.; Herbsleb, J. Challenges of global software development. In: METRICS

’01: Proceedings of the 7th International Symposium on Software Metrics, Washington,

DC, USA: IEEE Computer Society, 2001, p. 182.

Montgomery, D. C.; Runger, G. C. Estatıstica aplicada e probabilidade para

engenheiros. 4 ed. Norwell, MA, USA: LTC, 2009.

Mullick, N.; Bass, M.; Houda, Z.; Paulish, P.; Cataldo, M. Siemens global

studio project: Experiences adopting an integrated gsd infrastructure. In: Global

Software Engineering, 2006. ICGSE ’06. International Conference on, 2006, p. 203–212.

Myers, G. The art of software testing. John Willey, 2001.

Offutt, A. J.; Liu, S.; Abdurazik, A.; Ammann, P. Generating test data from

state-based specifications. Softw. Test., Verif. Reliab., v. 13, n. 1, p. 25–53, 2003.

Disponıvel em http://dblp.uni-trier.de/db/journals/stvr/stvr13.html#

OffuttLAA03

OMG Uml 2.0 testing profile specification. Relatorio Tecnico, 2004.

OMG Software process engineering metamodel specification. An Adopted Specification

of the Object Management Group, Inc.T, 2005.

Paasivaara, M.; Lassenius, C. Using iterative and incremental processes in global

software development. IEEE Seminar Digests, v. 2004, n. 912, p. 42–47, 2004.

Disponıvel em http://link.aip.org/link/abstract/IEESEM/v2004/i912/p42/s1

Packevicius, S.; Usaniov, A. B. E. Software testing using imprecise ocl constraints

as oracles. In: Proceedings of the 2007 international Conference on Computer Systems

and Technologies (CompSystech’07), New York, NY, USA: ACM, 2007, p. 1–6.

Paulish, D. J. Scalable distributed organizations for ultra-large-scale software. In:

ULS ’07: Proceedings of the International Workshop on Software Technologies for

Ultra-Large-Scale Systems, Washington, DC, USA: IEEE Computer Society, 2007, p. 4.

Ribeiro, M. B.; Czekster, R. M.; Webber, T. Improving productivity of local

software development teams in a global software development environment. In: Global

Software Engineering, 2006. ICGSE ’06. International Conference on, 2006, p. 253–254.

Rocha, R.; Arcoverde, D.; Brito, D.; Aroxa, B.; Costa, C.; Silva, F. Q. B.;

J., A.; Meira, S. R. L. Uma experiencia na adaptacao do rup em pequenas equipes

Page 163: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

REFERENCIAS BIBLIOGRAFICAS 137

de desenvolvimento distribuıdo. In: II Workshop de Desenvolvimento Distribuıdo de

Software, Campinas, SP, 2008, p. 81–90.

Rorato, T. Em direcao a uma semantica da linguagem de descricao de reuso em

uml/ocl. Dissertacao de Mestrado, Pontifıcia Universidade Catolica do Rio Grande do

Sul, Porto Alegre - Rio Grande do Sul, 2007.

Sangwan, R.; Bass, M.; Mullick, N.; Paulish, D. J.; Kazmeier, J. Global

software development handbook (auerbach series on applied software engineering series).

Boston, MA, USA: Auerbach Publications, 2006.

Sengupta, B.; Chandra, S.; Sinha, V. A research agenda for distributed software

development. In: ICSE ’06: Proceedings of the 28th international conference on

Software engineering, New York, NY, USA: ACM, 2006, p. 731–740.

Shull, F.; Carver, J.; Travassos, G. H. An empirical methodology for introducing

software processes. SIGSOFT Softw. Eng. Notes, v. 26, n. 5, p. 288–296, 2001.

Silva, D.; Lopes, M. C. M.; Lopes, G. O. Sitest: Uma metodologia de teste

de software com base no modelo cmmi. In: III Simposio Brasileiro de Sistemas de

Informacao, Curitiba, PR, 2006, p. 11–11.

Souza, E. P. R.; Gusmao, C. M. G. Rbtprocess - modelo de processo de teste de

software baseado em riscos. In: 13 Workshop de Teses e Dissertacoes em Engenharia

de Software, Campinas, Sao Paulo, 2008.

Taylor, P. S.; Greer, D.; Sage, P.; Coleman, G.; McDaid, K.; Keenan, F.

Do agile gsd experience reports help the practitioner? In: GSD ’06: Proceedings of

the 2006 international workshop on Global software development for the practitioner,

New York, NY, USA: ACM, 2006, p. 87–93.

Travassos, G. H. Introducao a engenharia de software experimental. Re-

latorio Tecnico ES-590/02, Programa de Engenharia de Sistemas e Computacao,

COPPE/UFRJ, 2002.

Urdangarim, R. Uma investigacao sobre o uso de praticas extreme programming no

desenvolvimento global de software. Dissertacao de Mestrado, Pontifıcia Universidade

Catolica do Rio Grande do Sul, Porto Alegre - Rio Grande do Sul, 2008.

Page 164: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

138 REFERENCIAS BIBLIOGRAFICAS

Vanzin, M.; Ribeiro, M.; Prikladnicki, R.; Ceccato, I.; Antunes, D. Global

software processes definition in a distributed environment. In: Software Engineering

Workshop, 2005. 29th Annual IEEE/NASA, IEEE Computer Society, 2005, p. 57–65.

Weissleder, S.; Schlingloff, B.-H. Quality of automatically generated test cases

based on ocl expressions. In: ICST ’08: Proceedings of the 2008 International

Conference on Software Testing, Verification, and Validation, Washington, DC, USA:

IEEE Computer Society, 2008, p. 517–520.

Wohlin, C.; Runeson, P.; Host, M.; Ohlsson, M. C.; Regnell, B.; Wesslen,

A. Experimentation in software engineering: an introduction. Norwell, MA, USA:

Kluwer Academic Publishers, 2000.

Page 165: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Apendice

A

Protocolo da Revisao Sistematica

A.1 Introducao

Uma revisao sistematica atua como um meio para identificar, avaliar e interpretar toda

pesquisa disponıvel e relevante sobre uma questao de pesquisa, um topico ou um fenomeno

de interesse. A conducao de uma revisao sistematica supostamente apresenta uma avaliacao

justa do topico de pesquisa, na medida que utiliza uma metodologia de revisao rigorosa,

confiavel e passıvel de auditagem (Kitchenham, 2004).

As principais razoes para se realizar uma revisao sistematica sao: (i) resumir a evidencia

existente a respeito de uma determinada tecnologia; (ii) identificar lacunas na pesquisa

atual a fim de sugerir areas para investigacoes futuras; e, (iii) fornecer um framework para

direcionar atividades novas de pesquisa.

Este documento apresenta o protocolo de revisao sistematica que foi conduzido para

identificar os estudos que abordam processos de software utilizados no desenvolvimento

com equipes distribuıdas e as necessidades dessa abordagem no que se refere ao processo

de desenvolvimento.

A.2 Formulacao da Pergunta

A questao primaria formulada no planejamento da revisao sistematica foi ”Quais sao

os processos de software utilizados no desenvolvimento distribuıdo?”. Como questao

139

Page 166: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

140 A. Protocolo da Revisao Sistematica

secundaria tem-se: ”Quais as peculiaridades do desenvolvimento distribuıdo que devem

ser contempladas pelos processos de desenvolvimento?”.

Como criterios de inclusao que atendessem a questao primaria foram considerados os

trabalhos que fizessem referencia a processos ou adaptacoes de processos de software uti-

lizados com equipes distribuıdas. Para atender a questao secundaria foram considerados os

trabalhos que retratassem a necessidade dos processos de desenvolvimento contemplarem

as peculiaridades do desenvolvimento distribuıdo.

Os criterios de exclusao utilizados para a questao primaria foram: trabalhos que

nao abordassem de processos de desenvolvimento de software; nao estivessem redigidos

em ingles; nao correspondessem a trabalho de pesquisa; ou que nao era possıvel ter

acesso a versao completa do trabalho. Para responder a questao secundaria, nao foram

considerados os trabalhos que nao retratavam as caracterısticas da abordagem distribuıda

de desenvolvimento.

A.3 Selecao das Fontes de Pesquisa

As fontes consideradas para essa revisao foram bases de dados eletronicas indexadas

(IEEE, ACM e Springer). Dessas fontes, foram considerados apenas os trabalhos redigidos

em ingles. As palavras-chaves utilizadas foram: ”software process”, ”software devel-

opment”, ”virtual teams”, ”distributed teams”, ”global” e ”distributed”. Por meio da

combinacao desses termos foram elaboradas as strings de busca. Como as maquinas de

busca apresentam particularidades relacionadas a construcao de strings de busca, quando

necessario, foram realizadas adaptacoes.

As buscas foram feitas em bases de dados eletronicas indexadas por meio de strings

de busca. A execucao da busca foi realizada de forma incremental, sendo realizado um

incremento para cada fonte de busca. Nesta etapa foram recuperados um total de 49

trabalhos.

A.4 Selecao Preliminar

Nessa etapa foi realizada a leitura dos resumos dos trabalhos e, quando necessario,

algumas secoes do artigo como introducao ou conclusao. Nao foram estabelecidos criterios

especıficos de qualidade para determinar a validade dos artigos selecionados. Nesse estudo

inicial, o fato dos trabalhos serem procedentes de fontes reconhecidas bastariam para

aceitacao da validade.

Page 167: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

A.5 Selecao Final e Extracao dos Dados 141

A.5 Selecao Final e Extracao dos Dados

Nessa etapa foi realizada a leitura completa dos trabalhos e os selecionados foram sin-

tetizados, extraindo dados para posterior analise e interpretacao dos estudos obtidos.

Segundo Biolchini et al. (2005), o foco principal dessa fase e sintetizar os estudos validos

de modo que, posteriormente, possam ser realizadas generalizacoes. Os dados extraıdos

foram:

∙ citacao do trabalho selecionado;

∙ fonte de busca em que o trabalho foi recuperado;

∙ processo identificado, em resposta a questao primaria da revisao sistematica;

∙ elementos descritos, apresenta os elementos componentes de um processo e as pe-

culiaridades da abordagem de desenvolvimento distribuıdo que foram identificadas

no trabalho selecionado. Essas particularidades sao referentes a definicao de:

1. mecanismos para explicitar as diferencas (cultural, fuso-horario e idioma) entre

as equipes envolvidas no projeto;

2. especificacao formal dos requisitos para amenizar os problemas de ambiguidade

e imprecisao dos artefatos;

3. estrategias para realizar a distribuicao do desenvolvimento;

4. criterios para suavizar a integracao dos modulos desenvolvidos em locais sepa-

rados, a fim de reduzir os erros de integracao.

A.6 Consideracoes Finais

Este documento apresentou o protocolo da revisao sistematica conduzida para verificar

os processos de desenvolvimento de software que vem sendo utilizados com equipes dis-

tribuıdas. Os estudos selecionados foram, na sua maior parte, referentes aos problemas

(diversidade cultural, dispersoes geograficas, coordenacao e comunicacao) encontrados

quando da adocao de desenvolvimento distribuıdo.

Os dados obtidos, com a revisao sistematica, forneceram subsıdios para a definicao

da abordagem proposta nesta dissertacao. Um detalhamento maior sobre a revisao

sistematica pode ser visto em Leal et al. (2010).

Page 168: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

142 A. Protocolo da Revisao Sistematica

Page 169: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Apendice

B

Templates Abordagem de

Desenvolvimento

Esse documento apresenta templates para os artefatos gerados pela abordagem de desen-

volvimento proposta.

B.1 Plano de Desenvolvimento de Software

Esta secao apresenta um template para os artefatos Plano de Desenvolvimento Global e

Plano de Desenvolvimento Local, conforme pode ser visto nas Tabelas B.1 e B.2. Estes

artefatos sao gerados na Disciplina Planejamento.

B.2 Descricao Extendida Casos de Uso

A Tabela B.3 ilustra o template para a descricao de casos de uso, artefato gerado na

Disciplina Requisitos.

143

Page 170: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

144 B. Templates Abordagem de Desenvolvimento

Tabela B.1: Plano de Desenvolvimento de Software Global

Page 171: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

B.2 Descricao Extendida Casos de Uso 145

Tabela B.2: Plano de Desenvolvimento de Software Local

Tabela B.3: Descricao de Caso de Uso

Nome do Caso de Uso

Autor/Equipe

Data

Atores

Descricao

Pre-condicoes

Pos-condicoes

Fluxo de eventos

Fluxos Alternativos

Page 172: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

146 B. Templates Abordagem de Desenvolvimento

Page 173: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Apendice

C

Templates Abordagem de Teste

Esse documento apresenta templates para os artefatos gerados pela abordagem de teste

proposta.

C.1 Plano de Testes

O template para o Plano de Testes e apresentado na Tabela C.1.

147

Page 174: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

148 C. Templates Abordagem de Teste

Tabela C.1: Plano de Testes

C.2 Especificacao de Projeto de Teste

Na Tabela C.2 e ilustrado o template para a Especificacao de Projeto de Teste.

Page 175: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

C.3 Especificacao de Casos de Teste 149

Tabela C.2: Especificacao de Projeto de Teste

C.3 Especificacao de Casos de Teste

O template para a Especificacao de Casos de Teste, artefato produzido na Disciplina de

Projeto, e mostrado na Tabela C.3

Tabela C.3: Especificacao de Casos de Teste

C.4 Especificacao de Procedimentos de Teste

A Tabela C.4 mostra o template para o artefato Especificacao de Procedimentos de Teste.

Page 176: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

150 C. Templates Abordagem de Teste

Tabela C.4: Especificacao de Procecimentos de Teste

C.5 Diario de Testes

O template para o Diario de Testes e apresentado na Tabela C.5.

Tabela C.5: Diario de Testes

C.6 Relatorio de Incidentes

O template para o Relatorio de Incidentes, artefato produzido na Disciplina de Execucao,

e mostrado na Tabela C.6

Page 177: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

C.7 Resumo de Testes 151

Tabela C.6: Relatorio de Incidentes

C.7 Resumo de Testes

A Tabela C.7 ilustra o template do artefato Resumo de Testes.

Tabela C.7: Resumo de Testes

Page 178: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

152 C. Templates Abordagem de Teste

Page 179: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Apendice

D

Artefatos

D.1 Introducao

Este documento apresenta artefatos gerados durante a instanciacao da abordagem no

cenario proposto no Capıtulo 5, o qual e utilizado como prova de conceito para a abor-

dagem.

D.2 Descricao Textual

O MSPaper objetiva gerenciar o processo de submissao e avaliacao de artigos em even-

tos cientıficos, sob a perspectiva de quatro tipos de usuarios: (i) presidente do comite

cientıfico; (ii) revisores; (iii) autores; e, (iv) administrador. As funcionalidades a serem

desenvolvidas sao:

∙ Registro do evento - consiste em caracterizar o evento atraves da definicao de

questoes relacionadas a: temas que os artigos submetidos devem atender, numero de

revisoes por artigo, calendario do processo de selecao, incluindo: prazo de submissao,

prazo de devolucao das revisoes pelos revisores, data de notificacao da aceitacao ou

rejeicao, data limite para submissao da versao final dos artigos aceitos e percentual

de artigos a serem aceitos.

153

Page 180: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

154 D. Artefatos

∙ Submissao de artigos - um dos autores submete o arquivo do artigo em formato

PDF. Nessa etapa sao identificados todos os autores, a area do artigo, as palavras

chaves e o resumo.

∙ Distribuicao dos artigos - o presidente do comite cientıfico e responsavel por con-

stituir o comite de programa com base nas especialidades de conhecimento. Apos

isso, deve liberar a distribuicao dos artigos para os autores da area relacionada.

∙ Revisao dos artigos - os revisores analisam os artigos submetidos segundo os criterios

de avaliacao, que sao: relevancia, conteudo tecnico e rigor cientıfico, originalidade,

qualidade da escrita e avaliacao global.

∙ Consolidacao dos resultados - o presidente do comite cientıfico acompanha as re-

visoes, verificando se todos as revisoes foram devolvidas e se houveram atrasos.

Alem disso, resolve os possıveis conflitos de avaliacao, define o numero de artigos

aceitos e encaminha a notificacao de aceitacao ou rejeicao aos autores.

∙ Controle de Acesso - consiste em definir os nıveis de acesso de acordo com o tipo de

usuario.

O administrador e responsavel pelas configuracoes relacionadas ao controle de acesso

dos usuarios. O presidente do comite cientıfico e o responsavel pelo registro do evento no

MSPaper, distribuicao dos artigos entre os revisores e a consolidacao dos resultados.

Os autores podem realizar a submissao de artigos e os revisores sao responsaveis pela

avaliacao dos artigos que lhes forem atribuıdos.

D.3 Especificacao dos Casos de Uso

Esta secao apresenta, para cada caso de uso do MSPaper, sua especificacao, contendo

descricao, fluxo de eventos, pre e pos-condicoes.

Page 181: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

D.3 Especificacao dos Casos de Uso 155

Tabela D.1: Gerenciar acesso.

Nome do Caso de Uso Gerenciar acesso

Autor/Equipe Gislaine Camila/Maringa

Data 12/03/2010

Atores Administrador e PresidenteComiteCientıfico

Descricao Parte do sistema responsavel por gerenciar os nıveis de acessodos usuarios.

Pre-condicoes Usuario cadastrado no sistema.

Pos-condicoes O usuario logado no sistema ou nao.

Fluxo de eventos

1. O usuario informa os dados de login e senha.

2. A tela principal do MSPaper e aberta.

Tratamento de excecoes

1. Login e/ou senha invalidos.

(a) O sistema emite uma mensagem informando queos dados estao incorretos.

Page 182: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

156 D. Artefatos

Tabela D.2: Gerenciar evento.

Nome do Caso de Uso Gerenciar evento

Autor/Equipe Gislaine Camila/Maringa

Data 12/03/2010

Atores Administrador e PresidenteComiteCientıfico

Descricao O ator Administrador cadastra o evento e vincula o usuarioPresidenteComiteCientıfico ao evento.

Pre-condicoes Usuario estar logado no sistema e ter permissao de Admin-istrador ou ter permissao de PresidenteComiteCientıfico.

Pos-condicoes Evento cadastrado.

Fluxo de eventos

1. O Administrador cadastra o evento e informa o usuarioque sera o Presidente do Comite Cientıfico.

2. O usuario PresidenteComiteCientıfico insere as demaisinformacoes e disponibiliza o evento para que os demaisusuarios possam visualizar.

Tratamento de excecoes

1. Campo numero de revisoes por artigo esta vazio ou comvalor menor ou igual a zero.

(a) O sistema emite uma mensagem solicitando queseja informado um valor maior que zero.

2. O prazo de submissao e menor que a data atual.

(a) O sistema emite uma mensagem informando que oprazo de submissao deve ser posterior data atual.

3. A data de devolucao das submissoes e menor que a datade submissao.

(a) O sistema emite uma mensagem informando quea data de devolucao das revisoes deve ser maiorque a data de submissao.

4. A data de notificacao e menor que a data atual ou menorque a data de devolucao das revisoes.

(a) O sistema emite uma mensagem informando quea data de notificacao deve ser maior que a datade devolucao das revisoes.

5. O percentual de artigos aceitos esta vazio ou e menorou igual a zero.

(a) O sistema emite uma mensagem solicitando queseja informado um valor maior que zero.

Page 183: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

D.3 Especificacao dos Casos de Uso 157

Tabela D.3: Submeter artigo.

Nome do Caso de Uso Submeter artigo

Autor/Equipe Gislaine Camila/Maringa

Data 12/03/2010

Atores Autor

Descricao O autor realizara a submissao de um artigo, para isso ele deveinformar a qual tema do evento o artigo esta relacionado, osautores, tıtulo, resumo, palavras-chave e fazer o upload doarquivo com extensao PDF.

Pre-condicoes O usuario deve estar cadastrado no MSPaper e o prazo parasubmissao de artigos deve estar aberto.

Pos-condicoes A confirmacao de submissao e encaminhada para o e-mail dosautores e o status do artigo fica como ”Submetido”.

Fluxo de eventos

1. O autor informa os dados do artigo.

2. Sao realizadas as validacoes, se os dados sao validos elessao armazenados.

Tratamento de excecoes

1. Area do artigo vazia.

(a) O sistema emite uma mensagem solicitando opreenchimento da area.

2. O arquivo nao esta no formato PDF.

(a) O sistema emite uma mensagem informando quea extensao do arquivo esta incorreta.

Tabela D.4: Distribuir artigo.

Nome do Caso de Uso Distribuir artigo

Autor/Equipe Gislaine Camila/Maringa

Data 12/03/2010

Atores PresidenteComiteCientıfico

Descricao O ator PresidenteComiteCientifico encaminha os artigos aosrevisores, considerando os temas selecionados.

Pre-condicoes O prazo para submissao de artigos ter encerrado.

Pos-condicoes E encaminhado um e-mail para os revisores e o status do artigose torna ”Em Revisao”.

Fluxo de eventos

1. O PresidenteComiteCientıfico disponibiliza os arquivosaos revisores para correcao.

2. O status do artigo e alterado para ”Em revisao”.

Page 184: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

158 D. Artefatos

Tabela D.5: Revisar artigo.

Nome do Caso de Uso Revisar artigo

Autor/Equipe Gislaine Camila/Maringa

Data 12/03/2010

Atores Revisor

Descricao O Revisor avalia o artigo segundo os criterios: relevancia,conteudo tecnico e rigor cientıfico, originalidade, qualidade daescrita e avaliacao global.

Pre-condicoes O artigo estar com o status ”Em revisao”e dentro do prazoestabelecido para revisao.

Pos-condicoes A revisao e cadastrada e o status do artigo passa a ser”Aguardando Parecer”.

Fluxo de eventos

1. O revisor realiza a revisao para os artigos que estaodisponıveis para ele.

2. Finaliza a revisao liberando o resultado para o Presi-dentedoComite.

Tratamento de excecoes

1. O campo Relevancia esta vazio.

(a) O sistema emite uma mensagem solicitando opreenchimento da relevancia.

2. O campo Conteudo Tecnico esta vazio.

(a) O sistema emite uma mensagem solicitando opreenchimento do campo.

3. O campo Rigor Cientıfico esta vazio.

(a) O sistema emite uma mensagem solicitando opreenchimento do campo.

4. O campo Originalidade esta vazio.

(a) O sistema emite uma mensagem solicitando opreenchimento do campo.

5. O campo Qualidade da Escrita esta vazio.

(a) O sistema emite uma mensagem solicitando opreenchimento do campo.

6. O campo Avaliacao Global esta vazio.

(a) O sistema emite uma mensagem solicitando opreenchimento do campo.

Page 185: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

D.3 Especificacao dos Casos de Uso 159

Tabela D.6: Consolidar revisao.

Nome do Caso de Uso Consolidar revisao

Autor/Equipe Gislaine Camila/Maringa

Data 13/03/2010

Atores PresidenteComiteCientıfico

Descricao O PresidenteComiteCientıfico realiza o acompanhamento dasrevisoes, resolve os conflitos de revisoes e encaminha a noti-ficacao da revisao aos autores.

Pre-condicoes A data ser posterior a data limite para envio das revisoes.

Pos-condicoes A notificacao das revisoes e encaminhada aos autores e tem-sea lista de artigos aceitos.

Fluxo de eventos

1. O PresidenteComiteCientıfico resolve os conflitos rela-cionados a revisoes que nao foram encaminhadas e aavaliacao.

2. Encaminha notificacao aos autores informando a datade submissao final para os artigos aceitos e os co-mentarios dos revisores.

Tratamento de excecoes

1. Revisoes que nao foram devolvidas.

(a) O ator PresidenteComiteCientıfico solicita as re-visoes e estabelece um novo prazo ou encaminhapara outro revisor.

Page 186: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

160 D. Artefatos

Page 187: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

Apendice

E

Documentacao do Estudo de

Viabilidade

Esse documento apresenta o memorial descritivo da abordagem, o questionario do perfil

do participante e o questionario sobre a viabilidade da abordagem integrada de desen-

volvimento e teste de software para equipes distribuıdas.

E.1 Memorial Descritivo

Projeto de estudo de viabilidade

UMA ABORDAGEM INTEGRADA DE DESENVOLVIMENTO E TESTE

DE SOFTWARE PARA EQUIPES DISTRIBUIDAS

Dissertacao de Mestrado

Gislaine Camila Lapasini Leal

Objetivo: analisar a viabilidade da abordagem proposta para oferecer apoio ao

desenvolvimento distribuıdo de software com o proposito de adquirir conhecimento sobre

a aplicacao da mesma.

Abordagem: Com base em uma revisao de literatura e uma revisao sistematica foi

possıvel evidenciar que ha algumas lacunas no desenvolvimento distribuıdo de software

(DDS) no que se refere ao processo de desenvolvimento. Desse modo, foram definidas

161

Page 188: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

162 E. Documentacao do Estudo de Viabilidade

as atividades, os artefatos e os papeis necessarios em cada etapa do desenvolvimento,

considerando as peculiaridades do desenvolvimento com equipes distribuıdas.

A abordagem proposta considera o processo de testes como um conjunto de tarefas

a parte que pode ser aplicado ao longo do processo de desenvolvimento. A abordagem

de desenvolvimento utiliza a (UML), por possuir informacoes relevantes para testes e

estar em uso na academia e na maioria das industrias de tecnologia, de modo que nao ha

custos extras associados ao treinamento e integracao no processo de desenvolvimento da

aplicacao.

Na abordagem de teste e utilizado o Perfil UML 2.0 (U2TP), que define uma linguagem

para projetar, visualizar, especificar, analisar, construir e documentar os artefatos de teste

de sistemas. Os artefatos de teste especificados pela abordagem sao os recomendados pela

norma IEEE 829, que descreve um conjunto basico de documentos de teste de software.

A visao geral da abordagem integrada, que mostra o fluxo de informacoes entre

as Disciplinas, e apresentada na Figura E.1 . Os artefatos gerados sao possıveis de

refinamento nas Disciplinas posteriores.

Figura E.1: Diagrama de Atividades da Abordagem Integrada de Desenvolvimento eTeste de Software.

A seguir sao apresentados os elementos (papeis, artefatos e atividades) de cada uma

das Disciplinas.

Planejamento - Desenvolvimento

Page 189: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

E.1 Memorial Descritivo 163

Figura E.2: Diagrama de Pacotes da Disciplina Planejamento.

Planejamento - Teste

Figura E.3: Diagrama de Pacotes da Disciplina Planejamento.

Requisitos - Desenvolvimento

Page 190: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

164 E. Documentacao do Estudo de Viabilidade

Figura E.4: Diagrama de Pacotes da Disciplina Requisitos.

Preparacao - Teste

Figura E.5: Diagrama de Pacotes da Disciplina Preparacao.

Desenvolvimento - Desenvolvimento

Page 191: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

E.1 Memorial Descritivo 165

Figura E.6: Diagrama de Pacotes da Disciplina Desenvolvimento.

Projeto - Teste

Page 192: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

166 E. Documentacao do Estudo de Viabilidade

Figura E.7: Diagrama de Pacotes da Disciplina Projeto.

Implementacao - Desenvolvimento

Figura E.8: Diagrama de Pacotes da Disciplina Implementacao.

Execucao - Teste

Page 193: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

E.2 Questionarios 167

Figura E.9: Diagrama de Pacotes da Disciplina Execucao.

E.2 Questionarios

Nesta Secao sao apresentados os questionarios utilizados na instrumentacao do estudo

conduzido.

E.2.1 Questionario 1 - Perfil do Entrevistado

Nome:

Instituicao:

1. Qual o seu grau de formacao?

( ) Graduado ( ) Especialista ( ) Mestrando ( ) Mestre ( ) Doutorando ( ) Doutor

2. Qual a sua experiencia com desenvolvimento de sistemas?

Page 194: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

168 E. Documentacao do Estudo de Viabilidade

( ) Nunca desenvolvi ( ) Desenvolvi para uso pessoal

( ) Desenvolvi como partes de trabalho de curso ( projetos)

( ) Desenvolvi software em ambiente industrial ( anos)

3. Tem conhecimento em desenvolvimento distribuıdo de software?

( ) Nenhum ( ) Basico ( ) Intermediario ( ) Avancado

4. Qual a sua experiencia com desenvolvimento distribuıdo de software?

( ) Academica ( ) Industrial ( ) Ambas

5. Tem experiencia em gerencia de projetos?

( ) Nenhum ( ) Basico ( ) Intermediario ( ) Avancado

6. Tem conhecimento em teste de software?

( ) Nenhum ( ) Basico ( ) Intermediario ( ) Avancado

E.2.2 Questionario 2 - Estudo de Viabilidade

1. Em que grau o conjunto de disciplinas apresentado e satisfatorio para o desenvolvi-

mento distribuıdo?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

2. Em que grau as atividades apresentadas atendem as necessidades do desenvolvimento

distribuıdo?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

3. Em que grau os artefatos apresentados atendem as necessidades do desenvolvimento

distribuıdo?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

4. Em que grau o uso de uma notacao (UML) que oferece informacoes relevantes para as

duas equipes (desenvolvimento e teste) pode amenizar os problemas de comunicacao?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

5. Em que grau a identificacao das equipes, bem como de seus membros e responsabili-

dades atraves dos Planos de Desenvolvimento Global, Plano de Desenvolvimento Local e

Page 195: UMA ABORDAGEM I TEGRADA DE DESE VOLVIME TO E …mestrado/diss/2010/leal.pdfy caminar a paso lento, muy lento..." Aos meus pais Gerv asio Leal e Noeli Lapasini, pelo amor incondicional,

E.2 Questionarios 169

Plano de Testes podem aumentar a percepcao de um projeto?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

6. A definicao da abordagem oferece uma nomenclatura comum a todos os envolvidos no

projeto e possibilita entender a dependencia das atividades e artefatos. Em que grau a

abordagem apresentada atende as necessidades do DDS?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

7. Em que grau o uso OCL (Object Constraint Language) para especificar restricoes pode

reduzir os problemas de ambiguidade nos artefatos (diagrama de classes)?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

8. Em que grau a padronizacao dos artefatos e atividades, definidos na abordagem

integrada, podem impactar na qualidade dos produtos desenvolvidos?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

9. Em que grau as atividades de teste ao longo de todas as disciplinas de desenvolvimento

podem reduzir os problemas de integracao?

( ) Nenhum ( ) Baixo ( ) Intermediario ( ) Satisfatorio

10. Voce visualiza atividades e artefatos adicionais que devem ser contempladas pela

abordagem? Se sim, quais?

( ) Sim ( ) Nao