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

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

Engenharia de Software

Engenharia de Software

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE

Processos de Software

Processos de software

Processos de. Desenvolvimento de Software

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE

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

Processos de Software

Prof. Dr. Thiago Jabur Bittar

Engenharia de Software

Paradigmas de Software

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

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

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

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

Processos de Software

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

Projeto e Desenvolvimento de Software

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

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

Atividades típicas do processo de desenvolvimento

Processos de Software

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

Processo de Desenvolvimento. Edjandir Corrêa Costa

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

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

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

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

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

RUP RATIONAL UNIFIED PROCESS

Desenvolvimento de Projetos

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

Modelos de Processo de Software. Profª Jocelma Rios

Engenharia de Software. Herbert Rausch Fernandes

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

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

Processos de Software

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

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

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

Capítulo 2 - Processos de Software

Engenharia de Software Processo de Desenvolvimento de Software

Escolhendo um Modelo de Ciclo de Vida

Princípios da Engenharia de Software aula 03

RUP/PSDS. Introdução e Comparação

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

Modelos Prescritivos de Processo

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

MODELOS DE PROCESSOS (PARTE 2)

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)

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

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

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

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

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Introdução a Engenharia de Software

Engenharia de Software I - Aula 04

Modelos Prescritivos de Processo

CICLO DE VIDA DE SOFTWARE

Introdução à Engenharia de Software

Visão Geral do RUP (Rational Unified Process)

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

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

Introdução ao RUP Rational Unified Process

6.CONCLUSÕES CONCLUSÕES

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

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

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.

Ciclo de Vida de Sistemas de Informação

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

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN

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

Rational Unified Process (RUP)

Engenharia de Software I

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

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

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Análise e Projeto Orientados a Objetos Professora: Elisa Yumi Nakagawa PAE: Cristiane Aparecida Lana 2 semestre de 2015

Reuso de Software Aula Maio 2012

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

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

Engenharia Software. Ení Berbert Camilo Contaiffer

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

Introdução ao Processo Unificado. Prof. Edjandir Corrêa Costa

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO

Aula 2 Processo de Software

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

integração de Requisitos Orientados ao Negócio iron: Apresentação de Método e Ferramenta

Processos de software Leitura: Sommerville / Pressman / Ariadne

Transcrição:

Engenharia de Software Processos Desenvolvimento de Software Tradicionais 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Processos Um conjunto estruturado de atividades necessárias para o desenvolvimento de um sistema de software Especificação; Projeto; Validação; Evolução. Um modelo de processo de software é uma representação abstrata do processo. Ele apresenta a descrição de um processo a partir de uma perspectiva particular.

Processos Processo = Níveis ou etapas Processo = Ciclo de vida do sw Foco = Aprimorar o desenvolvimento Processos Artesanais (Gambiarra)... Processos Tradicionais (Clássicos) Processos Ágeis...

Modelo CASCATA (waterfall) Mais antigo/mais tradicional Clássico Atualmente existem adaptações e simplificações dele... Rígido... Linear...

Modelo CASCATA Sub-processos

Modelo CASCATA Sub-processos

Modelo CASCATA Sub-processos

Modelo CASCATA Sub-processos

Modelo CASCATA Sub-processos

Modelo CASCATA (waterfall) A principal desvantagem do modelo cascata é a dificuldade de acomodação das mudanças depois que o processo está em andamento. Uma fase tem de estar completa antes de passar para a próxima.

Processos Tradicionais Modelo CASCATA (waterfall) Particionamento inflexível do projeto em estágios distintos, dificulta a resposta aos requisitos de mudança do cliente. Portanto, este modelo é apropriado somente quando os requisitos são bem compreendidos, e quando as mudanças forem bastante limitadas durante o desenvolvimento do sistema. Poucos sistemas de negócio têm requisitos estáveis. O modelo cascata é o mais usado em projetos de engenharia de sistemas de grande porte, onde um sistema é desenvolvido em várias localidades.

Modelo Evolutivo/Evolucionário Expandir e Incrementar sw Direção determinada pela experiência operacional Desenvolvimento de Protótipos... Solidificar requisitos...

Modelo Evolutivo/Evolucionário

Modelo Evolutivo/Evolucionário

