Especificação Funcional


  • Wikipedia:
    • Especificação funcional em desenvolvimento de software é um documento que especifica as funções que um sistema ou componente deve executar. A documentação geralmente descreve o que é necessário para o usuário do sistema, bem como as propriedades solicitadas de entradas e saídas.
  • Tom DeMarco, Weinberg, Gane e Sarson:
    • "Na análise estruturada a especificação funcional passou a ter as seguintes características: utilizar a representação gráfica, composta por vários diagramas apoiados por material textual; ser constituída de forma particionada, de modo que partes individuais da especificação pudessem ser lidas independentemente de outras; e ter o mínimo de redundância, tornando menos onerosa a tarefa de atualizar os requisitos."


  • Alguns tópicos que a Especificação Funcional ou Documento de Requisitos poderá abordar:
    • Serviços e funções que o sistema deve prover com detalhes que auxiliem a equipe de desenvolvimento
    • Limitações sobre as quais o sistema deve operar
    • Propriedades gerais do sistema, isto é, comportamento do sistema diante das propriedades emergentes
    • Definições de outros sistemas que irão interagir com o sistema em questão
    • Informações a respeito do domínio de aplicação do sistema
    • Limitações no processo utilizado para desenvolver o sistema
    • Definições sobre o hardware no qual o sistema executará


  • Adicionalmente, o documento de requisitos deverá conter uma capítulo introdutório que provê um resumo do sistema, necessidades de negócio suportadas pelo sistema e um glossário que explica a terminologia utilizada. Esse glossário é particularmente importante, pois pessoas de diferentes áreas terão contato com o documento de requisitos, facilitando assim sua compreensão.


  • Exemplos de usuários do documento de requisitos, com seus respectivos papéis:
    • 1. Clientes do Sistema: especificam os requisitos e o lêem para avaliar se os mesmos satisfazem suas necessidades
    • 2. Gerentes de Projeto: usam os documentos de requisitos para planejarem uma proposta para o sistema e o processo de desenvolvimento do sistema
    • 3. Engenheiros ou Analistas de Sistema: usam os requisitos para entenderem o sistema em construção
    • 4. Engenheiros de teste ou Gestores de Qualidade: usam os requisitos para desenvolverem testes de validação do sistema
    • 5. Engenheiros de manutenção ou Analistas de Suporte: usam os requisitos para entendimento do sistema, monitoramento e eeventuais correções.


  • Estrutura de um documento de requisitos segundo IEEE 830

Sequência da apresentação


Item Tópico Orientação
01 Escopo Explicar objetivos, características relevantes e restrições do projeto
02 Diagrama de Contexto Destacar Entidades Externas e Depósitos de Dados, ignorando requisitos funcionais,
03 Entidades Externas Detalhar sobre interação com perfis de pessoas, com sistemas e com possíveis hardwares contemplados nos projeto
04 Depósitos Informar sobre aspectos dos dados que serão armazenados
05 Diagrama de Fluxo de Dados Expor visualmente os requisitos funcionais do sistema mapeados com Entidades Externas e Depósitos
06 Mockup Alinhar navegação do protótipo com proposta do DFD
07 Diagrama Entidade Relacionamento Apresentar projeto do Banco de Dados informando tabelas, relacionamentos, campos, chaves e tipos de dados