Pós-Graduação em
Engenharia de Requisitos de Software
Engenharia de
Requisitos
Ricardo Ajax Dias Kosloski, MSC, CFPS
[email protected]
Apresentações
Ricardo Ajax Dias kosloski
Engo. Eletricista - UnB
Analista de Sistemas - UcB
Pos-graduação em Enga. Software (UcB)
MSC – MGCTI (UcB)
10 anos como analista de Sistemas
6 Anos em Gerência de Projetos
9 anos em Métricas e Qualidade de Software
Certificado CFPS desde 2003
2
Pós-Graduação em Engenharia de Requisitos de Software
Apresentações
Pós-graduandos
•
•
•
•
3
Nome
Formação básica
Atuação
Expectativa quanto ao curso e à disciplina
Pós-Graduação em Engenharia de Requisitos de Software
Apresentações
Plano de Ensino
05 encontros (20 h.a)
4
•
Apresentação do Professor, da disciplina e da metodologia de trabalho; revisão de conceitos
(sistemas de informação, Engenharia de Software e Requisitos – conceitos/ tipos); Engenharia de
Requisitos e Processos em Engenharia de Requisitos.
•
Processo de produção de Requisitos; Elicitação de requisitos; Analise de requisitos; Documentação
dos Requisitos; Validação dos Requisitos
•
Processo de produção de Requisitos; Estudo de Caso; Exercício
•
Processo de Gerencia de Requisitos; Gerência de Mudanças; Gerência de Configuração e Mudança;
Rastreabilidade de requisitos; Gerência da Qualidade do Requisito
•
Apresentação de trabalhos finais, avaliações.
Pós-Graduação em Engenharia de Requisitos de Software
Apresentações
Plano de Ensino
Metodologia de Ensino
•
•
•
5
Aulas expositivas com recursos de projeção
Trabalho para avaliação
Leitura e discussão de artigos e trabalhos técnicos da área
Pós-Graduação em Engenharia de Requisitos de Software
Bibliografia
•
•
•
•
•
6
PFLEEGER, Shari Lawrence. Engenharia de Software – Teoria e
Prática. 2ª. Ed. – São Paulo: Pearson – Prentice Hall, 2007 ;
PRESSMAN, Roger. S. Engenharia de software: um enfoque prático. 3.
ed. São Paulo: Makron Books, 1995.
SOMMERVILLE, Ian.Engenharia de Software. 6ª ed. São Paulo:
Addison Wesley, 2003
SWEBOK - Guide to the Software Engineering Body of Knowledge
(www.swebok.org)
WIEGERS, Karl E. More About Software Requirements. 1a. Ed. –
Redmond, Washington: Microsoft Press, 2006
Pós-Graduação em Engenharia de Requisitos de Software
Avaliação
• 01 Trabalho individual – a partir da PDS
• 01 Prova de conceitos
• Participação...
7
Pós-Graduação em Engenharia de Requisitos de Software
Planejamento
• Horário
– Das 19:00 às 22:30
• Intervalos
– Das 20:45 às 21:00
• Perguntas
– A qualquer momento
8
Pós-Graduação em Engenharia de Requisitos de Software
Objetivos
• Objetivos do curso
Revisão dos conceitos gerais sobre Sistemas de Informação,
Processos e Engenharia de Software. Conceitos gerais sobre
Engenharia de Requisitos e seus processos de produção e
gerencia de requisitos. Processo eXtreme Requirements
para documentação de requisitos; Tipos de Requisitos e
Estudos de Caso.
9
Pós-Graduação em Engenharia de Requisitos de Software
Agenda da Aula 01
1. Motivação
2. Conceituação
3. Mais sobre Requisitos...
10
Pós-Graduação em Engenharia de Requisitos de Software
Motivação
• Um projeto bem sucedido é aquele para o qual se aplicam
os seguintes aspectos :
– Cliente/usuário satisfeito;
– Auxiliou positivamente na obtenção da meta do negócio;
– Executou o escopo exatamente como previsto e o software
está sendo utilizado como previsto;
– Atendeu às especificações técnicas de qualidade e
desempenho;
– Atendeu às restrições de prazo e custo.
Resultado: Pouquíssimos projetos de T.I. seriam classificados como
bem sucedidos.
11
Pós-Graduação em Engenharia de Requisitos de Software
Motivação
• Leffingwell ressalta que 40% a 60% de todos os problemas encontrados
em um projeto são causados por falhas no processo de requisitos
(ausência ou à não utilização de um processo de definição de requisitos
adequado).
• As consequências da falta de um processo de requisitos eficaz têm sido a
produção de softwares que não refletem as necessidades reais dos
clientes.
• Como os requisitos constituem a base para o desenvolvimento do
software, então, requisitos de má qualidade geram software com
qualidade inadequada.
• Segundo Finkelstein, a análise final da qualidade de um software é
determinada pelo atendimento aos requisitos dos stakeholders
(envolvidos).
12
Pós-Graduação em Engenharia de Requisitos de Software
Motivação
Principais causas de fracasso
• Poucos analistas fazem uso de técnicas no momento de elicitar e analisar
os requisitos de um sistema.
• Não é incomum encontrarmos desenvolvedores que definem, eles
próprios, os requisitos dos sistemas e depois agem como se não
soubessem o porquê do cliente não homologar tal aplicação.
Falhamos por não termos método e técnicas para produzir os requisitos
• Desenvolvedores, de uma forma geral, têm uma visão simplista do
processo de software. É comum que projetos sejam iniciados e
continuados mesmo com falhas nas informações dos usuários
• É necessário obter o conhecimento do negócio e das necessidades do
usuário
Falhamos quando não entendemos o negócio do cliente
13
Pós-Graduação em Engenharia de Requisitos de Software
Motivação
Principais causas de fracasso
Falhamos quando perdemos o controle do processo,
permitindo que cliente e gerentes interfiram
diretamente na equipe e no processo de
desenvolvimento do sistema.
14
Pós-Graduação em Engenharia de Requisitos de Software
Motivação
Por que requisitos são importantes?
Qualidade de Software: “ Conformidade a requisitos funcionais e de
desempenho, explicitamente declarados, a padrões de desenvolvimento
claramente documentados e a características implícitas que são esperadas
de todo o software profissionalmente desenvolvido.” (Pressman)
Uma compreensão completa do problema e a definição dos requisitos do
software e sua especificação minuciosa é fundamental para o processo de
desenvolvimento obter um software com alta qualidade.
Não importa quão bem projetado ou codificado está um programa, se ele for
mal analisado e especificado desapontará o usuário e trará aborrecimentos
ao desenvolvedor.
Falha na definição dos requisitos  Defeitos do software
Principal defeito: Não atender as expectativas de negócios do usuário (cliente)
15
Pós-Graduação em Engenharia de Requisitos de Software
Motivação
O alto custo dos erros de requisitos
16
•
Estudos realizados pela GTE, TRW e IBM,
mediram e avaliaram os custos dos erros de
requisitos ocorridos em várias fases do ciclo de
vida de projetos de desenvolvimento de
software.
•
Se uma unidade de custo 1 é associada ao
esforço requerido para detectar e reparar um
erro durante a fase de codificação,
– o custo para detectar e reparar um erro
durante a fase de requisitos está entre 5
a 10 vezes menor.
•
Por outro lado, o custo para detectar e reparar
um erro durante a fase de manutenção é 20
vezes maior.
Pós-Graduação em Engenharia de Requisitos de Software
Motivação
O alto custo dos erros de requisitos
• Em um estudo realizado por Sheldon, em um projeto da US Air Force, os
erros foram classificados pela origem.
• Descobriu-se que os erros de requisitos totalizavam 41% dos erros
descobertos, enquanto que erros de projeto lógico contabilizavam apenas
28% do total de erros encontrados.
Fontes de erros em um
projeto da US Air Force
17
Pós-Graduação em Engenharia de Requisitos de Software
Conceitos
SISTEMA DE INFORMAÇÃO – S.I.
PROCESSAMENTO
ENTRADA
SAÍDA
ARMAZENA
FEEDBACK
18
Pós-Graduação em Engenharia de Requisitos de Software
Conceitos
Sistemas de Informação
• A transformação de dados em informação é um processo ou uma série
de atividades logicamente relacionadas, executadas para atingir um
resultado definido.
• O processo de definição das relações entre atividades requer
conhecimento.
• Conhecimento são regras, diretrizes e procedimentos usados para
selecionar, organizar e manipular dados, com a finalidade de torná-los
úteis para uma tarefa específica.
19
Pós-Graduação em Engenharia de Requisitos de Software
Conceitos
SISTEMA DE INFORMAÇÃO – S.I.
PROCESSO
DADOS
20
INFORMAÇÃO
Pós-Graduação em Engenharia de Requisitos de Software
Conceitos
Processo
• “Conjunto de recursos e atividades inter-relacionadas que transformam
insumos (entradas) em produtos (saídas).” (ISO, 1990)
• “Conjunto de atividades inter-relacionadas, que transformam entradas
em saídas.” (Pfleeger, 2002)
• “Um processo é um grupo de atividades realizadas numa sequência
lógica com o objetivo de produzir um bem ou um serviço que tem valor
para um grupo específico de clientes.” (Hammer e Champy, 1994)
21
Pós-Graduação em Engenharia de Requisitos de Software
Conceitos
Processo
• Todo trabalho importante realizado nas empresas faz parte de algum
processo (Graham e LeBaron,1994).
22
Pós-Graduação em Engenharia de Requisitos de Software
Conceitos
Análise de Negócio
SISTEMA DE INFORMAÇÃO – S.I.
PROCESSO
DADOS
Mapeamento do
Processo
Identificação do
Problema
Análise do
Problema
23
Proposta de
Solução
INFORMAÇÃO
Conceitos
Mas... O que é um requisito?
• De forma genérica:
É uma característica do sistema ou a descrição de
algo que o sistema é capaz de realizar, para atingir
os objetivos de negócio do cliente
24
Pós-Graduação em Engenharia de Requisitos de Software
Conceitos
Exemplificando
• A identificação dos requisitos de um sistema pode
ser exemplificado pela metáfora do “problema da
pedra”:
1. Cliente solicita:
“Traga-me uma pedra”
2. Você, ao entregar a pedra, ouve:
“Ok, mas, na verdade, o que eu realmente queria era
uma pequena pedra de cor azul.”
Conceitos
Exemplificando
• A identificação dos requisitos de um sistema pode
ser exemplificado pela metáfora do “problema da
pedra”:
3. Você entrega a pedrinha azul, mas o cliente observa:
“Ora, mas a pedra que eu queria é esférica !!!”
Conceitos
Exemplificando
• Resultado:
– cliente e desenvolvedor frustrados
• Problemas adicionais:
– No mundo real, há o envolvimento de mais
pessoas
– Não há tempo para trazer várias “pedras” até
acertar
Conceitos
Exemplificando
• Sistemas de software são, por sua natureza,
intangíveis, abstratos, complexos e mutáveis.
• O cliente inicia a articulação de requisitos vagos para
o seu sistema “pedra”.
• O cliente, frequentemente, acredita que pode
detalhar melhor o que precisa ao longo do
desenvolvimento.
• Não há como criar, testar, desenvolver e manter
um sistema “pedra” a custo zero e prazo
indefinido.
Conceitos
Exemplificando
• Supor que um Cliente apresente a seguinte
necessidade:
Um programa que calcule a área de um retângulo.
Conceitos
Exemplificando
• Agora...
Um programa que calcule a área de um retângulo.
• O usuário deve informar o valor (em metros) de cada um dos
lados, com precisão de duas casas decimais.
• A fórmula a ser utilizada é: L1 * L2
• O valor calculado deve ser informado também com precisão de
duas casas decimais, com truncamento simples.
• O cálculo deve ser disparado após comando do usuário.
Suficiente ???
Conceitos
Exemplificando
O Maravilhoso Programa de
Cálculo de Áreas de
Retângulos
• E mais ...
Um programa que calcule a área de um retângulo.
• Apresentar mensagem de erro quando, ao acionar o comando de
cálculo, L1 e/ou L2 for(em) zero ou não for(em) especificado(s).
• Apresentar mensagem de erro se L1 = L2.
• Definir um limite máximo para as entradas L1 e L2.
• Incluir uma opção para limpar as entradas de dados.
• O programa deve operar em no sistema operacional Windows XP ou
superior.
• Não há necessidade de impressão ou salvamento do resultado.
• O programa deve ser capaz de operar sem o uso do mouse.
• O resultado deve ser apresentado em até 1 segundo após o
acionamento do comando de cálculo.
• Definir as mensagens.
Melhorou ???
Evolução do Problema
Evolução do Problema
• Esse problema é tão antigo e conhecido na área de
desenvolvimento de software, que na década de 70 alguém
teve a idéia de fazer o seguinte desenho ilustrando a situação.
Evolução do Problema
• Alguém que esteja começando uma carreira de analista ou
desenvolvedor de software poderá imaginar que um
problema tão antigo já foi solucionado, ou, que pelo menos,
o seu impacto nos projetos de software tenha sido
minimizado.
• Que grande engano!
• O problema é ainda tão crítico, que o desenho foi revisto e
adequado aos nossos dias.
Evolução do Problema
Conceitos
•
O que é um REQUISITO?
1.
Uma capacidade do software necessária ao usuário para
resolver um problema ou atingir um objetivo.
2. Uma capacidade do software que deve existir no sistema ou
em algum componente para satisfazer um contrato, um
padrão, uma especificação ou outra documentação
formalmente imposta.
(Dorfman e Thayer, 1990)
Relacionando Conceitos
Sistema de informações / Processos / Requisitos
Proposta
de
Solução
Análise
do
Negócio
Mapeamento
do
Processo
Identificação
do
Problema
Viabilidade
37
Análise do
Problema
Definição
dos
Requisitos
Definição
dos
Objetivos
Produção e
Gerência
de
Requisitos
Funcionalidades
e
Recursos
Engenharia
de
Requisitos
Pós-Graduação em Engenharia de Requisitos de Software
Relacionando Conceitos
Sistema de informações / Processos / Requisitos
Proposta
de
Solução
Análise
do
Negócio
Mapeamento
do
Processo
Identificação
do
Problema
Análise do
Problema
Definição
dos
Objetivos
Entendemos o
negócio do
Cliente?
38
Pós-Graduação em Engenharia de Requisitos de Software
Definição
dos
Requisitos
Produção e
Gerência
de
Requisitos
Relacionando Conceitos
Sistema de informações / Processos / Requisitos
Proposta
de
Solução
Análise
do
Negócio
Mapeamento
do
Processo
Identificação
do
Problema
Análise do
Problema
Definição
dos
Objetivos
Conseguimos entender o
problema do Cliente?
39
Pós-Graduação em Engenharia de Requisitos de Software
Definição
dos
Requisitos
Produção e
Gerência
de
Requisitos
Relacionando Conceitos
Sistema de informações / Processos / Requisitos
Proposta
de
Solução
Análise
do
Negócio
Mapeamento
do
Processo
Identificação
do
Problema
Análise do
Problema
Definição
dos
Objetivos
Definimos o
Problema a ser
automatizado?
40
Pós-Graduação em Engenharia de Requisitos de Software
Definição
dos
Requisitos
Produção e
Gerência
de
Requisitos
Relacionando Conceitos
Sistema de informações / Processos / Requisitos
Proposta
de
Solução
Análise
do
Negócio
Mapeamento
do
Processo
Identificação
do
Problema
Análise do
Problema
Definição
dos
Objetivos
Conseguimos
identificar as
necessidades do
Cliente?
41
Pós-Graduação em Engenharia de Requisitos de Software
Definição
dos
Requisitos
Produção e
Gerência
de
Requisitos
Relacionando Conceitos
Sistema de informações / Processos / Requisitos
Proposta
de
Solução
Análise
do
Negócio
Mapeamento
do
Processo
Identificação
do
Problema
Análise do
Problema
Definição
dos
Objetivos
Definição
dos
Requisitos
Produção e
Gerência
de
Requisitos
Conseguimos
definir os
requisitos que o
cliente esperava?
42
Pós-Graduação em Engenharia de Requisitos de Software
Relacionando Conceitos
Identificar e analisar REQUISITOS ?
– Trabalha-se com o cliente
• Entrevistas, simulações, documentos de referencia,...
• Identificar as pessoas, os processos e as relações
• Definir o limite do sistema
– Registram-se os requisitos
• Desenvolvedores e Cliente em consenso
• Documento de Definição de Requisitos - DDR
– Verificam-se os requisitos
• Completos, corretos e consistentes
– Validam-se os requisitos
• Elaboração de Protótipos
Monitora e controla as mudanças nos requisitos
43
Pós-Graduação em Engenharia de Requisitos de Software
Documento de Requisitos
Documento de Requisitos
Domínio do
PROBLEMA
Necessidades
Características
Domínio
da
SOLUÇÃO
Requisitos do
Negócio
Recursos,
Perfil,
Prazo e Custo
(Requisitos
de Usuário)
Requisitos de Software
ou de Sistema
Funcionais
Não Funcionais
Complementares Regras de Negócio
Documento de Requisitos
• Dois tipos de DOCUMENTO de REQUISITOS
Clientes
Definição
dos Requisitos
•Lista do que o Cliente espera que o
sistema faça;
•Compreensível ao Cliente;
•Consenso entre Cliente e Analista;
Projetistas
Especificação
dos Requisitos
•Redefine os requisitos em termos
técnicos;
•Compreensível para o Projetista
•Consenso entre Analista e
Desenvolvedor
•Envolve Modelagem
Documento de Requisitos
• Documentação de Requisitos
– Não importa o método, deve-se manter um
conjunto de documentos que registrem os
requisitos
– Esse conjunto será utilizado durante todo o
desenvolvimento e manutenção do sistema
Engenharia de Requisitos
• A importância do processo de requisitos fez por
definir uma outra “engenharia” dentro da
Engenharia de Software:
– Engenharia de Requisitos
• Objetivo:
– criar e manter a documentação de requisitos do
sistema.
Engenharia de Requisitos
• A ER é uma sub-área da Engenharia de Software que estuda o processo de
produção e gerência dos requisitos que o software deverá atender.
• O objetivo da ER é fornecer métodos, técnicas e ferramentas que forneçam
suporte adequado às tarefas de produção (elicitação, análise, documentação e
modelagem) e gerência dos requisitos do sistema.
• Foi estabelecida como disciplina independente em 1993, quando da criação
do IEEE International Symposyum on Requirements Engineering (RE’93). A área
tem crescido desde então.
• Para isso estabelece um processo no qual o que deve ser feito é elicitado,
analisado , documentado e modelado.
Engenharia de Requisitos
Engenharia de Requisitos
• Os 4 subprocessos da Produção de Requisitos:
– Elicitação
• Identificação da fonte de informação. Obtenção dos dados e
fatos. Reunião com o cliente para entendimento do
negocio.
– Análise de Requisitos
• Identificação dos requisitos a partir do processo de negócio.
Acordo com o cliente do que se vai automatizar.
– Documentação
• Definição dos requisitos. Elaboração do documento de
definição dos requisitos e regras de negocio. Documentação
– Validação
• Avaliar, junto ao cliente, se os requisitos realmente definem
o sistema que o cliente deseja; Protótipo.
Engenharia de Requisitos
Porém...
“Caminhar sobre a água e
desenvolver software a partir de
uma especificação de requisitos
é fácil se ambos estão
congelados”
Edward V. Berard
Engenharia de Requisitos
•Requisitos são por natureza voláteis. Diversos fatores
contribuem para sua instabilidade ao longo do tempo.
Mudanças de legislação, erros incorridos no processo de
requisitos, entre outros
•Tais alterações precisam ser conduzidas de forma ordenada
para que não se perca controle sobre o prazo e o custo do
desenvolvimento
•Denominamos a atividade de administrar os requisitos ao
longo do tempo de gerenciamento de requisitos
Engenharia de Requisitos
• Os 4 subprocessos da Gerência de Requisitos:
– Rastreabilidade
Relação entre as fontes dos requisitos, os requisitos propriamente
ditos e outros artefato
– Gerência de Mudanças
Controla as solicitações de mudança do cliente
– Gerência de Configuração
Controla as versões dos artefatos
– Gerência de Qualidade dos Requisitos
Define o padrão de produção e verificação da qualidade dos
requisitos. Capacita os analistas de requisitos e elabora o plano de
gerencia de requisitos.
Engenharia de Requisitos
• A tendência natural das organizações que trabalham sem um processo de
ER tem sido identificar os requisitos rapidamente de maneira informal e
iniciar a codificação.
• Este é o processo “codifica-remenda” até a produção de uma versão com
qualidade adequada ou o cancelamento do projeto.
• Estes projetos freqüentemente estouram o prazo e o orçamento.
– Note que o esforço e o custo do retrabalho são maiores do que os
investimentos em ER, buscando desenvolver o projeto certo da primeira vez.
• Assim, torna-se importante desenvolver métodos atrativos para
implantação das atividades da ER que motivem a indústria a investir em
um processo completo de ER.
Engenharia de Requisitos
• A indústria de software vem demonstrando crescente interesse na
engenharia de requisitos, isto é, entender o que se deseja construir antes
de começar a fazê-lo (Ex.: MPS.BR).
• A visão atual é que o tempo utilizado no entendimento do problema é um
excelente investimento.
• Os requisitos de software são a base a partir da qual a qualidade é medida
(Ex.: APF)
• Desta forma, a falta de conformidade aos requisitos significa falta de
qualidade.
Engenharia de Requisitos
• O modelo de avaliação de maturidade do processo de desenvolvimento
CMMI-SW (Capability Maturity Model Integration-SW) considera o
gerenciamento de requisitos como sendo uma das primeiras etapas para
alcançar a maturidade organizacional.
• E para haver o gerenciamento é preciso que o processo de produção de
requisitos esteja implantado na empresa.
Engenharia de Requisitos
• Este processo deve lidar com diferentes pontos de vista, e usar uma
combinação de métodos, ferramentas e pessoal.
• Tem início junto aos clientes durante a fase de elicitação ou levantamento
dos requisitos e perpassa todas as fases do processo de desenvolvimento
do software.
• O produto desse processo é um documento chamado de documento
requisitos (DR) e um modelo (representado utilizando Análise
Estruturada ou Orientada a Objetos) do Sistema de Informação a partir
do documento de requisitos.
Próxima Aula
Processo XR
eXtreme Requirements
(Eduardo Castro, Direitos Reservados)
59
Processo eXtreme Requirements®
Eduardo José Ribeiro de Castro
Fases
Disciplinas
Elicitação
Análise
Documentação Validação
Análise do
Negócio
Proposta de
Solução
Definição
dos
Requisitos
Prototipação
Teste
Gerência de
Requisitos
Disciplinas de Apoio
Gerência de
Projeto
60
Administração
de Dados
Métrica de
Software
Estudo de Caso
(Estudar para a próxima aula)
Perguntas?
Estudo de Caso
Para o sistema descrito a seguir (Compras
NET), escrever os requisitos funcionais,
complementares, regras de negócio e não
funcionais que forem identificados.
Estudo de Caso
Compras NET
•
•
•
•
O cliente navega pelo site e adiciona itens desejados ao carrinho de compras.
Se não encontrar o produto desejado, pode usar a opção de busca.
Durante sua navegação no site, o cliente pode ver o conteúdo de seu carrinho
de compras, alterando quantidades ou excluindo itens.
Quando o cliente finalizar a compra, ele deve se identificar com seu
login/senha. Caso não seja ainda cadastrado, deverá fazê-lo antes de
prosseguir. Em seguida, informa o endereço de entrega daquela compra e
detalha a opção de pagamentos (dados do cartão de crédito ou para
pagamento por boleto bancário).
Confirmada a compra, o sistema fecha a venda e envia um e-mail informando
ao cliente o status da compra (aguardando confirmação do cartão de credito ou
do pagamento do boleto).
Estudo de Caso
Inicio
Processo de Compra na WEB
Não
Busca
Produto
Sim
Achou ?
Adiciona
Produto
Visualiza
Produto
Modifica
Produto
Não
Seleciona
Opção de
Compra
Cadastra
Endereço
de Entrega
Sim
Valida
Usuário e
Senha
Sim
Possui
Cadastro?
Não
Confirma
Compra
Fecha a
Venda
Finaliza?
Sistema
Envia
e-mail
FIM
Cadastra
Usuario e
Senha
Solicita
Usuário e
Senha
Estudo de Caso
Requisitos Funcionais
Sub-Processo Seleciona Produto
RF1 – O sistema deve buscar produto (rc01)
RF2 – O sistema deve adicionar produto (itens do carrinho) (rc02)
RF3 – O sistema deve visualizar produtos (itens do carrinho) (rc3) (rng1) (rng2)
RF4 – O sistema deve excluir produto (itens do carrinho) (rc01)
RF5 – O sistema deve alterar quantidade produto (itens do carrinho) (rc02)
RF6 – O sistema deve finalizar pedido (fechar carrinho) (rc04) (rgn3) (rgn4) (rgn5)
(rgn6)
Sub-Processo Seleciona Realiza Compra
RF7 – O sistema deve identificar cliente (rc5)
RF8 – O sistema deve cadastrar cliente (rc6)
RF9 – O sistema deve cadastrar endereço de entrega (rc7)
RF10 – O sistema deve permitir ao cliente selecionar opção de pagamento (rc08)
RF11 – O sistema deve confirmar a compra (rc9) (rng7)
RF12 – O sistema deve enviar e-mail de status (rc10)
Estudo de Caso
Requisitos Complementares
Sub-Processo Seleciona Produto
RC1 – o sistema deve permitir selecionar nome do produto (RF1) (RF4)
RC2 – o sistema deve permitir selecionar nome e quantidade (RF2) (RF5)
RC3 – o sistema deve exibir produto, quantidade, valor e total ao visualizar produto
(carrinho) (RF3)
RC4 – o sistema deve permitir registrar nome, data e hora ao finalizar o pedido (RF6)
Sub-Processo Seleciona Realiza Compra
RC5 – o sistema deve identificar o cliente por usuário e senha ao finalizar o pedido (RF7)
RC6 – o sistema deve cadastrar usuário e senha (RF8)
RC7 – o sistema deve cadastrar endereço, bairro, cidade e cep (RF9)
RC8 – o sistema deve exibir as seguintes opções de pagamento: cartão de crédito e boleto
bancário (RF10)
RC9 – o sistema deve registrar nome, data, hora, produto e quantidade ao confirmar o
pedido (RF11)
RC10 – o sistema deve informar o status da compra (aguardando confirmação do cartão de
credito ou do pagamento do boleto) ao finalizar a compra (RF12)
Estudo de Caso
Regras de Negócio
RNG1 – quando o cliente visualizar os produtos (carrinho) o sistema deve permitir
alteração de quantidade de itens (RF3)
RNG2 – quando o cliente visualizar os produtos (carrinho) o sistema deve permitir
exclusão de itens (RF3)
RNG3 – quando o cliente finalizar o pedido o sistema deve identificar cliente (RF7)
RNG4 – quando o cliente finalizar o pedido e o cliente não for cadastrado o sistema deve
permitir cadastrar cliente (RF8)
RNG5 – quando o cliente finalizar o pedido o sistema deve cadastrar endereço de entrega
(RF9)
RNG6 – quando o cliente finalizar o pedido o sistema deve permitir selecionar tipo de
pagamento (RF10)
RNG7 – quando o cliente confirmar a compra o sistema deve enviar e-mail informando
status da compra (RF12)
Estudo de Caso
Requisitos não funcionais
•
•
•
•
1. Confiablidade
– O sistema deve garantir que a atualização de dados será feita de forma atômica e
imediata, sempre com registro histórico;
– O sistema deve realizar backups diariamente após a 00:00 hrs;
2. Eficiência
– O sistema deve responder a qualquer pesquisa, inclusão, alteração e exclusão em
tempo inferior a 3 (três) segundos;
– O sistema deve garantir que as atualizações dinâmicas de informação única não devem
exceder 1 (um) segundo;
3. Portabilidade
– O sistema deve ser executado em em microcomputadores de arquitetura IBM PC, com
processadores Intel P4 2.5Ghz com 512Mb de memória RAM e HD de 40Gb com
sistema operacional Windows XP;
– O sistema deve ser portável para GNU/Linux, com ambiente Desktop GNOME, em
máquina de mesma configuração;
4. Usabilidade
– O sistema deve focar em eficiência, fornecendo teclas de atalho para todas as ações
mais importantes;
– O sistema deve seguir as Diretrizes de Interface Humana do projeto GNOME:
http://developer.gnome.org/projects/gup/hig/;
Rastreabilidade
Estudo de Caso
Rastreabilidade
Requisitos Funcionais x Requisitos Complementares
Req.Complementar
RC01
Req. Funcionais
RF01
RC02
RF06
RF07
RF08
RF09
RF10
RF11
RF12
RC05
RC06
RC07
RC08
RC09
RC10
x
RF03
RF05
RC04
x
RF02
RF04
RC03
x
x
x
x
x
x
x
x
x
x
Estudo de Caso
Rastreabilidade
Requisitos Funcionais x Regras de Negocio
Regras de Neg.
RNG01
RNG02
x
x
RNG03
RNG04
RNG05
RNG06
RNG07
Req. Funcionais
RF03
RF07
RF08
RF09
RF10
RF12
x
x
x
x
x
Modelagem de Requisitos
Analise O.O.
Estudo de Caso
– Os requisitos funcionais e regras de negócio são avaliadas
de forma a elaborar o diagrama de caso de uso
– Os casos de uso podem modelar 1 ou um conjunto de
requisitos funcionais que sejam necessários a um
determinado ator realizar sua tarefa.
– Os atores são identificados dos elementos envolvidos no
processo e definidos no Documento de Definição de
Requisitos - DDR
Estudo de Caso
Modelagem de Requisitos
Analise Estruturada
Estudo de Caso
– Os requisitos funcionais, requisitos complementares e
regras de negócio são avaliadas de forma a elaborar o
Diagrama de Contexto - DC e posteriormente o Diagrama
de Fluxo de Dados - DFD
– Os fluxos de dados se relacionam diretamente aos
Requisitos Funcionais - RF, tendo em vista que cada RF
obrigatoriamente possui Requisitos Complementar que
representa os dados.
– As entidades são identificadas dos elementos envolvidos
no processo e definidos no Documento de Definição de
Requisitos - DDR
Estudo de Caso
Download

Pós-Graduação em Engenharia de Requisitos de Software