Proposta de Visualização da Verificação de Processos de Desenvolvimento de Software por meio da Rastreabilidade Fabiana Costa Guedes



Documentos relacionados
GARANTIA DA QUALIDADE DE SOFTWARE

ENGENHARIA DE SOFTWARE I

ISO/IEC 12207: Gerência de Configuração

Projeto de Sistemas I

Engenharia de Software

Padrões de Qualidade de Software e Métricas de Software

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Gerenciamento de Problemas

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

MASTER IN PROJECT MANAGEMENT

MODELO CMM MATURIDADE DE SOFTWARE

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

ACOMPANHAMENTO GERENCIAL SANKHYA

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014.

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Políticas de Qualidade em TI

Padrões de Qualidade de Software

Declaração de trabalho do projeto. Caso de negócio. Fatores ambientais da empresa. Estratégia de gerenciamento das partes interessadas.

ISO Aécio Costa

Redação do Trabalho de Conclusão

Gerência de Projetos

QUALIDADE DE SOFTWARE

Processos de Desenvolvimento de Software

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Automação de Bancada Pneumática

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Processos Técnicos - Aulas 4 e 5

GERÊNCIA DE INTEGRAÇÃO DO PROJETO

Implantação de um Processo de Medições de Software

A visão do modelo MPS.BR para Gerência de Projeto - Nível G. por Adriana Silveira de Souza

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Adriano Marum Rômulo. Uma Investigação sobre a Gerência de Projetos de Desenvolvimento de Software em Órgãos do Governo do Ceará com Base no MPS-BR

FACULDADE SENAC GOIÂNIA

Requisitos de Software

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

A Disciplina Gerência de Projetos

Engenharia de Software II: Criando a Declaração de Escopo. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Introdução ao MPS.BR Guia Geral. Prof. Elias Batista Ferreira

Gerenciamento da Integração (PMBoK 5ª ed.)

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Desafio Profissional PÓS-GRADUAÇÃO Gestão de Projetos - Módulo C Prof. Me. Valter Castelhano de Oliveira

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Aplicando Avaliações de Contextualização em Processos de Software Alinhados ao nível F do MR-MPS V1.2

Pesquisa realizada com os participantes do 12º Seminário Nacional de Gestão de Projetos. Apresentação

Qualidade na gestão de projeto de desenvolvimento de software

Processos de gerenciamento de projetos em um projeto

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Qualidade de Processo de Software Normas ISO e 15504

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

Estratégia de TI. Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio. Conhecimento em Tecnologia da Informação

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Ciência da Computação ENGENHARIA DE SOFTWARE. Recursos e Cronograma

QUALIDADE DE SOFTWARE AULA N.7

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Gerenciamento de Integração do Projeto Planejamento e Execução do Projeto

1 Introdução 1.1. Motivação

Grupo de Coordenação da Transição da Administração da IANA Solicitação de Propostas

Porque estudar Gestão de Projetos?

Conhecimento em Tecnologia da Informação. CobiT 5. Apresentação do novo framework da ISACA Bridge Consulting All rights reserved

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Metodologia de Gerenciamento de Projetos da Justiça Federal

VISUAL STUDIO TEAM SYSTEM IMPLANTAÇÃO DA SUITE DE FERRAMENTAS

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

Aula Anterior. Capítulo 2

Gerenciamento de Riscos do Projeto Eventos Adversos

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

ANÁLISE CRÍTICA DO PROCESSO DE CERTIFICAÇÃO ISO DA CONFIANÇA CIA. DE SEGUROS

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

3 Qualidade de Software

PMONow! Serviço de Implantação de um Escritório de Projetos

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Manual Básico do Usuário. Monitoramento de Iniciativas Estratégicas. Planejamento Estratégico - ANVISA

Sistemas de Informação I

Dicas para implantação do Autodesk Vault para pequenas e médias empresas

Artigo Lean Seis Sigma e Benchmarking

Sistema de Gestão da Qualidade

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Qualidade, Processos e Gestão de Software Professores: Alexandre Vasconcelos e Hermano Moura. O Modelo. Wesley Torres Galindo. wesleygalindo@gmail.

3. Fase de Planejamento dos Ciclos de Construção do Software

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Introdução à Qualidade de Software. Profº Aldo Rocha

4 Metodologia da Pesquisa

UMA PROSTA DE ADEQUAÇÃO DO MS VISUAL STUDIO TEAM SYSTEM (VSTS) PARA O MPS.BR NÍVEIS F e G

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Transcrição:

Pontifícia Universidade Católica de Minas Gerais PUC-MG Programa de Pós-Graduação em Engenharia Elétrica Proposta de Visualização da Verificação de Processos de Desenvolvimento de Software por meio da Rastreabilidade Fabiana Costa Guedes Belo Horizonte Julho 7

