Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Documentos relacionados
Modelos de Processo de Software

Engenharia de Software. Engenharia de Software

Modelos de Processo de Software

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 2 19/08/2012

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Prof. Ms. Ronaldo Martins da Costa

Definições e ciclo de vida


Princípios da Engenharia de Software aula 03

Engenharia de Software I

Análise de Sistemas CONTEXTUALIZAÇÃO

Processos de Software

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Engenharia de Software

Modelos de Ciclo de Vida (Parte 1)

Introdução à Engenharia de Software e Modelos de Processos de Software. Engenharia de Software Profa. Inês A.G.Boaventura 2.

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

INF014 Análise e Projeto de Sistemas Ciclos de vida e Processos de Software

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

PROCESSOS DE SOFTWARE

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

Modelos de Ciclo de Vida

Engenharia de Software: Uma Visão Geral. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Engenharia Software. Ení Berbert Camilo Contaiffer

CICLO DE VIDA DE SOFTWARE

Informática I. Aula Aula 21-29/11/06 1

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Processos de software

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2017

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE

Engenharia de Software I Modelos de Processo de Software

Processo devem incorporar uma estratégia desenvolvimento

ENGENHARIA DE SOFTWARE

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Análise e Projeto de Sistemas

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Processos de Software

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Ciclo de Vida de Sistemas de Informação

Engenharia de Software I

Desenvolvimento de Projetos

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Engenharia de Software II

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

Ciência da Computação ENGENHARIA DE SOFTWARE. Capítulo 1 Introdução

Propriedade Intelectual/Industrial do Software:

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Modelos de Software. Tema 2. Processo de Software. Modelos Profa. Susana M. Iglesias

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

MODELOS DE PROCESSOS (PARTE 2)

Disciplina que reúne metodologias, métodos e ferramentas a serem utilizados, desde a percepção do problema até o momento em que o sistema

Engenharia de Software

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Engenharia de Software

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 CONCEITOS BÁSICOS SOBRE ANÁLISE DE SISTEMAS Ciclo de vida de um software

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Aula 2 Processo de Software

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Paradigmas de Software

Introdução à Engenharia de Software

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Modelos Prescritivos de Processo

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

O que é software? Software e Engenharia de Software. O que é software? O que é software? Tipos de Sistemas de Software. A Evolução do Software

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Analista de Sistemas S. J. Rio Preto

Engenharia de Software

Processo de Desenvolvimento. Edjandir Corrêa Costa

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Processos de software Leitura: Sommerville / Pressman / Ariadne

05/09/2013. Ciclo de vida de um Sistema de Informação

Processos de Software

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Prof. Luiz A. Nascimento

Escolhendo um Modelo de Ciclo de Vida

Prof. Dr. Thiago Jabur Bittar

Professor Emiliano S. Monteiro

Transcrição:

Modelos de Processo de Software SSC 121 - Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

ENGENHARIA DE SOFTWARE 3 pode ser vista como uma abordagem de desenvolvimento de software elaborada com disciplina e métodos bem definidos.... a construção por múltiplas pessoas de um software de múltiplas versões [Parnas 1987]

Modelos de Processo de Software 4 Existem vários modelos de processo de software (ou paradigmas de engenharia de software) Cada um representa uma tentativa de colocar ordem em uma atividade inerentemente caótica

Modelos de Processo de Software 5 O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelo de Métodos Formais Técnicas de Quarta Geração

Modelos de Processo de Software 6 O Modelo Sequencial Linear também chamado Modelo Cascata O Paradigma de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

7 O Modelo Cascata modelo mais antigo e o mais amplamente usado da engenharia de software modelado em função do ciclo da engenharia convencional requer uma abordagem sistemática, seqüencial ao desenvolvimento de software o resultado de uma fase se constitui na entrada da outra

8 O Modelo Cascata Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção

