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



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

Especialização em Engenharia de Software e Banco de Dados

Engenharia de Software I Modelos de Processo de Software

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Introdução a Engenharia de Software. Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

O que é um processo de software?

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Engenharia de Software

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software II

Sistemas de Informação I

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Processo Unificado (RUP)

Pós Graduação Engenharia de Software

Engenharia de Software. Engenharia de Software

PROFESSOR: CRISTIANO MARIOTTI

Engenharia de Software I Modelos de Processo de Software

Características do Software

Engenharia de Software

Processos de Desenvolvimento de Software

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Engenharia de Software Processo de Desenvolvimento de Software

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Projeto de Sistemas I

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Professor: Curso: Disciplina:

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Notas de Aula 02: Processos de Desenvolvimento de Software

Engenharia de Software

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Processo de Desenvolvimento Unificado

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

ENG1000 Introdução à Engenharia

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

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

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Qualidade de Software. Anderson Belgamo

Processo de Software

Engenharia de Software

ENGENHARIA DE SOFTWARE I

Prototipação de Software

GARANTIA DA QUALIDADE DE SOFTWARE

O Produto e o Processo. Engenharia de Software Profa. Inês A.G.Boaventura 2. Semestre/2005

Modelos de Processo (métodos)

Engenharia de Requisitos

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

ENGENHARIA DE SOFTWARE II

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Introdução à Computação

Tecnologia e Sistemas de Informações

Requisitos de Software

Plano de projeto. Cronograma e Controle

Introdução à Engenharia de Software

Planejamento Iterativo

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

O Processo. Engenharia de Software: Definição. Engenharia de Software: Definição. Engenharia de Software: Definição. Engenharia de Software

Engenharia de Software I Para que eu Preciso Saber Engenharia de Software?

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Universidade Paulista

Unidade I Conceitos BásicosB. Conceitos BásicosB

Tecnologias Atuais de. Desenvolvimento de Software

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Introdução Engenharia de Software

MODELOS DE PROCESSO. Isac Aguiar isacaguiar.com.br

ENGENHARIA DE SOFTWARE

Extração de Requisitos

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Sistemas de Informação e Programação II Odorico Machado Mendizabal

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

ISO/IEC 12207: Gerência de Configuração

NORMA ISO/IEC Isac Aguiar isacaguiar.com.br

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Ciclo de Vida de um Projeto

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Modelos do Design de Software

Modelos de Maturidade. Porque estudar um Modelo de Maturidade? Descrevem as características de processos efetivos;

Processo de Desenvolvimento de Software Workshop de Engenharia de Software

Fundamentos de Engenharia de Software. Josino Rodrigues

Manutenção e Ferramentas CASE. Marcos L. Chaim Segundo Bimestre 2003 Mestrado Profissional IC/Unicamp

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

Gerenciamento de Projetos no Marketing Desenvolvimento de Novos Produtos

Gerenciamento de Projetos

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

Guia de recomendações para implementação de PLM em PME s

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

Transcrição:

Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3

Modelos de Processo de Software O Modelo Sequencial Linear Aula passada também chamado Modelo Cascata O Paradigma de Prototipação O Modelo Espiral O Modelo de Desenvolvimento Baseado em Componentes Modelos de Processos 2

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. Modelos de Processos 3

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

O Paradigma de Prototipação para obtenção dos requisitos 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 Modelos de Processos 5

O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos Refinamento do 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 Avaliar Protótipo Construir Protótipo Modelos de Processos 6

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

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

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

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

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

Problemascom 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 Modelos de Processos 12

Comentários sobre o Paradigma de Prototipação ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente. a chave é definir 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 para definir os requisitos Modelos de Processos 13

Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação Modelo Espiral O Modelo de Montagem de Componentes Modelos de Processos 14

O Modelo Espiral (Boehm, 1986) O modelo espiral acoplaa natureza iterativada 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 3a 6regiões de tarefa. Combina as características positivas da gerência baseline (documentos associados ao processo); Modelos de Processos 15

O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE REVIEW Requirements plan Life-cycle plan Develop ment plan Integrati on and test p lan analys is analys is analysis Prototy pe 1 Concept of Operati on Requi rement valid ation Desi gn V&V Serv ice analys is AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS Prototype 3 Prototyp e 2 S/W requi rement s Accep tance test Operati onal protoype Simulations, models, b en chmarks Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 16

O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES cada ciclo na espiral representa uma fase do processo de software PLANEJAR PRÓXIMA FASE REVIEW Requirements plan Life-cycle plan Develop ment plan Integrati on and test p lan analys is analys is analysis Prototy pe 1 Concept of Operati on Requi rement valid ation Desi gn V&V Serv ice analys is AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS Prototype 3 Prototyp e 2 S/W requi rement s Accep tance test Operati onal protoype Simulations, models, b en chmarks Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 17

