Universidade Luterana d Brasil Faculdade de Infrmática Disciplina de Engenharia de Sftware Prfessr Luís Fernand Garcia www.garcia.pr.br EVOLUÇÃO EM ENGENHARIA DE SOFTWARE 10 Sistemas Legads O investiment em desenvlviment de SW é bastante alt ROI utilizaçã d sistema pr váris ans Muitas empresas DEPENDEM de sistemas que tem mais de 20 ans Estes sistemas cstumam ser FUNDAMENTAIS para funcinament estratégic Sistemas LEGADOS nã sã s sistemas riginalmente frnecids Sfreram alterações mudanças cntínuas Fatres interns e externs Ecnmia nacinal e internacinal Alterações de leis Mudanças de gestã Mudança de rganizaçã estrutural Mudanças envlveram várias pessas diferentes nenhuma pessa cnhece integralmente atualmente Fácil Substituiçã de equipaments e redes Cmplicad Descartar SISTEMAS e substituir pr sw mais mdern Alt nível de RISCOS Estratégia de negóci ARRISCADA Raramente existe especificaçã cmpleta d sistema legad Dcumentaçã riginal perdida Ou se existente pde nã incrprar as mudanças Prcesss crprativs e sistema altamente ENTRELAÇADO Prcesss criads para A PARTIR d sftware existente Alteraçã n SISTEMA = Alteraçã ns PROCESSOS REGRAS/RESTRIÇÕES crprativas inseridas n sistema E NÃO DOCUMENTADAS em nenhum utr lugar Exempl regras de análise de riscs de clientes RISCOS inerentes a desenvlviment de um nv sistema QUESTÃO MANTER = evita riscs da substituiçã MANUTENÇÃO DISPENDIOSA MANUTENÇÃO DE SISTEMAS LEGADOS Nã há estil/padrã de prgramaçã diferentes pessas/equipes mexend Linguagem de prgramaçã bsleta FALTA DE MÃO DE OBRA Dcumentaçã d sistema inadequada e DESATUALIZADA ás vezes smente tem-se CÓDIGO-FONTE ás vezes smente EXECUTÁVEL
Crrmpid a ESTRUTURA d sistema devid a várias manutenções Questã da PERFORMANCE e COMPREENSÃO Frmat de ARMAZENAMENTO de dads em váris tips de arquivs Estrutura ds Sistemas Legads Sistemas SOCIOTÉCNICOS baseads em cmputadres Sftware Api Sistemas peracinais/drivers/linguagens de prgramaçã Aplicaçã Serviçs de negócis Hardware Mainframes manutençã dispendisa Dads Vlume imens, incnsistente, duplicads Prcesss crprativs/negócis MODIFICAÇÕES ENVOLVEM MAIS COMPONENTES QUE SOMENTE O SOFTWARE AVALIAÇÃO DOS SISTEMAS LEGADOS Avaliaçã d ROI AS 4 ESTRATÉGIAS MAIS APROPRIADAS Descartar cmpletamente sistema Cntinuar a manter sistema Transfrmar sistema de alguma maneira para melhrar sua facilidade de manutençã Substituir sistema pr um nv Perspectivas Perspectiva de NEGÓCIOS Avaliaçã d valr d sistema para a empresa Perspectiva de SISTEMA Avaliaçã da qualidade d sftware de aplicaçã e HW/SW de api Avaliaçã da QUALIDADE d sistema LEGADO Avaliaçã d Prcess de Negócis Existe um mdel definid d prcess? Esse mdel é seguid? Mesms prcesss para as diferentes partes da rganizaçã? Prcesss em adaptaçã? Avaliaçã d Ambiente Estabilidade d frnecedr
Taxa de falhas Idade Desempenh Custs de manutençã Interperabilidade Avaliaçã d Sftware de Aplicaçã Facilidade de cmpreensã Dcumentaçã Dads Desempenh Linguagem de Prgramaçã Gerenciament de cnfiguraçã Dads de teste Habilidades pessais Mudanças em Sftware É impssível prduzir sistemas de qualquer tamanh que nã precisem ser mdificads Nvs requisits emergem Os requisits sã mdificads Crreçã de errs Melhrar desempenh ESTRATÉGIAS PARA MUDANÇAS EM SOFTWARE Manutençã de sftware Em respsta a requisits mdificads estrutura permanece estável Transfrmaçã de arquitetura Abrdagem mais radical Alterações significativas na arquitetura d sftware Exempl: arquitetura centralizada arquitetura cliente-servidr Reengenharia de sftware Nenhuma funcinalidade nva é adicinada a sistema Mdificad a fim de trnar mais fácil sua cmpreensã e alteraçã MANUTENÇÃO Ainda vista cm atividade de segunda classe Tips de manutençã: Manutençã para reparar s defeits n sftware 17% Manutençã para adaptar sftware a um ambiente peracinal diferente 18% Manutençã para acréscims de funcinalidades d sistema 65% Fatres envlvids - custs Estabilidade da equipe bns prfissinais dispersads após cnclusã... Respnsabilidade cntratual equipe terceirizada para manutençã... Habilidade da equipe pessal cm puca experiência e sem cntat cm sistema Idade e estrutura d prgrama Prcess de manutençã Pedids de alterações
Analise de impact Planejament de release Repar Adaptaçã Increment Implementaçã da mudança Release d sistrema EVOLUÇÃO DA ARQUITETURA Fatres que levam a evluçã da arquitetura Custs de HW Interface cm usuári Acess distribuíd as sistemas Imprtância para s negócis Idade d sistema Estrutura d sistema Plíticas de supriment de hardware REENGENHARIA Reimplementar sistemas legads para que sua manutençã seja mais fácil REDOCUMENTAR ORGANIZAR E REESTRUTURAR O SISTEMA TRADUZIR PARA UMA LINGUAGEM DE PROGRAMAÇÃO MAIS MODERNA MODIFIR E ATUALIZAR A ESTRUTURA E OS DADOS Nã mdifica a ESTRUTURA nem a FUNCIONALIDADE d sftware Vantagens Riscs reduzids Custs reduzids Assciada a REENGENHARIA DE PROCESSO DE NEGÓCIOS Atividades Traduçã d códig-fnte Engenharia reversa Melhria da estrutura d prgrama Mdularizaçã de prgrama Reengenharia de dads
Traduçã d códig-fnte Atualizaçã da platafrma de hardware Escassez de pessal habilitad Mudanças na plítica rganizacinal Falta de suprte de sftware Engenharia reversa Para bter uma especificaçã de requisits para a substituiçã d sistema