9 O Modelo Cascata Engenharia de Sistemas / Informação e Engenharia de Sistemas Análise de Modelagem Requisitos envolve a coleta Projeto de requisitos em nível do sistema, com uma pequena Codificação quantidade de projeto e análise de alto nível Testes Manutenção esta visão é essencial quando o software deve fazer interface com outros elementos (hardware, pessoas e banco de dados)

10 O Modelo Cascata Análise de Requisitos de Software o processo Engenharia de coleta dos requisitos é Sistemas intensificado Análise e concentrado de especificamente no Requisitos software Projeto Codificação deve-se compreender o domínio da informação, Testes a função, desempenho e interfaces exigidos Manutenção os requisitos (para o sistema e para o software) são documentados e revistos com o cliente

11 O Modelo Cascata Projeto Engenharia de Sistemas Análise de Requisitos conjunto de representações Projeto que podem ser avaliadas quanto à qualidade, Codificação antes que a tradução dos requisitos do software para um codificação se inicie Testes Manutenção

12 O Modelo Cascata Codificação Engenharia de Sistemas Análise de Requisitos Projeto uma linguagem artificial resultando em Codificação tradução das representações do projeto para instruções executáveis pelo computador Testes Manutenção

13 O Modelo Cascata Engenharia de Sistemas Análise de Requisitos Concentra-se: Testes nos aspectos lógicos internos do software, Projeto garantindo que todas as instruções tenham sido Codificação testadas Testes nos aspectos funcionais externos, para descobrir Manutenção erros e garantir que a entrada definida produza resultados que concordem com os esperados.

14 O Modelo Cascata Manutenção provavelmente Engenharia de o software deverá sofrer Sistemas mudanças Análise depois que for entregue ao Requisitos cliente Projeto causas das mudanças: Codificação erros, adaptação do software para acomodar mudanças Testes em seu ambiente externo e exigência do Manutenção cliente para acréscimos funcionais e de desempenho

Problemas com o Modelo Cascata 15 Projetos reais raramente seguem o fluxo seqüencial que o modelo propõe Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento

Problemas com o Modelo Cascata 16 Projetos reais raramente seguem o fluxo seqüencial que o modelo propõe Embora o Modelo Cascata Logo tenha no início fragilidades, é difícil estabelecer ele é explicitamente significativamente todos os requisitos. melhor No começo dos projetos sempre existe uma do que uma abordagem incerteza natural casual ao desenvolvimento O cliente deve ter paciência. Uma versão de software executável do software só fica disponível numa etapa avançada do desenvolvimento

17 O Modelo Cascata O modelo Cascata trouxe contribuições importantes para o processo de desenvolvimento de software: Imposição de disciplina, planejamento e gerenciamento a implementação do produto deve ser postergada até que os objetivos tenham sido completamente entendidos

Modelos de Processo de Software 18 O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

19 O Modelo de Prototipação o objetivo é entender os requisitos do usuário e, assim, obter uma melhor definição dos requisitos do sistema. possibilita que o desenvolvedor crie um modelo (protótipo)do software que deve ser construído apropriado para quando o cliente não definiu detalhadamente os requisitos.

O Paradigma de Prototipação para obtenção dos requisitos 20 Obter Requisitos Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 21 1- OBTENÇÃO Obter Requisitos DOS REQUISITOS: desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais. Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 22 Obter Requisitos Refinamento do Protótipo Avaliar Protótipo 2- PROJETO RÁPIDO: representação dos aspectos do software que são visíveis ao usuário (abordagens de entrada e formatos de saída) Elaborar Projeto Rápido Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 23 Obter Requisitos Avaliar Protótipo Elaborar Projeto Rápido Refinamento do Protótipo 3- CONSTRUÇÃO PROTÓTIPO: implementação rápida do projeto Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 24 Obter Requisitos Refinamento do Protótipo Elaborar Projeto Rápido 4- AVALIAÇÃO DO PROTÓTIPO: Construir Protótipo cliente e desenvolvedor avaliam o Avaliar Protótipo protótipo

