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

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

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

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

Processos de Software

Processo de Desenvolvimento. Edjandir Corrêa Costa

Engenharia de Software

Desenvolvimento de Projetos

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

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

Modelos de Processo de Software

Princípios da Engenharia de Software aula 03

Engenharia de Software I

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

Engenharia de Software

Engenharia de Software Processo de Desenvolvimento de Software

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

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

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

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

RUP RATIONAL UNIFIED PROCESS CONCEITOS CHAVES. Prof. Fabiano Papaiz IFRN

Modelos de Processo de Software

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

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.

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

Processos de software

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

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Escolhendo um Modelo de Ciclo de Vida

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

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos. Prof. Bruno Moreno

Definições e ciclo de vida

Modelos de Processo de Software. Profª Jocelma Rios

ENGENHARIA DE SOFTWARE

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

Engenharia de Software II

Processos de Software

Engenharia de Software I - Aula 04

Ciclo de Vida de Sistemas de Informação

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

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

Engenharia de Software 1

PROCESSO DE SOFTWARE

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

Paradigmas de Software

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

Prof. Dr. Thiago Jabur Bittar

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

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

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

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

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

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

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

Reuso de Software Aula Maio 2012

Modelos de Ciclo de Vida (Parte 1)

MODELOS DE PROCESSOS (PARTE 2)

ENGENHARIA DE SOFTWARE. Introdução

Engenharia de Software

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

Guia do Processo de Teste Metodologia Celepar

Teste de Software. Karen Frigo Busolin Novembro / 2010

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

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

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

ENGENHARIA DE REQUISITOS

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

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

Visão Geral de Engenharia de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

Aula 3.1 Introdução e Visão Geral do Processo Unificado

2. Modelos de Desenvolvimento de Software

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

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

Aula 2 Processo de Software

Processos de Validação e Verificação do MPS-Br

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

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

Verificação e Validação. Ewelton Yoshio Fabrício Araújo

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Transcrição:

PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br

2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados ao desenvolvimento:

3 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados ao desenvolvimento:

4 Introdução Logo, surgiu a necessidade de se criar roteiros de desenvolvimento; Esses roteiros são chamados processos de software; Esses processos são baseados em ideias gerais, que podem ser adaptadas; Essas ideias, por sua vez, são chamadas de modelos de processos de software; Processos de software possuem atividades de análise e de projeto.

5 Introdução Análise e Projeto de software: Análise: o que Investigação do problema e dos requisitos; Projeto: como Descrição de uma solução lógica; Faça a coisa certa [análise] e faça certo a coisa [projeto] (Craig Larman)

6 Introdução Definição de software: É um conjunto de vários artefatos, e não apenas o código fonte (Sommerville) Artefato é um termo bastante utilizado na ES Pode ser visto como o resultado de uma atividade de desenvolvimento; Definição de Engenharia de Software: É uma abordagem sistemática e disciplinada para o desenvolvimento (Pressman)

7 Engenharia de Software A engenharia de software é um embrião da engenharia convencional Define métodos, procedimentos e ferramentas para de construir softwares; Métodos Definem como fazer; Procedimentos Unem ferramentas e métodos; É uma sequência de ações dentro dos métodos; Ferramentas O que é utilizado para realizar os procedimentos e métodos;

8 Engenharia de Software Métodos, procedimentos e ferramentas para produzir softwares fazem parte, portanto, da ES; Um processo de software é o termo utilizado para definir diferentes procedimentos de desenvolvimento de software; Processos de software visam assegurar o desenvolvimento: Com prazos e necessidades de recursos definidos; Com elevada produtividade (de forma econômica); Com qualidade assegurada.

Processo de Software Um conjunto coerente de atividades para produção de software 9

Processo de Software Processos permitem: Organizar; Instrumentar; Planejar; Acompanhar projetos; Treinar equipes. 10

Processo de Software Não existe um processo ideal Várias organizações desenvolveram abordagens diferentes para o desenvolvimento de software; Processos evoluem de acordo com capacidades das pessoas e características da organização; Organizações aprimoram processos conhecidos; O uso de um processo inadequado pode reduzir a qualidade/utilidade do produto e aumentar custos. 11

Processo de Software Sem o uso de processos: (1) Erros são cometidos repetidamente; (2) Dificuldade de prever cronogramas e orçamentos; (3) Alto índice de defeitos, retrabalho e desperdício; (4) Dificuldade de implementar boas práticas e lições aprendidas; (5) Dificuldade de realizar ações para prevenção de defeitos. 12

Processo de Software Efeito do processo sobre o custo: Fonte: http://www.les.inf.puc-rio.br/wiki/images/c/c7/prds2008-1_modulo2.pdf 13

Processo de Software Atividades comuns a todos os processos: Especificação do software Define-se funcionalidades e restrições do SW; Projeto e implementação do software Produção do SW; Validação do software SW é validado de acordo com o que cliente desejava; Evolução do software SW deve evoluir e atender as necessidades do cliente. 14

Processo de Software Conceitos Básicos de Processos: Artefato É um resultado de uma atividade Exemplos: Documento revisto e aceito; Módulo implementado, testado e aceito; Tela implementada, testada e aceita; Quando entregue ao cliente, o artefato é um produto. 15

