Escolar Documentos
Profissional Documentos
Cultura Documentos
REQUISITOS DE SOFTWARE
1. INTRODUÇÃO
Requisito é uma condição, uma característica ou uma capacidade que deve ser
atendida por um determinado produto ou serviço. Um requisito expressa o desejo, a necessidade
ou a expectativa do cliente, porém em alto nível. Eis um exemplo da descrição de um requisito:
O Clube XYZ deseja contratar uma empresa para construir uma piscina olímpica
com o intuito de oferecer à sua equipe de natação condições mais adequadas
de treinamento e, consequentemente, obter melhores resultados em
competições oficiais.
Gerentes de negócio
Requisitos Usuários finais de sistemas
de usuário Clientes
Fornecedores
Arquitetos de sistemas
1. O usuário deve ser capaz de fazer uma busca de todos os títulos disponíveis.
2. O sistema deve fornecer telas apropriadas para o usuário ler os documentos no repositório
de documentos.
3. Para cada pedido, deve ser atribuído um identificador único (ORDER_ID), o qual o usuário
deve ser capaz de copiar para a área de armazenamento permanente da conta.
O sistema LIBSYS é uma interface única com uma série de bancos de dados de
artigos. Ele permite que os usuários baixem cópias de artigos publicados em revistas, jornais e
periódicos científicos.
Uma razão para isso é que é fácil cometer erros e omissões quando se redigem
especificações para sistemas grandes e complexos. Outra razão é que diferentes stakeholders
no sistema têm diferentes – e frequentemente inconsistentes – necessidades. Essas
Sistema médico O sistema deverá permitir que um paciente marque uma consulta.
O sistema deverá enviar ao paciente uma confirmação da consulta
marcada.
Sistema de O sistema deverá permitir que um condômino solicite a segunda via
condomínio do boleto da taxa condominial.
O sistema deverá enviar uma mensagem ao condômino com taxas
condominiais em atraso.
Sistema de controle O sistema deverá permitir que um fornecedor cadastre um produto
de produtos no catálogo.
O sistema de controle de produtos deverá informar ao sistema de
estoques que um produto foi vendido para fins de baixa no estoque.
Além disso, os requisitos não funcionais podem não estar relacionados apenas
com o sistema de software a ser desenvolvido. Alguns deles podem também descrever restrições
sobre o processo que deve ser usado para desenvolver o sistema. Exemplos de requisitos não
funcionais de processo podem incluir uma especificação dos padrões de qualidade que
deverá ser seguida, uma especificação de que o projeto seja produzido com um determinado
conjunto de ferramentas de desenvolvimento.
Requisitos
não funcionais
Requisitos de
portabilidade
Requisito de produto
A interface de usuário do LIBSYS deve ser implementada com HTML, sem qualquer frame ou
applet de Java.
Requisito organizacional
O processo de desenvolvimento do sistema e os documentos a serem entregues devem estar
em conformidade com o processo e produtos a serem entregues definidos pela norma XYZCo-
SP-STAN-95.
Requisito externo
O sistema não deve revelar quaisquer informações pessoais sobre os usuários do sistema ao
pessoal da biblioteca, com exceção do nome e do número de inscrição na biblioteca.
Um problema comum com os requisitos não funcionais é que eles podem ser
difíceis de verificar. Os usuários ou os clientes frequentemente definem esses requisitos como
metas gerais, como usabilidade, capacidade do sistema de se recuperar de falhas ou resposta
rápida ao usuário. Essas metas vagas causam problemas para os desenvolvedores de sistema,
pois eles deixam o escopo para interpretação e discussão subsequentes, depois que o sistema
é entregue. Como ilustração desse problema, considere o Quadro 2.5. Ele mostra uma meta de
sistema relacionada à usabilidade de um sistema de controle de uma forma típica de como um
usuário pode expressar os requisitos de facilidade de uso. Esse requisito foi reescrito para
demonstrar como a meta pode ser expressa como um requisito não funcional verificável por teste.
Mesmo que seja impossível verificar objetivamente a meta do sistema, você pode projetar testes
de sistema para contar os erros cometidos pelos controladores que usam um simulador de
sistema.
Meta do sistema
O sistema deve ser fácil de ser usado pelos controladores experientes e ser organizado de
modo que os erros dos usuários sejam minimizados.
Requisito não funcional verificável
Os controladores experientes devem ser capazes de usar todas as funções do sistema depois
de um treinamento no total de duas horas. Após esse treinamento, o número médio de
erros cometidos pelos usuários experientes não deve exceder dois por dia.
Interface As telas do sistema devem ser criadas sob o padrão HTML 5.0
Usabilidade Os usuários deverão operar plenamente o sistema após um
treinamento de quatro horas.
Acessibilidade O sistema deverá oferecer terminais para consulta a portadores de
deficiência visual.
Confiabilidade O sistema deverá ter alta disponibilidade: 99% do tempo.
Desempenho O sistema deverá processar 50 requisições por segundo.
Implementação O sistema deverá ser desenvolvido na linguagem PHP.
Armazenamento O armazenamento dos dados do sistema deverá ter espelhamento de
discos.
Interoperabilidade O sistema deverá enviar semanalmente à Secretaria da Fazenda um
arquivo das vendas efetuadas.
Portabilidade O sistema deverá ser processado em qualquer plataforma.
Padrões O uso de programação orientada a objeto sob a plataforma Microsoft.
Ético O sistema exibirá o salário dos funcionários somente aos respectivos
gerentes de departamento.
Privacidade O telefone do professor não poderá ser informado aos alunos.
Segurança A senha dos usuários terá validade de 90 dias.
Entrega Um determinado relatório de acompanhamento deverá ser emitido
todas as segundas-feiras.
Legal O sistema deverá atender às normas da Anvisa.
Para ilustrar os requisitos de domínio que especificam como um cálculo deve ser
realizado, considere o Quadro 2.6, cujos dados são da especificação de requisitos do sistema
de proteção de um trem automatizado. Esse sistema para automaticamente um trem caso ele
ultrapasse um sinal vermelho. O requisito define como a desaceleração do trem é calculada pelo
sistema. Ele usa a terminologia específica do domínio. Para compreendê-lo, é necessário algum
conhecimento sobre operação de sistemas ferroviários e das características do trem.
onde Dgradiente é 9,81 ms2 * gradiente compensado/alfa e onde os valores de 9,81 ms2/alfa são
conhecidos para diferentes tipos de trens.
3. REQUISITOS DE USUÁRIO
Sempre que possível, deve-se tentar associar uma justificativa lógica a cada
requisito do usuário. A justificativa deve esclarecer por que o requisito foi incluído, e é
particularmente útil quando os requisitos são mudados. Por exemplo, a justificativa lógica no
Quadro 3.3 reconhece que uma grade ativa, na qual os objetos posicionados 'saltam'
automaticamente para uma linha da grade pode ser útil. Entretanto, isso foi intencionalmente
rejeitado em favor do posicionamento manual.
Recursos de grade:
O editor deve fornecer uma matriz (linhas/colunas) com um fundo para a janela do editor. Essa
grade deve ser passiva e o alinhamento das entidades é de responsabilidade do usuário.
Justificativa lógica: Uma grade ajudará o usuário a criar uma área de trabalho bem
organizada com entidades bem distribuídas. Embora uma grade ativa, na qual as entidades
'saltam' as linhas de grade, possa ser útil, o posicionamento é impreciso. Ninguém melhor que
o usuário para decidir onde as entidades devem ser posicionadas.
Especificação: ECLlPSE/WS/Tools/DE/FS Seção 5.6
Fonte: Ray Wilson, escritório de Glasgow
4. REQUISITOS DE SISTEMA
Engenheiros
Usam os requisitos para compreender qual sistema será desenvolvido.
de sistema
Engenheiros de
Usam os requisitos para desenvolver testes de validação para o sistema.
teste de sistema
Engenheiros de
Usam os requisitos para compreender o sistema e os relacionamentos
manutenção de
entre as suas partes para processar as alterações necessárias.
sistemas
Embora o padrão do IEEE não seja ideal, ele contém uma grande quantidade de
boas recomendações de como redigir requisitos e evitar problemas. Ele é muito geral para
funcionar como padrão de uma organização. É um framework geral que pode ser configurado e
adaptado para definir um padrão dirigido às necessidades de determinada organização. A Tabela
5.1 ilustra uma possível organização para um documento de requisitos com base no padrão do
IEEE. No entanto, o padrão foi estendido para incluir informações sobre a evolução prevista do
1
Institute of Electrical and Electronics Engineers
Capítulo Descrição
Prefácio Deve definir o público-alvo do documento e descrever o seu histórico de
versões, incluindo uma justificativa lógica para a criação da nova versão
e um resumo das mudanças feitas em cada versão.
Introdução Deve descrever a necessidade do sistema. Deve descrever brevemente
as suas funções e explicar como o sistema irá funcionar com outros
sistemas. Deve descrever como o sistema atende aos objetivos gerais
de negócios e estratégicos da organização que encomendou o software.
Glossário Deve definir os termos técnicos usados no documento. Não se deve
fazer suposições sobre a experiência ou as habilidades do leitor.
Definição de Os serviços fornecidos ao usuário e os requisitos não funcionais do
requisitos sistema devem ser descritos nesta seção. Essa descrição pode usar
de usuário linguagem natural, diagramas e outras notações compreensíveis pelos
clientes. Padrões de produto e de processo a serem seguidos devem
ser especificados.
Arquitetura de Este capítulo deve apresentar uma visão geral de alto nível da
sistema arquitetura prevista do sistema, mostrando a distribuição das funções
nos módulos do sistema. Os componentes de arquitetura reusados
devem ser destacados.
Especificação Deve descrever os requisitos funcionais e não funcionais mais
de detalhadamente. Caso necessário, mais detalhes podem também ser
requisitos de adicionados aos requisitos não funcionais; por exemplo, interfaces com
sistema outros sistemas devem ser definidas.
Empresário
Consultor de Empresas
Professor Universitário
Mestre em Informática
o Gestão de Sistemas de Informação
Especialista em Gestão Pública
Especialista em Planejamento,
Implantação e Gestão de EAD
Especialista em Sistemas de
Informatização Empresarial
Bacharel em Administração
Tecnólogo em Processamento de Dados
marcelo.moreira@fatec.sp.gov.br