Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição SOMMERVILLE...

Click here to load reader

  • date post

    22-Apr-2015
  • Category

    Documents

  • view

    143
  • download

    3

Embed Size (px)

Transcript of Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6° Edição SOMMERVILLE...

  • Slide 1
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 1 Introduo Engenharia de Software
  • Slide 2
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Conceitos de Engenharia de Software. Produto e processo de desenvolvimento de software. Extrao, anlise e especificao de requisitos. Mtodos de desenvolvimento de software. Verificao, validao e manuteno de especificaes de software. Planejamento e gesto de projetos. Estimativas: mtricas e modelos de custo, estudo de viabilidade Engenharia de Software Ementa 2
  • Slide 3
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Engenharia de Software Programa 1. INTRODUO 1.1 Definies e Objetivos 1.2 Conceitos Bsicos 1.3 Caractersticas do Software 1.4 Componentes e Aplicaes do Software 3
  • Slide 4
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Engenharia de Software Programa 2. PROCESSO DE SOFTWARE 2.1 Modelo de Processo 2.2 Ciclo de Vida Clssico/Modelo Cascata 2.3 Modelo Evolucionrio 2.4 Modelo Espiral 2.5 Tcnicas de Quarta Gerao 2.6 Desenvolvimento Rpido de Software 2.7 Combinando Paradigmas 4
  • Slide 5
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 3. REQUISITOS DE SOFTWARE 3.1 Classificao de requisitos 3.2 Tcnicas de extrao de requisitos 3.3 Documento de requisitos de software 3.4 Processos de Engenharia de Requisitos Engenharia de Software Programa 5
  • Slide 6
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 4. GERENCIAMENTO DE CUSTO 4.1 Planejamento 4.2 Estudo de Viabilidade 4.3 Estimativa 4.4 Mtricas de Software 4.5 Gerenciamento de Pessoal 4.6 Gerenciamento de Grupos Engenharia de Software Programa 6
  • Slide 7
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 5. MODELOS DE SISTEMA 5.1 Modelos de Contexto 5.2 Modelos de Comportamento 5.3 Mtodos Estruturados 5.4 Mtodos Orientado a Objeto Casos de Uso Engenharia de Software Programa 7
  • Slide 8
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 6.MODELO PARA PROJETO 6.1 Hierarquia de mdulos e objetos 6.2 Estratgias para derivar o projeto 6.3 Qualidade do projeto: coeso, acoplamento Engenharia de Software Programa 8
  • Slide 9
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 7. MODELO DE DADOS 7.1 Diagrama de Entidade e Relacionamento 7.2 Tipos de Entidades 7.3 Tipos de Relacionamento 7.4 Normalizao Engenharia de Software Programa 9
  • Slide 10
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 8.VERIFICAO, VALIDAO E TESTE 8.1 Planejamento de verificao e validao 8.2 Inspees de Software 8.3 Teste de Software Engenharia de Software Programa 10
  • Slide 11
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 9. EVOLUO DE SOFTWARE 9.1 Manuteno de Software 9.2 Tipos de Manuteno 9.3 Previso de mudanas 9.4 Processo de Evoluo 9.5 Evoluo de Sistemas Legados Engenharia de Software Programa 11
  • Slide 12
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 10. GERENCIAMENTO DE QUALIDADE 10.1 Qualidade de Processo e de Produto 10.2 Padres de Qualidade 10.3 Controle de Qualidade Engenharia de Software Programa 12
  • Slide 13
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Engenharia de Software Bibliografia Bsica Sommerville, Ian, Engenharia de Software. Ed. Addison Wesley, 8 Edio PRESSMAN, ROGER, Engenharia de Software. Ed. Mc-Graw Hill, 6 Edio, 2006. POMPILHO, S. Anlise Essencial Guia Prtico de Anlise de Sistemas. Ed. Infobook, 1995. 13
  • Slide 14
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Engenharia de Software Bibliografia de Apoio http://wps.prenhall.com/br_pfleeger_engsoftware_2 http://wps.prenhall.com/br_pfleeger_engsoftware_2 www.aw.com/sommerville_brwww.aw.com/sommerville_br http://www.computer.org/portal/web/swebok/html/copyright http://www.computer.org/portal/web/swebok/html/copyright 14
  • Slide 15
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Objetivos Compreender o que Engenharia de Software e por que ela importante. Mostrar as distines e relacionamentos entre sistema e software. Mostrar as principais questes sobre engenharia software. Compreender questes profissionais e ticas relevantes para os engenheiros de software. 15
  • Slide 16
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Por que? Por que tanta demora para entregar o sistema? Por que os prazos se atrasam? Por que os custos so altos? Por que no achar todos os erros antes de entregar? Por que difcil medir o progresso do desenvolvimento de um software? 16
  • Slide 17
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio No mercado atual, no h dvida de que os profissionais de TI envolvidos com projetos de desenvolvimento de software e solues corporativas tm um claro desafio: 17 Desafio
  • Slide 18
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 18 PRODUZIR solues mais rpidas, melhores e mais baratas que antes (melhor ainda ser mais rpidas, melhores e mais baratas que a concorrncia) Desafio
  • Slide 19
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Desenvolver software um problema de mtodos e tcnica, em suma, de atividade humana. Gerenciar projetos de TI gerenciar riscos assumidos e vencidos por seres humanos inteligentes. 19 Desafio
  • Slide 20
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Evoluo do Software PerodoEvoluo 1950-1960Orientao a batch Software totalmente customizado Distribuio limitada 1960-1970Multiusurios Tempo Real Banco de Dados 20
  • Slide 21
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Desafio PerodoEvoluo 1980-1990Sistemas distribudos Inteligncia Embutida Hardware de baixo custo 1990-2000Sistemas de desktop poderosos Tecnologia orientada a objeto Sistemas Especialistas.... 21
  • Slide 22
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Desafio PerodoEvoluo 2000 - atualAs tecnologias orientadas a objetos Uso das tcnicas de "quarta gerao" para o desenvolvimento de software Os sistemas especialistas e o software de inteligncia artificial. 22
  • Slide 23
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Aplicao do Software BsicoColeo de programas escritos para apoio a outros programas. Tempo RealSoftware que monitora / analisa / controla eventos do mundo real. ComercialProcessa informaes comerciais, reestruturao de dados para tomada de decises. Cientfico e de engenharia Algoritmos de processamento de nmeros(astronomia,vulcanologia). 23
  • Slide 24
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Aplicao do Software Embutidousado para controlar produtos e sistemas para os mercados industriais e de consumo. Computador Pessoal Processamento de textos, planilhas, computao grfica. Inteligncia Artificial faz uso de algoritmos no numricos para resolver problemas que no sejam favorveis computao ou anlise direta. 24
  • Slide 25
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio O que Sistema? um conjunto de elementos inter- dependentes que realizam operaes visando atingir metas especificadas. 25
  • Slide 26
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Sistema de Computao aquele destinado ao suporte ou automao de tarefas atravs de processamento de informaes. 26
  • Slide 27
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Componentes de Sistemas de Computao HardwareComputadores,perifricos e redes. SoftwareOs programas e arquivos de dados. UsuriosUsurios e operadores que realizam as tarefas e procedimentos. 27
  • Slide 28
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Componentes de Sistemas de Computao (cont.) Procedimentos Atividades realizadas pelos usurios e operadores, bem como pelos programas. Documentao Manuais e formulrios que descrevem as operaes do sistema. 28
  • Slide 29
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Exemplos de Sistemas Computacionais Automao Bancria Frequncia e Folha de Pagamento Controle de Trfego Urbano Controle Acadmico Editorao de Jornais e Revistas Controle de Elevadores Automao de Biblioteca 29
  • Slide 30
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio O que Software? Programas de computadores associados a documentao. um conjunto de solues algortmicas, codificadas numa linguagem de programao, executado numa mquina real. 30
  • Slide 31
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Tipos de produtos de software Genricos (COTS Commercial Off- The Shelf) - tipo stand-alone, pacotes de software, como por exemplo, processadores de texto, ferramentas de gerenciamento. Sob encomenda ( personalizado) desenvolvido para um cliente em particular. 31
  • Slide 32
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Componentes do Software 32
  • Slide 33
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Caractersticas do Software Complexidade Conformidade Mutabilidade 33
  • Slide 34
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Caractersticas do Software Complexidade Software mais complexo do que qualquer outro produto construdos por seres humanos. 34
  • Slide 35
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Caractersticas do Software Conformidade O software deve ser desenvolvido conforme o ambiente. No o ambiente que deve se adaptar ao software. Desenvolvido ou projetado por engenharia, no manufaturado no sentido clssico (industrial). Sucesso medido pela qualidade e no quantidade. 35
  • Slide 36
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Caractersticas do Software Mutabilidade Existe sempre uma presso para se fazer mudanas em um software. No se desgasta, mas se deteriora devido as mudanas. A maioria feita sob medida em vez de ser montada a partir de catlogos de componentes existentes (reusabilidade de software). 36
  • Slide 37
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Falhas do Hardware tempo desgaste mortalidade infantil ndice de falhas Defeitos de projeto e manufatura Problemas Ambientais (poeira, vibrao, abuso, temperaturas,...) 37
  • Slide 38
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Falhas do Software mudanas ndice de falhas curva real curva idealizada tempo 38
  • Slide 39
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Falhas do Hardware/Software Quando um componente de hardware se desgasta substitudo por uma pea de reposio No existe pea de reposio para software Toda falha indica um erro no projeto ou no processo de traduo para o cdigo executvel Manuteno do software mais complexa do que a do hardware 39
  • Slide 40
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Formas do Software 40
  • Slide 41
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Crise do Software Refere-se a um conjunto de problemas encontrados no desenvolvimento de software. Problemas no se limitam a softwares que no funcionam adequadamente. 41
  • Slide 42
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Crise do Software Prazos ultrapassados Custos acima do previsto No atendimento dos requisitos do usurio 42
  • Slide 43
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Elevado custo de manuteno 1/3 dos projetos so cancelados 2/3 dos projetos extrapolam o oramento Custo hardware x software 1970 = 8:2 1991 = 2:8 Hoje = 1:9 43 Crise do Software
  • Slide 44
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio As estimativas de prazo e de custo so imprecisas: No dedicamos tempo para coletar dados sobre o processo de desenvolvimento de software Estimativas so feitas a olho, com resultados ruins Os prazos arrastam-se por meses 44 Crise do Software
  • Slide 45
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio As estimativas de prazo e de custo so imprecisas (cont.) Causa insatisfao para o cliente e falta de confiana. Sem nenhuma indicao slida de produtividade, no podemos avaliar com preciso a eficcia de novas ferramentas, mtodos ou padres. 45 Crise do Software
  • Slide 46
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Crise do Sofware A produtividade das pessoas da rea de software no tem acompanhado a demanda por seus servios Os projetos de desenvolvimento de software normalmente so efetuados apenas com um vago indcio das exigncias do cliente 46
  • Slide 47
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Crise do Sofware O software existente muito difcil de manter: A tarefa de manuteno devora o oramento destinado ao software A facilidade de manuteno no foi enfatizada como um critrio importante. 47
  • Slide 48
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Crise do Sofware Soluo para a Crise do Sofware Engenharia de Software aliada a: TCNICAS E FERRAMENTAS 48
  • Slide 49
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Causas dos problemas associados crise de software Filosofia do Software. Falhas das Pessoas Responsveis pelo Desenvolvimento de Software. Mitos do Software. 49
  • Slide 50
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Filosofia do Software O software um elemento de sistema lgico e no fsico. Consequentemente, o sucesso medido pela qualidade de uma nica entidade e no pela qualidade de muitas entidades manufaturadas. 50
  • Slide 51
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Falhas das Pessoas Responsveis pelo Desenvolvimento de Software Gerentes sem nenhum background em software. Os profissionais da rea de software tm recebido pouco treinamento formal em novas tcnicas para o desenvolvimento de software. Resistncia a mudanas. 51
  • Slide 52
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos do Software Mitos do Administrativos, do Cliente e do Profissional 52
  • Slide 53
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Problemas Administrativos Gerentes se encontram sob presso manter oramentos evitar que os prazos sejam ultrapassados melhorar a qualidade 53
  • Slide 54
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos Administrativos Mito: J temos um manual repleto de padres e procedimentos para a construo de software. 54
  • Slide 55
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos Administrativos Realidade: Ser que o manual usado? Os profissionais sabem que ele existe? Ele reflete a prtica moderna de desenvolvimento de software? Ele completo? 55
  • Slide 56
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos Administrativos Mito: Meu pessoal tem ferramentas de desenvolvimento de software de ltima gerao; afinal compramos para eles os mais novos computadores. 56
  • Slide 57
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos Administrativos Realidade: preciso muito mais do que os mais recentes computadores para se fazer um desenvolvimento de software de alta qualidade. Ferramentas de Engenharia de Software Auxiliada por Computador - CASE (Computer-Aided Software Engineering) so mais importantes do que o hardware. 57
  • Slide 58
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos Administrativos Mito: Se ns estamos atrasados nos prazos, podemos adicionar mais programadores e tirar o atraso. 58
  • Slide 59
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos Administrativos Realidade: O desenvolvimento de software no um processo mecnico igual manufatura. Acrescentar pessoas em um projeto torna-o ainda mais atrasado. Pessoas podem ser acrescentadas. 59
  • Slide 60
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos dos Clientes Mito: Uma declarao geral dos objetivos suficiente para se comear a escrever programas - podemos preencher os detalhes mais tarde. 60
  • Slide 61
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Realidade: Uma definio inicial ruim a principal causa de fracassos dos esforos de desenvolvimento de software. fundamental uma descrio formal e detalhada do domnio da informao, funo, desempenho, interfaces, restries de projeto e critrios de validao. 61 Mitos dos Clientes
  • Slide 62
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos dos Clientes Mito: Os requisitos de projeto modificam-se continuamente, mas as mudanas podem ser facilmente acomodadas, porque o software flexvel. 62
  • Slide 63
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Realidade: Requisitos podem ser mudados, mas o impacto varia de acordo com o tempo que introduzido (projeto e custo). Uma mudana, quando solicitada tardiamente num projeto, mais dispendiosa do que a mesma mudana solicitada nas fases iniciais. 63 Mitos dos Clientes
  • Slide 64
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos do Profissional Mito: Assim que escrevermos o programa e o colocarmos em funcionamento nosso trabalho estar completo. 64
  • Slide 65
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos do Profissional Realidade: Os dados da indstria indicam que entre 50 e 70% de todo esforo gasto num programa sero despendidos depois que ele for entregue pela primeira vez ao cliente 65
  • Slide 66
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos do Profissional Mito: Enquanto no tiver o programa "funcionando", eu no terei realmente nenhuma maneira de avaliar sua qualidade. 66
  • Slide 67
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos do Profissional Realidade: Mecanismo (Reviso Tcnica Formal) de garantia de qualidade de software aplicado desde o comeo do projeto. Revises de software so um filtro de qualidade - descobre erros/defeitos. 67
  • Slide 68
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos do Profissional Mito: A nica coisa a ser entregue em um projeto bem sucedido o programa funcionando. 68
  • Slide 69
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mitos do Profissional Realidade: Um programa funcionando somente uma parte de uma Configurao de Software que inclui todos os itens de informao produzidos durante a construo e manuteno do software. A DOCUMENTAO o alicerce 69
  • Slide 70
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Categorias de Tamanho de Softwares CategoriaTamanho da Equipe Durao Tamanho do Fonte (linhas de cdigo) Trivial 1 1-4 semanas500 Pequeno 1 1-6 meses1000 a 2000 Mdio 2-5 1-2 anos5 mil a 50 mil Grande 5-20 2-3 anos50 mil a 100 mil Muito grande 100-200 4-5 anos1 milho Extremamente grande 2000-5000 5-10 anos1 a 10 milhes ex: O Win 95: teve 11 milhes de linhas e 200 programadores / O Nestscape teve 3 milhes de linhas e 120 programadores 70
  • Slide 71
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Soluo Reconhecer os problemas e suas causas e desmascarar os mitos do software so os primeiros passos Mtodos e Tcnicas para disciplinar o processo de desenvolvimento do software.. 71
  • Slide 72
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio SOLUO Reconhecer os problemas e suas causas e desmascarar os mitos do software so os primeiros passos Mtodos e Tcnicas para disciplinar o processo de desenvolvimento do software.. 72
  • Slide 73
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Aspectos histricos da Engenharia de Software 1968 Conferncia da OTAN Objetivo: resolver a Crise do Software Software entregue Atrasado Com oramento estourado Com falhas residuais 73
  • Slide 74
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Eles no encontraram uma soluo, mas definiram uma meta: Engenharia de Software. Custo do hardware decrescente e custo do software em ascenso. 74 Aspectos histricos da Engenharia de Software
  • Slide 75
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio O que Engenharia de Software? Fritz Bauer 1969 ( primeira definio) O estabelecimento e uso de slidos princpios de engenharia para que se possa obter economicamente um software que seja confivel e que funcione eficientemente em mquinas reais 75
  • Slide 76
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio IEEE, 1993 A aplicao de uma abordagem sistemtica, disciplinada e quantificvel para o desenvolvimento, operao e manuteno do software. O estudo de abordagens e princpios a fim de obter economicamente softwares confiveis e que executem de forma eficiente nas mquinas reais 76 O que Engenharia de Software?
  • Slide 77
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Programador (tcnicas) Engenheiro (tcnicas) 1.Paradigma de tentativa e erro 1. Paradigma adaptado ao escopo do sistema 2. Estrutura de Dados2. Anlise e Projeto 3. Linguagens de Programao 3. Ferramentas CASE e SGBDs 77 O que Engenharia de Software?
  • Slide 78
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio uma disciplina que integra mtodos, ferramentas e procedimentos para o desenvolvimento de software de computador. Possibilitar ao gerente o controle do processo de desenvolvimento. Oferecer ao profissional uma base para a construo de software de alta qualidade. 78 O que Engenharia de Software?
  • Slide 79
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Engenharia de Software - Mtodo Proporcionam os detalhes de como fazer para construir o software. Envolvem um amplo conjunto de tarefas. Um mtodo de ES uma aproximao estruturada para o desenvolvimento de software. 79
  • Slide 80
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Todos os mtodos pretendem Criar modelos do sistema que possam ser representados graficamente; Usar estes mtodos como especificao. 80 Engenharia de Software - Mtodo
  • Slide 81
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Dcada de 70 (DeMarco e Jackson): Orientado funo. 80s-90s (Booch e Rumbaugh): Mtodos orientados a objeto. Atualmente os diferentes mtodos esto integrados numa aproximao unificada baseada em Unified Modeling Language (UML). 81 Engenharia de Software - Mtodo
  • Slide 82
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 82 Engenharia de Software - Mtodo
  • Slide 83
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Mtodos devem incluir os seguintes componentes: Descrio grficas Regras Recomendaes Diretrizes de processo 83 Engenharia de Software - Mtodo
  • Slide 84
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Descrio grficas. Descries dos modelos do sistema que devero ser desenvolvidos e da notao usada para os definir. Ex. Modelos de objetos, fluxos de dados etc. 84 Engenharia de Software - Mtodo
  • Slide 85
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Regras Restries que se aplicam a modelos de sistema. Ex.Cada entidade deve ter um nico nome. Recomendaes Conselho em prtica de projeto. Ex.Nenhum objeto deve ter mais que sete subobjetos. 85 Engenharia de Software - Mtodo
  • Slide 86
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Diretrizes de processo Descrio das atividades que podem ser seguidas. Atributos de objetos devem ser documentados. 86 Engenharia de Software - Mtodo
  • Slide 87
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Fornecem suporte automatizado ou semi- automatizado aos mtodos. Existem atualmente ferramentas para sustentar cada um dos mtodos. Quando as ferramentas so integradas estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE. Engenharia de Software - Ferramentas 87
  • Slide 88
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio O que CASE (Computer-Aided Software Engineering) Upper-CASE - Ferramenta para dar apoio s fases iniciais do processo de software. Lower-CASE - Ferramenta para dar apoio implementao a aos testes. Ex.(Poseidon para UML, ArgoUML..) 88
  • Slide 89
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Constituem o elo de ligao que mantm juntos os mtodos e as ferramentas para desenvolvimento do software. Sequncia em que os mtodos sero aplicados. Controles que ajudam assegurar a qualidade e coordenar as alteraes. Marcos de referncia que possibilitam administrar o progresso do software. 89 Engenharia de Software - Procedimentos
  • Slide 90
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Procedimentos Engenharia de Software - Procedimentos Mtodos Ferramentas Resultados 90
  • Slide 91
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Princpios da Engenharia de Software Todo engenheiro de software deve desenvolver com: Rigor e Formalidade Separao de interesses Modularidade Abstrao Antecipao de mudanas Generalidade Possibilidades de evoluo 91
  • Slide 92
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Rigor e Formalidade O rigor a abordagem que produz produtos mais confiveis pelo controle das variveis envolvidas. Formalidade o requisito de que o processo seja dirigido e avaliado por leis matemticas. 92 Princpios da Engenharia de Software
  • Slide 93
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Separao de interesses Separar conceitos permite-nos trabalhar com aspectos individuais e diferentes de um mesmo problema. Esta separao facilita o entendimento, focando a ateno em certas caractersticas mais significativas. 93 Princpios da Engenharia de Software
  • Slide 94
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Modularidade Consiste na diviso de sistemas complexos em partes menores e mais simples (mdulos) com caractersticas desejveis (coeso e acoplamento). 94 Princpios da Engenharia de Software
  • Slide 95
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Modularidade (cont.) Decomposio o ato de dividir um problema original em subproblemas recursivamente. Composio o ato de juntar os elementos componentes de um problema at chegar ao sistema completo. Ajuda na manuteno do sistema. 95 Princpios da Engenharia de Software
  • Slide 96
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Antecipao de mudanas Sistemas de softwares so desenvolvidos enquanto seus requisitos ainda no esto totalmente claros. Quando o sistema finalmente liberado, novos requisitos podem ser descobertos e velhos requisitos atualizados atravs do feedback do usurio. 96 Princpios da Engenharia de Software
  • Slide 97
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Generalidade / Especialidade Solues genricas tendem a ser mais caras em termos de recursos e em tempo de desenvolvimento, ao contrrio das solues especficas. No processo de produo de software estas questes devem ser cuidadosamente analisadas. 97 Princpios da Engenharia de Software
  • Slide 98
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Incrementabilidade Caracteriza o processo em modo passo a passo, incrementalmente. O objetivo desejado atingido por aproximaes sucessivas. til quando os requisitos iniciais no foram todos obtidos antes do incio do desenvolvimento da aplicao. 98 Princpios da Engenharia de Software
  • Slide 99
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Quais os custos da Engenharia de Software? A distribuio dos custos atravs do processo de software depende do processo usado e do tipo de software a desenvolver. Custos de desenvolvimento de um software complexo quando se conseguem definir custos separadamente para especificao, desenho, implementao, integrao e testes. 99
  • Slide 100
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 100 Quais os custos da Engenharia de Software?
  • Slide 101
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio 0255075100 EspecificaoDesenhoDesenvolvimentoIntegrao e Teste Custos segundo aproximao evolutiva 0255075100 EspecificaoDesenvolvimento EvolutivoTestes do Sistema 101 Quais os custos da Engenharia de Software?
  • Slide 102
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Custos de desenvolvimento de produtos de software genricos: 0255075100 EspecificaoDesenvolvimentoTeste 102 Quais os custos da Engenharia de Software? Custos relativos entre desenvolvimento e manuteno do software 0255075100 DesenvolvimentoManuteno
  • Slide 103
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Custo em relao a falhas 103
  • Slide 104
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Impacto dos custo de manuteno Manuteno corretiva [aproximadamente 20%] 60 a 70% das necessidades de correo so falhas de especificao ou design. Manuteno evolutiva (melhoria) Aperfeioamento [aproximadamente 60%] Adaptao [aproximadamente 20%] 104
  • Slide 105
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Principais desafios enfrentados pela Engenharia de Software Sistemas de legado - Devem ser mantidos e devem ser atualizado. Heterogeneidade - Operar com sistemas distribudos e incluem uma mistura de hardware e software. Fornecimento - Entrega mais rpida de software. 105
  • Slide 106
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Responsabilidade profissional e tica Confiabilidade respeitar a confiabilidade de seus empregadores ou clientes. Competncia os engenheiros no devem aceitar servios que estejam for a do seu limite de competncia. 106
  • Slide 107
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Direito de propriedade intelectual os engenheiros devem estar cientes das leis locais que regulam o uso da propriedade intelectual, como patentes e direitos autorais. 107 Responsabilidade profissional e tica
  • Slide 108
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Resumindo Engenharia de Software Aplicao de teoria, modelos, formalismos, tcnicas e ferramentas da cincia da computao e reas afins para o desenvolvimento sistemtico de software. Produo da documentao formal destinada a comunicao entre os membros da equipe de desenvolvimento bem como aos usurios. 108
  • Slide 109
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Resumindo Engenharia de Software Encontrar caminhos para se "construir" softwares de qualidade. Fatores externos, perceptveis aos usurios e clientes, devem ser distinguidos dos fatores internos, perceptveis aos projetistas e implementadores. 109
  • Slide 110
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio A manuteno de software, que consome grande parte dos custos do software, penalizada pela dificuldade em se implementar mudanas no software produto, e pela excessiva dependncia dos programas da estrutura fsica dos dados que eles manipulam. 110 Resumindo Engenharia de Software
  • Slide 111
  • Profa. Maria Auxiliadora Fonte: PRESSMAN, ROGER - Engenharia de Software - 6 Edio SOMMERVILLE - Engenharia de Software - 8 Edio Prtica Visualizando a informtica em uma empresa, cite exemplos de: Mitos utilizados pelo analista ou pelo administrador de uma empresa especfica. Falhas que ocasionaram grandes custos. Falhas que ocasionaram mudanas de projetos. 111