O Paradigma de Prototipação para obtenção dos requisitos 25 Obter Requisitos Elaborar Projeto Rápido 5- REFINAMENTO DO PROTÓTIPO: cliente Refinamento do Protótipo e desenvolvedor refinam os requisitos do software a ser desenvolvido. Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 26 Obter Requisitos Refinamento do Protótipo CONSTRUÇÃO DO PRODUTO Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo

O Paradigma de Prototipação para obtenção dos requisitos 27 Obter Requisitos 6- CONSTRUÇÃO PRODUTO: identificados os requisitos, o protótipo deve ser descartado e a versão de produção deve ser construída considerando os critérios de qualidade. CONSTRUÇÃO DO Refinamento PRODUTO do Protótipo Avaliar Protótipo Elaborar Projeto Rápido Construir Protótipo

28 Problemas com a Prototipação cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo desenvolvedor freqüentemente faz uma implementação comprometida (utilizando o que está disponível) com o objetivo de produzir rapidamente um protótipo

Comentários sobre o Paradigma de Prototipação 29 ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente. a chave é definir-se as regras do jogo logo no começo. o cliente e o desenvolvedor devem ambos concordar que o protótipo seja construído para servir como um mecanismo a fim de definir os requisitos

Modelos de Processo de Software 30 O Modelo Sequencial Linear também chamado Modelo Cascata O Paradigma de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

31 O Modelo RAD RAD ( Rapid Application Development) é um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto O desenvolvimento rápido é obtido usando uma abordagem de construção baseada em componentes.

32 O Modelo RAD Os requisitos devem ser bem entendidos e o alcance do projeto restrito O modelo RAD é usado principalmente para aplicações de sistema de informação Cada função principal pode ser direcionada para uma equipe RAD separada e então integrada para formar o todo.

33 O Modelo RAD Equipe #1 Modelagem do Negócio Modelagem dos Dados 60 a 90 dias Equipe #2 Modelagem do Processo Modelagem do Negócio Modelagem dos Dados Modelagem Geração da Aplicação Equipe #3 Modelagem do Negócio do Processo Geração da Aplicação Teste e Modificação Teste e Modificação Modelagem dos Dados Modelagem do Processo Geração da Aplicação Teste e Modificação

34 O Modelo RAD Desvantagens: Exige recursos humanos suficientes para todas as equipes Exige que desenvolvedores e clientes estejam comprometidos com as atividades de fogo-rápido a fim de terminar o projeto num prazo curto

35 O Modelo RAD Nem todos os tipos de aplicação são apropriadas para o RAD: Deve ser possível a modularização efetiva da aplicação se alto desempenho é uma característica e o desempenho é obtido sintonizando as interfaces dos componentes do sistema, a abordagem RAD pode não funcionar

Modelos de Processo de Software 36 O Modelo Sequencial Linear também chamado Modelo Cascata O Paradigma de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

Modelos Evolutivos de Processo 37 Existem situações em que a engenharia de software necessita de um modelo de processo que possa acomodar um produto que evolui com o tempo.

Modelos Evolutivos de Processo 38 quando os requisitos de produto e de negócio mudam conforme o desenvolvimento procede quando uma data de entrega apertada (mercado) - impossível a conclusão de um produto completo quando um conjunto de requisitos importantes é bem conhecido, porém os detalhes ainda devem ser definidos

Modelos Evolutivos de Processo 39 modelos evolutivos são iterativos possibilitam o desenvolvimento de versões cada vez mais completas do software

Modelos de Processo de Software 40 O Modelo Sequencial Linear também chamado Modelo Cascata O Paradigma de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

41 O Modelo Incremental o modelo incremental combina elementos do modelo cascata (aplicado repetidamente) com a filosofia iterativa da prototipação o objetivo é trabalhar junto do usuário para descobrir seus requisitos, de maneira incremental, até que o produto final seja obtido.

