Engenharia de Software II



Documentos relacionados
Sistemas de Informação I

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

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

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

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

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

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

PROFESSOR: CRISTIANO MARIOTTI

ENG1000 Introdução à Engenharia

Pós Graduação Engenharia de Software

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

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

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

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

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

Engenharia de Software II

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

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

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

Engenharia de Software Processo de Desenvolvimento de Software

Notas de Aula 02: Processos de Desenvolvimento de Software

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Professor: Curso: Disciplina:

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

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

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

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

ENGENHARIA DE SOFTWARE/ SISTEMAS 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

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Engenharia de Software II

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

Modelo Cascata ou Clássico

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

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

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

APOO Análise e Projeto Orientado a Objetos. Requisitos

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

ENGENHARIA DE SOFTWARE I

Engenharia de Software

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Engenharia de Software

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

Processo Unificado (RUP)

Processos de Desenvolvimento de Software

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

Tecnologias Atuais de. Desenvolvimento de Software

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

A Disciplina Gerência de Projetos

Gerenciamento de Projetos Modulo III Grupo de Processos

MODELOS DE PROCESSO. Isac Aguiar isacaguiar.com.br

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

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

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

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

Processo de Desenvolvimento Unificado

Gerenciamento de Projetos

Qualidade de Software. Anderson Belgamo

Gerenciamento de Riscos do Projeto Eventos Adversos

Características do Software

Dicionário da EAP - Software FarmaInfor

Engenharia de Software

Feature-Driven Development

Engenharia de Software

Segurança de Aplicações Aula 6

Introdução ao Processo Unificado (PU)

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

Modelos do Design de Software

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

Planejamento de Projetos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

GESTÃO E OTIMIZAÇÃO DE PROCESSOS. Vanice Ferreira

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

Engenharia de Software II

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

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Engenharia de Software II

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

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

Prof. Me. Marcos Echevarria

Engenharia de Software

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

Metodologia de Gerenciamento de Projetos da Justiça Federal

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Laudon & Laudon MIS, 7th Edition. Pg. 1.1

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

Engenharia de Software

Gerenciamento de projetos.

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

O Processo Unificado

Engenharia de Software II

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

Transcrição:

Engenharia de Software II Aula 3 http://www.ic.uff.br/~bianca/engsoft2/ Aula 3-29/04/2006 1

Monitoria Marina Albuquerque E-mail: monitoriaes2@yahoo.com.br Horário de Atendimento: Terça e quinta de 09:00 às 11:00 hrs Quarta de 14:00 às 16:00 hrs Aula 3-29/04/2006 2

Revisão: arcabouço de processo É o alicerce ou esqueleto de um processo de software completo. Contém as atividades de arcabouço que são aplicáveis a todos os projetos de software. Engloba um conjunto de atividades guarda-chuva que são exercidas durante todo o processo. Processo de Software Arcabouço de Processo Atividades guarda-chuva atividade de arcabouço 1 Ação 1.1.. Ação 1.k.. atividade de arcabouço 2 Ação 1.1.. Ação 1.k Aula 3-29/04/2006 3

Revisão: atividades genéricas Quais são as atividades de arcabouço aplicáveis à maioria dos projetos de software? 1. Comunicação: levantamento de requisitos em colaboração com o cliente. 2. Planejamento: descreve as tarefas, os riscos, os recursos, os produtos e um cronograma. 3. Modelagem: criação de modelos que permitam ao desenvolvedor entender melhor o projeto e seus requisitos. Ações: Análise modelos de especificação de requisitos. Projeto modelos de especificação de projeto. 4. Construção: geração de código e testes. 5. Implantação: entrega do software ao cliente. Aula 3-29/04/2006 4

Modelos Prescritivos de Processo Um modelo de prescritivo de processo preenche o arcabouço de processo com conjuntos explícitos de tarefas. Cada modelo prescritivo de processo também prescreve um fluxo de trabalho = maneira como os elementos se inter-relacionam. Todos os modelos acomodam as atividades genéricas de arcabouço, mas diferem na ênfase e no fluxo. Aula 3-29/04/2006 5

Modelo em Cascata Também chamado de ciclo de vida clássico. Sugere uma abordagem sistemática e seqüencial para o desenvovimento de software. Comunicação Planejamento Modelagem Construção Implantação Aula 3-29/04/2006 6

Modelo em Cascata É o paradigma mais antigo da engenharia de software. Nas últimas duas décadas, têm surgido críticas e questionamentos sobre a sua eficácia. Por que o modelo de cascata freqüentemente falha? Projetos reais raramente seguem o fluxo seqüencial e modificações podem causar confusão. É difícil para estabelecer todos os requisitos inicialmente. O cliente precisa ter paciência porque uma versão executável do programa só ficará disponível no final do processo. O modelo leva a estados de bloqueio, nos quais membros da equipe ficam esperando outros membros terminar a sua parte. O modelo em cascata é adequado quando os requisitos são bem compreedidos, como em aperfeiçoamentos de um sistema existente. Aula 3-29/04/2006 7

