A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Re-engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Re-engenharia de Software"— Transcrição da apresentação:

1 Re-engenharia de Software
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

2 Atividades de Arcabouço
Lembram das famosas atividades de arcabouço? Comunicação Planejamento Modelagem Construção Implantação Iniciação do projeto Levantamento de requisitos Estimativas Cronogramação Monitoração Métricas Análise Projeto Codificação Teste Testes Entrega Manutenção Feedback Reengenharia

3 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]

4 Manutenção Mas você poderia pensar:
“Mas eu não gasto 60% do meu tempo consertando erros nos programas que desenvolvi”.

5 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.

6 Manutenção Mas o que é reengenharia? Onde se aplica?

7 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.

8 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.

9 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.

10 Reengenharia de Sistemas
Fases Genéricas do Ciclo de Vida

11 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.

12 Reengenharia de Sistemas
Abstração

13 Engenharia Progressiva X Reversa
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.

14 Reengenharia de Sistemas


Carregar ppt "Re-engenharia de Software"

Apresentações semelhantes


Anúncios Google