Qual é a diferença entre especificações técnicas e documentos de design?

38

O que são especificações técnicas? Eles são iguais aos documentos de design. Caso contrário, qual é a diferença e alguns exemplos?

João V
fonte
11
O primeiro sente falta do design e o segundo sente falta dos detalhes técnicos.

Respostas:

33

Um documento de design de software pode estar no nível de um sistema ou componente e geralmente inclui:

  • objetivos ou requisitos relevantes (funcionais e não funcionais);
  • estrutura estática (por exemplo, componentes, interfaces, dependências);
  • comportamento dinâmico (como os componentes interagem);
  • modelos de dados ou interfaces externas (externas ao sistema / componente descrito no documento); e
  • considerações de implantação (por exemplo, requisitos de tempo de execução, componentes de terceiros).

Observe que todas essas descrições estão em um nível abstrato. O objetivo é fornecer ao leitor uma ampla compreensão geral do sistema ou componente. Pode haver muitos níveis de documentos de design (por exemplo, em nível de sistema ou componente).

Uma especificação técnica descreve os mínimos detalhes de todas ou partes específicas de um projeto, como:

  • a assinatura de uma interface, incluindo todos os tipos / estruturas de dados necessários (tipos de dados de entrada, tipos de dados de saída, exceções);
  • modelos de classe detalhados, incluindo todos os métodos, atributos, dependências e associações;
  • os algoritmos específicos que um componente emprega e como eles funcionam; e
  • modelos de dados físicos, incluindo atributos e tipos de cada entidade / tipo de dados.
miraculixx
fonte
11
Então, quando deveríamos escrever especificações técnicas? Antes do desenvolvimento? Junto com o desenvolvimento? ou depois ..?
precisa saber é o seguinte
2
@ShashwatTripathi geralmente, as especificações são escritas antes do desenvolvimento, para que outra pessoa (ou você posteriormente) possa implementar os componentes. Escrever a especificação depois que o desenvolvimento foi concluído torna-o meio inútil (a menos que você a use como documentação técnica sobre o que foi implementado).
Miraculixx
Eu me deparei com esse cenário exato trabalhando para uma enorme empresa em um projeto de vários anos. Trabalhamos para trás na criação de um documento de requisitos de negócios depois que o projeto foi migrado para o Test e depois para o Prod! Sim, ótimo gerenciamento de projetos, eu sei!
ThinkCode 14/03
As especificações técnicas não são criadas após os detalhes decomporem funcionalmente a Especificação de Requisitos de Software? Como um arquiteto pode criar um TS sem o SRS? Parece que ele / ela precisará assumir uma tonelada.
Oracular Man
Concordo, um TS deve seguir uma SRS (especificação de requisitos do sistema). Observe no entanto que esses termos não são padronizados e um TS pode ser criado como uma forma detalhada de um SRS (típico em sistemas embarcados) ou pode ser usado para complementar um SRS de alto nível, ou seja, um documento de design (típico em aplicativos comerciais ) O ponto principal é que os documentos de requisitos, design e especificação descrevem uma visão específica de um sistema e de seus componentes. É mais importante que uma equipe concorde com as visões e o nível de detalhes necessários do que com alguma definição formal.
22418
7

As especificações técnicas, pelo menos na forma de um projeto técnico, fazem parte dos documentos de projeto, juntamente com, por exemplo, listas de requisitos, projetos funcionais, histórias de usuários, maquetes de design gráfico, estudos de usabilidade, diagramas UML, diagramas de processos de negócios, dados especificações do modelo, etc.

As especificações técnicas do tipo que você escreve após o fato, para documentar o produto acabado, geralmente não fazem parte dos documentos de design, mas podem ser incluídas no conjunto de documentos de design de uma versão posterior (para referência) ou outro produto que confia neles.

tdammers
fonte
Obrigado. Também basicamente eu preciso de especificações funcionais para saber o que fazer e, em seguida, projetar documentos para saber como fazer, está correto? Apenas uma pequena pergunta, o que é o design funcional a que se referiu (espero que isso não vai acrescentar confusão à minha compreensão da especificação funcional)
John V
Um design funcional define a funcionalidade pretendida do produto, do ponto de vista do usuário, sem entrar em detalhes da implementação. Há muitas perguntas com excelentes respostas aqui que fornecem explicações exaustivas sobre o que é e não é um design funcional.
tdammers
11
Então, quando deveríamos escrever especificações técnicas? Antes do desenvolvimento? Junto com o desenvolvimento? ou depois ..?
precisa saber é o seguinte