42 O Modelo Incremental Versão Inicial Análise Projeto Descrição geral Engenharia de sistemas/informação Codificação Descrição Versões Intermediárias geral Teste Versão Final

43 O Modelo Incremental a versão inicial é frequentemente o núcleo do produto (a parte mais importante) a evolução acontece quando novas características são adicionadas à medida que são sugeridas pelo usuário Este modelo é importante quando é difícil estabelecer a priori uma especificação detalhada dos requisitos

44 O Modelo Incremental o modelo incremental é mais apropriado para sistemas pequenos As novas versões podem ser planejadas de modo que os riscos técnicos possam ser administrados (Ex. disponibilidade de determinado hardware)

Modelos de Processo de Software 45 O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

46 O Modelo Espiral O modelo espiral acopla a natureza iterativa da prototipação com os aspectos controlados e sistemáticos do modelo cascata. O modelo espiral é dividido em uma série de atividades de trabalho ou regiões de tarefa. Existem tipicamente de 3 a 6 regiões de tarefa

47 O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n D e v e l o p m e n t p l a n I n t e g r a t i o n a n d t e s t p l a n R i s k a n a l y s i s R i s k a n a l y s i s R i s k a n a l y s i s P r o t o t y p e 2 Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n R e q u i r e m e n t v a l i d a t i o n D e s i g n V & V S e r v i c e S / W r e q u i r e m e n t s A c c e p t a n c e t e s t AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS P r o t o t y p e 3 O p e r a - t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL

48 O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES cada loop no espiral representa uma fase do processo de software PLANEJAR PRÓXIMA FASE R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n D e v e l o p m e n t p l a n I n t e g r a t i o n a n d t e s t p l a n R i s k a n a l y s i s R i s k a n a l y s i s R i s k a n a l y s i s P r o t o t y p e 2 Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n R e q u i r e m e n t v a l i d a t i o n D e s i g n V & V S e r v i c e S / W r e q u i r e m e n t s A c c e p t a n c e t e s t AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS P r o t o t y p e 3 O p e r a - t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL

O Modelo Espiral de Processo 49 de Software R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n o loop mais interno está concentrado nas possibilidades do sistema

O Modelo Espiral de Processo de Software 50 o próximo loop está concentrado na definição dos requisitos do sistema D e v e l o p m e n t p l a n R i s k a n a l y s i s R e q u i r e m e n t v a l i d a t i o n P r o t o t y p e SW r e q u i r e m e n t s S i m u l a t i o n s, m o d e l s, b e n c h m a r k s

O Modelo Espiral de Processo de Software 51 R i s k a n a l y s i s o loop um pouco mais externo está concentrado no projeto do sistema prot o t y p e 3 si m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n a n d t e s t p l a n D e s i g n V & V

O Modelo Espiral de Processo de Software 52 R i s k n a l y s i s um loop ainda mais externo está concentrado na construção do sistema S e r v i c e A c c e p t a n c e t e s t O p e r a - t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n

53 O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES R i s k a n a l y s i s R i s k não existem fases fixas a n a l y s i s no modelo R i s k a n a l y s i s O p e r a - as fases mostradas na figura P r o t o t y p são e 3 t i o n a l P r o t o t y p e 2 p r o t o y p e Risk meramente exemplos R E V I E W anal ysis P r o t o - t y p e 1 R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n S i m u l a t i o n s, m o d e l s, b e n c h m a r k s a gerência decide como estruturar o projeto em fases PLANEJAR PRÓXIMA FASE D e v e l o p m e n t p l a n I n t e g r a t i o n a n d t e s t p l a n C o n c e p t o f O p e r a t i o n S / W r e q u i r e m e n t s R e q u i r e m e n t v a l i d a t i o n D e s i g n V & V S e r v i c e A c c e p t a n c e t e s t AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS P r o d u c t d e s i g n I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL

