Proposta de um Processo Sistematizado de Controle de Manutenção de Software para Micro e Pequenas Empresas



Documentos relacionados
Gerenciamento de Incidentes

Requisitos de Software

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

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

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Projeto 2.47 QUALIDADE DE SOFTWARE WEB

Processos de Desenvolvimento de Software

Projeto de Sistemas I

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

GERÊNCIA DE CONFIGURAÇÃO. Isac Aguiar isacaguiar.com.br

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

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc.

GARANTIA DA QUALIDADE DE SOFTWARE

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

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

Projeto Você pede, eu registro.

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

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

DESENVOLVER SISTEMAS 1 OBJETIVO

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

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

Manual Geral do OASIS

Processo de Desenvolvimento de Software

Universidade Paulista

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

ENGENHARIA DE SOFTWARE I

Engenharia de Software Processo de Desenvolvimento de Software

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

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

Gerenciamento de Problemas

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

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

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

FACULDADE DE TECNOLOGIA DE TAQUARITINGA PLANO DE ENSINO º SEMESTRE DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Engenharia de Requisitos Estudo de Caso

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

ATO Nº 233/2013. A PRESIDENTE DO TRIBUNAL REGIONAL DO TRABALHO DA 7ª REGIÃO, no uso de suas atribuições legais e regimentais,

PLANOS DE CONTINGÊNCIAS

Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

Gestão de Modificações. Fabrício de Sousa

PROFESSOR: CRISTIANO MARIOTTI

Manual Operacional SIGA

Levantamento, Análise e Gestão Requisitos. Aula 12

REGULAMENTO DO TRABALHO DE CONCLUSÃO DE CURSO Curso Superior de Tecnologia em Sistemas para Internet 2/2012

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

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

Gerenciamento de Projetos Exercícios gerais com questões de concursos anteriores

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Manual SAGe Versão 1.2 (a partir da versão )

OBJETIVO 2 APLICAÇÃO 3 ATRIBUIÇÕES E RESPONSABILIDADES 4 DOCUMENTOS DE REFERÊNCIA 5 TERMINOLOGIA 6 DESCRIÇÃO DO PROCESSO DE GESTÃO DE MUDANÇAS

Engenharia de Software

APRESENTAÇÃO DA DISCIPLINA QUALIDADE DE SOFTWARE. Isac Aguiar isacaguiar.com.br

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Sistema de Controle de Solicitação de Desenvolvimento

GERÊNCIA DE INTEGRAÇÃO DO PROJETO

Plano de Gerenciamento do Projeto

PROCEDIMENTO DA QUALIDADE

ISO Aécio Costa

Modelos de Qualidade de Produto de Software

Professor: Curso: Disciplina:

Introdução à ISO 9001:2015

4 Metodologia da Pesquisa

APOO Análise e Projeto Orientado a Objetos. Requisitos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Gerenciamento de Riscos do Projeto Eventos Adversos

CHECK - LIST - ISO 9001:2000

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

MUDANÇAS NA ISO 9001: A VERSÃO 2015

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

Introdução Visão Geral Processos de gerenciamento de qualidade. Entradas Ferramentas e Técnicas Saídas

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

Registro e Acompanhamento de Chamados

Solicitação de Equipamento Verba de Projeto Abril 2006

REGULAMENTO DO TRABALHO DE CONCLUSÃO DE CURSO Curso Superior de Tecnologia em Sistemas para Internet 1/2011

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

CLOUD. tendências CLOUD. entendendo e contratando assertivamente. Agosto/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 02

Feature-Driven Development

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

Sistemas de Informação I

Manual de Utilização do GLPI

Proposta Comercial. Proposta Comercial de prestação de serviços de Desenvolvimento de web site para o Vereador Marcelo Ramos.

Manual Portal Ambipar

APLICATIVO PARA ATUALIZAÇÃO EMPRESARIAL

ACOMPANHAMENTO GERENCIAL SANKHYA

OS 14 PONTOS DA FILOSOFIA DE DEMING

Planejamento e Gerência de Projetos de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

Mapeamento de Processos

5 Mecanismo de seleção de componentes

Transcrição:

