Post on 22-Apr-2015
1
Engenharia de Requisitos
Prof. Rodrigo Nin
rodrigo@azimuteZero.com.br
2
Definição
Área da Engenharia de Software que estuda o processo de definição dos requisitos que um software deverá atender.
Objetivo
Entender as necessidades dos clientes e traduzi-las em especificação de características e propriedades do software a ser construído ou adquirido.
Engenharia de Requisitos - ER
3
Custo do erroEsp
eci
fica
ção
Cu
sto
do e
rro
Análise
Pro
jeto
Const
ruçã
o
Test
es
Impla
nta
ção
Adaptado de Pressman e Boehm
Opera
ção
Fase onde ocorreu o erro
Fase onde o erro foi identificado
4
Mais de um milhão de aposentados terão que fazer nova declaração
Cerca de 1,3 milhão de aposentados do INSS vão ter que fazer uma nova declaração do Imposto de Renda 2005, por causa de um erro cometido pela Previdência na hora de emitir o comprovante de rendimento. O INSS deixou de incluir um desconto concedido pelo governo no ano passado, que reduz o valor do rendimento tributável em cerca de R$500. Isso, torna menor o imposto devido e aumenta a restituição de quem terá dinheiro a receber.
Já para aqueles aposentados que tinham imposto a pagar e, por causa do erro do INSS, acabaram pagando valor maior do que deveriam, a Receita ainda está estudando a forma como será feita a devolução do dinheiro, após o recebimento da declaração retificadora
No ramo de software, erro é regra não exceção ...
Errar é
humano, m
as para
faze
r um g
rande est
rago
precis
amos de
computa
dores .
..
(Alguém)
Custo do erro
Fonte: O Globo Online
5
Tempo
Taxa d
e e
rros
Curva ideal
Curva a ser evitada
Alteração
Novos erros
Deterioração de software
Adaptado de Pressman
6
• Desenvolvimento de Requisitos• Solução Técnica• Integração do Produto• Verificação• Validação• Foco no Processo
Organizacional• Definição do Processo
Organizacional• Treinamento Organizacional• Gerência de Projeto Integrada
(parte só IPPD)• Gerência de Riscos• Integração da Equipe (IPPD)• Gerência Integrada de
Fornecedores• Análise de Decisão e Resolução• Ambiente Organizacional para
Integração (IPPD)
• Gerência de Requisitos• Planejamento do Projeto• Monitoração e Controle do
Projeto• Gerência de Acordos com
Fornecedores• Medição e Análise• Garantia da Qualidade do
Processo e do Produto• Gerência de Configuração
CMMI – Áreas de Processo
2 Gerenciado 3 Definido
Engenharia de Requisitos
http://www.sei.cmu.edu
7
CMMI – Requisitos
Desenvolvimento de RequisitosObjetivo: Produzir e analisar requisitos de clientes,
produtos e componentes de produtos.
Gerência de Requisitos
Objetivo: Gerenciar os requisitos dos produtos e
componentes de produtos do projeto e identificar as
inconsistências entre estes requisitos e os planos e os
produtos de trabalho do projeto.
http://www.sei.cmu.edu
8
Desenvolvimento de Requisitos
http://www.scielo.br/scielo.php?pid=S0104-530X2000000300009&script=sci_arttext&tlng=pt
•Requisitos de clientes
•Requisitos de produtos
•Requisitos de componentes de
produtos
9
Desenvolvimento de Requisitos
Software
Interfaces Algorítimos Memória
Consultas
Relatórios
Entradasde dados
Cálculo A
Cálculo B
Transfomaçãode dados
Arquivo 1
Arquivo 2
Arquivo 3
ComponenteComponente
ComponenteComponente
10Adaptado de http://www.sei.cmu.edu
Gerencia-mento deRequisitos
Desenvolvi-mento deRequisitos
SoluçãoTécnica
Gerência deConfiguração
Verificação
Validação
Cliente
Requisitos Requisitos
Soluçõesalternativas
Requisitos
Software
Necessidades
Componentes
Requisitos
Componentes
Requisitos
Desenvolvimento de Requisitos
Requisitos
Software(componentes
integrados)
11
A validação confirma que o produto, como fornecido, irá atender o seu uso pretendido. Em outras palavras, a validação assegura que “você construiu a coisa certa”.
A verificação confirma que os produtos de trabalho refletem de forma apropriada os requisitos que foram especificados. Em outras palavras, a verificação assegura que “você construiu certo a coisa”.
Adaptado de http://www.sei.cmu.edu
12
Processo: Desenvolver os requisitos da solução do
negócio Objeto: Regras, necessidades, expectativas e restrições da solução do negócio
Produtos (na linguagem do negócio):
• Requisitos formalmente definidos• Restrições para validação
Coletar
Descobrir
Levantamento
Transformarem requisitos
da soluçãodo negócio
Adaptado de http://www.sei.cmu.edu
Desenvolvimento de Requisitos
13
O negócio
Nosso Escopo
A soluçãodo negócio
Software
Hardware
Infra-estrutura
Pessoas Materiais
Organizaçãoe Processos
FinançasAspectoslegais e
normativos
componentes da solução do
negócio
14
• requisitos funcionais• requisitos de interface• requisitos operacionais• requisitos de persistência
Decorrentesda soluçãodo negócio
• requisitos financeiros• requisitos de tempo• requisitos de recursos humanos• requisitos de riscos• requisitos legais ou normativos • etc.
Decorrentesde outros condicionantes
Desenvolvimento de Requisitos
Processo: Desenvolver os requisitos da solução do
negócio Requisitos (na linguagem do negócio)
Adaptado de http://www.sei.cmu.edu
15
Técnicas de registro do modelo
• Modelos de Processos / Atividades• Modelos de Dados/Classes (conceitual)• Modelo Vital• Etc. Técnicas de obtenção de informações
• Modelagem Participativa (JAD)• Brainstorming• Quality Function Deployment (QFD)• Desenvolvimento de cenários• Entrevistas, questionários• Análise de documentos• Observação dos fluxos de trabalho• Etc.
Aspectos importantes
• Comunicação• Engajamento de usuário/cliente• Compartilhamento da paternidade
Desenvolvimento de Requisitos
Processo: Desenvolver os requisitos da solução do
negócio Modelagem da Solução do Negócio
Adaptado de http://www.sei.cmu.edu
16
Objeto: Especificações de software, hardware, operação e
infraestrutura
Transformarem requisitos
do produto
Produtos (em linguagem técnica):
• Requisitos formalmente definidos e
alocados
• Definições para verificação dos
componente
• tecnologia• solução técnica• métodos e técnicas de
construção e teste
Requisitos da solução do negócio
Alocar requisitosa componentes
do produto
Desenvolvimento de Requisitos
Processo: Desenvolver os requisitos do produto
Adaptado de http://www.sei.cmu.edu
17
Desenvolvimento de Requisitos
Processo: Desenvolver os requisitos do produto
Requisitos do Produto
Técnicas de registro de requisitos
• Textual
• Modelo de Casos de Uso
• Protótipos de intefaces (externas)
• Descrições de interfaces de componentes
• Descrições de algorítmos
• Etc.
Há muita interação com o desenvolvimento da solução do produto
Adaptado de http://www.sei.cmu.edu
18
Gerência de Requisitos
OBJETIVO:
Gerenciar os requisitos dos produtos do projeto e dos
componentes do software identificando inconsistências entre
os requisitos, os planos de projeto e os artefatos produzidos
ESCOPO
Considera todos os requisitos recebidos ou gerados pelo
projeto, incluindo os requisitos técnicos e não técnicos
bem como os requisitos impostos ao projeto pela
organização
Adaptado de http://www.sei.cmu.edu
19
Documentar as alterações de requisitos e suas motivações
Manter a rastreabilidade bidirecional entre os requisitos do produto e os requisitos dos componentes e artefatos
Assegurar que o conjunto acordado de requisitos é a base para o planejamento e a execução do projeto
Revisar os requisitos recebidos de fontes autorizadas – em conjunto com as fontes – de modo a garantir o entendimento comum e a consistência com outros requisitos antes de incorporar cada requisito ao projeto
Identificar e resolver eventuais inconsistências entre alterações de requisitos com os planos, artefatos e outros requisitos bem como o seu impacto no planejamento e execução do projeto
Gerência de Requisitos
Detalhamento do Objetivo
Adaptado de http://www.sei.cmu.edu
20
Gerência de Requisitos
Práticas
1) Obter Entendimento sobre Requisitos
2) Obter Compromisso sobre Requisitos
3) Gerenciar Alterações nos Requisitos
4) Manter Rastreabilidade Bidirecional para os Requisitos
5) Identificar Inconsistências entre Artefatos e Requisitos
Adaptado de http://www.sei.cmu.edu
21
Gerência de Requisitos
Práticas
1) Obter Entendimento sobre Requisitos
Desenvolver um entendimento com as fontes dos
requisitos quanto ao significado de cada um
Subpráticas:
• Estabelecer critérios para distinguir fontes apropriadas de
requisitos
• Estabelecer critérios objetivos para aceitação de requisitos
• Assegurar que os requisitos alcancem os critérios
estabelecidos
• Conseguir um entendimento com as fontes sobre os
requisitos tal
que os participantes do projeto possam executá-losAdaptado de http://www.sei.cmu.edu
22
Gerência de Requisitos
Práticas
2) Obter Compromisso sobre Requisitos
Obter compromisso dos interessados no projeto com os requisitos
Subpráticas:
• Avaliar o impacto dos requisitos sobre compromissos
existentes
• Negociar e registrar compromissos
Adaptado de http://www.sei.cmu.edu
23
Gerência de Requisitos
Práticas
3) Gerenciar Alterações nos Requisitos
Gerenciar alterações nos requisitos na medida em que estes evoluam durante o projeto
Subpráticas:
• Capturar todos os requisitos que foram colocados para o
projeto
ou gerados por este e suas alterações
• Manter o histórico de alterações dos requisitos com as
respectivas justificativas
Adaptado de http://www.sei.cmu.edu
24
Gerência de Requisitos
Práticas
4) Manter Rastreabilidade Bidirecional para os Requisitos
Manter rastreabilidade bidirecional entre os requisitos e os planos do projeto e artefatos
Subpráticas:
• Manter a rastreabilidade dos requisitos para garantir que a
fonte
de requisitos de menor nível esteja documentada (para trás)
• Manter a rastreabilidade de um requisito para requisitos dele
derivados bem como para sua alocação em funções, objetos,
pessoas, processo e artefatos (para frente)
• Manter rastreabilidade horizontal de função para função e
com
interfaces
• Gerar matriz de rastreabilidade cruzada de requisitosAdaptado de http://www.sei.cmu.edu
25
Gerência de Requisitos
Práticas
5) Identificar Inconsistências entre Artefatos e Requisitos
Identificar inconsistências entre os requisitos e os planos do projeto e produtos de trabalho
Subpráticas:
•Rever os planos do projeto, atividades e produtos de trabalho
para manter a consistência com as alterações nos requisitos
• Identificar a fonte das inconsistências e sua razões
• Identificar as alterações que precisam ser feitas nos planos e
produtos de trabalho decorrentes das alterações nos requisitos
•Proceder às ações corretivas pertinentes
Adaptado de http://www.sei.cmu.edu
26Fonte: Marco Aurélio Cordeiro
27Fonte: SERPRO - Ana-Helena-Jaelson