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

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

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

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

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

Processo de Desenvolvimento. Edjandir Corrêa Costa

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Processos 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

Processos de Software

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

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

PROCESSO DE SOFTWARE

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

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

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

Modelos de Processo de Software. Profª Jocelma Rios

Engenharia de Software I

Prof. Dr. Thiago Jabur Bittar

Princípios da Engenharia de Software aula 03

Cadeira: Engenharia de Software

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão

Engenharia de Software

Engenharia Software. Ení Berbert Camilo Contaiffer

MODELOS DE PROCESSOS (PARTE 2)

Guia do Processo de Teste Metodologia Celepar

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

Engenharia de Software II

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Engenharia de Sistemas e Software

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

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

ENGENHARIA DE SOFTWARE

Requisitos de Sistemas

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

Introdução a Engenharia de Software

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

CICLO DE VIDA DE SOFTWARE

21/09/2012. Elicitação de Requisitos. Projeto de Interface Homem- Máquina. Prof. Esp. MBA Heuber G. F. Lima. Técnicas etipos de Requisitos

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Capítulo 2 - Processos de Software

Processos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software?

Engenharia de Software I - Aula 04

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.

Modelos de Processo de Software

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

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

Processos de Software

Engenharia de Software

Introdução. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

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

ENGENHARIA DE SOFTWARE

Professor Emiliano S. Monteiro

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

TESTES DE SOFTWARE Lista de Exercício 02. Luiz Leão

Requisitos de Sistemas

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Processos de Software

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Paradigmas de Software

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO

3ª Aula. Processo de Projeto em SE Exemplo de projeto: Sistema de Mapa GPS. Introdução. PSI3441 Arquitetura de Sistemas Embarcados

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Engenharia de Requisitos

Engenharia de Software

5 Processo de Reificação e de Desenvolvimento com ACCA

Analista de Sistemas S. J. Rio Preto

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Desenvolvimento de Projetos

Desenvolvimento ágil de software

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

Verificação e Validação (V & V)

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.

As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Prof. Elias Ferreira

DESENHO DE CARGOS E TAREFAS

ENGENHARIA DE SOFTWARE

Modelos de Processo de Software

Desafios do desenvolvimento de Software (Desenvolvimento Tradicional x Desenvolvimento Ágil)

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

Escolhendo um Modelo de Ciclo de Vida

ISO/IEC Processo de ciclo de vida

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

Título PROCESSO LABES ESPECIALIZADO PARA DESENVOLVIMENTO SEGUNDO O PARADIGMA ESTRUTURADO. Projeto. Analista; Requisitos Funcionais Escopo; Cliente;

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

ENGENHARIA DE SOFTWARE. Aula 12 Testes de software

Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses:

Análise e Projeto de Sistemas I Curso: Sistemas de Informação

ISO/IEC 12207: Verificação, Validação e Testes

Engenharia de Software I

Engenharia de Software 1

RUP Unified Process. Profª Jocelma Rios

Transcrição:

Aula 2 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br

2

Vale a pena ver de novo O que é um processo? O que é um processo de desenvolvimento de software? Quais são as principais atividades durante o processo de desenvolvimento de software? 3

Vale a pena ver de novo O que é um processo? Processo nada mais é que uma série de ações, ou passos, que são realizados para se alcançar determinados objetivos Willian Edwards Deming O que é um processo de desenvolvimento de software? Quais são as principais atividades durante o processo de desenvolvimento de software? 4

Vale a pena ver de novo O que é um processo? O que é um processo de desenvolvimento de software? Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software. (PRESSMAN, 2011) Quais são as principais atividades durante o processo de desenvolvimento de software? 5

Vale a pena ver de novo O que é um processo? O que é um processo de desenvolvimento de software? Quais são as principais atividades durante o processo de desenvolvimento de software? Levantamento de requisitos; Análise; Projeto (design); Implementação; Testes; Implantação; Evolução. 6

Outline Modelos de Processo: Definição; O modelo em cascata. 7

Definição de Modelo de Processo 8

9

Significado de Modelo: Imagem, desenho ou objeto que serve para ser imitado (desenhando ou esculpindo) (DICIONÁRIO AURÉLIO, 2017) 10

O que é um Modelo de Processo? Um modelo de processo é uma representação simplificada de um processo de software; Modelos são abstrações que podem ser usadas para explicar diferentes abordagens de desenvolvimento de software. 11

O que é um Modelo de Processo? Um modelo de processo é uma representação simplificada de um processo de software; Modelos são abstrações que podem ser usadas para explicar diferentes abordagens de desenvolvimento de software. Alguns tipos de modelos: Cascata; Iterativo e incremental; Desenvolvimento ágil; Dentre outros. 12

O modelo em cascata http://bit.ly/2vy8vrl 13

O modelo em cascata Primeiro modelo de processo de desenvolvimento de software a ser publicado foi derivado de processos mais gerais da engenharia de sistemas; Por causa do encadeamento entre uma fase e outra, esse modelo é conhecido como Modelo em Cascata, ou Ciclo de Vida de Software; O modelo em cascata é um exemplo de um processo dirigido a planos, ou seja, primeiro deve-se planejar e programar todas as atividades do processo antes de começar a trabalhar nelas. 14

O modelo em cascata http://bit.ly/2f0ma1h 15

O modelo em cascata 1. Análise e definição de requisitos: 2. Projeto de sistema e software: 3. Implementação e teste unitário: 4. Integração e teste de sistema: 5. Operação e manutenção: 16

O modelo em cascata 1. Análise e definição de requisitos: Os serviços, restrições e metas do sistema são estabelecidos por meio de consulta aos usuários. Em seguida, são definidos detalhes e funcionam como uma especificação do sistema. 2. Projeto de sistema e software: 3. Implementação e teste unitário: 4. Integração e teste de sistema: 5. Operação e manutenção: 17

