Upload
leoaguiars
View
651
Download
0
Embed Size (px)
Citation preview
Processo de Desenvolvimento e RUP
Requisitos de SoftwareLevantamento, Análise e Gestão
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
Tópico 2 - Introdução ao RUP
O que é Processo de Desenvolvimento?
O que é RUP?
Principais Características do RUP
Conceitos Importantes
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.
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
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.
Tópico 2 - Introdução ao RUP
O que é Processo de Desenvolvimento?
O que é RUP?
Principais Características do RUP
Conceitos Importantes
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.
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.
Rational Unified Process - RUP
Estrutura
Visão Dinâmica(ciclo de vida)
Visão Estática(disciplinas)
Tópico 2 - Introdução ao RUP
O que é Processo de Desenvolvimento?
O que é RUP?
Principais Características do RUP
Conceitos Importantes
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
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
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.
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
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
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.
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
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.
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.
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
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.
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
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
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
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
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.
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
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
Tópico 2 - Introdução ao RUP
O que é Processo de Desenvolvimento?
O que é RUP?
Principais Características do RUP
Conceitos Importantes
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
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
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
Disciplinas agrupam atividades
logicamente.
Em uma iteração, você
passa por todas as
disciplinas.
RUP – Conceitos Importantes
Disciplinas
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
RUP – Conceitos Importantes
Artefatos
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
RUP – Conceitos Importantes
Como tudo se relaciona...
Navegação no RUP
15 minutos.
Atividade
Fim!