Fabiana Costa Guedes Proposta de Visualização da Verificação de Processos de Desenvolvimento de Software por meio da Rastreabilidade Dissertação apresentada ao Programa de Pós-Graduação em Engenharia Elétrica na linha de pesquisa Inteligência Computacional e Sistemas Distribuídos ICSD, da Pontifícia Universidade Católica de Minas Gerais, como requisito parcial para obtenção do título de Mestre em Engenharia Elétrica. Orientador: Prof. Dr. Carlos Alberto Marques Pietrobon Belo Horizonte Julho 7

3 FICHA CATALOGRÁFICA Elaborada pela Biblioteca da Pontifícia Universidade Católica de Minas Gerais Guedes, Fabiana Costa G94p Proposta de visualização da verificação de processos de desenvolvimento de software por meio da rastreabilidade / Fabiana Costa Guedes. Belo Horizonte, 7. 88f. Minas Orientador: Carlos Alberto Marques Pietrobon Dissertação (Mestrado) - Pontifícia Universidade Católica de Gerais, Programa de Pós-Graduação em Engenharia Elétrica. Bibliografia.. Software - Desenvolvimento.. Engenharia de sistemas. 3. Padrões de software. 4. Software Controle de qualidade. 5. Visualização. 6. Glyphs (Métodos gráficos). I. Pietrobon, Carlos Alberto Marques. II. Pontifícia Universidade Católica de Minas Gerais. Programa de Pós- Graduação em Engenharia Elétrica. III. Título. CDU: 683.6

4 Em memória de meu pai. A minha mãe, minha fortaleza. A Inaldo, que permitiu que eu participasse da sua história e me ajudou a construir a minha. A Thales e Beatriz, o sorriso certo nos momentos de maior dificuldade. A Rangel, Valesca, Josiane e Adeilson, o carinho constante.

5 AGRADECIMENTOS Existem pessoas que fazem parte da minha história e, sem elas, não conseguiria concluir este trabalho. Por isso, expresso meus sinceros agradecimentos: Ao meu orientador, Professor Dr. Carlos Alberto Marques Pietrobon, pela contribuição imensa no desenvolvimento deste trabalho, pelas discussões proporcionadas, pelo profissionalismo e pela paciência. Aos professores do mestrado, pela discussão proporcionada em sala de aula e nos corredores. Aos pesquisadores da Pontifícia Universidade Católica de Minas Gerais, pelo compartilhamento do saber, pelo incentivo e apoio, principalmente ao amigo Fernando Correia de Mello Junior, pela grande contribuição dada a este trabalho, fornecendo a ferramenta DBML, que foi estendida. Aos amigos, Diogo Santiago e Ricardo Alexandre, pela contribuição para esta pesquisa. Aos diretores e amigos da Pentagrama Consultoria e Sistemas, pelo incentivo financeiro e grandes contribuições nas pesquisas realizadas. Aos demais amigos da Pentagrama, pelo apoio e compreensão em diversos momentos da caminhada. Ao Carlos Barbieri, por ter divulgado a pesquisa de campo para as empresas associadas ao CCOMP FUMSOFT. A Graça Lima, por ter realizado as revisões de texto. A Maria Isabel Siqueira e Maria Isabel de Novaes Santos, por terem sido atenciosas e prestativas durante o desenvolvimento deste trabalho. Ao amigo, Fabrício Roulin Bittencourt, pela companhia nas viagens de Itabira a BH nas manhãs de segunda. À FUNCESI, pelo compartilhamento do meu conhecimento. Aos Professores Dr. Carlos Augusto Paiva da Silva Martins e Dr. Ricardo de Almeida Falbo, por terem aceitado participar da banca de mestrado. Aos meus pais, meus primeiros mestres e maiores incentivadores, por terem me proporcionado a oportunidade de estudo e permitido a realização deste mestrado. Ao meu marido, Inaldo, pelo apoio incondicional e por ter entendido as ausências constantes.

6 Aos meus irmãos, Rangel, Valesca e Josiane e ao meu cunhado Adeilson, por me apoiarem e estarem sempre ao meu lado. Aos meus sobrinhos, Thales e Beatriz, por entenderem os momentos de ausência. Aos demais amigos e familiares, que me incentivaram e torceram por mim durante toda a caminhada. E principalmente a Deus, que proporcionou a finalização deste trabalho.

7 Caminhar sobre a água e desenvolver software a partir de uma especificação de requisitos é fácil se ambos estão congelados. E. Berard

