MANUTENÇÃO DE SOFTWARE



Documentos relacionados
ENGENHARIA DE SOFTWARE I

Universidade Paulista

Processo de Desenvolvimento de Software

GARANTIA DA QUALIDADE DE SOFTWARE

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

Engenharia de Software III

Sistemas de Informação I

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

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

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

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

Introdução à Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

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

Conceitos Fundamentais de Qualidade de Software

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Governança de TI. ITIL v.2&3. parte 1

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Organização e a Terceirização da área de TI. Profa. Reane Franco Goulart

Prof. Marcelo Machado Cunha

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

Processo de Implementação de um Sistema de Gestão da Qualidade

1 Introdução A motivação e o problema da pesquisa

Introdução à ES - Continuação

PROFESSOR: CRISTIANO MARIOTTI

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

Introdução ao Modelos de Duas Camadas Cliente Servidor

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Processo de Controle das Reposições da loja

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

CHECK - LIST - ISO 9001:2000

Sumário. (11)

ISO Aécio Costa

CRM. Customer Relationship Management

ENG 2332 CONSTRUÇÃO CIVIL I

3 Qualidade de Software

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

Planejamento Estratégico de Tecnologia da Informação PETI

Desenvolvimento de Soluções de e-business. Objetivos do Capítulo

PROJETOS DE SISTEMA EMBALAGEM COM A ABORDAGEM PLM FIGURA 1: O SISTEMA EMBALAGEM E SEUS COMPONENTES.

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

MODELO CMM MATURIDADE DE SOFTWARE