Modelo Incremental Combina elementos do modelo em cascata aplicado de maneira iterativa. Funcionalidade e Características do Software Incremento 1 Incremento 2 Incremento n entrega do 1o. incremento Tempo decorrido do Projeto entrega do 2o. incremento entrega do n incremento Aula 3-29/04/2006 8

Modelo Incremental Cada seqüência produz incrementos do software passíveis de serem entregues, que fornecem progressivamente mais funcionalidade. O primeiro incremento é chamado de núcleo do produto. Os requisitos básicos são satisfeitos. Um plano é desenvolvido para o próximo incremento como resultado do seu uso/avaliação. O modelo incremental é particularmente útil quando não há mão-de-obra/recursos disponíveis para uma implementação completa. Aula 3-29/04/2006 9

Modelo RAD (Rapid Application Development) Enfatiza um ciclo de desenvolvimento curto, com o uso de uma abordagem de construção baseada em componentes. O planejamento é essencial, porque equipes trabalham em paralelo em diferentes funções do sistema. A modelagem abrange três fases: Modelagem de negócio Modelagem de dados Modelagem de processo e estabelece representações de projeto que servem como base para a atividade de construção. A implantação estabele a base para iterações subsequentes, se necessárias. Aula 3-29/04/2006 10

Modelo RAD Equipe 3 Modelagem modelagem de negócio modelagem de dados modelagem de processo Comunicação Equipe 2 Modelagem modelagem de negócio modelagem de dados modelagem de processo Construção reuso de componentes geração automática de código testes Planejamento Equipe 1 Modelagem modelagem de negócio modelagem de dados modelagem de processo Construção reuso de componentes geração automática de código testes Implantação Construção reuso de componentes geração automática de código testes 60-90 dias Aula 3-29/04/2006 11

Modelo RAD Recomendável quando uma aplicação pode ser modularizada de maneira que a função principal possa ser implementada em menos de 3 meses. Quais são as desvantagens do modelo RAD? Exige pessoal suficientes para criar um número de equipes RAD. Desenvolvedores e clientes têm que estar comprometidos com as atividades rápidas. Exige que o sistema seja modularizável. Não é adequado quando os riscos técnicos são altos. Aula 3-29/04/2006 12

Modelos Evolucionários São explicitamente projetados para acomodar um produto que evolui com o tempo. A cada iteração, produzem uma versão cada vez mais completa do software. Exemplos: Modelo de Prototipagem Modelo Espiral Modelo de Desenvolvimento Concorrente Aula 3-29/04/2006 13

Modelo de Prototipagem Auxilia o engenheiro de software e o cliente a entenderem melhor o que deve ser construído quando os requisitos estão confusos. Mais comumente usado como uma técnica que pode ser implementada dentro do contexto de qualquer outro modelo. Aula 3-29/04/2006 14

Modelo de prototipagem Definição de objetivos gerais e áreas de indefinição. Comunicação Plano Rápido Modelagem, Projeto Rápido Concentram-se na representação do layout da interface. Implantação, Entrega e Feedback Construção do Protótipo Preferencialmente re-utiliza partes de programas ou ferramentas de geração de interface. A iteração ocorre à medida que o protótipo é ajustado para satisfazer às necessidades do cliente. Aula 3-29/04/2006 15

Modelo de Prototipagem Problemas: Pode haver pressão do cliente para transformar um protótipo malfeito em produto final, resultando em baixa qualidade. Concessões na implementação podem fazer com que o desenvolvedor fique familiarizado com escolhas não ideais. O cliente tem que concordar que o protótipo será usado apenas para levantamento de requisitos e que o software real será submetido à engenharia com olho na qualidade. Aula 3-29/04/2006 16

Modelo Espiral Combina a natureza iterativa da prototipagem com os aspectos controlados do modelo em cascata. O software é produzido numa série de versões evolucionárias. Primeiras versões no só papel ou protótipo. É uma abordagem cíclica que aumenta incrementalmente o grau de definição, enquanto diminui o risco. O modelo pode ser aplicado ao longo de todo ciclo de vida de uma aplicação. Aula 3-29/04/2006 17

Modelo Espiral Comunicação Planejamento Estimativa Cronograma Análise de risco Modelagem Análise de Projeto Implantação Entrega Feedback Construção Código Teste Aula 3-29/04/2006 18

Modelo Espiral É uma abordagem realista do desenvolvimento de software. Problemas: Pode ser difícil convencer os clientes que a abordagem é controlável. A gerência pode exigir um orçamento fixo, o que não é compatível com o modelo espiral. Exige competência na avaliação de riscos. Aula 3-29/04/2006 19