Manutenção e Reengenharia de Software

Tamanho: px
Começar a partir da página:

Download "Manutenção e Reengenharia de Software"

Transcrição

1 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 Reengenharia de Software Profa. Dra. Ana Paula G. Serra - p. 2 Profa. Dra. Ana Paula G. Serra 1

2 Isso é Real? Vídeo EDS: Building a Dream.mpa Profa. Dra. Ana Paula G. Serra - p. 3 Isso é Real! Explosão do foguete Arianne V (1996) em 40 segundo após decolagem que possuía na sua codificação uma rotina do Ariane IV, que não deveria ser utilizada. A rotina convertia valor flutuante em inteiro e que recebeu como entrada um valor que estava fora da faixa permitida e fez com que os computadores principais e de backup dessem shut-down ao mesmo tempo. Projeto da Agência Espacial Européia que custou: 10 anos U$ 8 Bilhões U$ 500 milhões de carga do foguete Profa. Dra. Ana Paula G. Serra - p. 4 Profa. Dra. Ana Paula G. Serra 2

3 Exercício Em uma empresa fornecedora de equipamentos telefônicos existe um sistema legado de suporte técnico em mainframe em funcionamento nos últimos 20 anos. Esse sistema (tela verde) é utilizado diariamente em média por 20 usuários (atendentes) simultaneamente no horário das 7:00 h. às 22:00 h. Atualmente o custo de manutenção desse sistema é altíssimo, o código está deteriorado (macarrônico) e ninguém mais consegue dar manutenção, qualquer melhoria no software gera dezenas de erros. Além de problemas de desempenho, em determinados momentos o acesso aos dados é muito lento e a transação que está sendo realizada muitas vezes é abortada. Com tudo isso, pretende-se realizar a reengenharia desse software e criar uma integração com um software de mercado (COTS) de base de conhecimento. Esse software de base de conhecimentos tem como objetivo buscar solução de problemas que já foram selecionadas, ajudando os atendentes a tomarem decisões na solução do chamado. Você foi contratado para fazer uma proposta de reengenharia para o sistema descrito. Para isso, você deve descrever a estratégia de reengenharia de software. Essa estratégia deve abordar atividade(s)/técnica(s) de reengenharia que serão utilizadas e arquitetura proposta. 5 Profa. Dra. Ana Paula G. Serra - p. 5 Conceitos Importantes... Antes de começarmos o conceito de Reengenharia de Software, alguns conceitos devem ser definidos e discutidos, como: Sistemas Legados Evolução de Software Profa. Dra. Ana Paula G. Serra - p. 6 Profa. Dra. Ana Paula G. Serra 3

4 Sistema Legado Algumas definições... Um frase utilizada por Seacord, et al. no livro Modernizing Legancy Systems é Um sistema legado é um sistema que foi escrito ontem. Outras definições como a de Sommerville são mais formais, onde sistemas legados são sistemas sociotécnicos* baseado em computadores e que foram desenvolvidos no passado, frequentemente usando tecnologias mais antigas ou obsoletas. Esses sistemas incluem não apenas hardware e software, mas também processos e procedimentos legados... As mudanças em uma parte do sistema envolvem inevitavelmente mudanças em outros componentes. * Sociotécnicos incluem mais que sistemas sob o ponto de vista técnico, mas também pessoas, políticas e regras da empresa, leis, normas, etc. Profa. Dra. Ana Paula G. Serra - p. 7 Sistema Legado Por que alguns sistemas ainda utilizam software desenvolvidos nas décadas de 60, 70, 80? Quais seriam alguns exemplos desses sistemas? Profa. Dra. Ana Paula G. Serra - p. 8 Profa. Dra. Ana Paula G. Serra 4

5 Componentes de Sistema Legado Software de Apoio Usa Software de aplicação Incorpora conhecimento de Políticas e regras de Negócio Executado em Usa Executado em Usa Restringe Hardware do Sistema Dados de Aplicação Processos de Negócio Profa. Dra. Ana Paula G. Serra - p. 9 Modelos em Camadas do Sistema Legado Processos de Negócio Software de Aplicação Software de Apoio Hardware Profa. Dra. Ana Paula G. Serra - p. 10 Profa. Dra. Ana Paula G. Serra 5

