Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

TCC LUIZ EDUARDO PEREIRA DA MATA, Notas de aula de Engenharia de Software

O conceito da engenharia de software é o desenvolvimento e a manutenção de sistemas modulares e suas características são: adequação aos requisitos funcionais, ...

Tipologia: Notas de aula

2022

Compartilhado em 07/11/2022

Vasco_da_Gama
Vasco_da_Gama 🇧🇷

4.7

(108)

223 documentos

1 / 172

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIVERSIDADE DO SUL DE SANTA CATARINA
LUIZ EDUARDO PEREIRA DA MATA
MELHORIA DE UM PROCESSO ESPECIALIZADO EM CUSTOMIZAÇÃO E
MANUTENÇÃO DE SOFTWARE LEGADO
Palhoça, Universidade do Sul de Santa Catarina
2015
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe TCC LUIZ EDUARDO PEREIRA DA MATA e outras Notas de aula em PDF para Engenharia de Software, somente na Docsity!

UNIVERSIDADE DO SUL DE SANTA CATARINA

LUIZ EDUARDO PEREIRA DA MATA

MELHORIA DE UM PROCESSO ESPECIALIZADO EM CUSTOMIZAÇÃO E

MANUTENÇÃO DE SOFTWARE LEGADO

Palhoça, Universidade do Sul de Santa Catarina 2015

LUIZ EDUARDO PEREIRA DA MATA

MELHORIA DE UM PROCESSO ESPECIALIZADO EM CUSTOMIZAÇÃO E

MANUTENÇÃO DE SOFTWARE LEGADO

Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Sistemas de Informação da Universidade do Sul de Santa Catarina, como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação

Orientador: Prof. Maria Inés Castiñeira

Palhoça, Universidade do Sul de Santa Catarina 2015

Dedico este trabalho a minha mãe que sempre esteve ao meu lado com o apoio necessário a minha formação pessoal e profissional, me possibilitando seguir confiante em minha vida independente dos obstáculos que encontrei.

AGRADECIMENTOS

A minha mãe pelo carinho, incentivo nas horas difíceis de desânimo e cansaço e toda sua contribuição na minha educação, além de seu apoio incondicional. Aos meus familiares pela força e incentivo para a conclusão da graduação. A minha namorada por estar ao meu lado nas horas difíceis e me incentivar na conclusão do curso. Em especial a minha orientadora Maria Inés Castiñeira, pelos ensinamentos, orientação e pelo apoio na elaboração deste trabalho de conclusão de curso. Agradeço a todos os professores durante a trajetória no meu curso pelo grande aprendizado e experiência passada, suas dedicações e apoio e por me proporcionar o conhecimento racional e caráter de afetividade da educação no processo de formação do profissional. Agradeço a empresa Dígitro Tecnologia, pela oportunidade de trabalho e por todo aprendizado desde o ano 2008, em acreditar no meu potencial e pelo apoio prestado durante o meu curso. Aos meus colegas de trabalho do setor de desenvolvimento e do suporte da Dígitro Tecnologia, que direta ou indiretamente me ajudarem neste trabalho. Enfim, a todos que tornaram os momentos da minha vida universitária especial e inesquecível.

RESUMO

Este trabalho foi desenvolvido na empresa Dígitro Tecnologia da região da Grande Florianópolis, Santa Catarina. O principal objetivo foi compreender e propor melhorias no fenômeno da manutenção e customização de software legados e as dificuldades para executar tarefas ligadas à manutenção de software e manter a qualidade do software legado. Visando entender melhor as dificuldades relacionadas a estas atividades foi feito um estudo de caso de uma área do setor de desenvolvimento de software da empresa, responsável pelas atividades de customização e manutenção de software de legado. A partir disso é proposto um modelo de processo de manutenção e customização de software, com foco na qualidade dos softwares legados, podendo assim ser posto em prática garantindo sua aplicação de maneira continua. Como embasamento para esta proposta foi estudado os processos de desenvolvimento de software, a manutenção de software, as metodologias tradicionais, ágeis e as específicas para manutenção e customizações, além de ferramentas e modelos de qualidade disponíveis no mercado. A proposta consiste em um novo processo para as atividades de customização e manutenção de software da empresa utilizando novos métodos, procedimentos e ferramentas de forma a ser contemplado pelo modelo de qualidade do MPS.BR. Esta proposta pode servir como um modelo de processo para as atividades de manutenção e customização de software que podem ser utilizadas por demais empresas. Apesar desta proposta não ter sido aplicado na empresa ela proporcionou diversas facilidades na resolução dos problemas relacionados às atividades de customização e manutenção de software legado, além de qualificar estas atividades em conformidade com o modelo de qualidade MPS.BR em seu nível G. Além disso, com base no trabalho realizado foi possível destacar os problemas relacionados às atividades de customização e manutenção de software, e principalmente, o problema da empresa em manter os softwares legados. Também se verificou uma carência de metodologias e procedimentos, especializados na evolução do software, assim como da área acadêmica para tratar o assunto da manutenção de software.

