Fui encarregado de desenvolver requisitos e especificações para um projeto que nosso grupo está iniciando.
Percebi que não sei a diferença; uma pesquisa no Google me confundiu mais - parece que algumas pessoas dizem que especificações são requisitos, mas em um nível mais baixo.
Respostas:
A resposta certa é que os requisitos são o que seu programa deve fazer, as especificações são como você planeja fazê-lo.
Outra maneira de analisar é que os requisitos representam o aplicativo da perspectiva do usuário ou do negócio como um todo. A especificação representa o aplicativo da perspectiva da equipe técnica. Especificações e requisitos comunicam aproximadamente as mesmas informações, mas a dois públicos completamente diferentes.
fonte
Os requisitos documentam o que é necessário - eles não devem especificar o como, mas o que.
As especificações documentam como atingir os requisitos - elas devem especificar o como.
Em muitos lugares, esses documentos não são separados e são usados de forma intercambiável.
fonte
Sou engenheiro de sistemas no campo aeroespacial, onde os dois termos são usados extensivamente. A distinção é clara e não é tão complexa quanto os outros.
Uma especificação é um documento que especifica um sistema ou produto, por exemplo, uma especificação de desenvolvimento de item principal para um F-14. Existem muitas seções / conteúdo em uma especificação: requisitos, definições, documentos de referência, glossário, informações de verificação etc.
Um requisito é uma declaração única de algo que o produto ou sistema deve fazer. Uma especificação pode ter centenas de requisitos. A metodologia da velha escola diz que a declaração de requisitos deve usar a palavra "deve" para separar requisitos de declarações de fatos ou definições. (Não tenho certeza se os garotos ágeis, novos e fanáticos, mantêm tudo isso ou não; a meticulosidade tem seu uso, mas às vezes é um pouco exigente).
Portanto, uma especificação é um documento cheio de requisitos, além de outras informações de suporte e auxiliares.
fonte
A citação é de "Fundamentos de engenharia de sistemas * ".
Os requisitos são baseados nas necessidades das partes interessadas, as especificações são mais um documento técnico e detalhado. Eles são diferentes, mas falam da mesma coisa.
* Press Acquisition University Press, 2001. Versão em PDF do texto.
fonte
Requisitos são a descrição dos usuários sobre o que o produto acabado, a seus olhos, deve fazer.
Especificação é a descrição técnica da solução em geral, cobrindo os requisitos e muito mais - por exemplo, custo, detalhes técnicos, problemas, etc.
Portanto, um dos pontos principais é que os Requisitos devem vir primeiro antes que uma Especificação possa ser escrita.
(Observe a terminologia - produto e solução - a mesma coisa, mas sob diferentes perspectivas ...)
fonte
Requisito - o que o sistema ou subsistema deve (deve) fazer.
Especificação - Qual é o componente, subsistema ou sistema.
Isso é crítico no setor de fabricação de dispositivos médicos, pois você deve realizar a Verificação de acordo com seus requisitos (Entradas) para demonstrar que possui especificações válidas (Saídas). As armadilhas típicas desse setor são as empresas (1) que se esquecem de definir requisitos (porque não entendem a diferença entre requisito versus especificação); (2) Realize a verificação somente com as especificações e (3) não garanta que os Requisitos estejam sendo traduzidos com precisão nas especificações de submontagem e componentes.
Depois que tudo estiver pronto, você precisará validar os requisitos do usuário para o produto.
fonte
Talvez a confusão seja que ouvi as especificações se referirem aos documentos de especificação de requisitos de negócios ou documentos SRS (especificação de requisitos de software) IEEE padrão.
Exemplo de modelo SRS padrão IEEE
Também ouvi o termo especificações referir-se mais informalmente às Especificações Técnicas, que explicam as decisões de projeto e um plano de implementação.
EDIT: Acabei de perceber que o link está incorreto ... Em breve, postarei um link correto.
fonte
Uma especificação é um requisito que passou na viabilidade e está pronto para ser implementado. É um requisito que evoluiu para a fase de design.
Em outras palavras:
Exemplo:
Como você pode ver, o conteúdo de ambos pode ser o mesmo. A diferença é que o requisito é um artefato de análise. A especificação é um artefato de design.
Em uma documentação final construída, você normalmente encontrará a palavra "especificação", em vez de "requisito", pois os requisitos foram convertidos em especificações.
Observação: o exemplo acima contém elementos de design, devido a restrições de design.
fonte
Requisitos são o que o aplicativo FAZ
As especificações são como o aplicativo faz o que faz.
Eles devem ser ortogonais!
Os gerentes de produto escrevem os requisitos, os engenheiros-chefe escrevem as especificações.
fonte
Uma maneira, talvez não a maneira correta, de ver:
Requisitos são coisas (recursos, recursos, comportamentos etc.) que agregam valor ao usuário. Não está preocupado com os internos; apenas as entradas e saídas da caixa (e talvez tamanho, forma e cor) são importantes aqui.
Especificações são coisas (recursos, recursos, comportamentos, etc.) que ativam esse valor para o usuário. Aqui as caixas internas são importantes porque, juntamente com as interfaces e características externas mencionadas acima, elas definem todo o sistema.
fonte
Na minha pesquisa, encontrei Especificações para serem usadas em patentes e Construção de Casas (como parte de um contrato).
A definição de um requisito do Webster's Unabridged Dictionary (3rd New Int'l Ed.) É:
a) algo que é desejado ou necessário: Necessidade b) algo solicitado ou exigido: uma condição necessária ou essencial: uma qualidade, curso ou tipo de treinamento necessário
Eu acho que o acima mostra que eles são claramente diferentes. Eu acho que você poderia chamar os requisitos de nível inferior das especificações, mas acho que é uma perversão do termo imho de requisitos.
fonte
Em uma empresa anterior que criou produtos comerciais, tivemos a seguinte distinção:
Requisitos são o que o sistema deve fazer. Eles podem ser de nível inferior, requisitos detalhados e podem ser funcionais ou não funcionais.
As especificações são aquelas que o sistema construído realmente faz. Por exemplo, você pode ter um requisito que declara que o sistema deve ter um comportamento X a –10 ° C. A especificação real do sistema pode ser que o sistema faça X a –5 ° C; isso estaria na planilha enviada aos clientes em potencial quando eles desejassem comprar o sistema.
NB: neste caso, a especificação não é igual ao requisito.
fonte
Pense, você vai construir um edifício alto em um terreno.
Agora você precisa considerar os Requisitos antes de começar, como:
Etc.
Agora, o conteúdo acima faz parte dos Requisitos para construir um edifício alto. Da equipe acima, você obtém o resultado técnico, que eles mantêm como parte da profissão.
É exatamente isso que está acontecendo na indústria de software, um grupo de profissionais envolvidos para fornecer conhecimento para criar as especificações técnicas, como alguém que trabalha com design de interface do usuário, design de OO, design de banco de dados, design gráfico, design de caso de teste, codificação e integração , equipe de implantação etc.
O parágrafo acima fará parte do manual, que você pode chamar de Especificações Técnicas.
fonte