6 Evolução do Software Qual é a diferença de um software que está sendo desenvolvido utilizando um modelo de processo incremental ou espiral e um software legado que deve ser alterado? Os dois não utilizam o conceito de evolução de software? Profa. Dra. Ana Paula G. Serra - p. 11 Evolução do Software Desenvolvimento - Novo Software Implantação Sistema Legado Profa. Dra. Ana Paula G. Serra - p. 12 Profa. Dra. Ana Paula G. Serra 6

7 Sistema Legado Integração de Sistemas Leis e Normas Novos Requisitos Funcionais e Não-Funcionais Políticas, Regras e Procedimentos da Empresa Sistema Legado Sistema Modificado (Evolução do Software) Necessidade do Mercado Mudança ou inclusão de novas tecnologias. Profa. Dra. Ana Paula G. Serra - p. 13 Evolução do Software 14 O processo de Evolução do Software, depende: Software a ser mantido; Processo de desenvolvimento utilizado; Pessoas envolvidas no processo. Profa. Dra. Ana Paula G. Serra - p. 14 Profa. Dra. Ana Paula G. Serra 7

8 Exemplo de um Processo Formal de Evolução de Software Quais são os passos para um processo de evolução de sistemas? Considere que o sistema já existe e necessita ser alterado. Solicitação de Mudança Análise de Impacto/Risco Planejamento de Versões Implementação de Mudanças Liberação do Sistema Fase Composta Mudança Propostas Análise de Requisitos Atualização de Requisitos Desenvolv. de Software Profa. Dra. Ana Paula G. Serra - p. 15 Exemplo de um Processo Formal de Evolução de Software Toda evolução de software deve seguir um processo formal? Solicitação de Mudança Análise Código Fonte Modificar Código Fonte Entrega de Sistema Modificado Profa. Dra. Ana Paula G. Serra - p. 16 Profa. Dra. Ana Paula G. Serra 8

9 Evolução do Software Quais são os reflexos (hipóteses) práticos da evolução de software? Mudança contínua; Complexidade crescente; Evolução de sistemas de grande porte; Crescimento contínuo; Qualidade em declínio;... Profa. Dra. Ana Paula G. Serra - p. 17 Categorias da Evolução de Software Manutenção de Software Modernização de Software Substituição de Software Profa. Dra. Ana Paula G. Serra - p. 18 Profa. Dra. Ana Paula G. Serra 9

10 Categorias da Evolução de Software Manutenção de Software É um processo incremental e repetitivo, onde alterações são feitas no software. Essas alterações envolvem: Eliminação de erros Melhorias funcionais A manutenção é necessária para suportar a evolução de qualquer software, mas não deve envolver: Mudanças estruturais, como por exemplo, adoção de novas tecnologias para implantação de uma arquitetura distribuída. Profa. Dra. Ana Paula G. Serra - p. 19 Categorias da Evolução de Software Manutenção de Software Categorias de Manutenção de Software Corretiva: Alterações para corrigir erros no software Melhoria: Alterações para melhorar o software, como por exemplo: novas funções, melhoria do desempenho, usabilidade Adaptativas: Alterações para adaptar o software a novos ambientes, tais como sistemas operacionais, ferramentas, banco de dados, componentes Preventivas: Alterações para melhorar a manutenibilidade do software. O objetivo desta manutenção é simplificar evoluções futuras. Profa. Dra. Ana Paula G. Serra - p. 20 Profa. Dra. Ana Paula G. Serra 10

11 Categorias da Evolução de Software Manutenção de Software Na década de 80 um estudo estimou: 20% corresponde a manutenção corretiva 50% corresponde a manutenção de melhoria 25% corresponde a manutenção adaptativa 5% corresponde a manutenção preventiva Hoje em dia observa-se que esses números não alteraram muito. Profa. Dra. Ana Paula G. Serra - p. 21 Categorias da Evolução de Software Manutenção de Software Quais são os problemas que a manutenção de software pode causar? Profa. Dra. Ana Paula G. Serra - p. 22 Profa. Dra. Ana Paula G. Serra 11

