Вы находитесь на странице: 1из 46

Documento de Requisitos

Engenharia de Software (SCE-5764)


1/2012- Prof. Paulo C. Masiero

Processo de Engenharia de Requisitos


Estudo de Viabilidade Elicitao e Anlise de Requisitos Especificao de Requisitos Relatrio de Viabilidade Validao de Requisitos Modelos do Sistema

Requisitos do Usurio e do Sistema

Documento de Requisitos

Documento de Requisitos

Como resultado do processo de engenharia de requisitos desenvolvido o documento de requisitos do sistema.

Contm a especificao de todos os requisitos funcionais (funes) e no-funcionais (de qualidade) do software, incluindo as capacidades do produto, os recursos disponveis, os benefcios e os critrios de validao. Serve como um meio de comunicao entre o engenheiro de software e o usurio, a fim de estabelecer um acordo sobre o software pretendido.

Requisitos Funcionais
(Funes do Sistema)

RF so requisitos diretamente ligados funcionalidade do software.

O que o sistema deve fazer?

Devem ser identificados e listados em agrupamentos lgicos. Cada funo pode ser expressa em termos de um ou mais requisitos que o sistema deve atender.

Requisitos No-Funcionais
(Atributos do Sistema)

Requisitos de Qualidade

RNF so requisitos que expressam qualidades especficas que o software deve ter ou restries que o software deve atender. So qualidades, caractersticas ou dimenses no funcionais do sistema.

Ex: facilidade de uso, manutenibilidade.

Em geral, podem ser aplicados a qualquer sistema.

Mais Requisitos...

Requisitos de Domnio

So requisitos que so prprios do domnio da aplicao e que refletem caractersticas desse domnio.

Requisitos Inversos

RIN estabelecem condies que nunca podem ocorrer.

Mais Requisitos...

Requisitos de Usurio Descrevem RF e RNF de forma compreensvel para os usurios que no possuem conhecimentos tcnicos detalhados. Descrevem o comportamento externo e evitam detalhes tcnicos do projeto do sistema.

Exemplos

O sistema deve fornecer um formulrio para a entrada dos resultados dos testes clnicos de um paciente. (RF) Dependendo do resultado do teste, somente o supervisor pode efetuar a entrada do resultado do teste de um paciente. (RNF de confidencialidade). O sistema deve emitir um recibo para o cliente, com o tempo mximo de 8 segundos aps a transao. (RF, RNF de desempenho). O sistema no pode apagar informao de um cliente. (RIN).

Exemplo: O Sistema TPV


(Terminal de Ponto de Vendas)

O TPV um sistema computadorizado usado para registrar vendas e cuidar de pagamentos.

Tipicamente usado em vendas a varejo.


Inclui componentes de software e de hardware, tais como um computador e um leitor de cdigo de barras.

Sistema TPV

Cliente

Terminal de Ponto de Vendas (TPV)

Caixa

Sistema TPV

Descrio Geral

O propsito deste projeto criar um terminal de ponto de vendas (TPV) para ser usado em lojas de varejo.

Clientes
ObjectStore, Inc. multinacional que comercializa objetos.

Sistema TPV

Objetivo

Aumentar a automatizao das compras (checkout) para permitir servios e processos comerciais mais rpidos, melhores e mais baratos.
Tipicamente, isso inclui:

Checkout (passagem pelo caixa) mais rpido para o cliente. Anlise rpida e precisa do crdito. Controle automtico do estoque.

Sistema TPV
Funes Bsicas
R1.1 Registrar a venda em andamento (corrente), isto , os itens comprados. R1.2 Calcular o total da venda corrente, incluindo os clculos de impostos e de cupons de desconto.

R1.3 Capturar a informao de um item adquirido, usando o cdigo, obtido por um leitor de cdigo de barra, ou pela entrada manual do cdigo do produto, usando o cdigo universal de produto (CUP ou UPC).

Sistema TPV
Funes Bsicas

R1.4 Reduzir a quantidade em estoque quando a venda for finalizada.

R1.5 Registrar as vendas completadas.


R1.6 O Caixa deve abrir o caixa (log in) com um Identificador (ID) e uma senha para poder usar o sistema. R1.7 Fornecer um mecanismo de armazenamento permanente.

Sistema TPV
Funes Bsicas
R1.8 Fornecer mecanismos de comunicao interprocessos e inter-sistemas.

R1.9 Exibir a descrio e o preo do item registrado.

Sistema TPV
Funes de Pagamento
R2.1 Tratar os pagamentos em dinheiro: capturar a quantia recebida e informar o troco. R2.2 Tratar o pagamento com carto de crdito: captar a informao do carto de crdito por um leitor de cartes ou uma entrada manual e autorizar o pagamento com o servio de autorizao de crdito (externo) da loja via conexo por modem.

