Skip to content

Requirements

Emanuel Regnath edited this page Feb 28, 2017 · 1 revision

This document analyzes and traces the requirements from several stakeholders to the implementation.

Traceability: Req. ↔ Goals ↔ Feat. ↔ Impl

We should ensure bidirectional traceability. That is, every requirement can be traced down to an implementation (we don't miss a feature) and every implementation can be traced up to a requirement (we don't have unnecessary features).

We have three types of Stakeholders: Readers, Authors, Developers

  • Readers = Sudents, Engineers, Scientists
  • Authors = Sudents, Engineers, Scientists
  • Developer = We

Reader Requirements (RR)

[RR_ANSW] Readers want answers to their questions

[RR_SPEC] Readers want specific answers (not just the general case)

[RR_TIME] Readers want the answers as fast as possible

[RR_LEARN] Readers want to learn new facts and concepts

[RR_REAS] Readers want to understand the reasons of some concepts

[RR_RELY] Readers want the information to be reliable

[RR_ANYW] Readers want to access the information anywhere, on any platform, in any format

Author Requirements (AR)

[AR_EASY] Easy to use syntax

[AR_PREV] Authors want a preview

[AR_UNDO] Authors want to undo their changes

Developer Requirements (DR)

[DR_NEW] Developers want the newest technology, if they learn then for the future

[DR_CHEAP] Developers want keep expenses for servers and bandwidth low

Design Goals (DG)

From the Requirements we derive the design goals:

[DG_WEB] Content should be presented as responsive Website <= [RR_ANYW]

[DG_OFFL] Content should also be available offline <= [RR_ANYW]

[DG_FIND] Content should be easy & fast to find <= [RR_ANS, RR_TIME]

[DG_DEMAND] Content should be on-demand <= [RR_SPEC, RR_TIME]

[DG_SHORT] Content should be short <= [RR_TIME]

[DG_IACT] Content should be interactive <= [RR_LEARN, RR_SPEC]

[DG_CONS] Content should have a consistent structure <= [RR_TIME]

[DG_INTU] User interface should be intuitive

Potential Conflicts: [DG_WEB <=> DG_OFFL]

Features (F)

[F_WEBSITE] We provide a webpage <= [DG_WEB]

[F_SEARCH] We provide a fuzzy search bar <= [DG_FIND]

[F_TABB] We provide tab boxes <= [DG_SHORT, DG_IACT, DG_CONS]

[F_EXPAND] We provide expandable sections/boxes <= [DG_DEMAND]

Implementation (I)


[I_HTML_WEB] We implement the webpage in HTML5 + Bootstrap <= [F_WEBSITE: DG_RESP]

[I_JS_SEARCH] We implement the search bar in JS <= [F_SEARCH: DG_OFFL]

[I_GIT] We use git <= [AR_UNDO, DR_CHEAP]