O Modelo Espiral de Processo de Software o ciclo mais interno está concentrado nas possibilidades do sistema REVIEW Requirements plan Life-cycle plan analysis Prototy pe 1 Concept of Operati on Modelos de Processos 18

O Modelo Espiral de Processo de Software o próximo ciclo está concentrado na definição dos requisitos do sistema analys is Prototype Simulations, models, benchmarks SW requi rements Development plan Requi rement validati on Modelos de Processos 19

O Modelo Espiral de Processo de Software analys is o ciclo um pouco mais externo está concentrado no projeto do sistema prototype 3 si mul ati ons, models, benchmarks Product desi gn Integrati on and test plan Desi gn V&V Modelos de Processos 20

O Modelo Espiral de Processo de Software nalys is um ciclo ainda mais externo está concentrado na construção do sistema Serv ice Acceptance test Operati onal protoype Simulations, models, benchmarks Integrati on test Code Unit test Detail ed desi gn Modelos de Processos 21

O Modelo Espiral (com 4 regiões) DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES analys is não existem fases fixas no modelo Concept of Operati on AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS analys is as fases mostradas na figura são analys is Operati onal Prototyp e 2 protoype exemplos Prototype meramente 3 REVIEW analysis Prototy pe 1 a gerência decide Requirements plan como estruturar Simulations, models, o bprojeto en chmarks Life-cycle plan em fases PLANEJAR PRÓXIMA FASE Develop ment plan Integrati on and test p lan Requi rement valid ation Desi gn V&V Serv ice S/W requi rement s Accep tance test Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 22

O Modelo Espiral (com 4 regiões) Cada loop do espiral é dividido em 4 setores DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES ESTABELECIMENTO DE OBJETIVOS PLANEJAMENTO PLANEJAR PRÓXIMA FASE REVIEW Requirements plan Life-cycle plan Develop ment plan Integrati on and test p lan analys is analys is analysis Prototy pe 1 Concept of Operati on Requi rement valid ation Desi gn V&V Serv ice analys is AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS AVALIAÇÃO E REDUÇÃO DE RISCOS Prototype 3 Prototyp e 2 S/W requi rement s Accep tance test Operati onal protoype Simulations, models, b en chmarks Prod uct desi gn Integr ati on test Code Unit test Detail ed desi gn DESENVOLVIMENTO E VALIDAÇÃO DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL Modelos de Processos 23

O Modelo Espiral de Processo de ESTABELECIMENTO DE OBJETIVOS Software 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 Modelos de Processos 24

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

O Modelo Espiral de Processo de Software ESTABELECIMENTO 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 Modelos de Processos 26

O Modelo Espiral de Processo de Software 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 ) Modelos de Processos 27

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áticos do Ciclo de Vida Clássico incorporando-os numa estruturaiterativa que reflete mais realisticamente o mundo real usa a Prototipaçãoem todas as etapas da evolução do produto, como mecanismo de redução de riscos Modelos de Processos 28

Comentários sobre o Ciclo de Vida em Espiral é, 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 Modelos de Processos 29

Comentários sobre o Ciclo de Vida em Espiral 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 Modelos de Processos 30

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 Processos 31

Modelos de Processo de Software O Modelo Sequencial Linear também chamado Modelo Cascata O Modelo de Prototipação O Modelo Espiral O Modelo de Desenvolvimento Baseado em Componentes Modelos de Processos 32

O Modelo de Desenvolvimento Baseado em Componentes Utiliza tecnologias orientadas a objeto Quando projetadas e implementadas apropriadamenteas classesorientadasa objeto são reutilizáveis em diferentes aplicações e arquiteturas de sistema O Modelo de Desenvolvimento Baseado em Componentesincorporamuitasdas característicasdo modeloespiral. Modelos de Processos 33

O Modelo de Desenvolvimento Baseado em Componentes Planejamento Análise de Riscos Comunicação com Cliente Avaliação do Cliente Engenharia Construção e Liberação Modelos de Processos 34

O Modelo de Desenvolvimento identificar componentes candidatas Baseado em Componentes 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 Modelos de Processos 35

O Modelo de Desenvolvimento Baseado em Componentes O Modelo de Desenvolvimento Baseado em Componentes conduz ao reuso do software a reusabilidade fornece uma série de benefícios: redução de até 70% no tempo de desenvolvimento redução de até 84% no custo do projeto índice de produtividade de até 26.2 (normal da indústria é de 16.9) esses resultados dependem darobustezda bibliotecade componentes Modelos de Processos 36

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

Exercício Em 3 grupos, cada um terá 30 minutos para ler (bibliografia passada pelo professor) e discutir, entre o grupo, as principais características dos modelos estudados. Obs: cada grupo deverá escolher 1 modelo para estudar O professor apresenta 3 tipos de sistema e cada grupo discute como o modelo estudado pelo grupo poderá se adaptar para a construção de tais sistemas.