8 RESUMO A qualidade de um software é objetivo buscado pelas empresas desenvolvedoras. O mercado exige softwares com maior qualidade e um dos fatores que determinam a qualidade de um produto de software é o processo de desenvolvimento empregado na construção do sistema. É importante, com isso, saber se realmente o processo definido está sendo utilizado pela organização. Outro ponto hoje discutido diz respeito aos modelos de referência de qualidade de software e a necessidade de construir processos aderentes a esses modelos. Esta dissertação objetiva verificar se um projeto utiliza um processo de desenvolvimento de software, adotando, para isso, a rastreabilidade de requisitos. Também, busca auxiliar na verificação se o processo é aderente a um modelo de referência de qualidade. Além disso, pretende-se utilizar mecanismos de visualização para apresentar a utilização e a aderência dos processos ao MPS.BR. Para isso, faz-se necessário verificar como a rastreabilidade de um requisito pode auxiliar na análise de utilização do processo; definir como realizar a verificação da aderência de processos ao MPS.BR; definir um mecanismo de visualização a ser utilizado para apresentação dos resultados. A metodologia utilizada foi a pesquisa descritiva, por meio de investigações bibliográficas, estudo de caso e pesquisa de campo. A pesquisa de campo realizou a coleta de dados por meio de questionário semi-estruturado e buscou possibilitar a definição do modelo de gestão de requisitos. Como resultados atingidos, pode-se citar a rastreabilidade utilizada para a verificação de utilização de processos e no auxílio à verificação da aderência de processos ao MPS.BR, mostrando que, apesar da rastreabilidade de sistemas ser de difícil implantação e acompanhamento, pode ser utilizada para recolher informações gerenciais, aumentando o benefício do seu desenvolvimento. Outro resultado foi o desenvolvimento do glifo borboleta, que mostra uma nova forma de visualização dos resultados e possibilita uma análise rápida dos problemas do processo de desenvolvimento de software. Palavras-chave: Processos de Software; Gestão de Requisitos; Rastreabilidade; Qualidade de Software; Visualização de Dados; Glifo; Glifo Borboleta.

9 ABSTRACT The quality of a software is a sought goal by the developer companies. The market requires softwares with more quality and one of the factors that determine the quality of a software product is the development process used in the construction of the system. Thus it's important to know if actually the defined process is being used by the organization. Other point that nowadays it's being discussed, it's about models of reference of software quality and the need to construct adherent processes to those models. This dissertation aims at verifing if a design does use a software development process, using for that, requirement tracking. That also looks for aiding to verify if the process is adherent to a quality reference model. Besides, it's intended to use visualization mechanisms to show the utilization and the adherence of the process to the MPS.BR. For that, it's necessary, to verify how the requirement tracking might aid in the analysis of utilization of the process; to define as accomplishing the verification of the adherence of processes to the MPS.BR; to define a visualization mechanism to be used for presentation of the results. The descriptive research has been the used methodology, though bibliographical researches, case study and field research. The field research accomplished the data collection though of the structured semi questionnaire and looked for making possible the definition of the management model of requisites. As obtained results can be mentioned the track being used for the verification of utilization of processes and to aid to verification of the adherence of processes to MPS.BR, showing that, in spite of the trace of systems to be of difficult implantation and attendance, it can be used to collect managerial information, increasing the benefit to its development. Other result has being the development of the butterfly glyph, showing a new way for visualization of the results and making possible a fast analysis of the problems of the process of software development. Key words: Software Processes; Management of Requisites; Trace; Software Quality; Visualization of Data; Glyph; Butterfly Glyph.

LISTA DE FIGURAS FIGURA : Melhoria do Processo... FIGURA : Esquema de um Processo de Desenvolvimento de Software... 3 FIGURA 3: Ciclo de Vida de Software do Processo Unificado... 38 FIGURA 4: Fases e Fluxos.... 4 FIGURA 5: Modelo de Referência... 4 FIGURA 6: Fluxo do Processo de Avaliação... 45 FIGURA 7: Rastreabilidade Horizontal e Vertical... 54 FIGURA 8: Rastreabilidade para Frente e para Trás... 54 FIGURA 9: Classificação da Informação de Rastreamento... 55 FIGURA : Ambiente de Trabalho com Visualização do Processo... 58 FIGURA : Rastreabilidade Baseada no Léxico Estendido... 6 FIGURA : Árvore da Rastreabilidade... 6 FIGURA 3: Árvore Representando a Voz Ativa... 63 FIGURA 4: Árvore Representando a Voz Passiva... 63 FIGURA 5: Gráfico de Gantt Projeto Fictício... 65 FIGURA 6: Árvore Apresentado a Visualização de Hierarquias com Indentação.... 66 FIGURA 7: A interação no Processo de Visualização... 68 FIGURA 8: Processo de Visualização, apresentando os Formatos de Dados... 68 FIGURA 9: Ícone Grandezas Vetoriais... 7 FIGURA : Timewheel... 7 FIGURA : 3D wheel... 7 FIGURA : Infobug... 7 FIGURA 3: Processo de Desenvolvimento mostrando as Fases e Atividades... 74 FIGURA 4: Processo de Desenvolvimento mostrando as Fases, Atividade e Artefatos... 74 FIGURA 5: Requisitos sendo Desenvolvidos... 75 FIGURA 6: Requisitos e as Atividades executadas e Artefatos gerados... 75 FIGURA 7: Comparação de Atividades do Processo e Projeto... 75 FIGURA 8: Processo de Verificação por meio da Rastreabilidade... 76 FIGURA 9: Relação entre Processo Padrão, Processo Definido e Projeto... 77 FIGURA 3: Combinações possíveis entre os Processos... 78 FIGURA 3: Processos MPS.BR... 84 FIGURA 3: Estrutura do Processo GRE... 84 FIGURA 33: Visualização da Verificação da Utilização do processo... 89 FIGURA 34: Glifo Borboleta com suas Partes... 9 FIGURA 35: (a) Glifo do Modelo e (b) Glifo do Projeto... 9 FIGURA 36: Processo de Visualização dos Dados de Utilização de Processos... 9 FIGURA 37: Processo de Visualização dos Dados de Aderência de Processos... 9 FIGURA 38: Glifo Borboleta Fases do Processo... 94 FIGURA 39: Glifo Borboleta Atividades da Concepção... 94 FIGURA 4: Glifo Borboleta 3 Atividades da Elaboração... 95 FIGURA 4: Glifo Borboleta 4 Atividades da Construção... 95 FIGURA 4: Glifo Borboleta 5 Atividades da Transição... 96 FIGURA 43: Glifo Borboleta 6 Aderência Artefatos/Templates GRE... 96 FIGURA 44: Glifo Borboleta 7 Aderência Artefatos/Templates RAP... 97 FIGURA 45: Glifo Borboleta 8 Aderência Níveis de Caracterização... 98

