Aula 7 - Modelos de Ciclo de Vida.pptx

1,109 views 29 slides Jul 25, 2022
Slide 1
Slide 1 of 29
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29

About This Presentation

Ciclo de Vida de Software


Slide Content

Modelos de Ciclo de Vida de Desenvolvimento de Software Prof. Alexandre.

Por mais simples ou complexo que possa parecer, um modelo de ciclo de vida de um projeto é, de fato, uma versão simplificada da realidade.

O que vem a ser o ciclo de vida? O ciclo de vida de um software é uma estrutura que indica processos e atividades envolvidas no desenvolvimento, operação e manutenção de um software, abrangendo de fato toda a vida do sistema. Neste ciclo, existem modelos que definem como o software será desenvolvido, lançado, aprimorado e finalizado. 

O que vem a ser o ciclo de vida? A escolha desse modelo, que definirá a sequência de etapas das atividades, é feita entre o cliente e a equipe de desenvolvimento e várias coisas podem impactá-la, como negócio, tempo disponível, custo, equipe etc. A ordem das fases é que vai definir o ciclo de vida do seu software.

Por que devo criar um ciclo antes de desenvolver meu software? Com um modelo de ciclo de vida você consegue ver a real necessidade do software e planejá-lo melhor. Imagina você entregar um software para um cliente, e posteriormente precisar lançar várias atualizações para corrigir falhas?

Por que devo criar um ciclo antes de desenvolver meu software? A finalidade desse ciclo é encontrar erros o mais cedo possível, pois, além de garantir a qualidade do software, evita um custo maior caso um erro seja encontrado tardiamente. Com um melhor planejamento você pode, por exemplo, ter maior disponibilidade para melhorar o desempenho ou realizar alguma correção.

Quais são as etapas? Existem 3 fases básicas de um ciclo de software: definição, desenvolvimento e operação. 1) Definição Deve-se conhecer a situação atual e fazer a identificação do problema para buscar uma resolução do mesmo. É na definição que você fará a modelagem dos processos e a análise do sistema. O modelo de ciclo de vida é a primeira escolha a ser feita no processo de software.

Quais são as etapas? 2 ) Desenvolvimento Esta etapa envolve atividades relacionadas a design, prototipagem, codificação, testes, entre outras atividades que forem necessárias, como por exemplo, a integração com um outro sistema. É importante ressaltar que essas atividades devem seguir o que foi descrito nas etapas anteriores, pois é aí que entra as regras de negócio.

Quais são as etapas? 3) Operação Nesta etapa o software já estará em produção e você dará o devido suporte aos usuários e, claro, corrigir possíveis bugs que possam aparecer. Aí também entra a continuidade do software se for preciso, como atender novos requisitos, novas funcionalidades. Porém , tudo depende do modelo de ciclo de vida adotado pelo projeto.

Quais os modelos que podem ser utilizados? Existem diversos modelos de ciclos de vida para o desenvolvimento de software como:   Modelo Big Bang / Modelo Constrói e Corrige / Modelo Cascata / Modelo Espiral / Métodos Ágeis / Manifesto ágil / Scrum - dentre outros.

Modelo Big Bang Como na teoria de criação do universo, o software é produzido a partir de uma ‘explosão’. Este modelo não possui planejamento, cronograma ou processo formal de desenvolvimento. Todo o esforço é gasto com codificação. Não existe também a fase de teste. Quando executado, é feito no final, pouco antes da entrega. O analista de testes tem a missão de encontrar as falhas e reportar. Mas estas falhas não serão necessariamente corrigidas. Muitas vezes o resultado do produto desenvolvido não será o esperado pelo cliente.

Modelo Big Bang Nesse modelo, os desenvolvedores não seguem nenhum processo específico .  O desenvolvimento começa com os fundos e esforços necessários na forma de insumos. E o resultado pode ser ou não conforme a necessidade do cliente, pois neste modelo nem mesmo as necessidades do cliente estão definidas. Este modelo é ideal para pequenos projetos como projetos acadêmicos ou projetos práticos. Um ou dois desenvolvedores podem trabalhar juntos neste modelo . Este método também é usado quando o tamanho da equipe de desenvolvedor é pequeno e quando os requisitos não são definidos e a data de lançamento não é confirmada ou fornecida pelo cliente.

Modelo Big Bang VANTAGENS (PRÓS) DO MODELO BIG BANG: Não há necessidade de planejamento. Modelo simples. São necessários poucos recursos. Fácil de gerenciar. Flexível para desenvolvedores . DESVANTAGEM (CONTRAS) DO MODELO DO BIG BANG: Existe alto risco e incerteza. Não é aceitável para um grande projeto. Se os requisitos não forem claros, isso pode ser muito caro.

Modelo Constrói e Corrige Derivado do modelo Big Bang , neste modelo é feito um projeto simples do software e então é iniciado o desenvolvimento. Após uma fase de teste onde as falhas são encontradas, existe a fase de correção. Este ciclo se repete até que o software seja considerado satisfatório para ser entregue. Idealmente, deve ser utilizado em projetos pequenos que serão descartados em seguida tais como protótipos e demos. No entanto muitas empresas o utilizam como modelo default, um caso que geralmente há sucesso na entrega porém alto custo de desenvolvimento. “Nuca dá tempo de fazer certo, mas sempre dá tempo de fazer de novo”.