54 O Modelo Espiral (com 4 regiões) Cada loop do espiral é dividido em 4 setores DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES COLOCAÇÃO DE OBJETIVOS PLANEJAMENTO PLANEJAR PRÓXIMA FASE R E V I E W R e q u i r e m e n t s p l a n L i f e - c y c l e p l a n D e v e l o p m e n t p l a n I n t e g r a t i o n a n d t e s t p l a n R i s k a n a l y s i s R i s k a n a l y s i s R i s k a n a l y s i s P r o t o t y p e 2 Risk anal ysis P r o t o - t y p e 1 C o n c e p t o f O p e r a t i o n R e q u i r e m e n t v a l i d a t i o n D e s i g n V & V S e r v i c e S / W r e q u i r e m e n t s A c c e p t a n c e t e s t AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS AVALIAÇÃO E REDUÇÃO DE O p e r a - RISCOS P r o t o t y p e 3 t i o n a l p r o t o y p e S i m u l a t i o n s, m o d e l s, b e n c h m a r k s P r o d u c t d e s i g n I n t e g r a t i o n t e s t C o d e U n i t t e s t D e t a i l e d d e s i g n DESENVOLVIMENTO E VALIDAÇÃO DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL

O Modelo Espiral de Processo 55 de Software COLOCAÇÃO DE OBJETIVOS são definidos objetivos específicos para a fase do projeto são identificadas restrições sobre o processo e o produto é projetado um plano de gerenciamento detalhado são identificados riscos do projeto dependendo dos riscos, estratégias alternativas podem ser planejadas

O Modelo Espiral de Processo de Software 56 para cada um dos riscos identificados, uma análise COLOCAÇÃO DE detalhada é executada. passos OBJETIVOS são tomados para reduzir o risco AVALIAÇÃO E REDUÇÃO DE RISCOS

O Modelo Espiral de Processo de Software 57 COLOCAÇÃO DE OBJETIVOS AVALIAÇÃO E REDUÇÃO DE RISCOS depois da avaliação do risco, um modelo de desenvolvimento é escolhido para o sistema DESENVOLVIMENTO E VALIDAÇÃO

O Modelo Espiral de Processo de Software 58 COLOCAÇÃO DE OBJETIVOS PLANEJAMENTO AVALIAÇÃO E REDUÇÃO DE RISCOS o projeto é revisto e é tomada uma decisão de continuidade se é decidido continuar, são projetados planos DESENVOLVIMENTO para a próxima fase do projeto (próximo E VALIDAÇÃO loop )

59 O Modelo Espiral engloba as melhores características do ciclo de vida Clássico e da Prototipação, adicionando um novo elemento: a Análise de Risco segue a abordagem de passos sistemáti-cos do Ciclo de Vida Clássico incorporando-os numa estrutura iterativa que reflete mais realisticamente o mundo real usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de redução de riscos

Comentários sobre o Ciclo de Vida em Espiral 60 é, atualmente, a abordagem mais realística para o desenvolvimento de software em grande escala. usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva pode ser difícil convencer os clientes que uma abordagem "evolutiva" é controlável

Comentários sobre o Ciclo de Vida em Espiral 61 exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso o modelo é relativamente novo e não tem sido amplamente usado. Demorará muitos anos até que a eficácia desse modelo possa ser determinada com certeza absoluta

62 O Modelo Espiral (com 6 regiões) Planejamento Análise de Riscos Comunicação com Cliente Engenharia Avaliação do Cliente Construção e Liberação

63 O Modelo Espiral adiciona um novo elemento: a Análise de Risco usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de redução de riscos exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso o modelo é relativamente novo e não tem sido amplamente usado.

Modelos de Processo de Software 64 O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

O Modelo de Montagem de Componentes 65 Utiliza tecnologias orientadas a objeto Quando projetadas e implementadas apropriadamente as classes orientadas a objeto são reutilizáveis em diferentes aplicações e arquiteturas de sistema O modelo de montagem de componentes incorpora muitas das características do modelo espiral.