12 Alguns dos Problemas Manutenção de Software Complexidade Crescente, o que leva a estrutura deteriorada Qualidade em declínio Custo alto de manutenção, pois: estabilidade de equipe, contrato de manutenção, falta de conhecimento do negócio e do software pelos desenvolvedores que irão fazer a manutenção, estrutura do programa Instabilidade do sistema de software... Profa. Dra. Ana Paula G. Serra - p. 23 Categorias da Evolução de Software Modernização de Software É utilizada quando o sistema legado requer mudanças mais extensas e significativas do que aquelas realizadas pela manutenção; Preserva porção significativa do negócio do sistema; A necessidade da modernização ocorre devido a fragilidade e pouca consistência do sistema legado, da falta de flexibilidade, isolamento e pouca capacidade de extensão; Mudanças de modernização incluem: reestruturação do sistema, novas funcionalidades ou modificações de atributos de software. Profa. Dra. Ana Paula G. Serra - p. 24 Profa. Dra. Ana Paula G. Serra 12

13 Categorias da Evolução de Software Modernização de Software Técnicas de Compreensão do Sistema Legado Caixa Branca Caixa Preta O que isso significa? Profa. Dra. Ana Paula G. Serra - p. 25 Categorias da Evolução de Software Modernização de Software - Caixa Branca Exige conhecimento sobre o código interno do sistema legado. Este processo envolve: Modelagem do domínio do sistema; Extração de informações do código; Criação de abstrações que descrevem a estrutura do sistema. If (a>b)... else... Após a análise e compreensão do código, este tipo de modernização inclui a reestruturação do código, preservando o comportamento do sistema, mas com o objetivo de aumentar a manutenibilidade e o desempenho Profa. Dra. Ana Paula G. Serra - p. 26 Profa. Dra. Ana Paula G. Serra 13

14 Categorias da Evolução de Software Modernização de Software - Caixa Preta Exige conhecimento das interfaces externas do sistema legado. Este processo envolve: Examinar as entradas e saídas de um sistema legado. Entradas Saídas É uma técnica menos trabalhosa que a técnica de caixa branca; Muitas vezes é necessário a utilização de técnica de caixa branca para complementar o entendimento. Profa. Dra. Ana Paula G. Serra - p. 27 Categorias da Evolução de Software Modernização de Software Segundo uma pesquisa do Standish Group realizada em 2001 muitas tentativas de modernização de software falham, sendo que: 23% dos projetos são cancelados antes de terminarem 28% terminam no tempo e orçamentos previstos e com o objetivo esperado. Uma forma de modernização para melhorar a capacidade e manutenibilidade de um sistema legado, introduzindo tecnologias e práticas modernas, é a Reengenharia de Software. Profa. Dra. Ana Paula G. Serra - p. 28 Profa. Dra. Ana Paula G. Serra 14

15 Categorias da Evolução de Software Substituição de Software Requer a construção do sistema legado desde o início, e é apropriada quando o sistema legado não consegue mais atender às necessidades do negócio e quando a modernização não é possível ou não vale a pena em relação aos custos. Quais são os riscos de substituição de software? Profa. Dra. Ana Paula G. Serra - p. 29 Visão Geral de Evolução de Sistema Ciclo de Vida de um Sistema Seacord et al Modernizing Legancy Systems Profa. Dra. Ana Paula G. Serra - p. 30 Profa. Dra. Ana Paula G. Serra 15

16 Exercício 31 Analise os casos abaixo e classifique em Manutenção (neste caso classifique em Corretiva, Melhoria, Adaptativas e Preventivas), Modernização de Software ou Substituição de Software. Correção de um erro. Foi solicitada a criação de uma nova função para o sistema. Em todos os servidores serão instalados sistemas operacionais e gerenciadores de banco de dados com versões mais recentes. Criar uma interface gráfica para Internet com integração com o Mainframe. Uma empresa de venda de produtos, chegou a conclusão que o sistema atual não atende mais as regras de negócio da empresa, sendo que muitas vezes algumas informações deixam de ser registradas e automatizada pelo sistema. Profa. Dra. Ana Paula G. Serra - p. 31 Reengenharia 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 negócios: usar o poder da moderna tecnologia da informação para reprojetar radicalmente nossos processos de negócio a fim de conseguir aperfeiçoamentos drásticos em seu desempenho Harvard Business Review De que tipo de reengenharia essa afirmação cita? Profa. Dra. Ana Paula G. Serra - p. 32 Profa. Dra. Ana Paula G. Serra 16

