02 - introducao ao rup

40
Processo de Desenvolvimento e RUP Requisitos de Software Levantamento, Análise e Gestão

Upload: leoaguiars

Post on 29-Jun-2015

651 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 02 - Introducao ao RUP

Processo de Desenvolvimento e RUP

Requisitos de SoftwareLevantamento, Análise e Gestão

Page 2: 02 - Introducao ao RUP

Tópico 2 - Introdução ao RUP

O que é Processo de Desenvolvimento?

O que é RUP?

Principais Características do RUP

Conceitos ImportantesDisciplinas Fases Iterações

Papéis Atividade Artefatos

Page 3: 02 - Introducao ao RUP

Tópico 2 - Introdução ao RUP

O que é Processo de Desenvolvimento?

O que é RUP?

Principais Características do RUP

Conceitos Importantes

Page 4: 02 - Introducao ao RUP

Processo de Desenvolvimento

O que é?

Processo de Desenvolvimento é um conjunto de passos ordenados que devem ser seguidos para se atingir um determinado objetivo.

O objetivo na Engenharia de Processos é desenvolver ou melhorar um modelo de processo.

O objetivo na Engenharia de Software é um produto de software novo ou a evolução de um já existente.

Page 5: 02 - Introducao ao RUP

Processo de Desenvolvimento

O que é?

Um processo define Quem faz O Que, Quando e Como, a fim de atingir um determinado objetivo.

O processo envolve métodos, técnicas, ferramentas e pessoas

Processo de engenharia de software

Requisitos novos ou alterados

Sistema novo ou alterado

Page 6: 02 - Introducao ao RUP

Processo de Desenvolvimento

Para que serve?

O trabalho organizado permite maior controle sobre os resultados.

O trabalho padronizado torna-se mais previsível, possibilitando a monitoração dos riscos e consequentemente a sua mitigação.

Permite a execução do trabalho de forma impessoal, ou seja, terá o mesmo resultado independente de quem executa.

Níveis de maturidade garantem a execução dos serviços por meio de processos consolidados e formalizados.

Page 7: 02 - Introducao ao RUP

Tópico 2 - Introdução ao RUP

O que é Processo de Desenvolvimento?

O que é RUP?

Principais Características do RUP

Conceitos Importantes

Page 8: 02 - Introducao ao RUP

Rational Unified Process - RUP

Definição

O RUP é um framework para criação de um processo de desenvolvimento de software e, como tal, descreve os papéis e as atividades que cada membro da equipe de projeto deve desempenhar ao longo do ciclo de desenvolvimento do software e os produtos que devem ser gerados como resultado destas atividades, os chamados artefatos.

Page 9: 02 - Introducao ao RUP

Rational Unified Process - RUP

Definição - continuação

Baseado num conjunto de princípios para o desenvolvimento de software bem-sucedido.

Completo o suficiente para abranger uma grande faixa de tipos de projeto.

Define uma estrutura de processo que deve ser customizada para o projeto.

Base de conhecimento apresentada como um portal web.

Serve como guia para as atividades do ciclo de vida do software.

Page 10: 02 - Introducao ao RUP

Rational Unified Process - RUP

Estrutura

Visão Dinâmica(ciclo de vida)

Visão Estática(disciplinas)

Page 11: 02 - Introducao ao RUP

Tópico 2 - Introdução ao RUP

O que é Processo de Desenvolvimento?

O que é RUP?

Principais Características do RUP

Conceitos Importantes

Page 12: 02 - Introducao ao RUP

RUP – Principais Características

Melhores Práticas

Desenvolver Iterativamente

Gerenciar Requisitos

Utilizar Arquiteturas Componentizadas

Modelar Visualmente (UML)

Verificação Contínua da Qualidade

Gerenciar Mudanças

Page 13: 02 - Introducao ao RUP

RUP – Principais Características

Melhores Práticas

Desenvolver Iterativamente

Gerenciar Requisitos

Utilizar Arquiteturas Componentizadas

Modelar Visualmente (UML)

Verificação Contínua da Qualidade

Gerenciar Mudanças

Page 14: 02 - Introducao ao RUP

RUP – Principais Características

Desenvolvimento IterativoProcesso Cascata

Código e Teste

Design

Integraçãodos Módulos

Teste de Sistema

Análise de Requisitos

Planejamento Demora na confirmação e resolução

de riscos críticos. Mensura progresso por produto

entregue que são indicadores ruins para avaliar progresso.

