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

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

Modelos de Processo de Software

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

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Modelos de Processo de Software

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

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

Processo de Desenvolvimento. Edjandir Corrêa Costa

Definições e ciclo de vida

Processos de Software

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Engenharia de Software

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

Engenharia de Software

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

Princípios da Engenharia de Software aula 03

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

Engenharia de Software. Engenharia de Software

Processos de Software

Processos de software

Desenvolvimento de Projetos

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

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

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

ENGENHARIA DE SOFTWARE

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

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

Prof. Dr. Thiago Jabur Bittar

Modelos de Ciclo de Vida (Parte 1)

PROCESSO 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

Engenharia de Software II

Engenharia de Software

Escolhendo um Modelo de Ciclo de Vida

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

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

Paradigmas de Software

ENGENHARIA DE SOFTWARE

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

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

Ciclo de Vida de Sistemas de Informação

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

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

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

PROCESSOS DE SOFTWARE

Processos de Software

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

Engenharia de Software I

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

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

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

Engenharia de Software I - Aula 04

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

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

CICLO DE VIDA DE SOFTWARE

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

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.

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

Aula 2 Processo de Software

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Modelos de Processo de Software. Profª Jocelma Rios

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

Engenharia de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

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

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia de Software I

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

Modelos de Ciclo de Vida

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

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

ENGENHARIA DE SOFTWARE

Processos de Software

Processos de. Desenvolvimento de Software

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

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

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

Processos de Software

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

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

Processo devem incorporar uma estratégia desenvolvimento

Analista de Sistemas S. J. Rio Preto

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

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

MODELOS DE PROCESSOS (PARTE 2)

Prof. Ms. Ronaldo Martins da Costa

Análise de Sistemas CONTEXTUALIZAÇÃO

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

Engenharia de Software Processo de Desenvolvimento de Software

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

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

Introdução à Engenharia de Software

Introdução a Engenharia de Software

Análise de Sistemas Aula 4

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

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

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Atividades típicas do processo de desenvolvimento

Transcrição:

Professor Ariel da Silva Dias Modelos de Processo de Software Conjunto de atividades que leva à produção de um produto de Software [Sommerville,2011]; Podemos contar com ferramentas de apoio com o objetivo de automatizar esses processos, conhecidas como ferramentas CASE (Computer- Aided Software Engineering); Não existe um processo ideal; 1

Como visto na primeira aula, existem atividades comuns aos processos de software: Especificação; Projeto e Implementação de Software; Validação; Evolução Trata-se de uma representação abstrata de um processo de software; Representa um processo sob uma dada perspectiva; Existem vários modelos de processo de software Modelo Sequencial (Cascata); Desenvolvimento Evolucionário (Exploratório e Prototipação); Modelo Evolutivo (Incremental e Espiral). Cada um representa uma tentativa de colocar ordem em uma atividade inerentemente caótica. 2

Razões para a utilização de um modelo de processo de software Padronizar o processo de desenvolvimento; Padronizar os artefatos (Ex. documentação); Melhora a comunicação da equipe. Resultado = software com qualidade. Mais antigo e mais usado em engenharia de software; Trata-se de um modelo sequencial, modelado em função do ciclo da engenharia convencional; Suas cinco fases são encadeadas, daí vem o nome modelo cascata ; Uma nova fase só pode ser iniciada com a finalização da anterior; O resultado de uma fase se constitui na entrada da outra; 3

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 em detalhes e funcionam como uma especificação do sistema; Projeto de Sistema e Software: aloca os requisitos tanto para sistemas de hardware como para sistemas de software, por meio da definição de uma arquitetura geral do sistema; 4

Implementação e teste unitário: 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; 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 e entregue ao cliente. Integração e teste de sistema: Fase mais longa do ciclo de vida do software. 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. Ocorre, não necessariamente, a descoberta de novos requisitos. 5

Vantagens Documentação rígida em cada fase do processo; Imposição de disciplina, planejamento e gerenciamento; Pode ser combinado com outros modelos; Desvantagens Projetos reais raramente seguem um fluxo sequencial; É difícil para o cliente definir todos os requisitos no início do processo; Difícil adequação à mudanças de requisitos. Tem como base uma implementação inicial e realizar aprimoramentos por meio de várias versões; Rápido retorno para o cliente. Dois tipos Desenvolvimento exploratório; Prototipação; 6