17 Reengenharia Reengenharia de Processo de Negócio 1º. Passo Reengenharia de Software 2º. Passo Regras de negócio impactam diretamente no software A reengenharia de processo de negócios se ocupa de reprojetar processos de negócio, a fim de reduzir o número de atividades redundantes e melhorar a eficiência do processo; Em geral a reengenharia de processo de negócio é apoiada por sistemas de software; Muitas vezes, a reengenharia de processo de negócio é um fator direcionador da evolução de software. Profa. Dra. Ana Paula G. Serra - p. 33 Reengenharia de Processo de Negócio Reengenharia de Processo de Negócio (Business Process Reengineering - BPR) tem como objetivo apoiar na análise, na avaliação de processos de negócio e na proposta de um sistema de negócio. Profa. Dra. Ana Paula G. Serra - p. 34 Profa. Dra. Ana Paula G. Serra 17

18 Reengenharia de Processo de Negócio Motivações: Redução de custo Redução de prazo Aperfeiçoamento da qualidade Desenvolvimento pessoal Definição do Negócio Um modelo de BPR Com base no feedback do protótipo, o processo de negócio é refinado e então instanciado para um sistema de negócio Refinamento & Agilização São realizados testes do processo de negócio reprojetado antes de ser integrado ao negócio Prototipação Identificação do Processo São identificados processos críticos para alcançar as metas definidas do negócio Com base nas informações obtidas nas 3 primeiras fases é realizada a especificação para os processos que serão reprojetados. Especificação e Projeto do Processo Avaliação do Processo Os processos são analisados e medidos. As tarefas do processo são identificadas Os custos e tempo são analisados Problemas de qualidade são identificados Profa. Dra. Ana Paula G. Serra - p. 35 Reengenharia de Software Uma aplicação de software serviu às necessidades do negócio de uma empresa po 10 ou 15 anos. Durante esse tempo foi corrigida, adaptada e aperfeiçoada por muitas vezes. O pessoal abordou esse trabalho com a melhor das intenções, mas boas práticas de engenharia de software foram sempre deixadas de lado (pressionada por outros aspectos, como por exemplo prazo). Agora a aplicação está instável. Ainda funciona, mas todas vez que uma modificação é tentada, efeitos colaterais inesperados e sérios ocorrem. No entanto a aplicação de software precisa continuar a evoluir. O que fazer? Profa. Dra. Ana Paula G. Serra - p. 36 Profa. Dra. Ana Paula G. Serra 18

19 Reengenharia de Software A reengenharia de software oferece uma abordagem disciplinada para migrar sistemas legados em sistemas evolutivos; O processo de reengenharia de software aplica os princípios da engenharia de software em um sistema de software já existente para atender requisitos existente e novos requisitos. Profa. Dra. Ana Paula G. Serra - p. 37 Reengenharia de Software Algumas definições... Segundo Pressman... A reengenharia tem como objetivo principal melhorar a qualidade global da aplicação, mantendo, em geral, as funções da aplicação existente. Mas, ao mesmo tempo, pode-se adicionar novas funções e melhorar o desempenho. Segundo o SEI (Software Engineering Institute) reengenharia é uma transformação sistemática de uma aplicação de software existente para uma nova forma, realizando melhorias na operação, na funcionalidade, no desempenho, na capacidade de evoluir para um novo sistema com menores custos, prazos e riscos. Segundo Furlan reengenharia é um "Conjunto de técnicas e ferramentas orientadas à avaliação, reposicionamento e transformação de sistemas de informação existentes, com o objetivo de estender-lhes a vida útil e ao mesmo tempo, proporcionar-lhes uma melhor qualidade técnica e funcional". Profa. Dra. Ana Paula G. Serra - p. 38 Profa. Dra. Ana Paula G. Serra 19

20 Engenharia e Reengenharia de Software Especificação do Sistema Engenharia de Software Projeto e Implementação Novo Sistema Sistema Legado Reengenharia de Software Compreensão e Transformação Sistema Reengenheirado Profa. Dra. Ana Paula G. Serra - p. 39 Estudo de Caso - Hipotético Você comprou uma casa em outro Estado. Nunca viu realmente a propriedade, mas adquiriu por um preço espantosamente baixo, com a advertência de que talvez ela tivesse que ser completamente reconstruída. Como você procederia? Profa. Dra. Ana Paula G. Serra - p. 40 Profa. Dra. Ana Paula G. Serra 20

