<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Specification on HJohansen.dk</title><link>https://hjohansen.dk/tags/specification/</link><description>Recent content in Specification on HJohansen.dk</description><generator>Hugo</generator><language>da-DK</language><lastBuildDate>Sun, 24 May 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://hjohansen.dk/tags/specification/index.xml" rel="self" type="application/rss+xml"/><item><title>Design Documents</title><link>https://hjohansen.dk/knowledge/design/overview/</link><pubDate>Sun, 24 May 2026 09:00:00 +0200</pubDate><guid>https://hjohansen.dk/knowledge/design/overview/</guid><description>&lt;p&gt;Design documents describe &lt;em&gt;how&lt;/em&gt; requirements will be implemented. They bridge requirements → implementation → verification.&lt;/p&gt;
&lt;h2 id="what-they-are-for"&gt;What They Are For&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Translate requirements into system structure&lt;/li&gt;
&lt;li&gt;Align developers and engineers before implementation&lt;/li&gt;
&lt;li&gt;Define interfaces, data flows, and responsibilities&lt;/li&gt;
&lt;li&gt;Reduce ambiguity in complex systems&lt;/li&gt;
&lt;li&gt;Provide traceability back to requirements&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="typical-structure"&gt;Typical Structure&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Overview&lt;/strong&gt; — purpose, scope, assumptions, constraints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Requirements reference&lt;/strong&gt; — links to relevant requirements (traceability matrix optional)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High-level architecture&lt;/strong&gt; — components, responsibilities, data flow&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Detailed design&lt;/strong&gt; — data structures, state machines, algorithms, interface definitions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edge cases and failure handling&lt;/strong&gt; — recovery strategies, validation rules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-functional considerations&lt;/strong&gt; — performance, security, maintainability, scalability&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open questions / decisions&lt;/strong&gt; — design trade-offs, alternatives considered&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="what-a-design-document-is-not"&gt;What a Design Document is NOT&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Not a requirements document&lt;/li&gt;
&lt;li&gt;Not a step-by-step implementation script&lt;/li&gt;
&lt;li&gt;Not code (though diagrams and pseudocode are fine)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Se også:&lt;/strong&gt; &lt;a href="https://hjohansen.dk/knowledge/requirements/"&gt;Requirements Engineering&lt;/a&gt;, &lt;a href="https://hjohansen.dk/knowledge/pharma/"&gt;Pharma Automation Framework&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Requirements Engineering</title><link>https://hjohansen.dk/knowledge/requirements/overview/</link><pubDate>Sun, 24 May 2026 08:00:00 +0200</pubDate><guid>https://hjohansen.dk/knowledge/requirements/overview/</guid><description>&lt;p&gt;Requirements describe what the system must achieve, not how. They sit at different levels of abstraction.&lt;/p&gt;
&lt;h2 id="levels-of-requirements"&gt;Levels of Requirements&lt;/h2&gt;
&lt;h3 id="1-business-requirements"&gt;1. Business Requirements&lt;/h3&gt;
&lt;p&gt;The highest-level intent. Expresses &lt;em&gt;why&lt;/em&gt; something is needed. Usually stable over time.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The system shall reduce manual batch configuration errors.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="2-user--functional-requirements"&gt;2. User / Functional Requirements&lt;/h3&gt;
&lt;p&gt;Describes system behavior from a user or process point of view. Focuses on &lt;em&gt;what&lt;/em&gt; the system does.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The system shall validate all recipe parameters before execution.&amp;rdquo;&lt;/p&gt;</description></item></channel></rss>