Modelo Evolutivo/Evolucionário Problemas Falta de visibilidade de processo; Os sistemas são freqüentemente mal estruturados; Habilidades especiais (por exemplo, em linguagens para prototipação rápida) podem ser solicitadas. Aplicabilidade Para sistemas interativos de pequeno e médio portes; Para partes de um sistema de grande porte (por exemplo, a interface de usuário); Para sistema com curto ciclo de vida.

Processos Tradicionais Modelo Baseado em Componentes Baseado em reuso sistemático onde sistemas são integrados a partir de componentes existentes ou de sistemas COTS (Commercial-of-the-shelf) (soluções prontas disponíveis no mercado) Estágios do processo Análise de componentes; Modificação de requisitos; Projeto de sistema com reuso; Desenvolvimento e integração. Esta abordagem está se tornando cada vez mais usada à medida que padrões de componentes têm surgido.

Modelo Baseado em Componentes foco em REUSO

Processos Tradicionais Modelo Iterativo Requisitos de sistema SEMPRE evoluem no curso de um projeto e, sendo assim, a iteração de processo, onde estágios iniciais são retrabalhados, é sempre parte do processo dos sistemas de grande porte. A iteração pode ser aplicada a qualquer um dos modelos genéricos do processo. Duas abordagens (relacionadas) Entrega incremental; Desenvolvimento espiral.

Processos Tradicionais Modelo Iterativo - Incremental Ao invés de entregar o sistema como uma única entrega, o desenvolvimento e a entrega são separados em incrementos, sendo que cada incremento fornece parte da funcionalidade solicitada. Os requisitos de usuário são priorizados e os requisitos de prioridade mais alta são incluídos nos incrementos iniciais. Uma vez que o desenvolvimento de um incremento é iniciado, os requisitos são congelados, embora os requisitos para os incrementos posteriores possam continuar evoluindo.

Modelo Iterativo - Incremental

Modelo Iterativo - Incremental O valor pode ser entregue para o cliente com cada incremento e, desse modo, a funcionalidade de sistema é disponibilizada mais cedo. O incremento inicial age como um protótipo para auxiliar a elicitar os requisitos para incrementos posteriores do sistema. Riscos menores de falha geral do projeto. Os serviços de sistema de mais alta prioridade tendem a receber mais testes.

Modelo Iterativo - Incremental INÍCIO dos Métodos Ágeis... Extreme Programming e outros...

Processos Tradicionais Modelo Iterativo Espiral O processo é representado como uma espiral ao invés de uma seqüência de atividades com realimentação. Cada loop na espiral representa uma fase no processo. Sem fases definidas, tais como especificação ou projeto os loops na espiral são escolhidos dependendo do que é requisitado. Os riscos são explicitamente avaliados e resolvidos ao longo do processo.

Modelo Iterativo Espiral

Modelo Iterativo Espiral

Processos Tradicionais Modelo Iterativo Espiral Definição de objetivos Objetivos específicos para a fase são identificados. Avaliação e redução de riscos Riscos são avaliados e atividades são realizadas para reduzir os riscos-chave. Desenvolvimento e validação Um modelo de desenvolvimento para o sistema, que pode ser qualquer um dos modelos genéricos, é escolhido. Planejamento O projeto é revisado e a próxima fase da espiral é planejada.

RUP Rational Unified Process

RUP Rational Unified Process Desenvolvimento de Software Interativo Gerenciamento de requisitos Uso de arquitetura baseada em componentes Modelagem visual Verificação contínua da qualidade Gerenciamento de mudanças

RUP Rational Unified Process Conjunto de atividades bem definidas com responsáveis com artefatos de entrada e saída com dependências entre as mesmas e ordem de execução com modelo de ciclo de vida descrição sistemática de como devem ser realizadas UML

RUP Rational Unified Process

RUP Rational Unified Process

Processos Tradicionais Pontos Chave: Processos de software são atividades envolvidas na produção e na evolução de um sistema de software. Modelos de processo de software são representações abstratas destes processos. Atividades gerais incluem especificação, projeto e implementação, validação e evolução de software. Modelos genéricos de processo descrevem a organização dos processos de software. Exemplos incluem o modelo cascata, o desenvolvimento evolucionário e engenharia de software baseada em componentes. Modelos de processo iterativos apresentam o processo de software como um ciclo de atividades.