Sistema TPV
Funes de Pagamento
R2.3 Registrar os pagamentos por crdito no sistema de contas a receber da loja, uma vez que o servio de autorizao de crdito deve loja a quantia oferecida como pagamento. R2.4 Tratar os pagamentos com cheque: capturar o CPF por entrada manual e autorizar o pagamento com o servio de autorizao de crdito da loja (externo) via conexo por modem.

Sistema TPV
Atributos de qualidade do Sistema para R1.9 (Exibir a descrio e o preo do item registrado.)

Tempo de resposta: Max 5s Obrigatrio


Metfora da interface:

Sada baseada em formulrio Obrigatrio Sada colorida Desejvel

Sistema TPV
Atributos de qualidade do Sistema para R2.3 (Registrar os pagamentos por crdito no sistema de contas a receber da loja.)

Tempo de resposta: Max 10s Obrigatrio

Tolerncia a falhas: registrar no sistema de contas a receber em 24h, mesmo em caso de falha eltrica ou de hardware Obrigatrio

Documento de Requisitos

O documento de requisitos do sistema deve ser composto por sentenas em linguagem natural, seguindo determinados padres: 1) Iniciar com O sistema deve .... 2) Usar frases curtas.

Exemplo: O sistema deve rodar em microcomputadores da linha xxx que possuam microprocessador yyy ou superior.

3) Os requisitos devem estar organizados logicamente.

Sequncia de execuo:

Entrada, Processamento, Sada.

Documento de Requisitos
4) Cada requisito deve ter um identificador nico.

Exemplo: Um identificador numrico, para posterior referncia (rastreabilidade).

5) Os requisitos do software devem estar divididos em requisitos funcionais e no funcionais (de qualidade).

Documento de Requisitos
7) Deve-se evitar que decises de projeto sejam tomadas durante o desenvolvimento do documento de requisitos. 6) Os requisitos no devem conter detalhes de implementao.

importante no utilizar termos relacionados implementao, tais como arquivo, cadastro e menu.

Documento de Requisitos
8) A explicao dos termos do domnio da aplicao no deve estar presente nos requisitos, devendo aparecer em um vocabulrio (ou glossrio) do domnio da aplicao.
9) Manter consistncia no uso dos termos do domnio da aplicao. 10) Problemas que podem ocorrer: falta de clareza, confuso entre os requisitos, fuso de requisitos

Documento de Requisitos
11) Usar um formato padronizado
12) Usar destaques no texto (cor, itlico, negrito) 13) Evitar o uso de jargo (termos, palavras) de informtica. Ex. deletar, debugar, printar

Usurios de um Documento de Requisitos


Clientes do Sistema Especificam os requisitos e os lem para verificar se eles atendem suas necessidades. Especificam as mudanas nos requisitos. Utilizam o documento de requisitos para planejar um pedido de proposta para o sistema e para planejar o processo de desenvolvimento do sistema. Utilizam os requisitos para compreender que sistema deve ser desenvolvido.

Gerentes

Engenheiros de Sistema

Usurios de um Documento de Requisitos

Engenheiros de Teste do Sistema

Utilizam os requisitos para desenvolver testes de validao para o sistema.

Engenheiros de Manuteno do Sistema

Utilizam os requisitos para ajudar a compreender o sistema e as relaes entre suas partes.

Padro IEEE-830 para o Documento de Requisitos


1 Introduo
1.1 Propsito do documento de requisitos

Especificar objetivos e pblico-alvo do DR. Explicitar o que o produto faz (e o que no faz). Descrever a aplicao (pontos relevantes, objetivos e metas).

1.2 Escopo do produto


1.3 Definies, siglas e abreviaes 1.4 Referncias


Listar todos os documentos referenciados. Identificar cada documento por ttulo, nmero, data, autor, ... Especificar a fonte a partir da qual o documento pode ser obtido. Descrever a estrutura/organizao do restante do DR.

1.5 Viso geral do documento de requisitos

Padro IEEE-830 para o Documento de Requisitos


2 Descrio Geral
2.1 Perspectiva do Produto

Descrever os relacionamentos do produto com: sistema, usurio, hardware, software, comunicao, etc. Resumo das principais funes que o produto de software ir realizar.

2.2 Funes do Produto

Organizar as funes de modo que essas possam ser entendidas pelo cliente.

Grficos ou textos podem ser usados para mostrar as funes e seus relacionamentos.

Padro IEEE-830 para o Documento de Requisitos


2 Descrio Geral
2.3 Caractersticas do Usurio

Descrever as caractersticas gerais dos usurios do produto. Descrever quais itens podem limitar as possibilidades do desenvolvedor.

2.4 Restries

Limitaes de hardware, consideraes sobre segurana, ...