Trabalha diretamente com o cliente; Possui início com os requisitos compreendidos; O sistema evolui com o acréscimo de características propostas pelo cliente. Tem por objetivo entender melhor os requisitos dos usuários; O desenvolvedor cria um modelo do software que será construído; Apropriado para quando o cliente não definiu corretamente ou detalhadamente os requisitos. 7

Obter Requisitos Obter Requisitos: desenvolvedor e cliente definem os objetivos gerais do software, identificando os requisitos; Refinamento do Protótipo Avaliar Protótipo Elaborar Projeto Rápido Construir Protótipo Projeto Rápido: representação dos aspectos do software que serão visíveis ao usuário; Construção do Protótipo: implementação rápida do projeto; Avaliação do Protótipo: cliente e desenvolvedor avaliam o protótipo; Refinamento do protótipo: cliente e desenvolvedor refinam os requisitos do software; 8

Construção do Produto Obter Requisitos Construção do Produto: identificado os requisitos, o protótipo é descartado e iniciasse o desenvolvimento da versão de produção; Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo 9

Atividades simultâneas ocorrem durante o processo de desenvolvimento; Vantagens Rápido feedback para o cliente; Desvantagens Dificulta a gerência da documentação do projeto; A implementação fica comprometida pois, para a rápida entrega do protótipo, o desenvolvedor utiliza das ferramentas que estão disponíveis. 10

Em algumas situações, haverá necessidade do produto de software evoluir com o tempo; Para isso, é necessário que a Engenharia de Software acompanhe essa evolução; Situações: Quando os requisitos de software e negócio mudam durante o desenvolvimento; Quando a data de entrega está apertada; Quando os requisitos são bem conhecidos, porém ainda não foram definidos os detalhes de cada um. 11

Modelos Evolutivos são também chamados de Iterativos Possibilitam o desenvolvimento de versões do software cada vez mais completas; Mistura conceitos dos modelos vistos anteriormente. Principais modelos iterativos Incremental; Espiral. Combina elementos do modelo cascata com o conceito iterativo da prototipação; Surge com o objetivo de reduzir o retrabalho no processo de desenvolvimento de software; O cliente não precisa detalhar todos os requisitos na fase inicial; A prioridade aqui é o kernel do sistema, ou seja, as partes mais importantes; Este modelo é indicado para sistemas pequenos; 12

Vantagens O cliente não precisa esperar até que todo o sistema seja entregue; Priorização das funcionalidades mais importantes; Desvantagens Os incrementos devem ser relativamente pequenos; Dificuldade no mapeamento de funcionalidades com dependência. União do conceito de iteratividade da prototipação com os aspectos controlados e sistemáticos do modelo em cascata; O processo é representado em formato de espiral, e não como uma sequência de atividades; Cada volta da espiral representa uma fase do processo de software; Existem tipicamente de 3 a 6 regiões de tarefas, mas o modelo mais empregado possuem 4 regiões; Não existem fases fixas no modelo; A gerência decide como estruturar o projeto em fases. 13

Modelo em espiral de processo de software de Boehm (4 regiões) Cada loop na espiral representa uma fase; O loop mais interno está concentrado nas possibilidades do sistema; O próximo loop está concentrado na definição dos requisitos; o loop um pouco mais externo está concentrado no projeto do sistema; um loop ainda mais externo está concentrado na construção do sistema. 14

Determinar objetivos, alternativas e restrições Levantamento dos objetivos específicos para cada fase do processo; Identificadas restrições sobre o processo e o produto. Avaliar alternativas, identificar e resolver riscos Identificar os riscos do projeto; Para cada risco, uma análise detalhada é executada; Passos são tomados para reduzir os riscos. Desenvolver e verificar próximo nível do produto Depois de avaliado o risco, um modelo de desenvolvimento é escolhido para o sistema; Desenvolvimento e validação. Planejar próxima fase Ocorre a revisão do projeto; Se ainda não estiver concluído, é tomada decisão de continuidade, planejando planos para a próxima fase (próximo loop). 15

Adiciona um novo elemento: Análise de Risco; Usa a prototipação em qualquer etapa como mecanismo de redução de riscos; O modelo é relativamente novo e não tem sido amplamente aplicado. SOMMERVILLE, I. Engenharia de Software. 9a edição. Pearson Addison Wesley. 2011 16