Prévia do material em texto
* PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Apresentação dos Conceitos de Desenvolvimento de Software Entendimento da Evolução e Práticas do Desenvolvimento de Software Aplicação dos Conceitos de Criação e Programação * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Fonte: http://2.bp.blogspot.com/-y7TNofB5Tx4/T3Dsg50RTuI/AAAAAAAAALI/0TaMpfjYt3Q/s400/iterativo_e_incremental.png * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Maturidade no desenvolvimento de software – Onde estão as empresas? http://www.blogcmmi.com.br/wp-content/uploads/2012/04/avaliacoes-cmmi-no-mundo-2012.jpg * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Certificação CMMI - (Capability Maturity Model - Integration ou Modelo de Maturidade em Capacitação – Integração) * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Curvas de Falhas de Hardware Fonte: PRESSMAN (2010) * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Curva de falhas para o software (idealizada) Fonte: PRESSMAN (2010) * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Curva real e curva idealizada de falhas de um software Fonte: PRESSMAN (2010) * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Quer dizer que não podemos fazer atualizações num software? Podemos e devemos. Porém, temos que levar em conta que: * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Todo software útil passa por mudanças: um software que tem utilidade no mundo real sempre vai passar por atualizações; Mudanças são necessárias: quando falamos de softwares comerciais, um software atualizado pode representar um diferencial estratégico para o cliente. Ou continua estático e se torna obsoleto ou muda para se adaptar ao negócio; Estudos mostram que 60% a 80% do esforço gasto em um software acontece depois dele ter sido entregue pela primeira vez ao usuário, ou seja, na manutenção. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Análise dos Modos de Falha e seus Efeitos Fonte: http://www.softexpert.com.br/images/fmea-tw.gif * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Análise dos Modos de Falha e seus Efeitos Bug do Milênio (1999) Custo: $500 bilhões Desastre: O desastre de um homem é a fortuna de outro, como demonstra o Bug do Milênio. Empresas gastaram bilhões com programadores para corrigir uma falha no software legado. Embora nenhuma falha significativa ocorreu, a preparação para o Bug do Milênio teve um custo significativo e impacto no tempo em todas as indústrias que usam a tecnologia computacional. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Causa: Para economizar espaço de armazenamento de computador, softwares legados muitas vezes armazenavam anos para datas com números de dois dígitos, como 99 para 1999. Esses softwares também interpretavam 00 para significar 1900, em vez de 2000, por isso, quando o ano de 2000 veio, bugs apareceriam. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Análise dos Modos de Falha e seus Efeitos Desastre no FBI (2005) Custo: $105 milhões jogados fora! Desastre: O FBI desistiu da revisão de um sistema após quatro anos de esforço. O projeto Arquivo Virtual foi um maciço sistema de software integrado para agentes compartilharem arquivos de casos e outras informações. Causa: Má gestão e uma tentativa de construir um projeto de longo prazo sobre tecnologia ultrapassada que resultou em um sistema complexo e inutilizável. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Análise dos Modos de Falha e seus Efeitos Crash na Wall Street (1987) Custo: $500 bilhões em um dia Desastre: Em 19 de outubro de 1987, o índice Dow Jones caiu 508 pontos, perdendo 22,6% de seu valor total. Esta foi a maior perda que Wall Street já sofreu em um único dia. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Causa: Um mercado em grande alta foi interrompido por uma série de investigações conduzidas pela SEC e por outras forças do mercado. Como os investidores fugiram de ações investigadas, um número muito grande de ordens de venda foram gerados pelos computadores, quebrando sistemas e deixando os investidores efetivamente cegos. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Análise dos Modos de Falha e seus Efeitos Linhas da AT&T “morrem” (1990) Custo: 75 milhões de ligações e 200 reservas aéreas perdidas Desastre: Um switch dos 114 centros de switches da AT&T sofreu um problema mecânico que fez com que todo o seu centro fosse desligado. Quando o seu centro voltou a ativa, enviou uma mensagem aos outros, o que causou o desligamento dos outros centros e deixou a empresa parada por 9 horas. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Causa: Uma única linha de código em uma atualização de software implementada para acelerar chamadas causou um efeito cascata que desligou a rede. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Análise dos Modos de Falha e seus Efeitos Pentium Falha em uma Divisão Longa (1993) Custo: $475 milhões e a credibilidade de uma empresa Desastre: O altamente promovido Pentium, da Intel, ocasionalmente cometeu erros ao dividir números de ponto flutuante em um intervalo específico. Por exemplo, dividindo 4195835.0/3145727.0 obteve 1,33374 ao invés de 1,33382, um erro de 0,006%. Embora o bug afetasse apenas alguns usuários, se tornou um pesadelo nas relações públicas. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Com uma estimativa de 5 milhões de chips defeituosos em circulação, a Intel se ofereceu para substituir os chips Pentium apenas para os consumidores que poderiam provar que eles precisavam de alta precisão. Contudo, a Intel acabou substituindo os chips de qualquer um que reclamou. Causa: O divisor na unidade de ponto flutuante do Pentium tinha uma tabela de divisão falha, faltando cerca de cinco mil entradas, resultando nestes erros de arredondamento. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Escopo de Software é a primeira atividade da gestão de um projeto de software. É definido pela resposta às seguintes questões: Contexto - Como o software a ser construído se encaixa no contexto de um sistema maior, do produto ou do negócio, que restrições são impostas como resultado do contexto? * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Objetivos da informação - Que objetivos de dados visíveis para o cliente são produzidos como saída pelo software? Que objetos de dados são necessários como entrada? Funções e desempenho - Que função o software desempenha para transformar os dados de entrada e saída? Existem características especiais de desempenho a serem tratadas? * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Problemas no Desenvolvimento Requisitos inadequados (mal levantados) Geralmente, o cliente não sabe o sistema que quer. Não conhece os requisitos, tem apenas uma ideia. Os requisitos vão evoluindo com o passar do tempo e com o cliente vendo o sistema construído até então. Software é muito abstrato, começa com um conjunto de ideias que vão evoluindo até chegar no ponto "ideal". * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Modelos de Processo É uma representação, ou abstração dos objetos e atividades envolvidas no processo de software. Além disso, oferece uma forma mais abrangente e fácil de representar o gerenciamento de processo de software e consequentemente o progresso do projeto. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE MODELO DE PROCESSO – EM CASCATA (waterfall) Fonte: http://3.bp.blogspot.com/_1zMw0ilyvIM/S_5d_-6LS4I/AAAAAAAAACw/mB233RBF6rM/S259/Modelo * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE http://pt.slideshare.net/CursoSENAC/engenharia-de-software * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Modelode Prototipação https://www.google.com.br/search?q=modelo+de+prototipa%C3%A7%C3%A3o&espv=210&es_sm=93&tbm=isch&source=iu&imgil=5is1tq8fp7_aPM%253A%253Bhttps%253A%252F%252Fencrypted-tbn1.gstatic.com%252Fimages%253Fq%253Dtbn%253AANd9GcQSY_J1hlhP0sSD8I4lqfFUtFf9hCUjbM2yzYsj4fnOI8vARXBz%253B363%253B362%253BqyHAfQd92IK1oM%253Bhttp%25253A%25252F%25252Finfomarcio.wordpress.com%25252F2010%25252F10%25252F30%25252Fciclo-de-vida-de-sistemas-de-informacao%25252F&sa=X&ei=SubVUszgI4HUkQeKjYDADw&ved=0CDIQ9QEwAQ&biw=1366&bih=667#facrc=_&imgdii=_&imgrc=DpQnDo6Y_S5bLM%253A%3BNvQL_79jSUbKLM%3Bhttp%253A%252F%252Fcentraldaengenharia.files.wordpress.com%252F2011%252F02%252Fprototipacao.jpg%3Bhttp%253A%252F%252Fcentraldaengenharia.wordpress.com%252F2011%252F02%252F09%252Fparadigmas-prototipacao%252F%3B200%3B178 * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Rapid Application Development (RAD) ou Desenvolvimento Rápido de Aplicação https://www.google.com.br/search?q=modelo+rad&espv=210&es_sm=93&tbm=isch&source=iu&imgil=Ba8i-vtFtHZpZM%253A%253Bhttps%253A%252F%252Fencrypted-tbn2.gstatic.com%252Fimages%253Fq%253Dtbn%253AANd9GcTRd4U15AqEcqIWiKvL_woQGXAPH7Ltg3vW9UIMCP3Xd0p7Mrei%253B600%253B339%253BllpKhKszLGpahM%253Bhttp%25253A%25252F%25252Fmodelorad.spaceblog.com.br%25252F&sa=X&ei=Oh_XUr37Oo7okAeexYCgCg&ved=0CDAQ9QEwAA * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE Modelo de Processos Evolutivo Os modelos evolutivos são caracterizados por iterações, o que possibilita o desenvolvimento de várias versões do produto. Estas versões são colocadas em produção e os requisitos sofrem constantes refinamentos. É importante salientar também que as versões, quando implantadas, podem gerar novos requisitos. * PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE * * * * * * * * * * * * * * * * * * * * * * * * * * * * *