21 Alguns procedimentos seriam importantes... Inspeção da casa, para realmente verificar se a casa deve ser reconstruída. Verifique se tudo deve ser demolido, se a estrutura está fraca ou algo pode ser reaproveitado. Antes de começar a reconstrução, entenda como a casa original foi construída. Verifique fiação, canalização, estrutura interna, mesmo que seja para descartar tudo o conhecimento adquirido servirá para iniciar a construção. Quando começar a construir realize um projeto, e siga todas as técnicas e normas da construção civil. Também utilize materiais de boa qualidade, modernos e duradouros. Isto pode custar um pouco a mais, mas evitará manutenções desnecessárias no futuro. Profa. Dra. Ana Paula G. Serra - p. 41 Atividades da Reengenharia de Software Existem seis atividades ou técnicas básicas de reengenharia de software que podem ser consideradas individualmente ou de forma cíclica. Análise de Inventário Engenharia Avante Reestruturação de Documentos Reestruturação dos Dados Reestruturação do Código Engenharia Reversa Profa. Dra. Ana Paula G. Serra - p. 42 Profa. Dra. Ana Paula G. Serra 21

22 Atividade: Análise de Inventário Toda empresa deve ter um inventário de todos os sistemas de software; Dados importantes do inventário são: tamanho, idade, importância para o negócio, tecnologias utilizadas, integração com outros softwares,...; Esses dados são importantes para analisar riscos da modernização do software. Profa. Dra. Ana Paula G. Serra - p. 43 Atividade: Reestruturação de Documentos Pouca documentação é a marca registrada de muitos sistemas legados. Muitas vezes para iniciar a reestruturação de documentos é necessário passar pela atividade de engenharia reversa para entender o que está por trás do código fonte. Profa. Dra. Ana Paula G. Serra - p. 44 Profa. Dra. Ana Paula G. Serra 22

23 Atividade: Engenharia 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 (código-fonte) para um alto nível de abstração (modelos). Engenharia Progressiva Requisitos Projeto Implementação Visão Funcional, Não-Funcional e Domínio Visão Estrutural Visão de implementação (código) Engenharia Reversa Profa. Dra. Ana Paula G. Serra - p. 45 Atividade: Engenharia Reversa Muitas pessoas acreditam... Código fonte desestruturado e não documentado E N G E N H A R I A R E V E R S A Documentação completa A Engenharia Reversa além de ser reutilizada na reengenharia de software pode ser utilizada em manutenção de software e reestruturação/atualização de documentação. Profa. Dra. Ana Paula G. Serra - p. 46 Profa. Dra. Ana Paula G. Serra 23

24 Atividade: Engenharia Reversa Processo de Engenharia Reversa Código Fonte Código Reestruturado Código Fonte limpo, somente com a estrutura Extração de Abstrações Modelo Gerado Refinar e Simplificar Processamento Interface Base de Dados Modelo Final Profa. Dra. Ana Paula G. Serra - p. 47 Atividade: Engenharia Reversa Profa. Dra. Ana Paula G. Serra - p. 48 Profa. Dra. Ana Paula G. Serra 24

25 Atividade: Reestruturação do Código Também chamada de Refactoring ou Refabricação, consiste em um processo de modificação de módulos de software de tal modo que não altere o comportamento externo do código, mas aperfeiçoe a estrutura interna. É um modo disciplinado de limpar o código que minimiza a introdução de defeitos. Em essência quando ocorre a refabricação o projeto está sendo aperfeiçoado internamente depois que ele já foi escrito. Geralmente a arquitetura básica é sólida, mas alguns módulos precisam de modificações internas. A refabricação pode ocorrer em uma mesma plataforma de desenvolvimento ou em uma nova. Profa. Dra. Ana Paula G. Serra - p. 49 Atividade: Reestruturação dos Dados Consiste na reestruturação dos dados, ou seja, melhoria do projeto de banco de dados, reorganização dos dados e nomenclatura. Geralmente existe uma mudança física nas estruturas de dados, contemplando mudança de formato de arquivos ou mudança de tecnologia de banco de dados. Profa. Dra. Ana Paula G. Serra - p. 50 Profa. Dra. Ana Paula G. Serra 25