Gerenciador de Log Documento Visão. Versão 2.0

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Verificação é um processo para se determinar se os produtos, (executáveis ou

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

Engenharia de Software

Prof. Me. Marcos Echevarria

Distribuidor de Mobilidade GUIA OUTSOURCING

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Orientação a Objetos

Engenharia de Software

Engenharia de Software

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

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

A apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.

SOFTWARE LIVRE NO SETOR PÚBLICO

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Qualidade de Software. Aécio Costa

Engenharia Reversa e Reengenharia

ATIVIDADES DE LINHA E DE ASSESSORIA

Projeto 2.47 QUALIDADE DE SOFTWARE WEB

Projeto de Sistemas I

Modelos de Qualidade de Produto de Software

CONCEITOS E MÉTODOS PARA GESTÃO DE SAÚDE POPULACIONAL

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

REGULAMENTO NÚCLEO DE APOIO PEDAGÓGICO/PSICOPEDAGÓGICO NAP/NAPP. Do Núcleo de Apoio Pedagógico/Psicopedagógico

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

Ao introduzir o sistema ERP, o empresário reconhece imediatamente os benefícios e ferramentas que podem

CRIAÇÃO DA DISCIPLINA SISTEMA DE GESTÃO AMBIENTAL NO CURSO DE ENGENHARIA CIVIL

Disciplina: Administração de Departamento de TI. Professor: Aldo Rocha. Aula I - 11/08/2011

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

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

CAPABILITY MATURITY MODEL FOR SOFTWARE. Eduardo Mayer Fagundes

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Engenharia de Software Processo de Desenvolvimento de Software

Pós Graduação Engenharia de Software

Atividade da gerência da qualidade

GESTÃO DE SUPRIMENTO TECNÓLOGO EM LOGÍSTICA

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

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

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

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

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS

Gerenciamento de Incidentes - ITIL. Prof. Rafael Marciano

2 Diagrama de Caso de Uso

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

Transcrição:

MANUTENÇÃO DE SOFTWARE Francisco Luiz Sobrinho, Samily Rocha Gois Faculdade de Tecnologia SENAC Goiânia/GO (SENAC/GO) Av. Independência número 1002 - CEP 74645-010 Setor Leste Vila Nova - Goiânia GO Brasil Engenharia de Software Gestão da Tecnologia da Informação II - Matutino wickjonesobrinho@gmail.com, Samilygois@oi.com.br Abstract. The amount of software running on any kind of organization is attracting attention for one stage of the life cycle of software, previously considered Secondly, the maintenance of software. The problems arising from this activity need to be well understood. That usually is not feasible to replace the software products of an organization by others based on recent technologies, makes the system maintenance an additional challenge to the search of techniques and methods for software maintenance. Resumo. A quantidade de software em funcionamento em todo tipo de organização vem despertando atenção para uma fase do ciclo de vida de software, até então considerada em segundo lugar, a manutenção de software. Os problemas oriundos dessa atividade precisam ser bem compreendidos. O fato de geralmente não ser viável substituir os produtos de software de uma organização por outros baseados em tecnologias recentes, torna a manutenção de sistemas um desafio adicional para a busca de técnicas e métodos para a manutenção de software. 1. Introdução A Engenharia de Software desenvolve, cria e aperfeiçoam continuamente métodos, procedimentos e ferramentas para tornar a atividade de desenvolver e manter software uma tarefa que possa ser medida, controlada e avaliada. Ao longo das últimas décadas houve uma melhora significativa do conceito de software, de suas características e dos seus processos. Todo esse desenvolvimento na atualidade destina-se à atividade de manutenção de software e essa importância ocorre por causa da quantidade de software em funcionamento nas organizações, mas não são substituídos, e é justamente por causa disso que surge a necessidade de manutenção de software. Essa Necessidade concorre a diversos problemas originados de diversas fontes como: a própria administração das organizações, o perfil dos clientes ou as deficientes técnicas utilizadas na construção de software. Este artigo colabora para melhor entender as dificuldades de uma das importantes atividades dentro do ciclo de vida do software, a atividade de manutenção de software. Existem Trabalhos em algumas instituições de ensino superior no sentido de estabelecer

uma disciplina própria para manutenção de software em cursos de graduação e essa iniciativa mostra a necessidade da importância de ensinar manutenção de software no meio acadêmico, antes de os alunos se tornarem profissionais. Fica claro dessa maneira, entender a importância de pesquisar e correlacionar as informações sobre a atividade de manutenção de software dentro das organizações, evidenciando assim, quais são as dificuldades dessa atividade (manutenção de software), para que sejam estabelecidos programas de ensino baseados na prática e não apenas fechados dentro da realidade do meio acadêmico. Muitos problemas referentes ao desenvolvimento e manutenção de software continuam em muitos casos sem solução, apenas com muitos conceitos sem evolução. Entender o significado da manutenção de software constitui o passo fundamental para o estudo e aprofundamento de soluções para os problemas ligados a essa tarefa. 2. Dificuldades O que pode ser feito? É importante destacar que diversos profissionais estão trabalhando diretamente em manutenção de software no meio organizacional mesmo sem uma graduação específica, mas contribuindo para os fatores importantes envolvidos com a manutenção de software, favorecendo opções para essa real necessidade, bem como proporcionando atendimento às organizações. A atividade de manutenção de software é distinguida pela modificação de um produto de software já entregue ao cliente para correção de supostos erros, melhorando seu desempenho ou qualquer outro atributo, para adaptação desse produto a um ambiente modificado (IEEE, 1998). Segundo Pfleeger (2001), existem três diferenças na manutenção de software muito embora o mesmo seja tratado de forma genérica, porém, com propósitos distintos: I. Softwares construídos com base em uma especificação rígida e bem definidos cujos resultados esperados são bem conhecidos: um software construído pode realizar operações com matrizes (adição, multiplicação e inversão). Esse software devidamente implementado praticamente não haverá necessidade de manutenção. II. Em outra situação, são agrupados os softwares que são implementações, de soluções aproximadas para problemas do mundo real, sendo que soluções completas só são conseguidas na teoria nesses casos. Exemplo: em um jogo de xadrez suas regras são bem definidas, mas não é possível construir um software que calcule a cada passo todos os movimentos possíveis das peças do tabuleiro, de maneira que consiga determinar o melhor movimento. O número de movimentos possíveis é grande para ser calculado em um espaço de tempo relativamente curto. A solução para esse problema baseia-se em descrever o problema de forma abstrata para então definir os requisitos de software a partir dessa abstração. Percebe-se que esse

III. tipo de sistema já contempla diferentes interpretações por parte do desenvolvedor, que tende a produzir software com maior necessidade de manutenção em relação ao primeiro exemplo. Por ser uma abstração para especificação de requisitos, a mudança pode aparecer caso a abstração mude na medida em que um maior entendimento do problema seja alcançado. Nessa situação, alguns tipos de software consideram mudanças no ambiente onde o software vai ser utilizado, condição não existente nas situações anteriores. Neste caso, o software corresponde àquele criado com base em um modelo dos processos abstratos envolvidos no sistema e precisará mudar sempre que ocorrerem mudanças nesses modelos, inicia no ambiente que ele modela. Um tipo de software assim seria aquele que apresenta informações de economia de um país. À medida que a economia passa a ser compreendida o modelo muda e com ele a abstração do problema, causando uma necessidade de manutenção. Esses softwares são encontrados no dia-a-dia das organizações. O processo de manutenção de software não compreende a uma atividade isolada, pois sua execução tem partes diferentes e precisam interagir de forma que os objetivos da manutenção sejam entendidos e os resultados alcançados. Essas partes são apresentadas da seguinte forma: Organizações Cliente: corresponde ao adquirente do software, conforme definido pela norma ISO/IEC 12207. Isso significa que as organizações que possui o software requisita o serviço de manutenção; Mantenedor: trata-se da organização que oferece o serviço de manutenção; Usuário: representa a organização ou pessoa que utiliza o software, valendo-se suas funcionalidades para automatizar e facilitar as tarefas. O relacionamento entre essas partes é a constituição de um fluxo para os pedidos de manutenção conferido na figura 1.0. A organização possui um responsável pela solicitação de manutenção que especifica os requisitos e informa ao mantenedor. Esse responsável considera os erros apontados pelo help-desk encarregado do diálogo com os usuários. Do lado do mantenedor, a organização que presta o serviço encarrega alguém para avaliar as requisições, julgando ser necessário ou não para os objetivos do software e do solicitante. Se o pedido for aceito, destaca-se um encarregado para estabelecer um cronograma de entrega e o mesmo deverá ser seguido pela equipe de manutenção que são as pessoas envolvidas em atender as solicitações. O usuário utiliza o software reportando para o help-desk que por sua vez informará o responsável pelas solicitações de manutenção fechando o ciclo.

Figura 1.0: Fluxo envolvido na manutenção de software Com relação à falha e ao defeito de software, Pressman (2005) explica que a IEEE define para o contexto de hardware a explicação de que um defeito o constitui uma anomalia do produto. Já uma falha pode significar um defeito em um dispositivo, uma definição incorreta de passos, processos ou de dados em um programa de computador. No contexto de manutenção de software, os termos falha e defeito são sinônimos e ambos se referem a algum problema relacionado à qualidade, identificado depois de o software ser entregue ao usuário. Atividades de manutenção de software são caracterizadas por intervenções no produto de software de forma a evitar sua deterioração. Um software não se desgasta, mas se deteriora no sentido de os objetivos de suas funcionalidades cada vez menos se adequarem ao ambiente externo. A manutenção de software deverá contemplar o nível de satisfação do usuário em relação ao software utilizado. 3. Norma ISO/IEC 12207 Em 1987 a ISO e a IEC estabeleceram om Comitê Técnico Conjunto JTC (Join Technical Committee) sobre tecnologia da informação, a fim de efetuar a normatização no campo de sistemas de tecnologias da informação. Dentre os objetivos estava o estabelecimento de um padrão para processos de ciclo de vida de um software, que culminou a norma ISO/IEC 12207, que teve início em 1989. Essa norma provê um conjunto de Processos de Engenharia de Software que uma organização deve utilizar para adquirir, fornecer, desenvolver ou manter software, pois documenta os processos do ciclo de vida de software em um modelo de referência de processos.

4. Conclusão A grande maioria dos estudos existentes na área de manutenção de software utiliza a metodologia de pesquisar-e-transferir, no sentido de pesquisa fechada dentro do meio acadêmico enquanto existe uma necessidade de usar a abordagem indústria-comolaboratório, uma vez que é nas indústrias que a atividade de manutenção existe como atividade real e intensa do dia-a-dia. Manutenção de software deve ser considerada com base em seu ambiente de aplicação e, essa abordagem representa a melhor fonte de evidências para sustentar e guiar as pesquisas de melhoria e sistematização da atividade. A ausência de um processo de manutenção de software, como dita as normas de Engenharia de Software, não é de todo condenável se o processo criado pela própria organização funcionasse de maneira satisfatória. O que deve ser observado é a pressão gerada pelos clientes muitas vezes prejudica o cumprimento correto da sequência de passos estipulada pela própria organização para tratar a manutenção de software. A inexistência de manutenção preventiva é um fato que precisa ser analisado em conjunto com os objetivos de negócio da organização e com seus projetos em relação à vida útil do software que mantém. 5. Referências: IEEE (1998) especifica a forma de um conjunto de documentos em oito estágios definidos de teste de software. Melhora o desempenho ou qualquer atributo para adaptação desse produto a um ambiente modificado. S. L, Pfleeger (2001) Software Engineering Theory and Practice second edition ISBN-10:0130290491 ISBN-13:9780130290496. R. S., Pressman (2005) Explica IEEE Artigo: alternativas para redução de problemas na manutenção de software: artigo revista Engenharia de software by Mateus Maida Paduelli, Mestre em Computação pela USP. Norma ISO/IEC 12207 Comitê Técnico Conjunto-JTC (Join Technical Committee) Tecnologia da Informação Teve início em 1989 Versão inicial (1995) Estrutura para manutenção de software.