2 The requirements are is ordered following the MoSCoW prioritization method. The
3 MoSCoW approach originated from the RAD methodology~
\cite{clegg_case_1994
}.
4 MoSCoW is used to sort the MarsRover features into priority order based on the
5 importance. In this way, the developers are able to understand what feature is
6 essential to be done. The term MoSCoW itself is an acronym derived from the
7 first letter of each of four prioritization categories (Must have, Should have,
8 Could have, and Would like but won't get). The first letters are used in the
9 first column of
\autoref{tab:req
} to describe the priority of the requirements.
11 \begin{longtabu
}to
\linewidth{llX
}
13 \rowfont\bfseries Code & Priority & Description\\
17 \multicolumn{3}{c
}{\ldots}\\
20 \bottomrule\\
\caption{Requirements list
}\label{tab:req
}
23 \multicolumn{3}{l
}{Functional requirements
}\\
25 CR1 &
\textsc{M
} & Do not fall of the planet.\\
26 MR1 &
\textsc{M
} & Find and identify lakes by the
color.\\
27 MR2 &
\textsc{M
} & Find rocks.\\
28 MR3 &
\textsc{M
} & Avoid rocks.\\
29 MR4 &
\textsc{M
} & Measure rocks and lakes.\\
30 MR5 &
\textsc{M
} & Push away rocks.\\
31 MR6 &
\textsc{M
} & Be able to perform multiple missions autonomously\\
32 MR7 &
\textsc{S
} & Park robot in a garage.\\
33 MR8 &
\textsc{S
} & Remember where the lakes are after the robot found
35 ER1 &
\textsc{C
} & SLAM
\footnote{Simultaneous localization and mapping
}
36 and be able to navigate with the map.\\
37 ER2 &
\textsc{C
} & Sounds playing to notify the viewers.\\
38 ER3 &
\textsc{M
} & Display diagnostic information on the screen at all
42 \multicolumn{3}{l
}{Non-functional requirements
}\\
43 NR1 &
\textsc{M
} & The code should be generated by a DSL.\\
44 NR2 &
\textsc{S
} & Finish the entire mission set within the
46 NR3 &
\textsc{S
} & Be able to function in lesser light.\\
47 NR4 &
\textsc{S
} & Be able to cope with lesser sensor data.\\
48 NR5 &
\textsc{C
} & If due bugs the sensors do not boot up the robot
49 should restart the program.\\