Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina Online 2018.3 EAD - PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE (CCT0746/3021104) 9002 Aula 9 O processo iterativo e incremental Apresentação: Nesta aula, iremos demonstrar o modelo de desenvolvimento de software iterativo. Como vimos anteriormente, o modelo em cascata, também conhecido como “water fall” ou “Top-Down”, tem como característica utilizar as etapas que foram estudadas anteriormente de um modo sequencial e constantemente para frente, mas o processo em si possui algumas características, como: Passa para a fase subsequente somente quando a fase atual estiver completa. Não ser possível corrigir erros em fases já completas. O resultado do software somente será conhecido no final de todo o processo. Para resolver algumas dessas características, foi criada uma variante do processo com retro alimentação, ou seja, a possibilidade de corrigir e voltar em etapas anteriores. No processo iterativo e incremental, essas ideias e correções são feitas em pequenas porções ao invés do processo como um todo. Objetivos Conhecer o processo iterativo e incremental, modelo de desenvolvimento de software variante do processo em cascata; Entender as vantagens do modelo e suas limitações; Analisar as etapas iniciais do processo de desenvolvimento de software e aplicá-las no modelo iterativo. Introdução No desenvolvimento de software, temos vários modelos. Na aula anterior, estudamos o mais utilizado, o modelo em cascata. Você alguma vez já ouviu falar sobre desenvolvimento iterativo e incremental? Esse tipo de desenvolvimento, remete as metodologias ágeis. Vamos entender melhor. Modelo Iterativo Modelo que se baseia na ideia de melhoramento ou refinamento aos poucos. Caracteriza-se pela seleção de uma parte do projeto onde o grupo de desenvolvedores identifica, especifica, implementa e testa a iteração. Se esta atender às especificações, a equipe passa para a próxima iteração. Modelo Incremental Modelo que se baseia na ideia de aumento do âmbito do sistema, ou seja, na criação de novas versões para o modelo proposto. Modelo Iterativo e Incremental Metodologia de desenvolvimento de software que define um subconjunto de requisitos e utiliza o modelo em cascata para sua realização. Cada porção do ciclo segue o projeto de arquitetura inicial como guia, mas com uma abordagem bem menor. Uma vez satisfeitos os requisitos e os objetivos da iteração forem completos, o desenvolvimento segue para a próxima iteração. Exemplo Modelo de Prototipagem Criação de um modelo para ser analisado e desenvolvido a partir dele. O Analista coletará informações (requisitos) para um mini projeto (protótipo), concentrando-se nas entradas e saídas do software, bem como em suas iterações entre usuário e programa. Após a criação e aceitação do protótipo, o produto final será desenvolvido. Modelo Espiral O Modelo espiral se assemelha com o propotipação, mas inclui um fator: a análise de risco. Funciona de forma iterativa, incremental, mas com uma etapa onde pode ser tomada a decisão de se interromper ou não o processo. Exemplo SAIBA + Desenvolvimento Iterativo e Incremental Iterativo Incremental Metodologias Ágeis - Manifesto Ágil Modelos Iterativos Conceitos de Prototipagem TESTE DE CONHECIMENTO Quando em um projeto muito grande o processo permite que as atividades sejam divididas e desenvolvidas por partes estamos falando do modelo: · Prototipação · Espiral · Bottom-up · Iterativo-incremental · Cascata Explicação: O desenvolvimento é dividido em iterações, onde cada qual cuida de uma gama de requisitos. A medida que as iterações vão sendo construídas o sistema vai sendo incrementando com as novas funcionalidades Um protótipo de software pode ser usado em um processo de desenvolvimento de software para: I. Ajudar na descoberta e validação dos requisitos do sistema, durante a engenharia de requisitos. V II. Explorar soluções específicas de software e apoiar o projeto de interface com o usuário, durante o projeto do sistema. V III. Realizar testes completos com o sistema que será entregue para o cliente, durante o processo de teste. V Está correto o que se afirma em: · II, apenas. · II e III, apenas. · I e II, apenas. · I, apenas. · I, II e III. Sobre os modelos iterativos e incrementais, NÃO podemos afirmar · As metodologias Ágeis são modelos iterativos e incrementais · Define um conjunto de requisitos, chamado iteração, e usamos o modelo em Cascata · A iteração seguinte começa quando a anterior tiver sido implementada e validada. · Quando maior o sistema, mais requisitos e mais iterações · Apenas 3 iterações são suportadas no desenvolvimento de cada sistema Considere as seguintes características encontradas em projetos de desenvolvimento de software: I. Os requisitos são complexos e mudanças significativas são esperadas; II. Projeto de longo prazo; III. Os custos e os riscos de avaliação são importantes IV. Avaliação de riscos realizada constantemente Essas são características que encontramos no modelo: · Prototipação · Cascata · Espiral · Evolucionário · Incremental No modelo de prototipagem, podemos afirmar. · Após a criação , avaliação e refinamento do protótipo, o produto final será desenvolvido. V · 3 fases do modelo de prototipagem são: construção do protótipo, Obtenção dos requisitos e projeto rápido, respectivamente. · A 1a. Fase é a de Projeto Rápido · O modelo de prototipagem é muito parecido com o modelo em cascata · Existe pouca interação com os usuários, durante o processo. Explicação: Após a criação , avaliação e refinamento do protótipo, o produto final será desenvolvido. - verdade Existe pouca interação com os usuários, durante o processo. - falso, fundamental a interação com os usuários. 3 fases do modelo de prototipagem são: construção do protótipo, Obtenção dos requisitos e projeto rápido, respectivamente. - falso, são 6 fases e não 3. A 1a. Fase é a de Projeto Rápido. - falso, a 1a fase é a obtenção de requisitos. O modelo de prototipagem é muito parecido com o modelo em cascata - falso, são bem distintos. Na modelagem de processos, um modelo revolucionário de processo de software, originalmente proposto por Boehm, combina prototipagem e aspectos controlados e sistemáticos dos processos em cascata, sendo um gerador de modelo por risco, usado para guiar a engenharia de sistemas intensivos em softwares com vários interessados concorrentes, tendo duas características distintas, descritas a seguir. I. É uma abordagem cíclica, para aumentar incrementalmente o grau de definição e de implementação de um sistema enquanto diminui seu grau de risco. II. É um conjunto de marcos de ancoragem, para garantir o comprometimento dos interessados com soluções exequíveis e mutuamente satisfatórias para o sistema. Esse modelo é conhecido por: · empírico. · dinâmico. · espiral. · globalizado · integrado. Uma equipe de desenvolvimento está estudando qual o melhor modelo para a construção do sistema proposto. Sabe-se que um dos fatores principais é tempo que eles possuem para o desenvolvimento, e com isso gostariam de produzir protótipos com funcionalidades e desempenhos limitados, de forma a permitir que os desenvolvedores e clientes verifiquem as funções das implementações preliminares dos modelos de sistemas antes de se comprometerem com um sistema final. Qual é o melhor modelo para desenvolver este sistema? · Espiral · Evolucionário · Cascata · Prototipação · Iterativo Uma empresa resolveu desenvolver um sistema on-line utilizando o modelo de prototipação, pois ele executa uma abordagem top-down radical. Outros fatos que fizeram com que o gerente desenvolvesse o sistema nesta metodologia são: I- Porque durante cada interação, os requisitos e as soluções alternativas para o problema são identificadas e analisadas, novas soluções são projetadas e uma parte do sistema é implementada. II- Porque envolve a criação ou a aquisição dos vários componentes do sistema detalhados na fase de projeto, sua montagem e a disponibilização do sistema novo ou da versão modificada. III- Porque a prototipação tem inicio com a criaçãode um modelo preliminar de um grande subsistema ou de uma versão, em escala, do sistema todo. Analisando as duas sentenças acima, assinale a única resposta correta: · Somente a sentença II está correta · Somente as sentenças I e II estão corretas · Somente as sentenças I e III estão corretas · Somente as sentenças II e III estão corretas · Todas as sentenças apresentadas estão corretas Explicação: A prototipação é um modelo incremental, a cada iteração do desenvolvimento a versão é testada e colocada a disposição para testes e novas implementações.
Compartilhar