FIGURA 46: Diagrama Simplificado de Casos de Uso do Sistema Biblioteca... 7 FIGURA 47: Menu do Sistema DBML... 9 FIGURA 48: Tela de Cadastro do Léxico... 9 FIGURA 49: Tela de Cadastro de Conceitos... FIGURA 5: Parte da Tela de Cadastro do Léxico responsável pela Pesquisa... FIGURA 5: Botões da tela de Cadastro de Léxico... FIGURA 5: Tela de Composição da Rastreabilidade... FIGURA 53: Tela Composição com Seleção de Tipo de Léxico... FIGURA 54: Parte da árvore do Projeto Biblioteca... FIGURA 55: Tela para Realização da Análise da Rastreabilidade... 3 FIGURA 56: Botões da Tela de Análise... 3 FIGURA 57: Tela da Análise com a Pesquisa Realizada... 4 FIGURA 58: Tela da Análise com a Árvore sendo Apresentada... 4 FIGURA 59: Opções de Navegação da Árvore... 4 FIGURA 6: Tela de Associação de Estados... 5 FIGURA 6: Tela de Análise do Glifo... 6 FIGURA 6: Tela Análise do Glifo com Apresentação dos Requisitos... 6 FIGURA 63: Tela Análise do Glifo com o Projeto Base Apresentado... 7 FIGURA 64: Tela da Análise do Glifo com o Glifo Selecionado... 7 FIGURA 65: Borboleta Fases do Processo Situação Ideal... 9 FIGURA 66: Borboleta Fases do Processo Situação do Projeto Biblioteca... 9 FIGURA 67: Glifo Borboleta Requisitos Cadastro Biblioteca... 9 FIGURA 68: Glifo Borboleta Demais Requisitos Biblioteca... FIGURA 69: Glifo Borboleta Requisitos com Problema... FIGURA 7: Glifo Borboleta Fase Concepção Todos os Requisitos... FIGURA 7: Glifo Borboleta 5 Fase Transição Todos os Requisitos... FIGURA 7: Glifo Borboleta 3 Fase Elaboração Todos os Requisitos... FIGURA 73: Glifo Borboleta 3 Fase Elaboração Cadastros Biblioteca... FIGURA 74: Glifo Borboleta 3 Fase Elaboração Demais Requisitos Biblioteca... FIGURA 75: Árvore de Rastreabilidade mostrando Detalhes do Requisito Cadastrar Autor3 FIGURA 76: Glifo Borboleta 4 Fase Construção Todos os Requisitos... 4 FIGURA 77: Glifo Borboleta 4 Fase Construção Requisitos Cadastro... 4 FIGURA 78: Glifo Borboleta 4 Fase Construção Demais Requisitos Biblioteca... 4 FIGURA 79: Glifo Borboleta 4 Fase Construção Requisitos do Problema... 5 FIGURA 8: Glifo Borboleta 6 Aderência Resultados Esperados GRE Ideal... 5 FIGURA 8: Glifo Borboleta 6 Aderência Resultados Esperados GRE Processo Definido... 6 FIGURA 8: Glifo Borboleta 7 Aderência RAP Ideal... 6 FIGURA 83: Glifo Borboleta 7 Aderência RAP Processo Definido... 6 FIGURA 84: Glifo Borboleta 8 Aderência Níveis de Caracterização Ideal... 7 FIGURA 85: Glifo Borboleta 8 Aderência Níveis de Caracterização GRE e RAP... 7 FIGURA 86: Glifo Borboleta 8 Aderência Níveis de Caracterização GRE... 8 FIGURA 87: Glifo Borboleta 8 Aderência Níveis de Caracterização RAP... 8 FIGURA 88: Parte da Árvore de Rastreabilidade do Processo MPS.BR... 9 FIGURA 89: Detalhamento do Artefato Documento de Responsabilidade, mostrando a sua Situação... 9 FIGURA 9: Detalhamento do GRE, mostrando a sua Situação... 9