Proposta de um Processo Sistematizado de Controle de Manutenção de Software para Micro e Pequenas Empresas Dayler Vinicius M. Alves 1, Carlos Renato Storck 1 1 Instituto de Informática Pontifícia Universidade Católica de Minas Gerais (PUC) 39.140-000 Guanhães MG Brasil dlr_vinicius@hotmail.com, storckbr@gmail.com Abstract. A good process of software maintenance is critical to achieving product quality and customer satisfaction. This work intends to choose a control tool maintenance and defining a process for software maintenance based on their functionality and can be deployed effectively in micro and small software development companies, in order to manage the entire process maintenance of enterprise software. Resumo. Um bom processo de manutenção de software é fundamental para alcançar a qualidade do produto e satisfação de seus clientes. Este trabalho se propõe a escolher uma ferramenta de controle de manutenção e definir um processo de manutenção de software baseado em suas funcionalidades e que possa ser implantado de forma eficaz em micro e pequenas empresas de desenvolvimento de software, com o intuito de gerenciar todo o processo de manutenção de software da empresa. 1. Introdução Atualmente empresas desenvolvedoras de software preocupam-se em ter produtos que atendam as necessidades de seus clientes, mas muitas vezes não se preocupam com a qualidade do produto final, e quando se preocupam não dão o valor devido. Quando se fala em qualidade de software, é possível ter várias definições para o termo. Diante dessa complexidade na definição da palavra qualidade, Pressmam (2005) sugere que a qualidade de software seja implementada e não somente uma ideia ou desejo que uma organização venha a ter. A busca constante pela qualidade não se faz apenas no começo do projeto ou no seu final realizando testes, mas sim em um processo que abranja todos os ciclos de desenvolvimento da engenharia de software e que envolva todos os membros do projeto. Sabendo que, para que o sistema mantenha a qualidade é necessário que ao realizar alguma alteração, tenha-se o controle da mesma, torna-se necessário o uso de recursos para o desenvolvimento de mecanismos e processos para realizar a avaliação, controle e modificações do software, com o objetivo principal de reduzir a quantidade de esforço no processo de manutenção. Neste trabalho é escolhida uma ferramenta e definido um processo de manutenção de software a ser seguido por Micro e Pequenas Empresas (MPEs) no ramo de desenvolvimento de software.

2. Metodologia Inicialmente foi realizado o levantamento do referencial teórico e apresentado os conceitos de manutenção de software e processo de gerenciamento da manutenção. Em seguida, baseado em um estudo sobre ferramentas livres de controle de mudanças foram escolhidas duas ferramentas para gerenciar o processo de manutenção de software, do qual apenas uma dessas ferramentas será utilizada e esta deve permitir o gerenciamento dos defeitos e atualizações requeridas ao software. O critério escolhido para escolha da ferramenta é a que melhor se adapte as necessidades das MPEs. Para isso foi utilizada a norma ISO/IEC 9126-1 que descreve um modelo para a avaliação da qualidade do produto de software. Baseado na norma, foi escolhida a ferramenta realizando a definição do processo baseado em suas funcionalidades. Por fim, foram verificados os benefícios que um processo sistematizado pode trazer para uma MPE. 3. Referencial Teórico 3.1 Manutenção de Software A manutenção de software pode ser definida como uma parte do ciclo de desenvolvimento do software. Para Sommerville (2003) a manutenção de software é o processo geral de modificação de um sistema depois que ele foi colocado em uso. Mesmo nos produtos de software desenvolvidos com os melhores processos, enfatiza Paula Filho (2003), alguns defeitos poderão escapar até a versão de operação, para que então sejam descobertos pelo usuário. Pfleeger (2004) completa dizendo que qualquer trabalho efetuado para modificar o sistema depois que ele estiver em operação, é considerado manutenção. Rezende (2005) destaca que de maneira geral, todo software sofre manutenções, sejam elas para simples ajustes pós-implantação, ou por melhorias substanciais, por força da legislação e, finalmente, por estar gerando erros. Neste sentido Sommerville (2003) lembra que existem três diferentes tipos de manutenção de software: manutenção para reparar os defeitos no software, manutenção para adaptar o software a um ambiente operacional diferente e manutenção para acrescentar funcionalidade. 3.2 Processo de Gerenciamento da Manutenção Para Sommerville (2003) as mudanças em sistemas de software sempre irão ocorrer, pois as necessidades e os requisitos organizacionais modificam o tempo de vida útil do sistema, requerendo então que mudanças correspondentes sejam feitas no software. Afirma ainda que o processo de gerenciamento de mudanças pode ser iniciado durante a fase de teste ou até mesmo após a entrega ao cliente, sendo que o processo deve assegurar que seja realizada a análise dos custos e benefícios da mudança, garantindo que esta, seja feita de maneira controlada. 4. Desenvolvimento O desenvolvimento deste trabalho será a escolha de uma ferramenta de controle de mudanças, que tem por objetivo automatizar o processo de manutenção de software de uma MPE. Será apresentado o processo realizado para a escolha da ferramenta.