26 Atividade: Engenharia Avante Aplica princípios, conceitos e métodos de engenharia de software para recriar uma aplicação existente, com o objetivo de ampliar a capacidade da aplicação antiga. Algumas forma de engenharia avante atuais. 1. Engenharia Avante para Arquitetura Cliente/Servidor 2. Engenharia Avante para Arquitetura Orientada a Objetos 3. Engenharia Avante de Interfaces com o Usuário Profa. Dra. Ana Paula G. Serra - p. 51 Métodos mais comuns de Reengenharia Migração de sistemas legados para uma nova plataforma Útil quando há um alto custo de manutenção da plataforma legada. Alteração da interface humano computador e reestruturação do código e documentação Útil quando há necessidade de criação de uma nova interface gráfica (Wrappers) e de uma revisão no código e documentação, sendo não vale a pena (custo/benefício) trocar a plataforma legada. Profa. Dra. Ana Paula G. Serra - p. 52 Profa. Dra. Ana Paula G. Serra 26

27 Copyright Profa. Dra. Ana Paula Gonçalves Serra. Todos direitos reservados. Reprodução ou divulgação total ou parcial deste documento é expressamente proíbido sem o consentimento formal, por escrito, do Professor (autor). Profa. Dra. Ana Paula G. Serra - p. 53 Profa. Dra. Ana Paula G. Serra 27

Leitura: Cap : Sommerville; cap20: Pressman

Leitura: Cap : Sommerville; cap20: Pressman Leitura: Cap26-27 - 28: Sommerville; cap20: Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1/47 Manutenção de software É modificar um programa depois que

Leia mais

Manutenção Leitura: Sommerville; Pressman

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 mais

Disciplina: Engenharia de Software. 3 Bimestre Aula 2: EVOLUÇÃO DE SOFTWARE

Disciplina: 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 mais

Instituto 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 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 mais

Engenharia Reversa e Reengenharia Software 13/05/2015

Engenharia 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 mais

Engenharia 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 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 mais

Problemas na Manutenção

Problemas 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 mais

Prof. Ms. Ronaldo Martins da Costa

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

Reengenharia de Software

Reengenharia 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 mais

Manutençã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 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 mais

Engenharia de Software

Engenharia 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 mais

Manutenção de Software

Manutençã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 mais

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia 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 mais

REENGENHARIA E ENGENHARIA REVERSA

REENGENHARIA 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 mais

Modelos de Ciclo de Vida (Parte 1)

Modelos de Ciclo de Vida (Parte 1) Modelagem de Sistemas Modelos de Ciclo de Vida (Parte 1) Prof. Mauro Lopes 1-31 20 Objetivos Nesta aula iremos apresentar os Modelos de Ciclo de Vida demonstrando que temos várias opções para montar o

Leia mais

Componentes de SIs. Pessoas Organiz. Tecnologia

Componentes 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 mais

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia 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 mais

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Engenharia 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 mais

Engenharia de Software

Engenharia 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 mais

Modelos de Processo de Software

Modelos de Processo de Software Modelos de Processo de Software Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com PAE: Armando M. Toda armando.toda@gmail.com (material produzido e atualizado pelos professores

Leia mais

Manutençã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 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 mais

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software Professor Ariel da Silva Dias Modelos de Processo de Software Conjunto de atividades que leva à produção de um produto de Software [Sommerville,2011]; Podemos contar com ferramentas de apoio com o objetivo

Leia mais

Paradigmas de Software

Paradigmas 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 mais

Modernização de Legados

Modernizaçã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 mais

Ciclo de vida: fases x atividades

Ciclo de vida: fases x atividades Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos 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 mais

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.

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

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

Leia mais

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

INTRODUÇÃ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 mais

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de:

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de: Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de: a) Um erro b)

Leia mais

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017 Engenharia Reversa e Reengenharia Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017 Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Testes Manutenção

Leia mais

Definições e ciclo de vida

Definiçõ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 mais

Processos de Software

Processos 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 mais

Engenharia de Software

Engenharia de Software Engenharia de Software Tópico 1 - Visão Geral da Engenharia de Software Sistemas Computacionais o Definição e conceitos básicos o Evolução do desenvolvimento Natureza do produto software Definição de Engenharia

Leia mais

Princípios da Engenharia de Software aula 03

Princí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 mais

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins. Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Introdução DISCUSSÃO O que é um software? Qual o impacto do software na sociedade atual? Por que os custos de desenvolvimento são tão altos?

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia 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 mais

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam: Prof. Edson dos Santos Cordeiro 1 Tópico: Objetivo: Introdução a Ciclo de Vida do Software Conhecer os principais conceitos relacionados a ciclo de vida do software. Bibliog. Base: McCONNEL, Steve. Rapid