LISTA DE GRÁFICOS GRÁFICO : Cargo dos Respondentes... 47 GRÁFICO : Categoria de Cargo dos Respondentes... 47 GRÁFICO 3: Tempo de Atividade... 48 GRÁFICO 4: Nível de Certificação Pretendido... 48 GRÁFICO 5: Processo de Desenvolvimento que a Empresa se Baseia... 49 GRÁFICO 6: Fase em que o Processo se Encontra... 5 GRÁFICO 7: Tipos de Requisitos Trabalhados pelas Empresas... 5 GRÁFICO 8: Alterações de Requisitos... 5 GRÁFICO 9: Como as alterações são tratadas... 5 GRÁFICO : Avaliação de Impacto... 5 GRÁFICO : Documentação de Alterações de Requisitos... 53 GRÁFICO : Inclusão de Requisitos... 53 GRÁFICO 3: Ferramentas para Controle de Requisitos... 54 GRÁFICO 4: Ferramentas para Documentação de Requisitos... 54 GRÁFICO 5: Verificação de Requisitos de acordo com os Artefatos... 55 GRÁFICO 6: Validação de Requisitos... 55 GRÁFICO 7: Quando um Requisitos é considerado Cumprido... 56 GRÁFICO 8: Empresas que utilizam ou pretendem utilizar a Matriz de Rastreabilidade.. 56 GRÁFICO 9: Empresas que Pretendem Utilizar outra Técnica de Rastreabilidade... 57 GRÁFICO : Tipos de Matrizes de Rastreabilidade... 57 GRÁFICO : Nível da Matriz de Rastreabilidade... 58 GRÁFICO : Documentação da Matriz de Rastreabilidade... 58 GRÁFICO 3: Forma de Geração da Matriz de Rastreabilidade... 59 GRÁFICO 4: Consulta da Matriz de Rastreabilidade ao Longo do Projeto... 59 GRÁFICO 5: Análise de Impacto das Alterações... 6 GRÁFICO 6: Aprovação dos Requisitos... 6 GRÁFICO 7: Criação das Matrizes de Rastreabilidade... 6 GRÁFICO 8: Adoção de Padrões... 6 GRÁFICO 9: Definição de Escopo do Projeto... 6 GRÁFICO 3: Definição de Restrições... 6 GRÁFICO 3: Descrição dos Requisitos do Sistema... 6 GRÁFICO 3: Alinhamento Técnico dos Analistas de Negócio e de Requisitos... 63 GRÁFICO 33: Aprovação das Alterações de Requisitos... 63 GRÁFICO 34: Checklist, questionários, entrevistas, cenários e observações... 63 GRÁFICO 35: Criação dos Casos de Uso do Sistema... 64 GRÁFICO 36: Definição de Etapas do Projeto... 64 GRÁFICO 37: Definição de Lista de Requisitos... 65 GRÁFICO 38: Definição de Métricas para Avaliação e Controle dos Requisitos... 65 GRÁFICO 39: Definição de Papéis e Responsabilidades... 65 GRÁFICO 4: Definição do Cronograma do Projeto... 66 GRÁFICO 4: Documentação de Alterações Solicitadas... 66 GRÁFICO 4: Alinha a regra do jogo com o Usuário... 67 GRÁFICO 43: Coleta dos Dados para Utilização das Métricas... 67 GRÁFICO 44: Criação de Checklist de Verificação... 67 GRÁFICO 45: Definição de Lista de Entregas... 68