Espera-se que com uma ferramenta automatizada de controle de mudanças, a empresa possa ter uma base para a inserção de informação relacionada com as alterações no software e através dos relatórios e métricas geradas por esta ferramenta tenha-se subsídios para o auxílio na tomada de decisão e melhoria do processo como um todo. 4.1 Levantamento das Ferramentas Para realizar o levantamento das ferramentas se fez necessário realizar um estudo sobre ferramentas livres de controle de mudanças. Neste estudo, foi verificado o trabalho de alguns autores, avaliando a viabilidade de se utilizar uma destas. Como principal característica, esta ferramenta deve ser capaz de registrar, avaliar e rastrear todas as mudanças no projeto, desde sua requisição até a aceitação ou não de sua implementação. Foi definida a avaliação de duas ferramentas que obtiveram bons resultados em trabalhos de outros autores. No estudo realizado verificou-se que duas ferramentas obtiveram bons resultados nos trabalhos de Cardias Junior et al. (2010) e Reis (2002), sendo elas o Mantis e o Bugzilla respectivamente. Para a escolha da ferramenta foi utilizada a norma ISO/IEC 9126-1 que descreve um modelo que observa a qualidade do produto de software, dividindo-se basicamente em duas partes, sendo elas qualidade interna / externa e qualidade em uso. A qualidade interna e a qualidade externa são divididas em seis características e estas são divididas em subcaracterísticas externas que são resultados de atributos internos do software. A qualidade em uso é dividida em quatro características de utilização, sendo estas os efeitos da combinação das seis características anteriores. Foram estabelecidas métricas para a realização da avaliação das ferramentas de controle de mudanças. As métricas foram divididas em três níveis: Atende, Atende Parcialmente e, Não Atende. Nesta etapa, com base nos critérios de avaliação da norma NBR ISO/IEC 9126-1, serão realizadas comparações entre as ferramentas de controle de mudanças. Os comparativos dos critérios definidos estão descritos abaixo no Quadro 1. Quadro 1. Avaliação das ferramentas Entre os requisitos avaliados, observa-se que o critério de avaliação Requisito8 da ferramenta Bugzilla foi classificado como Atende Parcialmente (AP), por causa da

interface disponibilizada somente em inglês que pode ser um fator que dificulte sua utilização pelos usuários. Assim como o Mantis, o Bugzilla pode ser instalado em qualquer sistema operacional, necessitando basicamente de um servidor web, um browser que também pode ser qualquer um e comunicação com o servidor no qual está hospedado. O critério de avaliação Requisito12 da ferramenta Bugzilla foi classificado como Não Atende (NA), por causa da documentação falha que deixa a desejar em certos pontos da instalação, o que torna demorado este processo. A ferramenta escolhida foi o Mantis, devido aos bons resultados obtidos no comparativo das ferramentas no Quadro 1 e no trabalho de Cardias Junior et al. (2010), que mostra a utilização da ferramenta com o objetivo de gerenciar os relatos dos problemas identificados, acompanhando sua evolução desde a solicitação de mudança até seu desfecho. Os bons resultados da ferramenta se devem aos relatos (issues) gerados nela, que contam com um ciclo de vida próprio, passando pelos vários estados que um relato (issue) se enquadra até seu fechamento. 5. Definição do Processo De acordo com as funcionalidades da ferramenta escolhida, foi obtido como resultado um processo sistematizado através de uma versão simplificada e adaptada do Processo de Manutenção do Práxis, especificado de maneira que se consiga manter o controle do processo de maneira simples. A Figura 1 representa o fluxograma do processo. Figura 2. Fluxograma do processo de manutenção de software Inicialmente, o cliente faz a requisição da mudança, seja ela adaptativa, corretiva ou evolutiva, e então esta mudança requerida é relatada no sistema, escolhendo o projeto ao qual pertence a mudança, seu status inicial deverá ser atribuído ao gerente. Assim que o caso é salvo, é enviado ao gerente um e-mail notificando-o de sua responsabilidade pela análise da solicitação. Em seguida, após o gerente realizar a análise desta solicitação, verificando sua relevância para o sistema e se esta solicitação

