Buscar

APOSTILA_-_Engenharia_de_Software_e_Gerencia_de_Projeto_-_06

Prévia do material em texto

Engenharia de Software 
e Gerencia de Projetos
Engenharia de Software e Gerencia de Projetos
2Estratégias para mudança de software
Os sistemas implantados no ambiente das empresas são desenvolvidos e implantados aos usuários 
após sua aprovação, mas tão logo isso ocorre já requerem alguma modificação para adequação a novas 
necessidades ou até requisitos mal definidos. A essas modificações, para sistemas com até 5 anos de 
uso denominamos manutenção, disciplina da engenharia de software utilizada para realizar ajustes nas 
definições ou corrigir erros. Aos sistemas com mais de 5 anos de uso, denominados Sistemas Legados, 
deve-se analisar as condições do sistema a nível de qualidade e valor de negócio para definir uma 
estratégia de atualização: manutenção, transformação, reengenharia ou até um novo sistema.
A estratégia deve ser definida e aplicada para obter maior qualidade e aumentar o valor de negócios 
para a empresa.
 ● Conhecer os procedimentos necessários para realização de manutenção em sistemas e os princípios 
necessários para análise de sistemas legados. 
 ● Estratégias de mudança;
 ● Manutenção de sistemas - Conceitos gerais;
 ● Transformação de arquitetura;
 ● Reengenharia de sistemas;
 ● Gerência de configuração.
Introdução
Objetivo
Tópicos Abordados
Engenharia de Software e Gerencia de Projetos
3Estratégias para mudança de software
Estratégias de mudança
Os sistemas após implantados começam a não atender as necessidades do usuário e com isso dispara 
procedimentos para adequação dos procedimentos do sistema com as necessidades.
É desejável que o sistema tenha uma vida útil no mínimo entre 3 e 5 anos, ou seja, somente após esse 
prazo sejam necessárias manutenções, mas nem sempre isso acontece e é preciso definir uma estratégia de 
mudança, pois dependendo do tipo de alteração a melhor opção pode não ser uma manutenção e sim um novo 
sistema ou uma reengenharia.
É preciso analisar o valor do negócio e a qualidade do sistema para definir a estratégia de mudança do sistema. 
Normalmente para sistemas novos (com até 5 anos de uso) a manutenção é indicada, mas para sistemas 
legados (acima de 5 anos de uso) a análise deve ser criteriosa antes da decisão.
A análise do valor do negócio considera quatro quesitos em relação a qualidade e valor do negócio. A qualidade 
é analisada pelo nível de fatores utilizados no ambiente (idade do sistema, estabilidade do fornecedor, 
desempenho, custo de manutenção, interoperabilidade) e na aplicação (documentação, gerenciamento de 
configuração, habilidades pessoais da equipe, facilidade de compreensão), performance) oferecido e o valor 
de negócio está associado ao nível de atendimento às operações do sistema (requisitos e funcionalidade). A 
seguir uma análise dos quesitos: 
Engenharia de Software e Gerencia de Projetos
4Estratégias para mudança de software
Manutenção de Sistemas - Conceitos Gerais
São quatro estratégias possíveis para atualização dos sistemas de acordo com as necessidades:
A manutenção de sistemas é uma disciplina da engenharia de software utilizada após a implantação dos 
sistemas. Manutenção é o processo de melhoria e/ou otimização do sistema.
Normalmente é realizada por:
 ● Erros no levantamento dos requisitos, ou seja, defeitos e deficiências identificados pelo usuário no 
momento da utilização; 
 ● Novas funcionalidades com o objetivo de melhorar a aplicabilidade e usabilidade do software; 
 ● Novos requisitos; 
 ● Para adaptar o software a ambiente operacional diferente; 
Identificada a necessidade de manutenção no sistema o processo de desenvolvimento da manutenção passará 
pelas disciplinas do ciclo de vida a fim de que se possa desenvolver as seguintes atividades:
 ● Identificação do problema; 
 ● Análise da documentação 
 ● Análise de impacto das modificações 
 ● Definição da solução, ajustando a documentação; 
 ● Identificação dos pontos afetados no sistema (programas, banco de dados);
 ● Projeto é modificado e revisado; 
 ● Planejar a alteração (definir, alocar pessoas); 
 ● Modificar ambiente (código, banco de dados): desenvolver, testar; 
 ● Gerar uma nova versão do software; 
 ● Aplicar Testes de regressão; 
 ● Implantar; 
Algumas considerações devem ser citadas:
 ● O processo de manutenção repete o ciclo de vida de desenvolvimento. 
 ● Dois terços do custo do tempo de vida do sistema de software envolve manutenções. 
 ● A equipe ou organização de desenvolvimento deverá ter algum mecanismo para documentar e 
rastrear os defeitos e deficiências afim de minimizar a freqüência de manutenção.
 ● A manutenção de sistemas é uma prática que deve ser desenvolvida com muita cautela, para não 
