Engenharia de Software. Prof. Me. Clodoaldo Brasilino

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

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

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

MODELOS DE PROCESSOS (PARTE 2)

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

Modelos de Processo de Software. Profª Jocelma Rios

Processos de Software

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

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. Prof. Me. Clodoaldo Brasilino

Desenvolvimento de Projetos

Processos de Software

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

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

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

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

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

Engenharia de Software

Engenharia de Software

Processo de Desenvolvimento. Edjandir Corrêa Costa

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

Engenharia de Software I - Aula 04

ENGENHARIA DE SOFTWARE

Processos de Software

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

Princípios da Engenharia de Software aula 03

Engenharia de Software I

CARGA HORÁRIA Engenharia de Software Código: horas PRÉ-REQUISITOS: Paradigmas de Programação

Processos de Software

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

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

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

Processos de. Desenvolvimento de Software

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

Processos de software

Análise de Sistemas - Atividade Modelos de Ciclo de Vida

CARGA HORÁRIA Engenharia de Software Código: horas PRÉ-REQUISITOS: Paradigmas de Programação

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

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

wuniversidade FEDERAL DO MARANHÃO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Escolhendo um Modelo de Ciclo de Vida

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

Engenharia de Software II

Modelos de Processo de Software

Aula 1: Apresentação. Revisão para Prova 1. Aula 2: Motivação. O que é software? Eng. de Software em Camadas. O que é Engenharia de Software?

DESENVOLVIMENTO BASEADO EM COMPONENTES

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Modelo de Desenvolvimento Concorrente

Engenharia de Software I

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

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

Projeto e Desenvolvimento de Software

Aula 2 Processo de Software

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

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Paradigmas de Software

PROCESSO DE SOFTWARE

Ciclo de Vida de Sistemas de Informação

Engenharia de Software Processo de Desenvolvimento de Software

Modelos de Processo de Software

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education

Engenharia de Software

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

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

ENGENHARIA DE SOFTWARE

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

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

ENGENHARIA DE SOFTWARE

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

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Modelos de Ciclo de Vida (Parte 1)

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

PROCESSOS DE SOFTWARE

Professor Emiliano S. Monteiro

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software

Introdução a Engenharia de Software

Reuso de Software Aula Maio 2012

Introdução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions

CICLO DE VIDA DE SOFTWARE

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

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO

Processos de Software

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

Modelos Prescritivos de Processo

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

Atividades de Desenvolvimento. Desenvolvimento de Software. Especificação de Requisitos. Atividades de Desenvolvimento. Especificação de Requisitos

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

Análise e Projeto de Software

Requisitos de Sistemas

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.

Testes de Software. Prof. Edjandir C. Costa

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

Projeto de Desenvolvimento de Software

Engenharia de Software 1

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Transcrição:

Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br

Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software 2

Conteúdo da Aula O que é um processo de software? Atividades de um processo de software Especificação Projeto e Implementação Validação Evolução Modelos de processo de software Modelos Genéricos - Cascata - Incremental - Baseado em Componentes Modelos Iterativos - Incremental - Espiral 3

O que é um processo de software? A engenharia de software é uma tecnologia em camadas Ferramentas Conteúdo desta aula Métodos Modelo de Processo Foco na Qualidade 4

O que é um processo de software? Pressman (2005) define processo de software como um framework para as tarefas que são necessárias para construir software de alta qualidade Já Sommerville (2008) diz que um processo de software é um conjunto de atividades que leva à produção de um produto de software 5

Atividades de um processo de software São quatro: Especificação Projeto e Implementação Validação Evolução 6

Especificação Também chamada de Engenharia de Requisitos Possui quatro estágios principais: Estudo de Viabilidade Elicitação e Análise de Requisitos Especificação de Requisitos Validação de Requisitos 7

Especificação Estudo de Viabilidade Obtenção e Análise de Requisitos Especificação de Requisitos Validação de Requisitos Relatório de Viabilidade Modelos de Sistema Requisitos de Usuário e de Sistema Documento de Requisitos 8

Projeto e Implementação Nesta atividade, podemos identificar sete estágios: Projeto de arquitetura Especificação abstrata Projeto de interface Projeto de componente Projeto de estruturas de dados Projeto de algoritmo 9

Projeto e Implementação Especificação de Requisitos Projeto de Arquitetura Especificação Abstrata Projeto de Interface Projeto de Componente Projeto de Estrutura de Dados Projeto de Algoritmo Arquitetura de Sistema Especificação de Software Especificação de interface Especificação de Componente Especificação de Estrutura de Dados Especificação de Algoritmo 10

Validação Também conhecida como Verificação e Validação (V & V) ou Testes Verifica a conformidade do software com a especificação e se o software atende as expectativas do cliente Possui três estágios: Teste de componente (ou unidade) Teste de sistema Teste de aceitação 11

Validação Teste de Componente Teste de Sistema Teste de Aceitação 12

Validação Componente Sistema Aceitação 13