for aprovada, seu status no sistema deverá ser mudado para admitido e deverá seguir para a análise de impactos, que avaliará o que tal alteração poderá ocasionar no sistema. Ao realizar a análise de impacto de uma alteração e se esta for aprovada, seu status deverá ser alterado para confirmado, caso não seja aprovada a solicitação deverá ser fechada. Após a aprovação da alteração, deve-se realizar o planejamento e especificação de como será implementada a solução para a mudança proposta. O gerente deverá atribuir ao programador a responsabilidade de implementar a mudança e realizar os testes necessários. Após realizadas as atividades anteriores, o status da solicitação deverá ser alterado para resolvido. É aguardado um período de homologação pelo cliente, para mudar o status do pedido de mudança para fechado. Caso não tenha sido resolvido, ele poderá ser readmitido, caso contrário a solicitação deverá ser fechada. 6. Resultados A definição de um processo sistematizado de controle de manutenção de software baseado em uma ferramenta pode trazer bons resultados em relação à qualidade do software. Porém, a manutenção de software necessita de uma equipe específica empenhada no desenvolvimento deste processo. Visando isto, foi necessário desenvolver um processo de manutenção que atendesse as MPEs, sabendo-se que estes tipos de empresas dispõem de poucos recursos de pessoal. Mesmo com os indícios teóricos de que o processo proposto irá auxiliar o controle de modificações de software, é necessário que sejam realizados estudos experimentais para que sejam verificadas as reais contribuições do uso da abordagem e de suas deficiências. O processo definido facilitará a realização destes experimentos. 7. Conclusão Com este trabalho, foi possível verificar a importância de um processo de manutenção de software nas MPEs, a fim de se obter a qualidade do software. A partir das funcionalidades da ferramenta Mantis, um processo foi implementado, baseado na versão simplificada e adaptada do Processo de Manutenção do Práxis, sendo possível realizar a centralização dos relatos, não correndo o risco de qualquer pedido de manutenção não chegar ao conhecimento da equipe de desenvolvimento. Com base nos resultados encontrados neste estudo, verificou-se que o processo pode ser melhorado em abordagens de trabalhos futuros. O presente trabalho não tratou da integração com um sistema de controle de versões, que é um software que tem como finalidade o gerenciamento de versões no desenvolvimento de um software. Para trabalhos futuros, recomenda-se a integração entre o Mantis e um sistema de controle de versões compatível, a fim de se obter a automatização das atualizações de relatos (issues) no Mantis, a partir de commits de alterações no sistema de controle de versões. Cabe também como trabalho futuro a verificação e otimização do fluxo do processo de desenvolvimento de software definido neste trabalho.

Referências Bugzilla, Documentação. "Bugzilla", http://www.bugzilla.org, Maio. Campos, F. M. (2007) "Quais são as reais características da qualidade da NBR ISO/IEC 9126-1?", http://www.testexpert. com.br/?q=node/126, Maio. Cardias Junior, A. B., Bentes, L. N., Ronny, M., Bezerra Oliveira, S. R. and Yoshidome, E. (2010) "Uma Análise Avaliativa de Ferramentas de Software Livre no Contexto da Implementação do Processo de Gerência de Requisitos do MPS.BR", In: XIII Workshop em Engenharia de Requisitos, Cuenca. Dias, A. F. (2009) "Comparação entre ferramentas de controle de mudança", http://www.pronus.eng.br/artigos_tutoriais/analises/ferramentascontrolemudanca.ph p, Maio. Lopes, L. G., Murta, L. and Werner, C. (2005) "Controle de Modificações em Software no Desenvolvimento Baseado em Componentes", In: II workshop de manutenção de software moderna, Manaus. Maesi, C. et al. (2009) "NBR ISO/IEC 9126-1", http://www.slideshare.net/alinebicudo/slides-nbr-isoiec-91261, Maio. Mantis, Documentação. "Mantis", www.mantisbt.org, Maio. Paula Filho, W. P. (2003), Engeharia de software: Fundamentos, Métodos e Padrões, LTC - Livros Técnicos e Científicos, 2th edition. Pfleeger, S. L.. (2004), Engenharia de Software: Teoria e Prática, Prentice Hall, 2th edition. Pressman, R. S. (2006), Engenharia de software, McGrraw-Hill, 6th edition. Rezende, D. A. (2005), Engenharia de Software e Sistemas de Informação, Brasport, 3th edition. Reis, C. R. (2002) "Uma Visão Geral do Bugzilla, uma Ferramenta de Acompanhamento de Alteracões", In: XVI Simpósio Brasileiro de Engenharia de Software, Gramado. Sommerville, I. (2003), Engenharia de software, Pearson Addison Wesley, 6th edition.