2.5 Suposies e Dependncias

Descrever fatores (quaisquer mudanas na restries) que possam afetar os requisitos estabelecidos.

Mquina especfica, sistema operacional, ...

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos

Contm todos os requisitos de software em um certo nvel de detalhe.

O Projetista dever ser capaz de projetar o sistema para satisfazer os requisitos. Todos os requisitos devem ser identificados unicamente. Ateno especial na organizao dos requisitos para facilitar a leitura.

Parte mais importante do documento.


Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.1 3.2 3.3 3.4 3.5 3.6 3.7 Interfaces Externas Requisitos Funcionais Requisitos de Desempenho Requisitos Lgicos de Banco de Dados Restries de Projeto Atributos do Sistema de Software Organizao

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.1 Interfaces Externas

Descrever detalhadamente todas as entradas e sadas do sistema. Complementar as descries das interfaces apresentadas na seo 2 do documento.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.2 Requisitos Funcionais

Descrever as principais aes que devem ser consideradas no produto de software.


Considerar aceitao e processamento das entradas. Considerar processamento e gerao das sadas.

Limites de entrada vlidos. Sequncia exata de operaes. Resposta para situaes no esperadas.
Overflow, facilidades de comunicao, tratamento e recuperao de erros.

Efeitos de parmetros. Relacionamento entre entradas e sadas.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.3 Requisitos de Desempenho

Descrever os requisitos numricos que o sistema deve atender.


Nmero de usurios simultneos. Quantidade e tipo de informao a ser manipulada. Nmero de transaes e tarefas a serem processadas em certo perodo de tempo, em condies normais e de sobrecarga.

95% das transaes devem ser processadas em menos de 1 segundo. X Um usurio no deve ter que esperar para que as transaes sejam completadas.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.4 Requisitos Lgicos de Banco de Dados

Descrever os requisitos para qualquer informao a ser colocada na base de dados. Tipo da informao usada por vrias funes. Frequncia de uso. Capacidade de acesso. Entidades de dados e seus relacionamentos. Restries de integridade.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.5 Restries de Projeto Descrever restries de projeto impostas por outros padres, limitaes de hardware, etc.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.6 Atributos do Sistema de Software Descrever atributos do produto (caractersticas de qualidade) de maneira que possam ser objetivamente verificados.

Confiabilidade. Disponibilidade. Segurana. Manutenibilidade. Portabilidade.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.6 Atributos do Sistema de Software 3.6.1 Confiabilidade

Evidencia a capacidade do software em manter seu nvel de operao sob condies estabelecidas durante um perodo de tempo estabelecido. Especificar os fatores requeridos para estabelecer a confiabilidade desejada do sistema em operao.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.6 Atributos do Sistema de Software 3.6.2 Disponibilidade

Especificar os fatores requeridos para garantir o nvel de disponibilidade definido para o sistema. Recuperao

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.6 Atributos do Sistema de Software 3.6.3 Segurana

Especificar os fatores para proteger o software de acesso malicioso ou acidental, uso, modificao, destruio. Uso de tcnicas de criptografia. Armazenamento de logs ou histricos de dados. Restries de comunicao entre reas especficas do programa. Checagem da integridade de dados para variveis crticas.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.6 Atributos do Sistema de Software 3.6.4 Manutenibilidade

Evidencia o esforo necessrio para fazer modificaes especificadas no software. Especificar atributos do software relacionados facilidade de manuteno. Modularidade, interfaces, complexidade.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.6 Atributos do Sistema de Software 3.6.5 Portabilidade

Evidencia a capacidade do software de ser transferido de um ambiente para outro. Especificar atributos do software relacionados facilidade de transferi-lo para outras mquinas e/ou sistemas operacionais. Percentagem de componentes e cdigo dependentes da mquina (host). Uso de linguagem portvel. Uso de compilador ou linguagem particular. Uso de um sistema operacional especfico.

Padro IEEE-830 para o Documento de Requisitos


3 Requisitos Especficos
3.7 Organizao. Para a maioria dos sistemas a especificao detalhada dos requisitos tende a ser grande. Organizar os requisitos de maneira a otimizar o entendimento.

Modo de operao. Classe de usurio. Objetos. Caracterstica. Estmulo. Resposta. Hierarquia funcional.

Padro IEEE-830 para o Documento de Requisitos


4 Informaes de Apoio
4.1 ndice.

4.2 Apndices.

Material Complementar

IEEE recommended practice for software requirements specifications.

IEEE Std 830 (1998). The Institute of Electrical and Electronics Engineers, Inc.

Especificao de Requisitos: Uma Introduo


Turine, M. A. S.; Masiero, P. C. Relatrio Tcnico do ICMC/USP, n. 39, 1996.

Вам также может понравиться