GRÁFICO 46: Definição de um Plano de Gerenciamento de Requisitos... 68 GRÁFICO 47: Definição do Glossário... 69 GRÁFICO 48: Definição do tamanho do sistema... 69 GRÁFICO 49: Definição dos Custos do Projeto... 69 GRÁFICO 5: Definição dos Limites do Projeto... 7 GRÁFICO 5: Detalhamento por meio de Casos de Uso e Descrição dos Casos de Uso... 7 GRÁFICO 5: Utilização das Métricas da Gestão de Requisitos... 7 GRÁFICO 53: Validação dos Requisitos junto ao Usuário... 7 GRÁFICO 54: Verificação de Viabilidade... 7 GRÁFICO 55: Criação do Diagrama de Contexto do Sistema... 7 GRÁFICO 56: Definição de Premissas... 7 GRÁFICO 57: Definição dos Benefícios do Sistema... 73 GRÁFICO 58: Padrão para Especificação Funcional e dos Requisitos... 73 GRÁFICO 59: Registro de Solicitação de Alteração... 73 GRÁFICO 6: Revisões, inspeções... 74 GRÁFICO 6: Definição de Condições de Aceite do Sistema... 74 GRÁFICO 6: Utilização de Linguagem de Negócio... 74 GRÁFICO 63: Utilização do Checklist de Verificação... 75 GRÁFICO 64: Diagrama Ishikawa... 75 GRÁFICO 65: Criação de Lista de Eventos do Sistema... 76 GRÁFICO 66: Detalhamento por meio da Lista de Eventos e Diagrama de Contexto... 76 GRÁFICO 67: Entrevista Delphi... 76 GRÁFICO 68: Verificação das Métricas da Engenharia de Requisitos... 77 GRÁFICO 69: Atividades que obtiveram Oito Respostas... 77 GRÁFICO 7: Atividades que obtiveram Sete Respostas... 78 GRÁFICO 7: Atividades que obtiveram Seis Respostas... 78 GRÁFICO 7: Atividades que obtiveram Cinco Respostas... 79 GRÁFICO 73: Atividades que obtiveram Quatro Respostas... 79 GRÁFICO 74: Atividades que obtiveram Três Respostas... 8 GRÁFICO 75: Atividades que obtiveram Duas Respostas... 8 GRÁFICO 76: Atividades que obtiveram Uma Respostas... 8 3

4 LISTA DE QUADROS QUADRO : Processo Imaturo X Maduro... 33 QUADRO : Características de um Processo Efetivo... 35 QUADRO 3: Níveis de Maturidade do MPS.BR... 43 QUADRO 4: RAPs... 44 QUADRO 5: Regras para Caracterizar o Grau de Implementação das Práticas... 47 QUADRO 6: Modelo Definido... QUADRO 7: Processo MPS.BR... 5 QUADRO 8: Apresentação de Atividades e Artefatos não Efetuados... 8

5 LISTA DE SIGLAS D Duas Dimensões 3D Três Dimensões AD Asa Direita AE Asa Esquerda AID Asa inferior direita AIE Asa inferior esquerda AP Atributo de Processo ASD Asa superior direita ASE Asa superior esquerda C Corpo C Comparação - processo padrão X projeto C Comparação - processo padrão X processo definido C3 Comparação 3 - processo definido X projeto C4 Comparação 4 - projeto X projeto CCOMP Centro de Competência CELEPAR Companhia de Informática do Paraná CenPRA Centro de Pesquisas Renato Archer CESAR Centro de Estudos e Sistemas Avançado de Recife CMMI Capability Maturity Model Integration COPPE/UFRJ Coordenação dos Programas de Pós-graduação de Engenharia / Universidade Federal do Rio de Janeiro DBML Desenvolvimento Baseado em Metas e Léxico DSDM Dynamic Systems Development Method F Fora do Escopo FUMSOFT Sociedade Mineira de Software GQM Goal Question Metric GRE Gerência de Requisitos ID Indicador Direto IEEE Instituto de Engenheiros Eletricistas e Eletrônicos II Indicador Indireto

6 ISO/IEC International Standardization Organization / International Electrotechnical Commission L Largamente implementada LabES - Laboratório de Engenharia de Software LEL Language Extended Lexico - Léxico Estendido da Linguagem MPS.Br Melhoria de Processo do Software Brasileiro MR-MPS Modelo de Referência MSF Microsoft Solution Framework N Não implementada NA Não avaliado ODE - Ontology-based software Development Environment P Parcialmente implementada PD Pata direita PE Pata esquerda Praxis Processo para Aplicativos Extensíveis Interativos ProMOTe Processo de melhoria de Organizações Técnicas PSP Personal Software Process PU Processo Unificado PUC-MG Pontifícia Universidade Católica de Minas Gerais RAP Resultados de atributos de processo RE Resultado Esperado RioSoft Sociedade Núcleo de Apoio a Produção e Exportação de Software do Rio de Janeiro SCAMPI - Standard CMMI Appraisal Method for Process Improvement Método Padrão de Avaliação do CMMI para Melhoria de Processo SBQS Simpósio Brasileiro de Qualidade de Software 7 SOFTEX Associação para Promoção da Excelência do Software Brasileiro SQA - Software Quality Assurance SW-CMM Software Capability Maturity Model T Totalmente implementada TSP Team Software Process UFES Universidade Federal do Espírito Santo UFOP Universidade Federal de Ouro Preto

7 UML Unified Modeling Language VTK Visualization Tookit XP Extreme Programming

