Baixe o app para aproveitar ainda mais
Prévia do material em texto
EngenhariaEngenharia de Software Ide Software I 1 Professor Adler Diniz de Souza IMC / UNIFEI Universidade Federal de Itajubá Aula 00Aula 00 07/05/201307/05/2013 AgendaAgenda �� DistribuiçãoDistribuição das das notasnotas �� IntroduçãoIntrodução –– Software: Software: SuasSuas característicascaracterísticas e e suasua evoluçãoevolução �� CriseCrise de softwarede software 2 �� CriseCrise de softwarede software �� MitosMitos e e verdadesverdades dada produçãoprodução de Softwarede Software �� EngenhariaEngenharia de Softwarede Software �� DefiniçõesDefinições de de ProcessoProcesso, , FerramentasFerramentas e e TécnicasTécnicas ObjetivoObjetivo dada aulaaula �� IntroduzirIntroduzir as as característicascaracterísticas peculiarespeculiares do software e do software e do do desenvolvimentodesenvolvimento de softwarede software �� ApresentarApresentar osos fatoresfatores queque geraramgeraram a a chamadachamada ““CriseCrise de software”de software” 3 �� DiscutirDiscutir as as causascausas dada ““CriseCrise de Software”de Software” �� DiscutirDiscutir osos mitosmitos e e verdadesverdades queque foramforam difundidasdifundidas com a com a crisecrise de softwarede software �� ApresentarApresentar algunsalguns conceitosconceitos básicosbásicos sobresobre a a EngenhariaEngenharia de Software de Software AgendaAgenda �� DistribuiçãoDistribuição das das notasnotas �� IntroduçãoIntrodução –– Software: Software: SuasSuas característicascaracterísticas e e suasua evoluçãoevolução �� CriseCrise de softwarede software 4 �� CriseCrise de softwarede software �� MitosMitos e e verdadesverdades dada produçãoprodução de Softwarede Software �� EngenhariaEngenharia de Softwarede Software �� ProcessoProcesso, , ferramentasferramentas e e técnicastécnicas de de EngenhariaEngenharia de de SoftwareSoftware DistribuiçãoDistribuição das das notasnotas �� 2 2 provasprovas valendovalendo 30% 30% cadacada;; �� 2 2 trabalhostrabalhos valendovalendo 20% 20% cadacada. . CadaCada trabalhotrabalho seráserá compostocomposto de:de: �� PropostaProposta técnicatécnica do do projetoprojeto, , contendocontendo osos requisitosrequisitos de de clientecliente e o e o orçamentoorçamento preliminarpreliminar do do projetoprojeto –– 4 4 ptosptos 5 orçamentoorçamento preliminarpreliminar do do projetoprojeto –– 4 4 ptosptos � Estimativa preliminar de tamanho e esforço do projeto – 2 ptos � Calculada com base nos requisitos presentes na Proposta Técnica; � Estimativa definitiva de tamanho e esforço do projeto – 2 ptos � Calculada com base nos requisitos presentes no Documento de Requisitos; � Documento de requisitos do projeto – 9 ptos � Matriz de rastreabilidade Bidirecional – 3 ptos AgendaAgenda �� DistribuiçãoDistribuição das das notasnotas �� IntroduçãoIntrodução –– Software: Software: SuasSuas característicascaracterísticas e e suasua evoluçãoevolução �� CriseCrise de softwarede software 6 �� CriseCrise de softwarede software �� MitosMitos e e verdadesverdades dada produçãoprodução de Softwarede Software �� EngenhariaEngenharia de Softwarede Software �� ProcessoProcesso, , ferramentasferramentas e e técnicastécnicas de de EngenhariaEngenharia de de SoftwareSoftware SoftwareSoftware �� Software é Software é o o produtoproduto queque osos engenheirosengenheiros de software de software projetamprojetam e e constroemconstroem.. �� O Software O Software englogaengloga: : � PROGRAMAS que quando executados produzem a função e o desempenho desejados 7 e o desempenho desejados �� DOCUMENTOSDOCUMENTOS que descrevem a operação e o uso dos programas �� ESTRUTURAS DE ESTRUTURAS DE DADOS DADOS que possibilitam que os programas manipulem adequadamente a informação Características do SoftwareCaracterísticas do Software � Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico � Não se desgasta mas se deteriora (se torna obsoleto) 8 � A maioria é feita sob medida em vez de ser montada a partir de componentes existentes � Ainda que atualmente esse cenário esteja mudando com o aumento da reutilização de produtos de software Evolução do SoftwareEvolução do Software (1950 - 1965) � O hardware sofreu contínuas mudanças � O software era uma arte "secundária" para a qual havia poucos métodos sistemáticos 9 havia poucos métodos sistemáticos � O hardware era de propósito geral � O software era específico para cada aplicação � Não havia documentação Evolução do SoftwareEvolução do Software (1965 - 1975) � Multiprogramação e sistemas multiusuários � Técnicas interativas 10 � Sistemas de tempo real � 1a geração de SGBD’s � Produto de software - software houses � Bibliotecas de Software Evolução do SoftwareEvolução do Software (1965 - 1975) � Cresce o número de sistemas baseado em computadores 11 � Manutenção quase impossível Crise de Software AgendaAgenda �� DistribuiçãoDistribuição das das notasnotas �� IntroduçãoIntrodução –– Software: Software: SuasSuas característicascaracterísticas e e suasua evoluçãoevolução �� CriseCrise de softwarede software 12 �� CriseCrise de softwarede software �� MitosMitos e e verdadesverdades dada produçãoprodução de Softwarede Software �� EngenhariaEngenharia de Softwarede Software �� ProcessoProcesso, , ferramentasferramentas e e técnicastécnicas de de EngenhariaEngenharia de de SoftwareSoftware Crise de SoftwareCrise de Software -- ProblemasProblemas 11-- As estimativas de prazo e de As estimativas de prazo e de custo custo freqüentemente eram imprecisasfreqüentemente eram imprecisas � Escopo mal definido � Falta de informações repetitivas 13 � Falta de informações repetitivas � Falta de informações históricas � Dificuldade para avaliar a eficácia de diferentes ferramentas e técnicas Crise de SoftwareCrise de Software -- ProblemasProblemas 22-- Insatisfação do cliente com o sistema concluído Insatisfação do cliente com o sistema concluído � Clientes nem sempre entendem qual é a solução para seu problema 14 seu problema � “Os projetos de desenvolvimento de software normalmente são efetuados apenas com um vago indício das necessidades do cliente” Crise de SoftwareCrise de Software -- ProblemasProblemas 33-- A qualidade A qualidade do do software software produzido nem sempre é produzido nem sempre é adequada adequada � Até mesmo a definição de qualidade ainda era vaga 15 � Até mesmo a definição de qualidade ainda era vaga Crise de SoftwareCrise de Software -- ProblemasProblemas 44-- O software existente é muito difícil de manterO software existente é muito difícil de manter � A tarefa de manutenção devora o orçamento destinado ao software 16 ao software � A facilidade de manutenção não foi enfatizada como um critério importante Causas dos problemas associados Causas dos problemas associados à crise de softwareà crise de software 1- Próprias carateriticas do software O software é um elemento de sistema lógico e não físico. Conseqüentemente o sucesso é medido pela 17 físico. Conseqüentemente o sucesso é medido pela qualidade de uma única entidade e não pela qualidade de muitas entidades manufaturadas O software não se desgasta, mas se deteriora ou se torna obsoleto ... Causas dos problemas associados Causas dos problemas associados à crise de softwareà crise de software 2- Falhas das pessoas responsáveis pelo desenvolvimento de software Gerentes sem nenhuma experiência em software 18 � Gerentes sem nenhuma experiência em software � Profissionais da área de software têm pouco treinamento formal em novas técnicas para o desenvolvimento de software � Resistência a mudançasCausas dos problemas associados Causas dos problemas associados à crise de softwareà crise de software 3- Mitos do software Propagaram a desinformação e confusão Gerentes 19 � Gerentes � Clientes � Profissionais AgendaAgenda �� DistribuiçãoDistribuição das das notasnotas �� IntroduçãoIntrodução –– Software: Software: SuasSuas característicascaracterísticas e e suasua evoluçãoevolução �� CriseCrise de softwarede software 20 �� CriseCrise de softwarede software �� MitosMitos e e verdadesverdades dada produçãoprodução de Softwarede Software �� EngenhariaEngenharia de Softwarede Software �� ProcessoProcesso, , ferramentasferramentas e e técnicastécnicas de de EngenhariaEngenharia de de SoftwareSoftware Mitos do software Mitos do software (Gerentes)(Gerentes) Mito 1: � Já temos um manual repleto de padrões e 21 procedimentos para a construção de software. � Isso não oferecerá ao meu pessoal tudo o que eles precisam saber? Mitos do software Mitos do software (Gerentes)(Gerentes) Realidade: � Será que o manual é usado? 22 � Os profissionais sabem que ele existe? � Ele reflete a prática moderna de desenvolvimento de software? � Ele é completo? Mitos do software Mitos do software (Gerentes)(Gerentes) Mito 2 � Meu pessoal tem ferramentas de 23 desenvolvimento de software de última geração � Compramos recentemente os mais novos computadores. Mitos do software Mitos do software (Gerentes)(Gerentes) Realidade: � É preciso muito mais do que os mais recentes 24 É preciso muito mais do que os mais recentes computadores para se fazer um desenvolvimento de software de alta qualidade. Mitos do software Mitos do software (Gerentes)(Gerentes) Mito 3: � Se nós estamos atrasados nos prazos, podemos 25 adicionar mais programadores e tirar o atraso Mitos do software Mitos do software (Gerentes)(Gerentes) Realidade: � O desenvolvimento de software não é um processo mecânico igual à manufatura. 26 processo mecânico igual à manufatura. Acrescentar pessoas em um projeto torna-o ainda mais atrasado. � Pessoas podem ser acrescentadas, mas somente de uma forma planejada. Mitos do software Mitos do software (Clientes)(Clientes) Mito 1: � Uma declaração geral dos objetivos é suficiente 27 para se começar a escrever programas - podemos preencher os detalhes mais tarde. Mitos do software Mitos do software (Clientes)(Clientes) Realidade: � Uma definição inicial ruim é a principal causa de fracassos dos esforços de desenvolvimento de 28 fracassos dos esforços de desenvolvimento de software. � É fundamental uma descrição formal e detalhada do domínio da informação, função, desempenho, interfaces, restrições de projeto e critérios de validação. Mitos do software Mitos do software (Clientes)(Clientes) Mito 2: � Os requisitos de projeto modificam-se 29 continuamente, mas as mudanças podem ser facilmente acomodadas, porque o software é flexível. Mitos do software Mitos do software (Clientes)(Clientes) Realidade: � Uma mudança, quando solicitada tardiamente em um projeto, pode ser maior do que a ordem de 30 um projeto, pode ser maior do que a ordem de magnitude mais dispendiosa da mesma mudança solicitada nas fases iniciais. Mitos do software Mitos do software (Clientes)(Clientes) Impacto de uma mudança FASES CUSTO DE MANUTENÇÃO 31 DEFINIÇÃO 1 x DESENVOLVIMENTO 1.5 - 6x MANUTENÇÃO 60 - 100x Mitos do software Mitos do software (Profissionais)(Profissionais) Mito 1: � Assim que escrevermos o programa e o 32 colocarmos em funcionamento nosso trabalho estará completo. Mitos do software Mitos do software (Profissionais)(Profissionais) Realidade: � Os dados da indústria indicam que entre 50% e 33 70% de todo esforço gasto em um programa serão despendidos depois que ele for entregue pela primeira vez ao cliente. Mitos do software Mitos do software (Profissionais)(Profissionais) Mito 2: � Enquanto o software não estiver "funcionando", 34 eu não terei realmente nenhuma maneira de avaliar sua qualidade. Mitos do software Mitos do software (Profissionais)(Profissionais) Realidade: � Um programa funcionando é somente uma parte de uma Configuração de Software que inclui 35 de uma Configuração de Software que inclui todos os itens de informação produzidos durante a construção e manutenção do software. AgendaAgenda �� DistribuiçãoDistribuição das das notasnotas �� IntroduçãoIntrodução –– Software: Software: SuasSuas característicascaracterísticas e e suasua evoluçãoevolução �� CriseCrise de softwarede software 36 �� CriseCrise de softwarede software �� MitosMitos e e verdadesverdades dada produçãoprodução de Softwarede Software �� EngenhariaEngenharia de Softwarede Software �� ProcessoProcesso, , ferramentasferramentas e e técnicastécnicas de de EngenhariaEngenharia de de SoftwareSoftware Resposta à Crise de SoftwareResposta à Crise de Software Engenharia de Software 37 A aplicação de uma abordagem sistemática, disciplinada e possível de ser medida para o desenvolvimento, operação e manutenção do software (IEEE) � Abrange um conjunto de três elementos fundamentais: Métodos, Ferramentas e Procedimentos para projetar, construir e manter grandes sistemas de O O ProcessoProcesso de Softwarede Software 38 projetar, construir e manter grandes sistemas de software de forma profissional Acúmulo Abandono de planos e Produto funciona, mas Situação atual da maioria das Situação atual da maioria das empresasempresas Demanda por Melhor Qualidade! melhor qualidade inclui:Acúmulo de trabalho planos e procedimentos Sucesso depende muito do esforço heróico das pessoas Pouca repetibilidade Produto funciona, mas com defeitos; prazo e custo maiores; e menos funcionalidade Clientes e funcionários insatisfeitos adaptado do ESI, 1998 melhor qualidade inclui: menor prazos, custos, defeitos, insatisfações, mais qualidade dos produtos, previsibilidade, produtividade, competitividade, e melhores resultados de negócio (ROI) 39 O que é um processo?O que é um processo? Processos A D B C E Solicitações para construção de produto ou realização de serviços de software Produto ou serviço de software realizado e entregue ao cliente Empresa 40 É o que as pessoas fazem, utilizando procedimentos, métodos e ferramentas, para adquirir, desenvolver, manter e melhorar software e produtos associados Objetivos Processo: Processo de SoftwareProcesso de Software Uma notação de processo comumente representa: Quais atividades são executadas no processo e suas interdependências? Quem realiza as atividades? Por que as atividades são feitas? É desejável que uma notação de processo seja: Flexível Simples Recursos e Infraestrutura Entradas Saídasatividades Processo: Por que as atividades são feitas? Quando as atividades são feitas? Como as atividades são feitas? Quais as entradas que as atividades devem ter? Quais saídas elas produzem? Como é possível medir o desempenho? Critérios de entrada e saída Informações narrativas Simples Fácil de entender e treinar Possuir ferramentais para suporte 41 Para a Para a próximapróxima aulaaula � Pesquisar o que é qualidade de software atualmente? � Como medir se o projeto teve qualidade?� Como medir se o projeto teve qualidade? � Como medir o sucesso de um projeto? � Quais medidas podem ser utilizadas para dizer que o projeto foi um sucesso? 15/03/2013 42 ReferênciasReferênciasparapara as as aulasaulas � Pfleeger, S. L. Engenharia de Software: Teoria e Prática. 2a Ed., São Paulo, Pearson, 2004. � Pressman, R. Engenharia de Software: uma � Pressman, R. Engenharia de Software: uma abordagem profissional. 7a edição, São Paulo: Artmed, 2011. � Sommervile, I. Engenharia de Software. 9a edíção, São Paulo: Pearson, 2011. 15/03/2013 43 FimFim EngenhariaEngenharia de Software de Software –– Aula 00Aula 00 Adler Diniz de Souza IMC / UNIFEI Universidade Federal de Itajubá
Compartilhar