Processo de Software Conceitos Básicos de Processos: Insumos Elemento necessário para a realização de uma tarefa ou atividade; Pode ser um elemento de saída de outras atividades ou tarefas; São os itens utilizados para realização de uma tarefa; Exemplo: Documento de requisitos é o insumo para criação do documento de UX (User experience); Para estimar o esforço do projeto, são necessários o escopo e o plano do mesmo; 16

Processo de Software Conceitos Básicos de Processos: Tarefa É uma ação desempenhada por alguma pessoa; Está relacionada ao desenvolvimento ou monitoramento do projeto; Consome recursos: Esforço de uma pessoa; Equipamento; Financeiro. 17

Processo de Software Conceitos Básicos de Processos: Atividade Conjunto de tarefas que levam a um ou mais artefatos de qualidade controlada Representa uma evidência de progresso no desenvolvimento; Atividades são como mini-projetos : Possuem início e fim definidos; Consomem um volume finito de recursos; Produzem artefatos definidos; Possuem critérios de conclusão estabelecidos. 18

Processo de Software Conceitos Básicos de Processos: Ferramentas e equipamentos: Auxiliam a execução das atividades e tarefas dos processos; Podem automatizar partes da execução das atividades e tarefas; Agilizam a execução dos processos; Papel Descreve como as pessoas se comportam no processo e quais são as responsabilidades que elas têm; Requer habilidades específicas necessárias; Papeis não são pessoas: Pessoas executam papéis. 19

Processo de Software Conceitos Básicos de Processos: Ferramentas e equipamentos: Auxiliam a execução das atividades e tarefas dos processos; Podem automatizar partes da execuco das atividades e tarefas; Agilizam a execução dos processos; Papel Descreve como as pessoas se comportam no processo e quais são as responsabilidades que elas têm; Requer habilidades específicas necessárias; Papeis não são pessoas: Pessoas executam papéis. 20

Modelo de Processo Um modelo de processo é também conhecido como Paradigma de Engenharia de Software ou Ciclo de Vida; É uma descrição simplificada, abstrata de um processo de software; Representa um processo sob determinada perspectiva, visão Fornece apenas informações parciais sobre o processo; Inclui atividades, produtos e papeis; Um modelo de processo define conjuntos de fases que devem ser executadas para o desenvolvimento de um software Determina a ordem e a interação entre as fases e atividades. 21

Modelo de Processo Diferentes modelos representam diferentes categorias de processos de software; Um processo de software pode implementar ideias de diferentes modelos; São frameworks de processos Podem ser adaptados ou ampliados para criar processos mais específicos. 22

Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 23

Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 24

Modelo em Cascata Também é conhecido como Modelo Sequencial Linear ou Ciclo de Vida Clássico ; Modelo mais antigo e o mais amplamente usado da Engenharia de Software Modelado baseado em técnicas da engenharia convencional; Requer uma abordagem sistemática, sequencial ao desenvolvimento do software. 25

Modelo em Cascata Principal problema: o produto da engenharia de software é muito diferente do produto da engenharia convencional. 26

Modelo em Cascata O modelo em cascata aborda a produção de software em cinco etapas: Definição de Requisitos; Projeto de Sistema e Software; Implementação e Teste de Unidade; Integração e Teste de Sistema; Operação e Manutenção. 27

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Cada estágio do modelo demonstra as atividades fundamentais de desenvolvimento Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 28

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Análise de alto nível: elicitação de requisitos do sistema. Tenta-se compreender o domínio da informação. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 29

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Serviços, restrições e objetivos do sistema são definidos por meio de consulta ao usuário. Baseado nesses conceitos, o sistema é especificado detalhadamente. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 30

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Organiza os requisitos: de hardware ou de software. Define uma arquitetura geral respeitando determinado nível de abstração. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 31

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software O projeto de software é como um conjunto de programas, ou unidades. O teste de unidade é realizado. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 32

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software As unidades individuais do programa são integradas e testadas como um programa completo Após os testes o sistema é liberado ao cliente Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 33

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Fase mais longa do ciclo de vida; O sistema é colocado em operação; A manutenção envolve a correção de erros detectados nos estágios anteriores e o aprimoramento e ampliação dos serviços Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 34

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software A fase seguinte não começa enquanto a fase anterior não tenha finalizado. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 35

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Entretanto, na PRÁTICA, esses estágios se sobrepõem e trocam informações entre si. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 36

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Essas iterações envolvem muito retrabalho. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 37

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Após um pequeno número de iterações, é normal suspender partes do desenvolvimento, como a especificação, e seguir com estágios a frente. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 38

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Assim, os problemas encontrados anteriormente são reprogramados ou ignorados Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 39

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Isso pode gerar problemas. Por exemplo, o congelamento prematuro de requisitos pode significar que o sistema não fará o que o usuário deseja. Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 40

Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Só quando o software é colocado em uso é que se descobre a maioria dos erros e omissões. Projeto de sistema e software O software deve evoluir para que permaneca útil Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 41

Modelo em Cascata Vantagens Vasta documentação produzida em cada fase; Aderência a outros modelos de processo; Desvantagens Dificuldade em determinar todos os requisitos no início; Modelo muito rígido: divisão inflexível das fases; Demora para o cliente ver alguma funcionalidade; Parte da equipe fica ociosa durante as etapas que não estão sendo desenvolvidas; Portanto, esse modelo é mais apropriado quando os requisitos são bem compreendidos. 42