O modelo em cascata 1. Análise e definição de requisitos: 2. Projeto de sistema e software: O processo de projeto de sistemas aloca os requisitos tanto para sistemas de hardware como para sistemas de software, por meio da definição de uma arquitetura geral do sistema. O projeto de software envolve identificação e descrição das abstrações fundamentais do sistema de software e seus relacionamentos. 3. Implementação e teste unitário: 4. Integração e teste de sistema: 5. Operação e manutenção: 18

O modelo em cascata 1. Análise e definição de requisitos: 2. Projeto de sistema e software: 3. Implementação e teste unitário: Durante este estágio, o projeto do software é desenvolvido como um conjunto de programas ou unidades de programa. O teste unitário envolve a verificação de que cada unidade atenda a sua especificação. 4. Integração e teste de sistema: 5. Operação e manutenção: 19

O modelo em cascata 1. Análise e definição de requisitos: 2. Projeto de sistema e software: 3. Implementação e teste unitário: 4. Integração e teste de sistema: As unidades individuais do programa ou programas são integradas e testadas como um sistema completo para assegurar que os requisitos do software tenham sido atendidos. Após o teste, o sistema de software é entregue ao cliente. 5. Operação e manutenção: 20

O modelo em cascata 1. Análise e definição de requisitos: 2. Projeto de sistema e software: 3. Implementação e teste unitário: 4. Integração e teste de sistema: 5. Operação e manutenção: Normalmente (embora não necessariamente), essa fase é a mais longa do ciclo de vida. O sistema é instalado e colocado em uso. A manutenção envolve a correção de erros que não foram descobertos em estágios iniciais do ciclo de vida, com melhoria da implementação das unidades do sistema e ampliação de seus serviços em resposta às descobertas de novos requisitos. 21

O modelo em cascata na prática 22

O modelo em cascata 1. Análise e definição de requisitos: 2. Projeto de sistema e software: 3. Implementação e teste unitário: 4. Integração e teste de sistema: 5. Operação e manutenção: 23

1. Análise e definição de requisitos Contexto: José está encarregado de enfeitar sua enorme casa para o Natal. Devido ao tamanho da casa, é necessário antecipar os preparativos. Considerando a sustentabilidade, José irá confeccionar grande parte dos enfeites reutilizando papéis. Objetivo: O principal objetivo é criar uma estrela de papel. Mais informações (é necessário?): 24

2. Projeto de sistema e software Desenhar o formato da estrela. 25

3. Implementação e teste unitário Produzir a estrela e testar se ela corresponde aos requisitos básicos. 26

4. Integração e teste de sistema A integração de outros componentes é necessária? Se sim, deve ser integrado e testado. 27

5. Operação e manutenção O produto deve ser entregue e usado pelo cliente. 28

http://bit.ly/2ucsuvn 29

5. Operação e manutenção O produto deve ser entregue e usado pelo cliente. O cliente pode indicar possíveis erros e falhas do produto produzido. 30

#1 Correção José não consultou a sua esposa e ela determinou que a estrela tenha exatamente seis pontas! 31

#2 Correção A estrela deve ter aproximadamente o tamanho entre 12 e 15 cm! 32

#3 Correção A estrela deve ter um efeito 3D! 33

Considerações finais Em princípio, o resultado de cada estágio é a aprovação de um ou mais documentos ( assinados ); O estágio seguinte não deve ser iniciado até que a fase anterior seja concluída; Na prática, esses estágios se sobrepõem e alimentam uns aos outros de informações; Durante o projeto, os problemas como os requisitos são identificados; durante a codificação, problemas de projeto são encontrados e assim por diante; 34

Considerações finais O processo de software não é um modelo linear simples, mas envolve o feedback de uma fase para outra; Assim, os documentos produzidos em cada fase podem ser modificados para refletirem as alterações feitas em cada um deles; 35

Algumas desvantagens Por causa dos custos de produção e aprovação de documentos, as iterações podem ser dispendiosas e envolver significativo retrabalho; Assim, após um pequeno número de iterações, é normal se congelarem partes do desenvolvimento, como a especificação, e dar-se continuidade aos estágios posteriores de desenvolvimento; A solução dos problemas fica para mais tarde, ignorada ou programada, quando possível; O congelamento prematuro dos requisitos pode significar que o sistema não fará o que o usuário quer; Também pode levar a sistemas mal estruturados, quando os problemas de projeto são contornados por artifícios de implementação. 36

O estágio final do ciclo de vida Nesta fase, o software é colocado em uso; Erros e omissões nos requisitos originais do software são descobertos; Os erros de programa e projeto aparecem e são identificadas novas necessidades funcionais; O sistema deve evoluir para permanecer útil; Fazer alterações (manutenção de software) pode implicar repetição de estágios anteriores do processo. 37

Conclusões Em princípio, o modelo em cascata deve ser usado apenas quando os requisitos são bem compreendidos e pouco provavelmente venham a ser radicalmente alterados durante o desenvolvimento do sistema; No entanto, este modelo é usado para criar outas variações, tal como o desenvolvimento formal. O método B, é um tipo de desenvolvimento formal, no qual é adotado para requisitos rigorosos de segurança, confiabilidade e proteção; O formalismo se dá na transformação matemática dos requisitos. 38

Leitura recomendada SOMMERVILLE, 2017: Páginas 18 a 22. 39

Referências DICIONÁRIO AURÉLIO. Acessado em 31 de julho de 2017. Disponível em https://dicionariodoaurelio.com/modelo. 2017. SOMMERVILLE. Engenharia de Software, São Paulo: Addison-Wesley, 9 ed., 2011. ISBN-10: 8579361087 ISBN-13: 9788579361081. 40