8 SUMÁRIO INTRODUÇÃO.... Problema.... Objetivos... 3.. Objetivo Principal... 3.. Objetivos Secundários... 3.3 Relevância... 3.4 Motivação... 4.5 Escopo... 5.6 Metodologia... 6.7 Organização da Dissertação... 8 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE... 3. Processos Padrão... 35. Modelos de Processos... 36.. Processo Unificado... 37.3 Qualidade de Software... 4.3. MPS.BR: Melhoria de Processo do Software Brasileiro... 4 3 LÉXICO ESTENDIDO... 48 4 ENGENHARIA DE REQUISITOS... 5 4. Requisitos... 5 4. Fases da Engenharia de Requisitos... 5 4.3 Rastreabilidade... 53 4.4 Ambiente Discovery... 57 4.4. Ferramenta DBML - Desenvolvimento Baseado em Metas e Léxico... 59 5 VISUALIZAÇÃO DE DADOS... 64 5. Visualização... 64 5. Glifo... 69 6 APOIO À VERIFICAÇÃO DA UTILIZAÇÃO DE PROCESSOS E ADERÊNCIA AO MPS.BR... 73 6. Contextualização do Problema... 73 6. Verificação de Utilização de Processo por meio da Rastreabilidade... 73 6.3 Estensão da Ferramenta para Verificação da utilização de Processos... 8 6.4 Auxílio à Verificação da Aderência de Processos ao MPS.BR... 83 6.5 Estensão da Ferramenta para a Verificação da Aderência ao MPS.BR... 86 6.6 Glifo para Visualização de Processos... 88 6.7 Estensão da Ferramenta para Inserção do Glifo... 93 7 RESULTADOS... 7. Estudo de Caso... 7.. Modelos Definidos...

9 7.. Apresentação do Estudo de Caso... 5 7... Sistema Biblioteca... 5 7... Cadastros... 8 7...3 Análise dos Glifos e Rastreabilidade... 8 7...3. Verificação da Utilização de Processos... 8 7...3. Auxílio à Verificação da Aderência de Processos ao MPS.BR... 5 7. Análise dos Resultados... 3 7.3 Trabalhos Correlatos... 34 8 CONCLUSÕES E PERSPECTIVAS FUTURAS... 37 8. Conclusões... 37 8. Contribuições... 37 8.3 Trabalhos Futuros... 38 REFERÊNCIAS... 4 APÊNDICE... 45 Apêndice A - Questionário... 45 Apêndice B - Análise do Questionário... 47 Apêndice C Questionário Aplicado às Empresas... 83

INTRODUÇÃO A qualidade de um software é objetivo buscado pelas empresas desenvolvedoras. O mercado exige softwares com maior qualidade e, para isso, empresas e universidades buscam as causas da falta de qualidade dos produtos de software desenvolvidos e as soluções para essas deficiências. A falta de qualidade está relacionada a diversos fatores que, segundo Pfleeger (4, p. ) são: requisitos incompletos; falta de envolvimento por parte dos usuários; falta de recursos; expectativas não-realistas; falta de apoio dos executivos; modificações nos requisitos e nas especificações; falta de planejamento; falta de necessidade do sistema. Já, segundo Koscianski e Soares (6, p. 3), os fatores que afetam a qualidade são: tamanho e complexidade do software sendo construído; número de pessoas envolvidas no projeto; ferramentas utilizadas; custos associados à existência de erros; custos associados à detecção e à remoção de erros. Esses fatores ocorrem, muitas vezes, porque os desenvolvedores deixam de fazer o software de maneira sistemática, sem considerar um processo definido de desenvolvimento. Mas, além de implantar o processo de desenvolvimento, deve ser observado se os projetos da organização estão realmente utilizando todo o processo de desenvolvimento de software especificado, ou seja, se cada atividade do processo está sendo executada ao longo do desenvolvimento. Caso isso não ocorra, o processo deve ser revisto, visando à melhoria contínua. Muitas empresas estão buscando a qualidade, seguindo o que os modelos de maturidade determinam. Para essas empresas, além de verificar a utilização do processo, é importante verificar se o processo está aderente ao modelo escolhido. Portanto, é necessária, para que o sistema seja construído de forma adequada, a criação de uma forma de gerenciar o desenvolvimento, visando à melhoria do produto a ser desenvolvido dentro do prazo e custo especificados. Para isso, é necessário criar um processo de desenvolvimento e colocá-lo em utilização, pois o processo possibilita a sistematização do desenvolvimento e, com isso, o seu controle (SOUSA et al., 3). Além de criar o processo, é necessário estabelecer a sua melhoria contínua. Essa melhoria contínua é importante para uma organização, pois é ela que possibilita a evolução do processo visando maior qualidade ao processo de desenvolvimento. O processo deve ser