Leia mais

Desenvolvimento de Projetos

Desenvolvimento 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 mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 A Engenharia de Software Uma Tecnologia em Camadas Gerenciamento da Qualidade Total e filosofias

Leia mais

Estilos Arquiteturais

Estilos 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 mais

PROJETO DE BANCO DE DADOS

PROJETO DE BANCO DE DADOS UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO BANCO DE DADOS I PROJETO DE BANCO DE DADOS Profº Erinaldo Sanches Nascimento Objetivos Discutir o ciclo de vida do sistema de

Leia mais

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO CURSO ANÁLISE E DESENVOLVIMENTO DE SISTEMA MODELO DOS PROCESSOS DE SOFTWARE ALUNO SAMUEL BRAGA LOPES SUMÁRIO - AGENDA INTRODUÇÃO MODELO CASCATA

Leia mais

Engenharia de Software

Engenharia 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 mais

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS 1. Com relação à engenharia de software, julgue os itens seguintes. Engenharia de software não está relacionada

Leia mais

Capí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) 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 mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Modelos de Processo de Software

Modelos de Processo de Software Modelos de Processo de Software Engenharia de Software Profa. Dra. Rosana T. Vaccare Braga 1 o semestre de 2017 (material produzido e atualizado pelos professores do grupo de pesquisa em Engenharia de

Leia mais

Capítulo 9. Evolução de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capí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 mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

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

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Fases do Processo. Ciclo de vida do processo. Processo Unificado Orientado por Casos de Uso, surgiu para realizar o

Leia mais

Evoluçã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 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 mais

2. Processos em Engenharia de Software

2. Processos em Engenharia de Software Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 2. Processos em Engenharia de Software.......... 2.1. Visão Geral Conceito de processo conjunto

Leia mais

Processo de Desenvolvimento. Edjandir Corrêa Costa

Processo 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 mais

ISO/IEC 12207: Manutenção

ISO/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 mais

Qualidade de software. Prof. Emiliano Monteiro

Qualidade de software. Prof. Emiliano Monteiro Qualidade de software Prof. Emiliano Monteiro Por que realizar revisões por pares? 1. Para melhorar a qualidade. 2. Captura 80% de todos os erros se feito corretamente. 3. Captura erros de codificação

Leia mais

Processos de Software

Processos 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 mais

Cadeira: Engenharia de Software

Cadeira: Engenharia de Software Cadeira: Engenharia de Software Aulas 9, 10 15/08/15 Docente: Cláudia Ivete F. Jovo cifjovo@gmail.com or cjovo@up.ac.mz M.Sc. Cláudia Jovo 2017/DI 0 Definição de Eng. Software; Eng. Software Tecnologia

Leia mais

Engenharia de Software

Engenharia 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 mais

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 09289 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 3. Especificação e Análise de Requisitos

Leia mais

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Fundamentos da Engenharia de Software Modelos de desenvolvimento Importância do software Importância do Software Qualidade é fundamental Consequências de erros no software podem

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

ENGENHARIA DE SOFTWARE. Introdução

ENGENHARIA DE SOFTWARE. Introdução ENGENHARIA DE SOFTWARE Introdução AGENDA Conceitos de Engenharia de Software Processo de desenvolvimento de software ENGENHARIA DE SOFTWARE CONCEITOS CENÁRIO INICIAL Desenvolvimento informal e não suficiente

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

INSTITUTO 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 mais

PROCESSO DE SOFTWARE

PROCESSO DE SOFTWARE PROCESSO DE SOFTWARE Allan Senna Costa dos Santos Discente do Curso Tecnologia em Análise e Desenvolvimento de Sistemas Faculdades Integradas de Três Lagoas (AEMS) Jhonatan Ricardo Ferraris da Silva Discente

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Conceitos de Engenharia de Software. Prof.ª: Érika A. Barrado

Conceitos de Engenharia de Software. Prof.ª: Érika A. Barrado Conceitos de Engenharia de Software Prof.ª: Érika A. Barrado Introdução Conceitos de Software Conceitos de Engenharia de Software Ciclo de Vida do Software Software Consiste em instruções (programas de

Leia mais

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Tó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 mais

Verificação e Validação (V & V)

Verificaçã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 mais

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br 2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados

Leia mais

Prof. Emiliano S. Monteiro

Prof. Emiliano S. Monteiro Prof. Emiliano S. Monteiro O que é qualidade? Existem diversas definições... 1. Qualidade é estar em conformidade com os requisitos dos clientes 2. Qualidade é antecipar e satisfazer os desejos dos clientes

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia 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 mais

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr. Teste de Software Prof. Camila Pedro de Assis Sobreira Jr. 2 Técnicas de Testes Técnica de Teste Funcional Técnica de Teste Estrutural 3 Testes Funcionais Teste de Especificação de Requisitos. Teste de

Leia mais

Campus 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   / 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 : 16 Tema:

Leia mais

Engenharia de Software I

Engenharia 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 mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Página 1 de 13 Introdução à Engenharia de Software O QUE É SOFTWARE? SEGUNDO O DICIONÁRIO AURÉLIO: AQUILO QUE PODE SER EXECUTADO POR UM EQUIPAMENTO, NO CASO O HARDWARE;

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Visão Geral Profa.Paulo C. Masiero masiero@icmc.usp.br ICMC/USP Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos?

Leia mais

Evolução de Software. Agenda a Aula. Evolução de Software. Evolução de Software. Atividades Comuns. Atividades de Desenvolvimento

Evoluçã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 mais

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software ENG SOFT - TESTES TESTES DE SOFTWARE 1. Fundamentos sobre testes de software A atividade de teste de software sempre foi considerada como um gasto de tempo desnecessário, uma atividade de segunda classe,

Leia mais

CICLO DE VIDA DE SOFTWARE

CICLO DE VIDA DE SOFTWARE WESLLEYMOURA@GMAIL.COM CICLO DE VIDA DE SOFTWARE ANÁLISE DE SISTEMAS Introdução ao ciclo de vida de software Qualificar um produto é muito bom para que tenhamos certeza de que há seriedade e preocupação

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2012 Paradigmas e Processo de Software Engenharia de Software: Abrangência Engenharia de Software possui

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Software desenvolvido é utilizado e modificado Desenvolvimento Utilização Jocélio Passos joceliodpassos@bol.com.br Modificação 7/22/2007 2 Desenvolvimento Série de etapas a ser cumpridas

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA 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 mais

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático A Importância da Modelagem Princípios de Modelagem Atividades de Análise e Projeto Análise e Projeto Orientados a Objeto Procura

Leia mais

Teste de Software. Karen Frigo Busolin Novembro / 2010

Teste de Software. Karen Frigo Busolin Novembro / 2010 Teste de Software Karen Frigo Busolin Novembro / 2010 Processo de Testes de Software Possibilitar aos profissionais maior visibilidade e organização dos trabalhos. Representa uma estruturação de etapas,

Leia mais

Engenharia de Software. Herbert Rausch Fernandes

Engenharia de Software. Herbert Rausch Fernandes Engenharia de Software Herbert Rausch Fernandes O Processo Unificado É uma tentativa de unir os melhores recursos e características dos modelos convencionais; Reconhece a importância da comunicação com

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA 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 mais

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata: QUESTÕES 1. 0 que é domínio da aplicação (ou do problema)? 2. Qual a importância da engenharia de software e como se justificam os custos a ela associados? 3. O que é processo de desenvolvimento de software

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

ANÁLISE E PROJETO DE SISTEMAS

ANÁLISE E PROJETO DE SISTEMAS CURSO TÉCNICO DE INFORMÁTICA Módulo C ANÁLISE E PROJETO DE SISTEMAS Análise Orientada a Objetos COMO CONSTRUIR UM SOFTWARE? WINDOWS 8 6000 desenvolvedores; 80 milhões de linhas de código; 29 milhões de

Leia mais

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha

Leia mais

MODELOS DE PROCESSOS (PARTE 2)

MODELOS DE PROCESSOS (PARTE 2) MODELOS DE PROCESSOS (PARTE 2) Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Recordando nossas Datas Provas (novas datas): 3ª Prova (1ª chamada): 03/07 2ª Prova (2ª chamada):

Leia mais

Engenharia de Software II

Engenharia 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 mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVOS Compreender os princípios de processo de software e por que ela vale a pena Compreender como os fatores do processo de software

Leia mais

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas

Leia mais