Palavras-chave: Engenharia de Software. Manutenção de Software. Customização de Software. Software Legado. Qualidade de Software. Melhoria do Processo de Software Brasileiro (MPS.BR).

LISTA DE ILUSTRAÇÕES

LISTA DE GRÁFICOS

Gráfico 1 - Distribuição do esforço de manutenção. ................................................................ 65

1. INTRODUÇÃO

O desenvolvimento de software é um processo muito complexo, pois envolve vários fatores que podem impactar em custos, prazos, cronogramas e na qualidade do software. Uma dessas complexidades é gerenciar grandes equipes que participam do processo de desenvolvimento do software. Esta pode ser uma tarefa difícil, requisitando muitas competências do gestor, a fim de cumprir prazos e cronogramas. Esta complexidade envolve fatores de gestão de pessoas e fatores estratégicos de processos. (PRESSMAN, 2011) Segundo Soares (2004), Paduelli (2007) e Audy (2008) muitas organizações possuem estes problemas e acabam desenvolvendo software sem nenhuma gestão de processo o que acaba impactando no cronograma, custos e principalmente na qualidade do software. Por essas razões, para evitar esse tipo de problemas comuns nas empresas de tecnologias da informação, é fundamental adotar ou adaptar um modelo de processo de desenvolvimento de software, metodologias e práticas adequadas. Procurando reduzir essas falhas no desenvolvimento de software foi estabelecida a Engenharia de Software, que define um conjunto de disciplinas que incluem especificação, o desenvolvimento, o gerenciamento e a evolução dos sistemas de software. (AUDY, 2008). Desde a sua criação a engenharia de software passou a criar e aperfeiçoar continuamente métodos, procedimentos e ferramentas para tornar a atividade de desenvolvimento de software uma tarefa que pudesse ser medida, controlada e avaliada. De um modo geral a engenharia de software forneceu um amadurecimento do conceito de desenvolvimento de software e de suas características e processos. (PADUELLI, 2007) Entretanto, algumas organizações não possuem um processo de desenvolvimento de software bem definido e que atenda às questões de qualidade no desenvolvimento, assim acarretando com problemas em manter um software já entregue e em funcionamento. Devido a isto surge o aumento da atenção à manutenibilidade do software, que começa a ganhar importância nas organizações, pois muitas delas desenvolveram softwares que contam cinco, dez, ou até mesmo vinte anos de vida no mercado e por representarem investimentos significativos precisam continuar em funcionamento, momento no qual surge a necessidade da manutenção de software. (PADUELLI, 2007) Quando um software é vital para a empresa ele irá exigir a atividade da manutenção de software de modo a ser aprimorado continuamente para atender constantes mudanças, em

termos de necessidade do cliente ou falhas residuais, que continuam a aparecer mesmo após o software ter sido entregue e alterado durante vários anos. (SCHACH, 2010). Considerando essa importância da manutenção de software é um fato que as organizações possuem dificuldades no entendimento da atividade, assim como é evidenciado a falta da mão de obra qualificada de um profissional para tratar eficientemente os problemas oriundos da manutenção de software, sendo que cada vez mais softwares são construídos com técnicas não muito recomendadas. (PADUELLI, 2007) Partindo deste problema, este trabalho visa entender melhor as dificuldades de uma das atividades do ciclo de desenvolvimento do software, que é a manutenção ou customização do software. Etapa esta que ocorre no software pós-entrega, portanto o enfoque do trabalho se justifica pela carência de informações para se ter uma base sólida na atividade do processo de customização e manutenção de software, tanto no meio acadêmico como profissional. O trabalho irá apresentar um estudo de caso de uma área do setor de desenvolvimento de software da empresa Dígitro Tecnologia da região da Grande Florianópolis, Santa Catarina. E a partir disso será proposto um modelo de processo de manutenção e customização de software com foco na qualidade dos softwares, podendo assim ser posto em prática garantindo sua aplicação de maneira continua.