examinado durante a avaliação da organização, identificando as mudanças a serem realizadas no processo estabelecido para a organização (figura ). FIGURA : Melhoria do Processo Fonte: Couto, 7 Na avaliação do processo, são necessárias a verificação da utilização do processo e a verificação da aderência dos processos ao modelo de maturidade da organização. Aqui, é apresentada uma proposta de verificação da utilização de processos de desenvolvimento de software por meio do mecanismo de rastreabilidade dos requisitos e de uma proposta para auxílio à verificação da aderência do processo ao modelo de maturidade de Melhoria de Processo do Software Brasileiro (MPS.BR). Sabe-se que técnicas de rastreabilidade possibilitam mapear um requisito a partir de um ponto inicial até um ponto qualquer de um processo de desenvolvimento, possibilitando ao desenvolvedor verificar se o requisito foi ou não cumprido. A idéia básica consiste em criar uma estrutura de rastreamento que permita, a partir dos artefatos e requisitos gerados, identificar as atividades que geraram os requisitos e determinar, dessa forma, o que do processo definido está sendo realizado. Com o objetivo de apresentar, detalhar e validar a proposta, é mostrado um estudo de caso que permite avaliar se um projeto está utilizando um processo e se o processo está aderente ao modelo de maturidade definido pela organização. Esse estudo faz uso de um processo baseado no MPS.BR e em um questionário aplicado a empresas de Minas Gerais que pretendem se certificar na norma escolhida. Projeto aqui deve ser entendido como um sistema que está sendo desenvolvido de acordo com o modelo (processo) utilizado. Seria como se estivéssemos realizando uma instanciação do modelo criado. Processo e modelo de processo serão utilizados, ao longo desta dissertação, como sinônimos, referindo-se ao processo de desenvolvimento de software.

Além disso, pretende-se, neste trabalho, apresentar mecanismos de visualização dos dados, para facilitar a identificação das não conformidades e da falta de aderência. Essa representação visual está sendo realizada de acordo com o projeto Discovery (PIETROBON 7), dentro do qual este trabalho está inserido, e se preocupa com a visualização de processos de software. Aqui, propõe-se o uso do glifo borboleta, que vai permitir visualizar de forma gráfica diversos aspectos de um processo de software, os pontos positivos e os pontos problemáticos.. Problema O modelo MPS.BR apregoa que se deve rastrear os requisitos e garantir a qualidade dos produtos gerados e processos executados. Entretanto, o MPS.BR não aborda como fazer a verificação dessa rastreabilidade e conformidade. Além disso, não especifica como a rastreabilidade pode ser utilizada para trazer benefícios ao desenvolvimento de software. O processo de desenvolvimento de software utilizado para a execução do sistema auxilia na qualidade de um produto de software (CRUZ et al., 6; KOSCIANSKI; SOARES, 6). Técnicas de rastreabilidade colaboram para a qualidade, pois possibilitam mapear um requisito a partir de um ponto inicial até o ponto final de um processo de desenvolvimento, de forma a possibilitar a verificação se o requisito foi ou não cumprido. Com isso, surge a pergunta: Como verificar se um projeto está utilizando um modelo proposto de desenvolvimento de software? Como verificar se um processo é aderente a um modelo de referência de qualidade? Como visualizar mais facilmente os pontos que estão com problemas de utilização ou aderência? De acordo com esses fatores, é necessário realizar um estudo que verifique a possibilidade de identificar, pela rastreabilidade, se um projeto utiliza um processo de desenvolvimento de software. Além disso, é necessário definir o que é necessário verificar para determinar se um processo é aderente a um modelo de referência de qualidade, no caso MPS.BR 3, e determinar se a rastreabilidade pode auxiliar nessa verificação. Este trabalho é uma proposta de solução para apoiar os aspectos descritos. 3 O MPS.BR foi escolhido devido à pesquisa de campo realizada com as organizações de Minas Gerais.

3. Objetivos.. Objetivo Principal Verificar se um projeto adota um processo de desenvolvimento de software especificado, utilizando, para isso, a rastreabilidade de requisitos. A proposta verifica, também, se esse processo é aderente ao modelo de referência MPS.BR. Além disso, pretendese utilizar mecanismos de visualização para apresentar os resultados das duas verificações... Objetivos Secundários Verificar como a rastreabilidade de um requisito pode auxiliar na análise de utilização do processo; Definir como realizar a verificação da aderência de processos ao MPS.BR, utilizando a rastreabilidade; Definir o mecanismo de visualização a ser utilizado para apresentação dos resultados..3 Relevância A relevância desta pesquisa encontra-se na necessidade de se verificar se um projeto utiliza um processo de desenvolvimento estabelecido, pois esse controle é um passo importante na garantia de qualidade de software. Além disso, a busca pela aderência dos processos aos modelos de referência é constante e esta pesquisa busca auxiliar esta verificação. A relevância do trabalho também se deve em estar sendo proposta uma ferramenta para trabalhar com o MPS.BR, possibilitando o auxílio à verificação da aderência ao