Demora nas integrações e testes. Implantações no final. Frequentemente resulta em

iterações maiores e não planejadas.

Page 15: 02 - Introducao ao RUP

RUP – Principais Características

Desenvolvimento IterativoIterações

Resolve os maiores riscos antes que haja custos. Facilita maior interação e feedback do usuário. Faz teste e integração contínua. Foca em marcos de projeto curtos e objetivos. Torna possível a entrega parcial de executáveis.

T E M P OT E M P O

Iteração 1 Iteração 2 Iteração 3

PR

DC

IT

PR

DC

IT

PR

DC

IT

Page 16: 02 - Introducao ao RUP

RUP – Principais Características

Melhores Práticas

Desenvolver Iterativamente

Gerenciar Requisitos

Utilizar Arquiteturas Componentizadas

Modelar Visualmente (UML)

Verificação Contínua da Qualidade

Gerenciar Mudanças

Page 17: 02 - Introducao ao RUP

RUP – Principais Características

Gerenciamento de Requisitos

Tenha certeza que está resolvendo o problema certo e entregando o sistema certo.

Para ter uma ação completa:

Entenda o Problema.

Detalhe, organize, e documente os requisitos.

Gerencie as mudanças de requisitos do sistema.

Page 18: 02 - Introducao ao RUP

RUP – Principais Características

Melhores Práticas

Desenvolver Iterativamente

Gerenciar Requisitos

Utilizar Arquiteturas Componentizadas

Modelar Visualmente (UML)

Verificação Contínua da Qualidade

Gerenciar Mudanças

Page 19: 02 - Introducao ao RUP

RUP – Principais Características

Arquitetura Componentizada

System-System-softwaresoftware

MiddlewareMiddleware

Business-Business-specificspecific

Application-Application-specificspecific

Baseada em componentes

Reuso ou customização de componentes.

Escolha de componentes comerciais disponíveis.

Integra o sistema existente incrementalmente.

Page 20: 02 - Introducao ao RUP

RUP – Principais Características

Arquitetura Componentizada

Resiliente (flexível)Atende aos requisitos atuais e futuros.Melhora a extensibilidade.

Promove o Reuso.

Diminui a complexidade.

Ajuda a manter a integridade do sistema.

Serve de base para o gerenciamento do projeto.

Page 21: 02 - Introducao ao RUP

RUP – Principais Características

Melhores Práticas

Desenvolver Iterativamente

Gerenciar Requisitos

Utilizar Arquiteturas Componentizadas

Modelar Visualmente (UML)

Verificação Contínua da Qualidade

Gerenciar Mudanças

Page 22: 02 - Introducao ao RUP

RUP – Principais Características

Modelar Visualmente

Captura estrutura e comportamento do sistema. Apresenta a colaboração entre os elementos. Mantém design e implementação consistentes. Esconde ou expõe detalhes conforme a necessidade. Promove a comunicação não ambígua.

Diagramas deAtividade

Modelos

Diagramas Estáticos

Diagramas de Sequência

Diagramas de Colaboração

Diagramasde Estado

Diagramas deDeployment

Diagramas de Componente

Diagramas deObjetos

Diagramas de Classes

Diagramas de Casos de Uso

Diagramas Dinâmicos

UML

Permite diferentes visões.

Possui sintaxe e semântica precisa.

Page 23: 02 - Introducao ao RUP

RUP – Principais Características

Melhores Práticas

Desenvolver Iterativamente

Gerenciar Requisitos

Utilizar Arquiteturas Componentizadas

Modelar Visualmente (UML)

Verificação Contínua da Qualidade

Gerenciar Mudanças

Page 24: 02 - Introducao ao RUP

RUP – Principais Características

Verificação Contínua da Qualidade

Custo

TransiçãoConstruçãoElaboraçãoConcepção

Problemas de Software são de100 a 1000 vezes mais caro

se encontrados e consertados depois de instalados

Custo para consertar Software

Custo com a perda de oportunidades

Custo com a perda de clientes

Page 25: 02 - Introducao ao RUP

RUP – Principais Características

Verificação Contínua da Qualidade

Testes de todos os cenários. Testes de performance. Testes de confiabilidade. Teste em todas as iterações.

Modelo UMLe

Implementação

Testes

Iteração 1Iteração 1

Test Suite 1Test Suite 1

Iteração 2Iteração 2

Test Suite 2Test Suite 2

Iteração 3Iteração 3

Test Suite 3Test Suite 3 Test Suite 4Test Suite 4

