Baixe o app para aproveitar ainda mais
Prévia do material em texto
ENGENHARIA DE SOFTWARE – AULA 07 - TURMA UC4 – 4FM Prof Regina Felício MODELOS DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE DESENVOLVIMENTO SEQUENCIAL E LINEAR O QUE DIFICULTA AJUSTES CASO NECESSÁRIO E INDENTIFICAR ONDE OCORREU O PROBLEMA MODELOS DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE - MODELO CASCATA -REVISÃO -AVALIAÇÃO -VERIFICAÇÃO -VALIDAÇÃO GARANTIA DE QUALIDADE MODELOS DE PROCESSOS PRESCRITIVOS Necessidade de ter modelos mais completos que atenda a todo e qualquer produto do tipo SOFTWARE. Modelos Cascata Iterativos Incremental Evolucionário SITUAÇÃO PROBLEMA Nas aulas anteriores, conhecemos todas as etapas do modelo cascata, também chamado de modelo clássico. Você acredita que um dos primeiros modelos de processo para o desenvolvimento de software, ainda seja amplamente utilizado pelas empresas? Por quê? Quais os seus principais problemas? MODELO PRESCRITIVO – MODELO CASCATA COM RETROALIMENTAÇÃO modelo em cascata com retroalimentação, que tentou minimizar o impacto das mudanças de requisitos MODELO PRESCRITIVO – MODELO CASCATA EM V RETROALIMENTAÇÃO modelo em cascata desenhou uma estratégia de testes durante todo desenvolvimento MODELO PRESCRITIVO – MODELO INCREMETAL o Modelo incremental, adequado quando os requisitos são conhecidos no início do desenvolvimento e existe necessidade de entrega de um produto funcional em pouco tempo PRIMEIRO RASCUNHO DO MODELO INCREMENTAL **** Falta o “olhar” para as característica e a fase de implantação MODELO PRESCRITIVO – MODELO INCREMETAL o Modelo incremental, adequado quando os requisitos são conhecidos no início do desenvolvimento e existe necessidade de entrega de um produto funcional em pouco tempo MODELO PRESCRITIVO – MODELO INCREMETAL o Modelo incremental, adequado quando os requisitos são conhecidos no início do desenvolvimento e existe necessidade de entrega de um produto funcional em pouco tempo. MODELO PRESCRITIVO – MODELO EVOLUCIONÁRIO (ITERATIVO) - PROTOTIPAÇÃO modelos evolucionários (Iterativos), em que os requisitos são parcialmente definidos e depois são refinados. Como é o exemplo da prototipação, que constrói protótipos descartáveis MODELO PRESCRITIVO – MODELO EVOLUCIONÁRIO (ITERATIVO) - PROTOTIPAÇÃO MVP MÍNIMO PRODUTO VIÁVEL MODELO PRESCRITIVO – MODELO ESPIRAL modelo espiral, o qual evolui de maneira cíclica, utilizando a prototipagem e a análise de riscos MODELO PRESCRITIVO – MODELO ESPIRAL modelo espiral, o qual evolui de maneira cíclica, utilizando a prototipagem e a análise de riscos PROTÓTIPO MODELO PRESCRITIVO – MODELO ESPIRAL modelo espiral, o qual evolui de maneira cíclica, utilizando a prototipagem e análise de riscos Atividade Verificadora Escolher um Modelo de Ciclo de Vida. Após 10 minutos de pesquisa e organização - defender as características do seu modelo MODELO DE CICLO DE VIDA CASCATA CARACTERÍSTICAS É composto por uma sequência de atividades, onde a próxima atividade só inicia quando a atual é finalizada, ou seja, o resultado de uma etapa é utilizado na etapa seguinte. Esse processo tem uma característica por ser guiado por documentos, sendo assim, cada etapa gera uma documentação. VANTAGENS Uma das principais vantagens do modelo é que, quando bem utilizado, ele não permite pular fases. A etapa seguinte só é iniciada após concluída a anterior. Com isso, é possível garantir que não haverá falhas de aplicação do modelo no decorrer do projeto DESVANTAGENS Processo só pode ser seguido após finalização da etapa anterior PARTICIPANTES: Lucas Cirilo Breno Torres Patric Marlon MODELO DE CICLO DE VIDA ESPIRAL CARACTERÍSTICAS é uma das melhores formas de garantir um bom alinhamento entre o desenvolvimento do software e a necessidade do usuário que irá utilizá-lo VANTAGENS Mais versátil em relação a mudanças. Pelo fato de não existir fases fixas. Possui uma interação maior entre o desenvolvedor e o cliente. DESVANTAGENS é que ele é melhor aplicado somente em produtos internos da empresa. Exige um alto nível de gerenciamento em todo o processo. PARTICIPANTES: Alexandre Nogueira do Nascimento Breno Torres Guilherme Ganzarolli Leonardo Silva Alcantara MODELO DE CICLO DE VIDA RAD CARACTERÍSTICAS o sistema é dividido em módulos, tomando por base a funcionalidade. Tendo os incrementos definidos, a cada ciclo é acrescido de novas funcionalidades ou até mesmo modificações, caso seja necessário. Outra característica é justamente essa maleabilidade de adaptação dos processos e a capacidade de se manter em constante evolução. VANTAGENS economia de tempo progresso mensurável trabalho com modelos integração mais rápida de sistemas feedback constante DESVANTAGENS Se uma aplicação não puder ser modularizada tendem a perder em desempenho do sistema e na análise de risco (atividades estas que demandam tempo em qualquer projeto). Assim, é preferível seu uso para softwares de distribuição pequena. PARTICIPANTES: Jorge Juan Wesley Monteiro Gatti MODELO DE CICLO DE VIDA ITERATIVO E INCREMENTAL CARACTERÍSTICAS O sistema é dividido em módulos, tomando por base a funcionalidade. Tendo os incrementos definidos, a cada ciclo é acrescido de novas funcionalidades ou até mesmo modificações, caso seja necessário. Outra característica é justamente essa maleabilidade de adaptação dos processos e a capacidade de se manter em constante evolução. VANTAGENS Redução do risco de lançar o projeto no mercado fora da data planejada. Identificando os riscos numa fase inicial o esforço despendido para gerenciá-los ocorre cedo, quando as pessoas estão sob menos pressão do que numa fase final de projeto. A equipe envolvida pode refinar e melhorar pouco-a-pouco a qualidade e os detalhes do sistema envolvido. DESVANTAGENS Só pode ser seguido para próxima etapa após a finalização da etapa anterior. Participante: Adrian Muzy Pedro Henrique dos Santos. Vladimir Silva MODELO DE CICLO DE VIDA ITERATIVO E INCREMENTAL CARACTERÍSTICAS A cada ciclo são feitos incrementos no módulos do software, permitindo a evolução do mesmo por partes. VANTAGENS Redução dos riscos envolvendo custos a um único incremento. Se os desenvolvedores precisarem repetir a iteração, a organização perde somente o esforço mal direcionado de uma iteração, não o valor de um produto inteiro. Redução do risco de lançar o projeto no mercado fora da data planejada. Identificando os riscos numa fase inicial o esforço despendido para gerenciá-los ocorre cedo, quando as pessoas estão sob menos pressão do que numa fase final de projeto. Aceleração do tempo de desenvolvimento do projeto como um todo, porque os desenvolvedores trabalham de maneira mais eficiente quando buscam resultados de escopo pequeno e claro. Reconhecimento de uma realidade freqüentemente ignorada: as necessidades dos usuários e os requisitos correspondentes não podem ser totalmente definidos no início do processo. Eles são tipicamente refinados em sucessivas iterações. Este modelo de operação facilita a adaptação a mudanças de requisitos. DESVANTAGENS Por ser modularizado perde em performance na integração das diferentes partes. Participante: Anderson Vinicius Alves de Moraes MODELO DE CICLO DE VIDA ITERATIVO E INCREMENTAL CARACTERÍSTICAS No modelo incremental o projeto é construído e entregue por partes, em pedaços, mas cada um é composto por um subconjunto de funcionalidades completas, que terão feedbacks coletados e requisitos revistos nas iterações. VANTAGENS -Mudanças podem ser realizadas na etapa de desenvolvimento; -Há mais chances de modificar a direção de um projeto; -É mais flexível e menos caro alterar escopo e requisitos; -Um desenvolvimento paralelo pode ser planejado; -Riscos podem ser identificados e resolvidos durante a iteração; -Testes durante iterações menores são mais fáceis; DESVANTAGENS -Dificuldade de gerenciamento. Isso ocorre porque as fases de do ciclo podem estar ocorrendo de forma simultânea. -O usuário pode se entusiasmar excessivamente com a primeira versão do sistema epensar que tal versão já corresponde ao sistema como um todo Participante: Vivianne Santos MODELO DE CICLO DE VIDA Espiral CARACTERÍSTICAS -> Este modelo trata de uma abordagem cíclica de fases do processo, onde a cada "volta" ou iteração temos versões evolucionárias do sistema. VANTAGENS -> As estimativas tornam-se mais realistas, mais versátil para lidar com mudanças, melhora o tempo de implementação do sistema, fácil de decidir o quanto testar. DESVANTAGENS -> Muita ênfase na parte funcional, A avaliação dos riscos exige experiência, O modelo é relativamente novo e não tem sido muito utilizado, É bem aplicado somente a sistemas de larga escala. Participantes: Beatriz Felix Emanoel Perri Lucas Sales MODELO DE CICLO DE VIDA -> ESPIRAL Características -> modelo espiral, o qual evolui de maneira cíclica, utilizando a prototipagem e a análise de riscos Vantagens -> Este é um modelo guiado por risco, suporta sistemas complexos e/ou de grande porte, onde falhas não são toleráveis. Para isso, a cada iteração há uma atividade dedicada à análise de riscos e apoiada através de geração de protótipos, não necessariamente operacionais (desenhos de tela, por exemplo) para que haja um envolvimento constante do cliente nas decisões. Desvantagens -> Grande custo, necessidade de alta experiência do profissional e envolvimento constante do cliente nas decisões. Participante: Guilherme Figueira MODELO DE CICLO DE VIDA EVOLUTIVO Características: O modelo evolutivo avança em paralelo a apresentação dos requisitos. Muito útil quando nem todas as funcionalidades foram definidas. Vantagens: Possibilidade de ter alta satisfação do cliente, pois os feedbacks são constantes a medida que as novas funcionalidades são entregues. Desvantagens: Participante: Matheus Gonçalves de Castro Ciclo de vida: Modelo Evolutivo CARACTERÍSTICA => O modelo evolutivo descreve um processo na qual o software deve ser desenvolvido de forma a evoluir a partir de protótipos iniciais. Para entender melhor este modelo é importante entender o que é prototipação ou prototipagem. VANTAGENS=> A participação constante do cliente é uma grande vantagem desse modelo, o que diminui o risco de má interpretação de requisitos dos modelos que só oferecem a primeira versão do software no final do processo. Da mesma forma, o software já atende algumas necessidades do cliente muito mais cedo no processo DESVANTAGENS =>1 Dificuldade em se prever o tempo que será necessário para produzir um produto aceitável; 2 Projeto pobre: Tendência a se desenvolver no modo code-and-fix, de esquecimento das fases de análise, projeto e testes; 3 Manutenibilidade pobre em razão do projeto idem; 4 Maior complexidade de gerenciar o projeto, os riscos e a qualidade do produto final. Ayla Flavia Sidney Souza Ciclo de vida: Modelo Cascata caracteristica É composto por uma sequência de atividades, onde a próxima atividade só inicia quando a atual é finalizada, ou seja, o resultado de uma etapa é utilizado na etapa seguinte. Esse processo tem uma característica por ser guiado por documentos, sendo assim, cada etapa gera uma documentação. Vantagens: Fácil de gerenciar: Etapas bem definidas e sem sobreposição; Eficiente em casos nos quais o domínio de aplicação é bem entendido; Eficiente no desenvolvimento de projetos em quais vários sistemas similares foram construídos anteriormente. Desvantagens: Dificuldade de serialização proposta pelo modelo; Em função da dificuldade de se obter todos os requisitos do sistema no início do projeto, geralmente esse processo resulta em um atraso para o início da fase de projeto, cumulativa ao prazo final; Raramente as fases de execução seguem um fluxo tão seqüencial e sem interações, portanto o planejamento não é de qualidade total; Obtenção do produto final apenas no final do projeto, deixando margens de correção menores. Edielson MODELO ESPIRAL Características - No modelo espiral, criado em 1988, as fases são tratadas de modo cíclico. A cada iteração (ou “volta” do ciclo), o usuário tem acesso a versões evolucionárias do software. Nele, há menos flexibilidade para lidar com possíveis falhas e bugs. Por isso, cada etapa demanda maior planejamento. A empresa deve estar atenta para possíveis problemas, testando funcionalidades e avaliando eventuais incompatibilidades. Além disso, é necessário manter o cliente vinculado a cada etapa aplicando feedbacks e orientando mudanças futuras. Vantagens: A “espiral do ciclo de vida” é dividida em alguns setores, que são: A definição de objetivos, desempenho mínimo e funcionalidades, assim como o escopo da etapa e as suas restrições; A análise de riscos e a prototipagem de funcionalidades; A desenvolvimento e a validação de um modelo de desenvolvimento alinhado com as demandas; A execução de cada demanda; A avaliação dos resultados; A planejamento da próxima etapa. Desvantagens: Tem um melhor funcionamento em softwares que necessitam de requisitos de maiores complexibilidades, onde os custos envolvidos são muito elevados; É necessária uma habilidade mais elevada, para a avaliação de incertezas ou riscos associados ao projeto e sua redução; DANILO
Compartilhar