\section{Development Plan}
+The development plan is written following the spiral software development model
+in which all requirements are divided into small iterations. Each of the
+iterations will have an implementation phase, a testing phase, an analysis
+phase, and a design phase. Furthermore, each of the iterations will have goals
+and results. The iterations are listed in \autoref{tab:devit}
-We will work using spiral software development model where all works are divided into small iterations. Each of iterations will have implementation phase, testing phase, analysis phase, and design phase.
-Furthermore, each of iterations will have goals and results.
-The iterations are:
-
-\begin{enumerate}
-\item Iteration 1: Create a basic DSL for MarsRover's missions to use available sensors and actuators
-\item Iteration 2: Test the DSL and make it works in MarsRover
-\item Iteration 3: Create a functionality to use motors for the movement. The actions are drive forward, drive backward, stop, turn left, and turn right.
-\item Iteration 4: Create a functionality to use right sensor, left sensor, and back ultrasone sensor
-\item Iteration 5: Create a functionality to keep the MarsRover in the planet. This will combine the use of the motors for the movement and the most safety critical sensors
-\item Iteration 6: Implement a protocol for the communication between two bricks
-\item Iteration 7: Implement color sensor and create a functionality to find lakes by color
-\item Iteration 8: Implement front ultrasone sensor and create a functionality to find rocks
-\item Iteration 9: Implement functionality to avoid rocks
-\item Iteration 10: Implement measurement motor and create a functionality to measure lakes and rocks
-\item Iteration 11: Implement left and right touch sensors. Also, create a functionality to push rocks
-\item Iteration 12: Implement a functionality to be able to perform multiple missions in sequence
-\item Iteration 13: Implement Gyro sensor and create a functionality to park MarsRover in certain position
-\item Iteration 14: Implement a functionality to remember where the lakes are after the MarsRover found them
-\item Iteration 15: Implement a functionality to play a sound for the viewer's notification
-\item Iteration 16: Implement SLAM functionality and make the MarsRover be able to navigate with the map
-\end{enumerate}
\ No newline at end of file
+\begin{table}[h]
+ \centering
+ \begin{tabu} to \linewidth{lX}
+ \toprule
+ Iteration & Description\\
+ \midrule
+ 1 & Create a basic DSL for MarsRover's missions to use available
+ sensors and actuators.\\
+ 2 & Test the DSL and make it works in MarsRover.\\
+ 3 & Create a functionality to use motors for the movement. The actions
+ are drive forward, drive backward, stop, turn left, and turn
+ right.\\
+ 4 & Create a functionality to use right sensor, left sensor, and back
+ ultrasone sensor.\\
+ 5 & Create a functionality to keep the MarsRover in the planet. This
+ will combine the use of the motors for the movement and the most
+ safety critical sensors.\\
+ 6 & Implement a protocol for the communication between two bricks.\\
+ 7 & Implement color sensor and create a functionality to find lakes by
+ color.\\
+ 8 & Implement front ultrasone sensor and create a functionality to find
+ rocks.\\
+ 9 & Implement functionality to avoid rocks.\\
+ 10 & Implement measurement motor and create a functionality to measure
+ lakes and rocks.\\
+ 11 & Implement left and right touch sensors. Also, create a
+ functionality to push rocks.\\
+ 12 & Implement a functionality to be able to perform multiple missions
+ in sequence.\\
+ 13 & Implement Gyro sensor and create a functionality to park MarsRover
+ in certain position.\\
+ 14 & Implement a functionality to remember where the lakes are after
+ the MarsRover found them.\\
+ 15 & Implement a functionality to play a sound for the viewer's
+ notification.\\
+ 16 & Implement SLAM functionality and make the MarsRover be able to
+ navigate with the map.\\
+ \bottomrule
+ \end{tabu}
+ \caption{Spiral model iterations}\label{tab:devit}
+\end{table}
\multicolumn{3}{l}{Functional requirements}\\
\midrule\midrule
- CR1\phantomsection\label{req:cr1} & \textsc{M} &
- Do not fall of the planet.\\
- MR1\phantomsection\label{req:mr1} & \textsc{M} &
- Find and identify lakes by the color.\\
- MR2\phantomsection\label{req:mr2} & \textsc{M} &
- Find rocks.\\
- MR3\phantomsection\label{req:mr3} & \textsc{M} &
- Avoid rocks.\\
- MR4\phantomsection\label{req:mr4} & \textsc{M} &
- Measure rocks and lakes.\\
- MR5\phantomsection\label{req:mr5} & \textsc{M} &
- Push away rocks.\\
- MR6\phantomsection\label{req:mr5} & \textsc{M} &
- Be able to perform multiple missions in sequence.\\
- MR7\phantomsection\label{req:mr6} & \textsc{S} &
- Park robot in a garage.\\
- MR8\phantomsection\label{req:mr7} & \textsc{S} &
- Remember where the lakes are after the robot found them.\\
- ER1\phantomsection\label{req:er1} & \textsc{C} &
- SLAM\footnote{Simultaneous localization and mapping} and be able to
+ CR1 & Do not fall of the planet.\\
+ MR1 & Find and identify lakes by the color.\\
+ MR2 & Find rocks.\\
+ MR3 & Avoid rocks.\\
+ MR4 & Measure rocks and lakes.\\
+ MR5 & Push away rocks.\\
+ MR6 & Be able to perform multiple missions in sequence.\\
+ MR7 & Park robot in a garage.\\
+ MR8 & Remember where the lakes are after the robot found them.\\
+ ER1 & SLAM\footnote{Simultaneous localization and mapping} and be able to
navigate with the map.\\
- ER2\phantomsection\label{req:er2} & \textsc{C} &
- Sounds playing to notify the viewers.\\
+ ER2 & Sounds playing to notify the viewers.\\
\midrule
\multicolumn{3}{l}{Non-functional requirements}\\
- ER2\phantomsection\label{req:er2} & \textsc{C} &
- Sounds playing to notify the viewers.\\
+ ER2 & Sounds playing to notify the viewers.\\
\midrule\midrule
\end{longtabu}