causar defeitos maiores ou tornar o sistema uma colcha de retalhos, ficando mais difícil obterem a 
estabilidade do sistema. 
Engenharia de Software e Gerencia de Projetos
5Estratégias para mudança de software
Transformação de Arquitetura e Reengenharia de Sistemas
A transformação de arquitetura é o processo de substituição da arquitetura de 
software, influenciando a evolução do hardware e software. Alguns fatores podem 
influenciar essa estratégia: custo de hardware, expectativas quanto a interface com 
o usuário e acesso distribuído aos sistemas e outros fatores são analisados para 
tomada de decisão: importância para os negócios; idade do sistema; estrutura do 
sistema; políticas de suprimento de hardware.
A reengenharia é o processo utilizado para tornar mais fácil a compreensão e alteração. 
Tem como objetivo melhorar a estrutura do sistema, criar ou atualizar a documentação, 
facilitar o entendimento do sistema e melhorar a motivação da equipe de manutenção. 
Pode envolver alterações estruturais, mas não possui novas funcionalidade e grandes 
mudanças de arquitetura. A reengenharia apresenta algumas vantagens como riscos 
e custos reduzidos e se justifica para eliminar atividades redundantes e aumentar 
eficiência, porque as mudanças são necessárias em uma parte do sistema e porque a 
plataforma de hw ou sw se torna obsoleta.
A reegenharia desenvolve os seguintes processos:
Engenharia de Software e Gerencia de Projetos
6Estratégias para mudança de software
Gerência de Configuração
RAZÕES QUE JUSTIFICAM A RE-ESTRUTURAÇÃO: 
 ● degradação dos dados;
 ● limites inseridos no sistema e
 ● evolução da arquitetura.
A execução das atividades da Gerência de configuração tem como objetivo a identificação e 
o controle das mudanças, de modo a assegurar um processo de implantação correto e bem 
comunicado às pessoas interessadas. 
É importante que armazenem, de forma segura os diferentes componentes e todas as versões 
de um produto de software. Assim, os engenheiros estarão providos dos objetos certos nos 
locais certos. 
Importante
Importante
Após a implantação dos sistemas é prática isolar os componentes disponibilizados aos usuários em um ambiente 
protegido para que não sejam efetivadas alterações sem a devida realização dos testes e homologação. Com 
isso surge a necessidade de se manter um controle e fácil identificação dos componentes que serão mantidos, 
evitando inconsistências entre as versões alteradas. Dependendo do tamanho da equipe e do sistema não é 
possível a gerência e controle total dos procedimentos de atualização. Sendo assim, criou-se o conceito de 
Gerência de Configuração.
A gerência de configuração é a abordagem disciplinada para gerenciar a evolução do desenvolvimento de 
software, práticas de manutenção e os produtos de software, contribuindo para satisfazer restrições de qualidade 
e de cronograma. É uma atividade de apoio que pode ser executada ao longo de todo ciclo de vida do software, 
pois mudanças podem ocorrer a qualquer instante. 
Engenharia de Software e Gerencia de Projetos
7Estratégiaspara mudança de software
Avaliação a Distância
1 - Relacione as colunas, indicando a definição das atividades do processo de reengenharia:
Respostas - 1 - (C, E, B, D e A),, 2 - (A, B, B, B, A e A)
A - Tradução de código fonte
B - Engenharia reversa
C - Melhoria de estrutura de 
programa
D - Modularização de programa
E - Re-estruturação de dados
Alteração na forma de construção dos programas 
para facilitar leitura;
Alteração nos dados para retirar redundâncias;
Informações são extraídas do programa para 
compor documentação;
Processo de agrupamento das partes do 
software.
Programas são convertidos em uma nova 
linguagem de programação;
2 - Relacione as colunas, indicando o tipo de avaliação correspondente aos fatores relacionados:
A - Avaliação do ambiente
B - Avaliação de Aplicação
Custos de Manutenção
Documentação
Facilidade de compreensão
Habilidades pessoais
Hardware tem alta taxa de falhas?
Interoperabilidade
Engenharia de Software e Gerencia de Projetos
8Estratégias para mudança de software
3 - Analise as sentenças abaixo e indique V para as sentenças VERDADEIRAS e F para as sentenças 
FALSAS.
A gerência de configuração é implantada em uma empresa para definir a melhor estrutura 
de sistema para garantir o sucesso das operações.
A gerência de configuração é usada na empresa para controlar a evolução de versões 
dos sistemas.
A alteração em Sistemas Legados devem ser realizadas após uma avaliação criteriosa, 
pois são sistemas instalados na empresa com mais de 5 anos de uso. 
Um dos motivos que leva a manutenção de sistemas é o processo não corresponder às 
necessidades da empresa, pois com o tempo perdeu a adesão com a realidade.
A reengenharia é utilizada somente para atualização dos equipamentos. 
Respostas - 3 - (F, V, V, V e F)
Engenharia de Software e Gerencia de Projetos
9Estratégias para mudança de software
Síntese
Em resumo, pode-se destacar desta unidade:
Possuem 4 estratégias de alteração de um sistema: manutenção, transformação, reengenharia e 
desenvolvimento de um novo sistema;
A definição da estratégia de alteração de um sistema deve ser definida a partir da análise da representação 
do sistema para a empresa quanto a qualidade e o valor do negócio;
A manutenção de sistemas é uma disciplina da engenharia de software utilizada para ajustar o sistema a 
uma nova necessidade ou corrigir erros;
Sistemas legados são sistemas em uso há mais de 5 anos na empresa;
A Gerência de Configuração tem como objetivo manter e controlar a versão dos componentes de sistema. 
 ● PRESSMAN, R.G. Engenharia de Software. Rio de Janeiro: McGraw-Hill, 2002. 935p.
 ● SOMMERVILLE, I.. Software Engineering, 8 ed.-São Paulo: Pearson Addison - Wesley, 2007. 
Bibliografia Recomendada

Continue navegando