Technical Specifications vs Design Documents – Key Differences

documentationspecifications

What are technical specifications? Are they the same as design documents. If not, what is the difference and some examples?

Best Answer

A software design document can be at the level of a system or component, and generally includes:

  • relevant goals or requirements (functional and non-functional);
  • static structure (e.g., components, interfaces, dependencies);
  • dynamic behavior (how components interacts);
  • data models or external interfaces (external to the system/component described in the document); and
  • deployment considerations (e.g., runtime requirements, third-party components).

Note that all of these descriptions are at an abstract level. The purpose is to give the reader a broad general understanding of the system or component. There may be many levels of design documents (e.g., system- or component-level).

A technical specification describes the minute detail of either all or specific parts of a design, such as:

  • the signature of an interface, including all data types/structures required (input data types, output data types, exceptions);
  • detailed class models including all methods, attributes, dependencies and associations;
  • the specific algorithms that a component employs and how they work; and
  • physical data models including attributes and types of each entity/data type.
Related Topic