1 / 17

Reengenharia de Software

Sistemas legados. Para entender a reengenharia, necessrio entender o que so sistemas legados:Antigos" 10 a 15 anos de usoGrandesEssenciais para o negcio da empresaPassaram por sucessivas manutenes. Sistemas legados. Problemas?Dificuldade crescente na manutenoDificuldade em serem

britain
Télécharger la présentation

Reengenharia de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Reengenharia de Software O que ? Para que serve? Em que situaes se aplica? Quais as principais atividades?

    2. Sistemas legados Para entender a reengenharia, necessrio entender o que so sistemas legados: Antigos 10 a 15 anos de uso Grandes Essenciais para o negcio da empresa Passaram por sucessivas manutenes

    3. Sistemas legados Problemas? Dificuldade crescente na manuteno Dificuldade em serem substitudos

    4. Sistemas legados O que fazer com um sistema legado? Mais comum: continuar a dar manuteno Mais radical: substituir Alternativa: aplicar reengenharia para prolongar a vida destes sistemas

    5. Sistemas legados Por que difcil substituir? A especificao no existe ou pode estar desatualizada Regras corporativas ou legais esto incorporadas no software mas no esto documentadas em nenhum lugar Riscos naturais do desenvolvimento de um novo software

    6. Sistemas legados Quanto mais antigo, mais difcil a manuteno Por que difcil dar manuteno? Diferentes equipes trabalharam no sistema A linguagem pode ser obsoleta Documentao desatualizada ou inexistente Estrutura difcil de ser compreendida Sistemas antigos foram escritos para otimizar desempenho, e no para facilitar a manuteno Dados podem estar em diferentes arquivos

    7. Reengenharia Em algumas situaes, algumas empresas investem em reengenharia de sistemas legados Definio: Reengenharia a atividade de reimplementar um software, sem alterar a funcionalidade Objetivo: tornar a manuteno de sistemas legados mais fcil.

    8. Reengenharia Diferena entre reengenharia e manuteno: Manuteno: Adio ou alterao de funcionalidade Correo de erros Reengenharia A funcionalidade permanece a mesma A estrutura, porm, melhorada

    9. Reengenharia e desenvolvimento A diferena o ponto de partida

    10. Atividades de reengenharia: Traduo de cdigo fonte: Engenharia reversa: Melhoria da estrutura do programa: Modularizao: Reengenharia de dados:

    11. Atividades de reengenharia: Traduo de cdigo fonte: Converso do cdigo fonte para uma verso mais nova da mesma linguagem ou para uma linguagem diferente Ex: de Cobol 77 para Cobol 85, de C para Java pode ser necessrio por alguma atualizao de hardware (pode no mais haver compilador para o novo hardware) ausncia de pessoal habilitado (pode ser difcil encontrar profissionais que conheam a velha linguagem)

    12. Atividades de reengenharia: Engenharia reversa: Analisar o cdigo fonte e recriar a documentao A partir do executvel, recuperar a especificao Necessria para melhorar o entendimento do software antes de se aplicar reengenharia

    13. Atividades de reengenharia: Melhoria da estrutura: Sistemas legados otimizavam o uso da memria e do processador (variveis de 2 caracteres) Antes NE, depois nomeEmpregado Ex.: transformar uma sequncia de if-else em uma estrutura case Refactoring Modularizao: Reunir partes dispersas em mdulos coesos

    14. Atividades de reengenharia Reengenharia de dados: Sistemas antigos (Cobol, Clipper) muitas vezes no utilizavam SGBDs Cada programa mantinha suas prprias tabelas, indexava, etc Dados redundantes, inconsistentes, ... (o mesmo dado em mais de uma tabela, sem relacionamento)

    16. Outras situaes: Fuses de empresas: As empresas fundidas precisam integrar sistemas diferentes Ex.: Compra do Submarino pelas Americanas Criao da UENP Compra do Banco Real pelo Santander

    17. Resumo: Reengenharia: atividade de reimplementar um sistema legado (melhorando sua estrutura, recriando a documentao, mudando a linguagem de programao, melhorando o gerenciamento de dados). Objetivo: tornar o sistema legado mais fcil de ser mantido e prolongar sua vida til Aplica-se a situaes em que a organizao usuria do software no pode substituir o sistema legado e sua manuteno complexa (cara, demorada, sujeita a riscos)

More Related