Evolução Após a finalização do software, demandas adicionais podem fazer com que o software necessite de evolução no futuro São identificados quatro estágios nesta fase: Definir requisitos de sistema Avaliar sistemas existentes Propor mudanças de sistema Modificar o sistema 14

Evolução Definir requisitos de sistema Avaliar sistemas existentes Propor mudanças de sistema Modificar o sistema Sistemas Existentes Sistemas Novos 15

Modelos de processo de software O que é um modelo de processo de software? Pressman (2005) define modelos de processo de software como Modelos Prescritivos, onde as atividades de um processo de software são apresentadas através de um fluxo (workflow), mostrando como essas atividades interagem entre si. 16

Modelos de processo de software O que é um modelo de processo de software? Sommerville (2008) chama de modelo de processo de software uma versão simplificada do processo de software, apresentado sob perspectiva específica 17

Modelos de processo de software O que é um modelo de processo de software? Nos modelos, as atividades de processo apresentadas são organizadas/montadas/ esquematizadas de formas diferentes para cada modelo Os modelos trazem uma visão integrada dessas atividades 18

Modelos Genéricos Os três modelos genéricos são: Cascata (ou Clássico) Evolucionário Baseado em Componentes 19

Modelo em Cascata Dr. Winston W. Royce, em 1970, publica um artigo chamado Managing the Development of Large Software Systems, com visões pessoais do autor sobre o gerenciamento de grandes softwares Com isso, surge o primeiro modelo de processo de software, o Cascata (Clássico) 20

Modelo em Cascata 21

Modelo em Cascata 22

Modelo em Cascata Vantagens Aderência a modelos de processo de engenharia Estabilidade dos requisitos Desvantagens Iterações são onerosas e burocráticas Modificações no sistema são caras e lentas 23

Modelo Evolucionário Se baseia em duas premissas principais Desenvolvimento exploratório Prototipação throwaway 24

Modelo Evolucionário Atividades Simultâneas Versões do software Especificação Versão inicial Descrição do esboço Desenvolvimento Versões Versões intermediárias Versões intermediárias intermediárias Validação Versão final 25

Modelo Evolucionário Vantagens Especificação pode ser feita de forma incremental Comporta-se bem para sistemas de até médio porte (500.000 linhas) Desvantagens Difícil obter arquitetura estável Integração entre equipes é um desafio 26

Modelo Baseado em Componentes 27

Modelo Baseado em Componentes No comitê de ciências da OTAN, em 1968, Dr. Malcolm Douglas McIlroy deu início à ideia de software componentizado pelo artigo Mass produced software components Foco no Reuso Commercial Off-The-Shelf Systems (COTS) 28

Modelo Baseado em Componentes Especificação de Requisitos Análise de Componentes Modificação de Requisitos Projeto de Sistema com Reuso Desenvolvimento e Integração Validação 29

Modelo Baseado em Componentes Vantagens Reuso de código Entregas mais rápidas Reduz custos e riscos Desvantagens Componentes de terceiros podem prejudicar na evolução do software Modificações nos requisitos podem não atender às necessidades do usuário 30

Modelos Iterativos Foco em mudanças Modelos principais: Incremental Espiral 31

Modelo Incremental Definir Requisitos Iniciais Atribuir Requisitos aos Incrementos Projetar Arquitetura do Sistema Sistema Completo Desenvolver Incremento Validar Incremento Integrar Incremento Validar Sistema Sistema Incompleto 32

Modelo Incremental Vantagens Entregas rápidas Menor risco de insucesso do projeto Fácil priorização Desvantagens Incrementos devem ser pequenos Dificuldade de identificar requisitos comuns 33

Modelo Espiral Boehm, 1998 Análise de Riscos 34

Resumo da Aula Vimos: O que é processo de software e suas principais atividades O que é modelo de processo de software e os modelos mais difundidos - Paradigmas (Cascata, Evolucionário, ESBC) - Iterativos (Incremental, Espiral) 35

Alguma dúvida? 36

Fixação da Aula Leitura dos capítulos: Sommerville - Cap. 4 Pressman - Cap. 2 e 3 Lista de exercícios 37

Referências MCILLROY, M. D. Mass produced software components. Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Alemanha, Scientific Affairs Division, NATO. 1968. p. 79. Disponível em <http://homepages.cs.ncl.ac.uk/ brian.randell/nato/nato1968.pdf>. Acessado em 01 de Junho de 2014. PRESSMAN, R. S. Software Engineering: A Practitioner's Approach. 6 Ed. McGraw Hill, 2005. 912p. ROYCE, W. W. Managing the development of large software systems. 1970. Disponível em <http://leadinganswers.typepad.com/ leading_answers/files/original_waterfall_paper_winston_royce.pdf>. Acessado em 01 de Junho de 2014. SOMMERVILLE, I. Engenharia de Software. 8 Ed. Pearson, 2008. 552p. 38

Para Refletir 39