-
Notifications
You must be signed in to change notification settings - Fork 7
Requirements
This document analyzes and traces the requirements from several stakeholders to the implementation.
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
[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
[AR_EASY] Easy to use syntax
[AR_PREV] Authors want a preview
[AR_UNDO] Authors want to undo their changes
[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
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]
[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]
[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]