Leitura: Cap : Sommerville; cap20: Pressman
|
|
- Sônia Lisboa Mangueira
- 6 Há anos
- Visualizações:
Transcrição
1 Leitura: Cap : Sommerville; cap20: Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1/47
2 Manutenção de software É modificar um programa depois que ele foi colocado em uso. A manutenção normalmente não envolve grandes mudanças na arquitetura do sistema As mudanças são implementadas modificando os componentes existentes e adicionando novos componentes ao sistema Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 2/47
3 Tipos de Manutenção de Software Manutenção Corretiva - Identificar e corrigir erros. Manutenção Adaptativa - Adaptar o software ao ambiente. Manutenção Perfectiva - Atender pedidos do usuário para modificar funções existentes ou incluir novas funções. Manutenção Preventiva - Melhorar a manutenibilidade ou confiabilidade futuras. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 3/47
4 Mudança de Software Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 4/47
5 Estratégias de mudança de software Manutenção de software Mudanças são feitas em resposta a requisitos modificados, mas a estrutura fundamental do SW permanece estável. Transformação de arquitetura A arquitetura do sistema é modificada geralmente de uma centralizada p/ uma distribuída Reengenharia de software Nenhuma funcionalidade é adicionada ao sistema, mas ele é re-estruturado e re-organizado p/ facilitar mudanças futuras Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 5/47
6 Dinâmica de evolução de programas Leis de Lehman A dinâmica de evolução de programas é o estudo da mudança do sistema As leis de Lehman são aplicadas a todos os sistemas enquanto eles evoluem. As leis são derivadas das observações aplicadas a sistemas de larga escala desenvolvidos por grandes organizações Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 6/47
7 5 Leis de Lehman Mudança contínua um programa num ambiente real necessariamente muda ou torna-se progressivamente menos útil nesse ambiente. Aumento da complexidade com a evolução do programa sua estrutura tende a ficar mais complexa. Evolução de programas de larga escala a evolução de um programa é um processo auto-regulador. Estabilidade organizacional mudanças de staff/recursos tem poucos efeitos na evolução do sistema. Conservação da familiaridade - a mudança incremental é constante. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 7/47
8 Distribuição do esforço de manutenção Reparação de Falhas (17%) Adaptação de SW (18%) Adição ou modificação de funcionalidade (65%) Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 8/47
9 Modelo espiral p/ manutenção especificação implementação Release 1 operação Release 2 Release 3 validação Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 9/47
10 Custos de manutenção Sistema1 Sistema $ Custos de desenvolvimento Custos de manutenção Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 10/47
11 Manutenção - Fatores de custos Estabilidade da equipe - Custos de manutenção são menores se a mesma equipe está envolvido com o sistema. Responsabilidade contratual Se os engenheiros de SW não tem nenhuma responsabilidade contratual p/ a manutenção, não há incentivo em documentar o SW p/ garantir mudança futura. Habilidades da equipe - A equipe de manutenção é inexperiente e tem conhecimento limitado do domínio. Idade e estrutura do programa - Enquanto o programa envelhece, sua estrutura se degrada tornando-o mais difícil de compreender e mudar. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 11/47
12 O processo de manutenção Pedidos de alterações Análise de impacto Planejamento de release Implementação de mudança Release do sistema Reparo de defeitos Adaptação da plataforma Incremento de sistema Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 12/47
13 Pedidos de mudança São feitos pelos utilizadores, clientes ou gerentes. Na prática, alguns pedidos devem ser implementados urgentemente: Reparar falhas Mudanças no ambiente Mudanças urgentes do negócio Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 13/47
14 Implementação de mudança Mudanças propostas Análise de requisitos Validação de requisitos Desenvolvimento do Software Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 14/47
15 Reparação de emergência Pedido de alteração Análise o códigofonte Modifique o código-fonte Libere o sistema modificado Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 15/47
16 Previsão de mudança A previsão de mudança preocupa-se em avaliar as partes do sistema que podem causar problemas e ter custos de manutenção altos A aceitação da mudança depende da facilidade de manutenção dos componentes afetados pela mudança. Implementar mudanças degrada o sistema e reduz sua a facilidade de manuteção. Custos de manutenção dependem do número de mudanças e os custos de implementação das mudanças dependem da facilidade de manuteção dos componentes do sistema. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 16/47
17 Previsão de mudança Que partes do sistema serão mais dispendiosas para se manter? Previsão de mudança de sistema Previsão de facilidade de manutenção Previsão de custo de manutenção Quais serão os custos manutenção durante o tempo de vida útil desse sistema? Quais os custos de manutenção desse sistema no próximo ano? Que partes serão afetadas pelos pedidos de mudança? Quantos pedidos de mudança podem ser esperados? Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 17/47
18 Evolução da arquitetura Há uma necessidade de converter muitos sistemas legados de uma arquitetura centralizada p/ uma cliente-servidor Razões Custos de HW. Expectativas quanto à interface com o usuário Acesso distribuído aos sistemas Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 18/47
19 Evolução da arquitetura Fatores de distribuição A importância do negócio A idade do sistema (quanto mais velho mais difícil) Estrutura do sistema (quanto mais modularizado, mais fácil) Política de suprimento de HW (substituição dos mainframes por servidores) Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 19/47
20 Sistemas Legados Antigos sistemas que ainda são essenciais para a empresa. Todos os sistemas de software úteis inevitavelmente são modificados quando as empresas passam por mudanças. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 20/47
21 Risco de substituir um Sistemas Legados Sistemas de legado, raramente, têm uma especificação completa. Os processos corporativos e o modo como os sistemas legados operam estão sempre entrelaçados. O sistema pode embutir regras corporativas que não estão documentadas formalmente em outro lugar. Desenvolvimento de software novo é arriscado e pode não ter êxito. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 21/47
22 Mudanças em um Sistemas Legados Partes diferentes implementadas por diferentes equipes. Linguagem de programação obsoleto. A documentação de sistema está desatualizada. A estrutura de sistema corrompida por muitos anos de manutenção (utilização de técnicas para economizar espaço ou aumentar a velocidade). Estruturas de arquivo usadas podem ser incompatíveis. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 22/47
23 Sistemas Legados de Aplicação Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 23/47
24 Sistemas Centrados em Bancos de Dados Programa 1 Programa 2 Programa 3 Programa 4 Sistema de Gerenciamento de banco de dados descreve Modelos de dados lógicos e físicos Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 24/47
25 Avaliação dos Sistemas Legados Descartar completamente o sistema. escolhida quando o sistema não estiver prestando uma contribuição efetiva aos processos. Continuar a manter o sistema. sistema é necessário e sem grande número de modificações. Transformar o sistema de alguma maneira para melhorar sua facilidade de manutenção. qualidade do sistema foi degradada por modificações regulares. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 25/47
26 Avaliação dos Sistemas Legados Valor de negócios Qualidade de sistema Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 26/47
27 Estrutura de Sistemas Legados Interface com o usuário Interface com o usuário serviços serviços Banco de dados Modelo ideal Banco de dados Sistema legados reais Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 27/47
28 Distribuição de Sistemas Legados Aplicação em operação em clientes PC Serviço de aplicação BD IU Terminais a caractere Sistema legado middleware Sistema legado Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 28/47
29 Modelo de Distribuição em Camadas Apresentação Validação de dados Controle de interação Serviços da aplicação Base de dados Organização de tela p/ usuário final Verificar entrada/saída de dados Gerencia seqüência de operação/telas Fornece cálculos básicos Fornece gerenciamento e Armazenamento de dados Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 29/47
30 Opções de distribuição O modelo de distribuição mais simples é a distribuição da interface do utilizador onde somente a interface é implementada no servidor A opção mais complexa é onde o servidor provê gestão dos dados e os serviços são implementados no cliente Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 30/47
31 Spectrum de opções de distribuição Servidor: 1- Controle de interação Validação de dados Serviços Banco de dados 2- Serviços Banco de dados 3- Banco de dados Cliente: 1- Apresentação 2- Apresentação Controle de interação Validação de dados 3- Apresentação Controle de interação Validação de dados Serviços Custo e esforço crescente Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 31/47
32 Distribuição da interface com o usuário A distribuição da interface com o usuário tira vantagem da capacidade de processamento local dos PCs p/ implementar interfaces gráficas Onde há uma separação clara entre a interface e a aplicação então o sistema legado pode ser modificado para distribuir a interface Caso contrário um middleware p/ gerenciamento de tela pode traduzir interfaces textuais p/ gráficas Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 32/47
33 Distribuição da interface do utilizador Cliente desktop PC com interface GUI Sistema legado Serviço de aplicação BD IU Middleware de gerenciamento de tela Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 33/47
34 Manutenção de Código Alienígena Programas com muitos fluxos de controle. Módulos muito grandes. Poucos linhas de comentários significativos. Não existe nenhum outro elemento da configuração de software, além do código. Nenhum membro do pessoal atual de manutenção trabalhou no desenvolvimento do programa. Nenhuma metodologia de desenvolvimento foi aplicada. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 34/47
35 Manutenção de Código Alienígena Solução Engenharia Reversa e Reengenharia Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 35/47
36 Engenharia Reversa e Reengenharia ENGENHARIA REVERSA processo de análise de um software, partindo-se inicialmente da implementação para um nível mais alto de abstração REENGENHARIA implica no exame e na alteração do software para reconstruí-lo em uma nova forma. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 36/47
37 Engenharia Reversa e Reengenharia requisito projeto implementação Eng. progressiva Eng. reversa Eng. progressiva Eng. reversa Reengenharia Reengenharia Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 37/47
38 Reengenharia Re-estruturar ou re-escrever parte ou todo um sistema legado, sem alterar a sua funcionalidade. Aplicável quando alguns subsistemas de um sistema mais amplo requerem uma manutenção freqüente. A re-engenharia envolve a adição de esforço de modo a tornar esses sistemas mais fáceis de manter. Os sistemas poderão ser re-estruturados e re-documentados. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 38/47
39 Vantagens da Reengenharia Risco reduzido: Re-desenvolvimento de software essencial constitui um risco elevado, devido ao papel crítico do software na organização Custo reduzido: Algumas estimativas sugerem que o custo de re-engenharia é significativamente inferior ao custo de redesenvolvimento do sistema, provavelmente 4 vezes inferior Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 39/47
40 Distinção entre Reengenharia e o Novo Desenvolvimento de Software Novo sistema Especificação do sistema Projeto e implementação Novo sistema Sistema de Soft existente Reengenharia de software Compreensão e transformação Sistema Alterado (reengenheirado) Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 40/47
41 Processo de Reengenharia Programa original Document. de programa Programa modularizado Dados originais Tradução de Código-fonte Engenharia reversa Modularização de programa Reengenharia de dados Melhoria de estrutura do prog Programa estruturado Dados reengenheirados Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 41/47
42 Fatores de Custo de Reengenharia A qualidade do software que deve passar pelo processo de reengenharia Ferramentas disponíveis ao processo de reengenharia A extensão de conversão de dados requerida A disponibilidade de pessoal habilitado. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 42/47
43 Engenharia Reversa Analisar o software com o objetivo de recuperar o seu projeto e a sua especificação a partir de seu código-fonte. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 43/47
44 O processo da Engenharia Reversa Análise automatizada Diagrama de estrutura de programa Sistema a ser reengenheirado Repositório de Informações do Sistema Geração de documentos Diagrama de estrutura de dados Anotação manual Matrizes de rastreamento Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 44/47
45 Problemas com a Reestruturação Perda de comentários / Perda de documentação. A reestruturação não ajuda na presença de uma modularização pobre, onde componentes relacionados estão dispersos pelo código A compreensão de programas orientados a dados poderá não ser melhorada através da reestruturação Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 45/47
46 Modularização de programa É o processo de reorganizar um programa, de modo que as partes relacionadas sejam coletadas e consideradas um único módulo. Tipos de módulos: Abstrações de dados; Módulos de hardware; Módulos funcionais; Módulo de apoio ao processo. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 46/47
47 Reengenharia de Dados Envolve a análise e a reorganização das estruturas de dados (e, por vezes, dos valores dos dados) num programa. Razões para usar a reengenharia de dados: Limpeza de dados; Extensão de dados; Migração de dados. Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 47/47
Manutenção Leitura: Sommerville; Pressman
Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele
Leia maisInstituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Evolução de Software
Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Evolução de Software Prof. Dr. Renato L. Novais renato@ifba.edu.br Ian Sommerville 2006 Engenharia de Software,
Leia maisEngenharia de Software
Engenharia de Software 2 Prof. Luís Fernando GARCIA luis@garcia.pro.br www.garcia.pro.br Parte 7 Evolução e Legados 4 Fontes Enfoque Tópicos abordados... 6 Assuntos abordados Evolução Manutenção Legados
Leia maisEVOLUÇÃO DE SOFTWARE
EVOLUÇÃO DE SOFTWARE Dinâmica da evolução de programas Manutenção de software Processo de evolução Evolução de sistemas legados 1 Mudança de Software 2 Manutenção de software Mudança de software é inevitável
Leia maisCapítulo 20 - Manutenção de Software. Os Fatores de Qualidade de Software focalizam três aspectos importantes do Software Produto: (ISO 9126)
Capítulo 20 - Manutenção de Software Os Fatores de Qualidade de Software focalizam três aspectos importantes do Software Produto: (ISO 9126) Manutenibilidade A Manutenibilidade pode ser definida qualitativamente
Leia maisDisciplina: Engenharia de Software. 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE
Disciplina: Engenharia de Software 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE Quando termina o desenvolvimento de um software? A maioria das grandes empresas gasta mais na manutenção de sistemas existentes
Leia maisManutenção de Software
Manutenção de Software Engenharia de Software Rosana Braga (material produzidos por docentes do Labes-ICMC/USP) Manutenção do software O propósito do processo manutenção do sistema e software é modificar
Leia maisREENGENHARIA E ENGENHARIA REVERSA
REENGENHARIA E ENGENHARIA REVERSA Manutenção de Software Profa. Cynthia Pinheiro Definição: É o exame, análise e/ou reestruturação de um sistema de software para reconstruí-lo em uma nova forma. Objetivos:
Leia maisCapítulo 9. Evolução de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 9 Evolução de Software slide 1 Tópicos abordados Processos de evolução Processos de mudança de sistemas de software Dinâmica da evolução de programas Compreensão da evolução de softwares Manutenção
Leia maisManutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
Leia maisManutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
Leia maisEvolução de Software e Refatoração. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 21 1
Evolução de Software e Refatoração Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 21 1 Mudança de software Mudança de software é inevitável Novos requisitos surgem quando o software
Leia maisReengenharia de Software
Reengenharia de Software Fernando F. N. Junior 12 1 Faculdade de Ciências Sociais e Aplicadas Campina Grande PB Brasil ²Instituto Federal da Paraíba Campina Grande PB Brasil fernandojr.ifcg@live.com Abstract.
Leia maisEvolução de Software. Agenda a Aula. Evolução de Software. Evolução de Software. Atividades Comuns. Atividades de Desenvolvimento
Engenharia de Software Aula 12 Atividades Comuns Evolução de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 16 Abril 2012 1. Especificação de requisitos 2. Projeto de Software
Leia maisEngenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisProf. Ms. Ronaldo Martins da Costa
Prof. Ms. Ronaldo Martins da Costa Diferentes conjuntos de etapas que envolvem métodos, ferramentas e procedimentos utilizados no desenvolvimento de software CiclodeVidaClássico Prototipação Modelo Espiral
Leia maisProjeto de Arquitetura
Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw
Leia maisAnálise e Projeto de Software
Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do
Leia maisISO/IEC 12207: Manutenção
ISO/IEC 12207: Manutenção O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema
Leia maisEngenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Engenharia Reversa e Reengenharia Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Testes Manutenção
Leia maisEngenharia de Software
Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento
Leia maisParadigmas de Software
Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo
Leia maisEstilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
Leia maisReengenharia, Refatoração e Bad Smell
DCC / ICEx / UFMG Reengenharia, Refatoração e Bad Smell Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reengenharia de Sistemas Reestruturação ou reescrita de parte ou de todo um sistema legado
Leia maisEngenharia Reversa e Reengenharia Software 13/05/2015
Engenharia Reversa e Reengenharia Software 13/05/2015 Problemas na manutenção de Software Código fonte e documentação mal elaborada. Falta de compreensão do sistema e suas funcionalidades. Muitas vezes
Leia maisProcessos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Leia maisEngenharia de Software Processo de Desenvolvimento de Software
Engenharia de Software Processo de Desenvolvimento de Software Prof. Elias Ferreira Elaborador por: Prof. Edison A. M. Morais Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar
Leia maisARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos
ARCHITECTURAL DESIGN Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Tópicos abordados Arquitetura de Software Projeto de arquitetura Vantagens de arquitetura
Leia maisAgenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais
Leia maisQuando Distribuir é bom
Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.
Leia maisPerguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Leia maisProcessos de Software
Riscos Processos de Software Gidevaldo Novais (gidevaldo.vic@ftc.br) Muitos problemas no desenvolvimento de software provêm de riscos Seriam problemas potenciais que poderão ocorrer em um futuro próximo
Leia maisAnálise de sistemas. Engenharia de Requisitos
Análise de sistemas Engenharia de Requisitos Análise de Requisitos Processo de descobrir, analisar, documentar e verificar serviços requeridos para um sistema e suas restrições operacionais. 2 O que é
Leia maisRequisitos de Sistemas
Requisitos de Sistemas Unidade I - Engenharia de Requisitos Definição de Requisitos Tipos de Requisitos Processos de Engenharia de Requisitos - Levantamento ou elicitação 1 Processo de software Engenharia
Leia maisTópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais
Engenharia de Software Aula 02 Tópicos da Aula Engenharia de Software: Conceitos Fundamentais Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 07 Março 2012 Motivação e Conceitos
Leia maisProcessos de Software
DCC / ICEx / UFMG Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Processos Procedimentos e métodos definindo relação entre tarefas PROCESSO Pessoas com habilidades, treinadas
Leia maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisEngenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves
I Processos de desenvolvimento de SW profa. Denise Neves profa.denise@hotmail.com 2018 Projeto Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos. (PMI,PMBOK
Leia mais4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos
Processos de engenharia de requisitos Processos de Engenharia de Requisitos Os requisitos e as formas de obtê-los e documentálos variam drasticamente de um projeto para o outro Contudo, existe uma série
Leia maisAN INTRODUCTION TO SOFTWARE ENGINEERING
AN INTRODUCTION TO SOFTWARE ENGINEERING Ian Sommerville, 8º edição Capítulo 1 Aula de Luiz Eduardo Guarino de Vasconcelos "Se eu soubesse o que eu estava fazendo, não seria chamada pesquisa." (Albert Einstein)
Leia maisProcesso de Desenvolvimento. Edjandir Corrêa Costa
Processo de Desenvolvimento Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Processo de Desenvolvimento Definição: É um roteiro que determina quais são as tarefas necessárias e em que ordem elas devem
Leia maisEngenharia de Software
Engenharia de Software Marcelle Mussalli Cordeiro {mmussalli@gmail.com} Cordeiro Reflexão O que é software?? Cordeiro 2 O que é Software? Programa Dados de configuração Dados de documentação Tudo que esteja
Leia maisProblemas na Manutenção
ENGENHARIA REVERSA E REENGENHARIA Manutenção de Software Profa. Cynthia Pinheiro Problemas na Manutenção Código fonte mal elaborado e documentação imprecisa, ultrapassada ou inexistente Falta de compreensão
Leia maisVerificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1
Verificação e Validação Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1 Objetivos Apresentar a verificação e validação de software e discutir a distinção entre elas Descrever
Leia maisDesenvolvimento de Projetos
Desenvolvimento de Projetos Aula 1.3 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; Modelo Incremental; Desenvolvimento Evolucionário;
Leia maisENGENHARIA DE SOFTWARE. Aula 03 Processos de Software
ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -
Leia mais- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.
Unidade V Evolução de Sofware - Engenharia Reversa - Profa. Dra. Sandra Fabbri Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Manutenção Teste Sistema Requisitos Desenvolvimento
Leia maisAVALIAÇÃO DA QUALIDADE DO PROCESSO DE MANUTENÇÃO DE SOFTWARE UTILIZANDO A NORMA NBR ISO/IEC 12207
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Departamento de Sistemas e Computação AVALIAÇÃO DA QUALIDADE DO PROCESSO DE MANUTENÇÃO DE SOFTWARE UTILIZANDO A NORMA NBR ISO/IEC
Leia maisPROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
Leia maisINTRODUÇÃO A ENGENHARIA DE SOFTWARE
Universidade Estadual Vale do Acaraú AGENDA INTRODUÇÃO A ENGENHARIA DE SOFTWARE Processos Modelos de Desenvolvimento de Software Engenharia de Requisitos Projeto de Interface com o Usuário Projeto Arquitetural
Leia maisEngenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata
Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo
Leia maisEngenharia de Software
PLANO DE AVALIAÇÕES Engenharia de Software 1ª AP: 08 de setembro 2ª AP: 13 de outubro 3ª AP: 10 de novembro NAF: 17 de novembro Referência bibliográfica: SOMMERVILLE, I. Engenharia de Software. 8ª ed.
Leia mais06/02/2014. Engenharia de requisitos. Requisitos de Software. Capítulo 6. O que é um requisito? Objetivos. Abstração de requisitos (Davis)
Engenharia de requisitos Requisitos de Software O processo de estabelecer os serviços que o cliente requer a partir de um sistema e as restrições sob as quais ele opera e é desenvolvido. Os próprios requisitos
Leia maisENGENHARIA DE SOFTWARE
2016-1 ENGENHARIA DE SOFTWARE Histórico Produtos de software Tipos de aplicações de software Mitos do software Kele Teixeira Belloze kelebelloze@gmail.com HISTÓRICO (ERA PRÉ-ES) 1940s: Primeiro computador
Leia maisRequisitos de Software
Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais
Leia maisModernização de Legados
de Legados A Davanso Tecnologia oferece ao mercado o serviço de de Sistemas Legados. Na maioria das vezes, as empresas possuem sistemas que estão em produção, representando um investimento já efetuado,
Leia maisMODELAGEM DE SISTEMA Apresentação
MODELAGEM DE SISTEMA Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Análise de Requisitos Processo de descobrir, analisar, documentar e verificar
Leia maisEngenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisQuando Distribuir é bom
Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.
Leia maisEngenharia de Software
Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos
Leia maisEngenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno
Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Engenharia de Requisitos É, talvez, o maior problema da indústria de SW; Está relacionada
Leia maisManutenção e Reengenharia de Software
Engenharia de Software III 5º. Semestre ADS Manutenção e Reengenharia de Software Profa. Dra. Ana Paula Gonçalves Serra Agenda Sistema Legado Evolução de Software Manutenção de Software Modernização Substituição
Leia maisCapítulo 2 - Processos de Software
Capítulo 2 - Processos de Software Capítulo 2 Processos Software 1 Assuntos abordados Modelos de processo de software Atividades no processo de software Mudança no processo de software Melhoria de processos
Leia maisVisão Geral do RUP (Rational Unified Process)
Visão Geral do RUP (Rational Unified Process) Objetivos deste módulo Apresentar as características do RUP Discutir os conceitos que existem no RUP: fases, fluxos de atividades (worklows), iterações, responsáveis,
Leia maisAtividades de Desenvolvimento. Desenvolvimento de Software. Especificação de Requisitos. Atividades de Desenvolvimento. Especificação de Requisitos
DCC / ICEx / UFMG Desenvolvimento de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Especificação de Requisitos Um sistema de software deve satisfazer as necessidades de seus usuários Tais
Leia maisRequisitos de Software
Engenharia de requisitos Requisitos de Software Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições
Leia maisENGENHARIA DE SOFTWARE. Aula 17 Reuso de software
ENGENHARIA DE SOFTWARE Aula 17 Reuso de software OBJETIVOS Entender os benefícios e problemas de reuso de software durante o desenvolvimento de novos sistemas; Entender o conceito de um framework de aplicações
Leia maisPrincípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Prof. Fabiano Papaiz IFRN Um Processo de Desenvolvimento de Software, ou simplesmente Processo de Software, é um conjunto de atividades realizadas por pessoas cujo
Leia mais3. Engenharia dos requisitos de software
Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 3. Engenharia dos requisitos de software.......... 3.1. Visão Geral O fluxo de Requisitos reúne
Leia maisENGENHARIA DE SOFTWARE
ENGENHARIA DE SOFTWARE Curso: Sistemas de Informação Profª: Janaide Nogueira ENGENHARIA DESOFTWARE APRESENTAÇÃO Formação Técnica: Informática(IFCE-Campus Tianguá-CE) Secretária Escolar(FDR) Graduação:
Leia maisENGENHARIA DE SOFTWARE
ENGENHARIA DE SOFTWARE Qualidade de Software Qualidade do produto e do processo Padrões de software Revisões Medições e métricas de software Kele Teixeira Belloze kelebelloze@gmail.com CONCEITO DE QUALIDADE
Leia maisComponentes de SIs. Pessoas Organiz. Tecnologia
Universidade Federal do Vale do São Francisco Curso de Administração Tecnologia e Sistemas de Informação - 03 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisAgenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software
Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso
Leia maisLIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES
LIVRO ENGENHARIA FUNDAMENTOS, MÉTODOS E PADRÕES WILSON PADUA PAULA FILHO CAPÍTULO REQUISITOS 1 REQUISITOS TECNICO E GERENCIAL ESCOPO (RASCUNHO) CARACTERISTICAS 2 O que são Requisitos? São objetivos ou
Leia maisIntrodução a Engenharia de Software
Engenharia de Software Aula 02 Introdução a Engenharia de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@dcc.ufmg.br ou disciplina.eduardo@gmail.com 7 Março de 2018 Bibliografia
Leia maisENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE
ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Requisitos REQUISITOS Descrições do que o sistema deve fazer, os serviços oferecidos pelo
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer
Leia maisVerificação e Validação
Verificação vs Validação Verificação e Validação Verificação: Estamos construindo o produto corretamente? O software deve estar de acordo com sua especificação. Validação: Estamos construindo o produto
Leia maisProcessos de Software
Processos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos profs. Márcio Cornélio, Vinicius
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ENGENHARIA DE SOFTWARE Aula N : 06 Tema:
Leia maisAula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil
Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo Modelo de Processo:
Leia maisEngenharia de Software
Arquitetura de Sistemas Distribuídos Cap. 12 Sommerville 8 ed. Introdução: É um software que usa várias máquinas para executar suas tarefas. Praticamente todos os sistemas baseado em grandes computadores
Leia maisAs 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira
As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira Educação de iniciação profissional validada e legitimada pela sociedade Registro da adequação à prática através de certificação
Leia maisEngenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia
Engenharia de Software Processos Desenvolvimento de Software Tradicionais 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR Processos Um conjunto estruturado de atividades necessárias para o desenvolvimento
Leia maisEngenharia de Software II
Engenharia de Software II Aula 7 http://www.ic.uff.br/~bianca/engsoft2/ Aula 7-12/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do
Leia maisEngenharia de Software I
Engenharia de Software I Profa. Denise Neves profa.denise@hotmail.com Introdução 2018 Este curso apresenta métodos e técnicas para o desenvolvimento de software que abordam especificação, modelagem, arquiteturas,
Leia maisTESTES DE SOFTWARE Lista de Exercício 02. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Exercício 01 Ao testarmos uma aplicação web, que aspectos devemos levar em consideração? Exercício 01 Resposta Ao testarmos uma aplicação web, que aspectos
Leia maisISO/IEC Processo de ciclo de vida
ISO/IEC 12207 Processo de ciclo de vida O que é...? ISO/IEC 12207 (introdução) - O que é ISO/IEC 12207? - Qual a finalidade da ISO/IEC 12207? Diferença entre ISO/IEC 12207 e CMMI 2 Emendas ISO/IEC 12207
Leia maisEngenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto
Leia maisEngenharia de Software. Prof. Me. Clodoaldo Brasilino
Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software
Leia mais15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos
DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,
Leia maisDefinições e ciclo de vida
Definições e ciclo de vida A aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção do software. É a aplicação sistemática de conhecimentos científicos
Leia maisPDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.6 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento
Leia maisVerificação e Validação (V & V)
Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo
Leia maisSISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento
SISTEMAS DISTRIBUÍDOS ARQUITETURAS Slides cedidos pela Professora Aline Nascimento INTRODUÇÃO A organização dos SDs trata em grande parte dos componentes de software que constituem o sistema Os componentes
Leia mais