Modelo Constrói e Corrige É feito um projeto simples do software e então é iniciado o desenvolvimento. Após uma fase de testes, normalmente informal, onde as falhas são encontradas, existe a fase de correção. Este ciclo se repete até que o software seja considerado satisfatório para ser entregue. Idealmente, deve ser utilizado em projetos pequenos que serão descartados em seguida tais como protótipos e demos. Não existe uma fase formal de testes. O testador fica em contato direto com os desenvolvedores e sempre recebe uma nova versão para os testes, às vezes antes de terminar os testes da versão anterior. Em algum momento alguém (ou o cronograma) decidirá que o software está pronto para ser entregue. O software será entregue, provavelmente, com muitas falhas . https://guimaraesdani.wordpress.com/

Modelo Cascata / Sequencial Primeiro modelo publicado do processo de desenvolvimento de software. Também conhecido como Ciclo de Vida Clássico ou Modelo Clássico. Considera as atividades de especificação, desenvolvimento , validação e evolução, que são fundamentais ao processo , e as representa como fases separadas do processo, como a especificação de requisitos, o projeto de software , os testes e assim por diante. Abordagem de Sommerville

Fases do Modelo Cascata - Abordagem de Sommerville 1. ANALISE E DEFINIÇÃO DE REQUISITOS (Especificação de requisitos) As funções, as restrições e os objetivos do sistema são estabelecidos por meio da consulta aos usuários do sistema. Em seguida, são definidos em detalhes e servem como uma especificação do sistema . 2. PROJETO DE SISTEMAS E DE SOFTWARE Agrupa os requisitos em sistemas de hardware ou de software; Estabelece uma arquitetura do sistema geral .

Fases do Modelo Cascata - Abordagem de Sommerville 3 . IMPLEMENTAÇÃO E TESTE DE UNIDADES Durante esse estágio, o projeto de software e compreendido como um conjunto de programas ou de unidades de programa; O teste de unidade envolve verificar que cada unidade atenda a sua especificação. 4. INTEGRAÇÃO E TESTE DE SISTEMAS As unidades de programa ou programas individuais são integrados e testados como um sistema completo a fim de garantir que os requisitos de software foram atendidos; Depois dos testes, o sistema de software e entregue ao cliente.

Fases do Modelo Cascata - Abordagem de Sommerville 5 . OPERAÇÃO E MANUTENÇÃO Normalmente, está e a fase mais longa do ciclo de vida; O sistema e instalado e colocado em operação; A manutenção envolve corrigir erros que não foram descobertos em estágios anteriores do ciclo de vida ou aumentar as funções desse sistema à medida que novos requisitos são descobertos.

Modelo Cascata / Sequencial Em princípio, o resultado de cada fase envolve um ou mais documentos que são aprovados. Gera muita documentação, nem sempre utilizada posteriormente. A fase seguinte não deve iniciar ate que a fase precedente tenha sido concluída. O processo de software não é um modelo linear simples, pois envolve uma sequência de iterações das atividades. Problema do modelo em cascata é ser inflexível divisão do projeto nesses estágios distintos.

Modelo Cascata / Sequencial O modelo em cascata somente deve ser utilizado quando os requisitos forem bem compreendidos: – Contudo , ele reflete a pratica da engenharia; – Consequentemente, os processos de software com base nessa abordagem ainda são muito utilizados .

Modelo Espiral Foi originalmente proposto por Boehm em 1988. Uma maneira simplista de analisar este modelo é considerá-lo como um modelo cascata onde cada fase é precedida por uma análise de risco e sua execução é feita revolucionariamente (ou incrementalmente ). No início, apenas as funcionalidades importantes são definidas e testadas. Somente após a finalização dos testes e correção das falhas o próximo ciclo se inicia definindo-se mais algumas funcionalidades. Estes ciclos se repetem até que o software esteja pronto.

Modelo Espiral Cada ciclo do espiral possui 6 passos: Determinar os objetivos, alternativas e restrições; Identificar e resolver os riscos; Avaliar as alternativas; Desenvolver e testar o ciclo atual; Planejar o próximo ciclo; Definir as técnicas para o próximo ciclo;

Modelo Espiral Cada loop na espiral representa uma fase do processo de software; Assim, o loop mais interno pode estar relacionado a viabilidade do software; O loop seguinte, a definição de requisitos para o software; O próximo loop, ao projeto do software, e assim por diante...

Modelo Espiral

1. DEFINIÇÃO DE OBJETIVOS. São definidos os objetivos específicos para essa fase do projeto. São identificados os riscos do projeto e, dependendo dos riscos poderão ser planejadas estratégias alternativas. 2 . AVALIAÇÃO E REDUÇÃO DE RISCOS. Para cada um dos riscos de projeto identificados, e realizada uma analise detalhada e são tomadas providencias para reduzir esses riscos. Por exemplo, se houver um risco de os requisitos serem inadequados, poderá ser desenvolvido um protótipo. Modelo Espiral CADA LOOP DA ESPIRAL E DIVIDIDO EM 4 SETORES:

3. DESENVOLVIMENTO E VALIDAÇÃO Depois da avaliação dos riscos, e escolhido um modelo de desenvolvimento para o software. Por exemplo, se forem dominantes os riscos relacionados à interface com o usuário, pode ser utilizado o modelo de desenvolvimento evolucionário (prototipação). 4. PLANEJAMENTO O projeto é revisto e é tomada a decisão sobre continuar com o próximo loop da espiral. Se a decisão for continuar, serão traçados os planos para a próxima fase do projeto. Modelo Espiral CADA LOOP DA ESPIRAL E DIVIDIDO EM 4 SETORES:

Desenvolvimento em Espiral Depois da avaliação dos riscos, e escolhido um modelo Não há fases fixas, como especificação ou projeto, no modelo em espiral. O modelo em espiral abrange outros modelos de processo, como por exemplo, prototipação. Diferença do modelo em espiral em relação a outros modelos de processo de software. Explicita consideração dos riscos no modelo em espiral.

Prof. [email protected] 48- 991620209 - whatsapp
Tags