1.1 TEMA E PROBLEMA

No setor de desenvolvimento as equipes trabalham com manutenção e customização dos softwares legados e não possuem um processo específico bem definido, voltado à atividade da manutenção e customização de software. E por não possuir esse processo, as customizações e as manutenções dos softwares são complexas, faltam documentações e principalmente qualidade no processo. Com base nesta deficiência que não é somente da empresa em questão, mas do mercado em si que não possui fácil acesso a metodologias, modelos e processos para customização e manutenção de softwares legados, será realizado um estudo e proposto uma melhoria nos processos da empresa case , enfatizando a customização e a manutenção do software.

para a manutenção e customização de softwares legados em empresas que não são uma fábrica de software.  Descrever a organização da empresa abordada no case.  Identificar e descrever os processos de customização e manutenção de software utilizado pela empresa abordada no case.  Estudar as tecnologias existentes de apoio ao processo de customização e manutenção de software.  Escolher e descrever as ferramentas, metodologias e procedimentos de apoio ao processo de customização e manutenção de software.  Definir e propor, para a empresa um processo para a manutenção e customização para softwares legado, adequado às perspectivas do modelo de qualidade MPS-BR nível G.

1.3 JUSTIFICATIVA

As metodologias para desenvolvimento de software apontam conjuntos de práticas e métodos para aperfeiçoar a construção e o desenvolvimento de novos sistemas, porém existe uma grande demanda das empresas e do mercado para a manutenção de softwares existentes. (SOMMERVILE, 2011). As empresas têm constantes dificuldades no processo de desenvolvimento de softwares, existem problemas desde a especificação do software até a validação do software ocorrendo grandes problemas em sua evolução ao longo dos anos. Devido a este problema as empresas tentam adotar algumas metodologias de desenvolvimento para solucionar os problemas nas diversas fases de desenvolvimento, porém muitas acabam não adotando nenhuma metodologia por não disporem de recursos suficientes para implantá-las ou simplesmente por que as metodologias tradicionais não são adequadas às realidades da empresa. (SOARES, 2004). Por estas razões, segundo Soares (2004), muitas empresas acabam não utilizando nenhuma metodologia no processo de desenvolvimento. Como consequência o resultado desta falta de sistematização na produção de software é a baixa qualidade do produto final, além de dificuldade de cumprir prazos e custos pré-definidos e de inviabilizar a evolução do software.

Este cenário é muito comum em empresas que não são fábricas de software, ou seja, que realizam manutenção e customização de seus softwares legados. Devido ao processo de desenvolvimento de software não ser o produto fim para estas empresas a adoção de um processo de desenvolvimento bem definido é imprescindível para realizar manutenção e melhorias para que a empresa não perca lucro e competitividade no mercado. Segundo Pressman (2011) conforme as fases do desenvolvimento vão passando, os custos com as correções aumentam substancialmente, já o prejuízo a imagem do produto é incomensurável se essas correções não forem feitas. Uma empresa que não investe em qualidade do software tender a perder clientes e ter dificuldades para prospectar novos negócios, em um mercado cada vez mais competitivo a imagem do software e da empresa é uma confiabilidade que se transmite a seus clientes e isto é algo imprescindível para as vendas e ganho de novos mercados.

1.4 ESTRUTURA DA MONOGRAFIA

Este trabalho será organizado como descrito a seguir. No capítulo um foi abordado o tema e problemas, os objetivos gerais e específicos e a justificativa do trabalho. No capítulo dois será apresentado uma revisão da literatura sobre os seguintes assuntos: engenharia de software, fases do processo de desenvolvimento de software, atividades de apoio, modelos de processo de software, processo unificado, modelos ágeis, qualidade de software e modelos de qualidade de software. No capítulo três será apresentado a revisão da literatura sobre o tema foco do trabalho que são os assuntos: manutenção de software, definições, aspectos históricos, tipos de manutenção de software, custos, gerenciamento de manutenção de software, norma ISO/IEC 12207 e software legado. No capítulo quatro será apresentado a revisão da literatura sobre a qualidade de software abrangendo os assuntos: MPS.BR - Melhoria do Processo de Software Brasileiro, estrutura do MPS-BR, modelos de referência de processo de software, serviço e gestão de pessoas (MR-MPS-SW, MR-MPS-SV e MR-MPS-RH), método de avaliação (MA-MPS) e modelo de negócio (MA-MPS).