UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE...

14
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz Carvalho

Transcript of UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE...

Page 1: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SULSISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE

Re-engenharia de Software

Prof.ª Adriana dos Santos Caparróz Carvalho

Page 2: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Atividades de Arcabouço Lembram das famosas atividades de arcabouço?

Comunicação

Planejamento

Modelagem

Construção

Implantação

Iniciação do projetoLevantamento derequisitos

EstimativasCronogramaçãoMonitoração

AnáliseProjeto

CodificaçãoTeste

Entrega ManutençãoFeedback

Métricas

Testes

Reengenharia

Page 3: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Manutenção A mais de três décadas, a

manutenção de software foi caracterizada como um “iceberg”. [CAN72]

Esperamos que o imediatamente visível seja tudo o que existe, mas sabemos que uma enorme massa de possíveis problemas e custo fica sob a superfície.

A manutenção de software existente pode ser responsável por mais de 60% de todo o esforço despendido por uma organização de desenvolvimento. [PRE06]

Page 4: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Manutenção

Mas você poderia pensar:

“Mas eu não gasto 60% do meu tempo consertando erros nos programas que desenvolvi”.

Page 5: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Manutenção

Manutenção de software é, sem dúvida, mais do que consertar erros.

Ela pode ser definida pela identificação de 4 diferentes atividades:

Manutenção corretiva

Manutenção adaptativa

Manutenção perfectiva ou de melhoria

Manutenção preventiva ou reengenharia

20% de todo o trabalho de todo o trabalho de manutenção é gasto concertando erros

80% são gastos adaptando sistemas existentes a modificações no seu ambiente externo, fazendo melhorias solicitadas por usuários e submetendo uma aplicação a reengenharia, para uso futuro.

Page 6: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Manutenção

Mas o que é reengenharia?

Onde se aplica?

Page 7: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Reengenharia

Michel Hammer lançou as fundações de uma revolução no modo de pensar gerencial a respeito de processos do negócio e computação:

Já é hora de parar de pavimentar trilhas de gado. Em vez de embutir processos desatualizados em silício e software, deveríamos descartá-los e começar de novo. Deveríamos “reengenheirar” os nossos processos de negócio a fim de conseguir aperfeiçoamentos drásticos em seu desempenho.

Toda empresa opera sob muitas regras desarticuladas... A reengenharia procura romper com as antigas regras sobre a condução e a organização do negócio.

Page 8: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Reengenharia

A ligação entre a reengenharia de negócio e a engenharia de software está em uma visão de sistema.

O software é freqüentemente a realização das regras de negócio. À medida que essas regras se modificam, o software também deve ser modificado.

À medida que os gerentes trabalham para modificar as regras, a fim de conseguir maior eficiência e competitividade, o software deve acompanhar o ritmo.

Em alguns casos, isso significa a construção de novos sistemas importantes baseados em computador. Mas em muitos outros, significa a modificação ou a reconstrução de aplicações existentes.

Page 9: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Reengenharia de Processo de Negócio

BPR Estende-se muito além das tecnologias da informação e da

engenharia de software...

“a busca para, e a implementação de, modificações radicais no processo do negócio para conseguir resultados inovadores”.[STE93]

Processo de negócio É um conjunto de tarefas logicamente relacionadas, realizadas para

conseguir um resultado definido do negócio” [DAV90]

Equipamentos Pessoal Recursos materiais Procedimentos de negócio

(Business Process Reengineering, BPR)

São combinados para produzir um resultado especificado.

Page 10: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Reengenharia de Sistemas

Fases Genéricas do Ciclo de Vida

Page 11: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Reengenharia de Sistemas

Abstração Definição de Abstração: habilidade de se ignorar os

aspectos de assuntos não relevantes para o propósito em questão

Nível de Abstração:Cada passo no processo de desenvolvimento de software é um refinamento do nível de abstração do software. Nos estágios iniciais do ciclo de vida as informações possuem alto nível de abstração e nos estágios finais baixo nível de abstração

Grau de Abstração:Está relacionado a uma mesma atividade no ciclo de vida do software. Informações numa forma mais global possuem alto grau de abstração, numa forma mais detalhada possuem baixo grau de abstração.

Page 12: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Reengenharia de Sistemas

Abstração

Page 13: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Engenharia Progressiva X Reversa

Engenharia Progressiva:Processo tradicional de engenharia de software,

caracterizado pelas atividades progressivas do ciclo de vida, que partem de um alto nível de abstração, para um baixo nível de abstração.

Engenharia Reversa:O processo inverso a Engenharia Progressiva,

caracterizado pelas atividades retroativas do ciclo de vida, que partem de um baixo nível de abstração para um alto nível de abstração.

Page 14: UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Re-engenharia de Software Prof.ª Adriana dos Santos Caparróz.

Reengenharia de Sistemas