Iteração 4Iteração 4

Page 26: 02 - Introducao ao RUP

RUP – Principais Características

Melhores Práticas

Desenvolver Iterativamente

Gerenciar Requisitos

Utilizar Arquiteturas Componentizadas

Modelar Visualmente (UML)

Verificação Contínua da Qualidade

Gerenciar Mudanças

Page 27: 02 - Introducao ao RUP

RUP – Principais Características

Gerenciar Mudanças

Controlar “quando” e “como” as mudanças são introduzidas nos artefatos do projeto.

Controlar “quem” introduz as mudanças.

Sincronizar as mudanças entre os membros da equipe.

Manter a integridade dos artefatos.

Requer processo disciplinado.

Page 28: 02 - Introducao ao RUP

RUP – Principais Características

Gerenciar Mudanças

Entradas do Help Desk

Entradas dos Desenvolvedores e Testadores

Entradas dos Usuários e Clientes

Marketing

Nova Característica

Novo Requisito

Bug

Processo deAprovação

das Requisiçõesde Mudança

Comitê de Controle(CCM)

Canal Único deAprovação

Solicitação de Mudança

Reqt

Design

Código

Teste

Maint

Page 29: 02 - Introducao ao RUP

RUP – Principais Características

Versão 2003

MelhoresPráticas

F

E D

C B

A Adaptar o ProcessoBalancear as Prioridades dos StakeholdersColaboração entre as equipeDemonstrar valor iterativamenteElevar o Nível de AbstraçãoFoco na Qualidade Contínua

Versão 7.0

Princípios-Chave parao Desenvolvimento

Page 30: 02 - Introducao ao RUP

Tópico 2 - Introdução ao RUP

O que é Processo de Desenvolvimento?

O que é RUP?

Principais Características do RUP

Conceitos Importantes

Page 31: 02 - Introducao ao RUP

ConcepçãoConcepção ElaboraçãoElaboração ConstruçãoConstrução TransiçãoTransição

Marco dos Objetivos do

Ciclo de Vida (LCO)

Marco daArquitetura do Ciclo de Vida

(LCA)

Marco de Recurso

OperacionalInicial (IOC)

Release do

Produto

RUP – Conceitos Importantes

Fases

Page 32: 02 - Introducao ao RUP

Concepção Elaboração Construção Transição

Lidar com os riscos relacionados ao processo de negócio.

(parte financeira do projeto)

Lidar com os riscos relacionados aos riscos técnicos do projeto.

Lidar com os riscos relacionados a “ter a massa de trabalho pronta.”

Lidar com os riscos relacionados a logística de implantação da aplicação para sua base de usuários.

Tempo

RUP – Conceitos Importantes

Fases

Page 33: 02 - Introducao ao RUP

Modelagem de Negócio Requisitos Análise & Design Implementação Teste Disponibilização Gerenciamento de Configuração e Mudança Gerenciamento de Projeto Ambiente

RUP – Conceitos Importantes

Disciplinas

Page 34: 02 - Introducao ao RUP

Disciplinas agrupam atividades

logicamente.

Em uma iteração, você

passa por todas as

disciplinas.

RUP – Conceitos Importantes

Disciplinas

Page 35: 02 - Introducao ao RUP

Recursos

Paul

Mary

Joe

Sylvia

Stefan

Papéis

Designer

Requirements Specifier

System Analyst

Implementer

Architect

Atividades

Define Operations

Detail a Use Case

Find Actors and Use Cases

Perform Unit Tests

Identify Design Mechanisms

RUP – Conceitos Importantes

Papéis

Page 36: 02 - Introducao ao RUP

RUP – Conceitos Importantes

Artefatos

Page 37: 02 - Introducao ao RUP

Onde o problema é definido?Onde os stakeholders e usuários são listados?Onde os ambientes e plataformas são identificadas?

Onde os casos de uso são mantidos?

Onde o vocabulário comum está descrito?

Especificações de Caso de uso

Glossário

Especificação Suplementar

Onde os requisitos não funcionais estão localizados?

Onde as Necessidades e Requisições dos stakeholders são capturadas? Requisições do

Stakeholder

Visão

RUP – Conceitos Importantes

Artefatos da Disciplina de Requisitos

Page 38: 02 - Introducao ao RUP

RUP – Conceitos Importantes

Como tudo se relaciona...

Page 39: 02 - Introducao ao RUP

Navegação no RUP

15 minutos.

Atividade

Page 40: 02 - Introducao ao RUP

Fim!