O Modelo de Montagem de Componentes 66 Planejamento Análise de Riscos Comunicação com Cliente Avaliação do Cliente Engenharia Construção e Liberação

O Modelo de Montagem de identificar Componentes componentes candidatas 67 procurar componentes na biblioteca Planejamento Construir a n a iteração do sistema Análise de Riscos Comunicação extrair com Cliente componentes se disponíveis colocar os novos componentes na biblioteca Avaliação do Cliente construir os componentes não disponíveis Engenharia Construção e Liberação

O Modelo de Montagem de Componentes 68 O modelo de montagem de componentes conduz ao reuso do software a reusabilidade fornece uma série de benefícios: redução de 70% no tempo de desenvolvimento redução de 84% no custo do projeto índice de produtividade de 26.2 (normal da indústria é de 16.9) esses resultados dependem da robustez da biblioteca de componentes

Modelos de Processo de Software 69 O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo RAD (Rapid Application Development) Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes O Modelo de Desenvolvimento Concorrente Modelos de Métodos Formais Técnicas de Quarta Geração

70 Técnicas de 4 a Geração Concentra-se na capacidade de se especificar o software a uma máquina em um nível que esteja próximo à linguagem natural Engloba um conjunto de ferramentas de software que possibilitam que: o sistema seja especificado em uma linguagem de alto nível e o código fonte seja gerado automaticamente a partir dessas especificações

Ferramentas do Ambiente das Técnicas de 4 a Geração 71 O ambiente de desenvolvimento de software que sustenta o ciclo de vida de 4 a geração inclui as ferramentas: linguagens não procedimentais para consulta de banco de dados geração de relatórios manipulação de dados interação e definição de telas geração de códigos capacidade gráfica de alto nível capacidade de planilhas eletrônicas

72 Técnicas de 4 a Geração Obtenção dos Requisitos Estratégia do Projeto Implementação usando 4GL Testes

73 Técnicas de 4 a Geração OBTENÇÃO DOS REQUISITOS: Obtenção dos Requisitos o cliente descreve os requisitos os quais são traduzidos para um protótipo operacional Estratégia do o cliente pode Projeto estar inseguro Implementação quanto aos requisitos usando 4GL Testes o cliente pode ser incapaz de especificar as informações de um modo que uma ferramenta 4GL possa consumir as 4GLs atuais não são sofisticadas suficientemente para acomodar a verdadeira "linguagem natural"

74 Técnicas de 4 a Geração ESTRATÉGIA DO "PROJETO": Obtenção dos Requisitos Para pequenas aplicações é possível moverse do passo Estratégia do Projeto de Obtenção dos Requisitos para o passo de Implementação usando uma usando 4GL linguagem de quarta geração Testes Para grandes projetos é necessário desenvolver uma estratégia de projeto. De outro modo ocorrerão os mesmos problemas encontrados quando se usa abordagem convencional (baixa qualidade)

75 Técnicas de 4 a Geração Obtenção dos Requisitos IMPLEMENTAÇÃO Estratégia do USANDO 4GL : Os resultados Projeto desejados Implementação são representados de modo que haja geração usando automática 4GL de código. Deve existir uma estrutura de dados com Testes informações relevantes e que seja acessível pela 4GL

76 Técnicas de 4 a Geração Obtenção dos Requisitos Estratégia do Projeto Implementação usando 4GL TESTES: Testes O desenvolvedor deve efetuar testes e desenvolver uma documentação significativa. O software desenvolvido deve ser construído de maneira que a manutenção possa ser efetuada prontamente.

Comentários sobre as Técnicas de 4 a Geração 77 PROPONENTES: redução dramática no tempo de desenvolvimento do software (aumento de produtividade) OPONENTES: as 4GL atuais não são mais fáceis de usar do que as linguagens de programação o código fonte produzido é ineficiente a manutenibilidade de sistemas usando técnicas 4G ainda é questionável

Para escolha de um Modelo de Processo de Software: 78 natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues