305da042ed6b86e0cdb20e0da712790792223da3
[des2015.git] / marsrover / document / dev.tex
1 \section{Development Plan}
2 The development plan is written following the spiral software development model
3 in which all requirements are divided into small iterations. Each of the
4 iterations will have an implementation phase, a testing phase, an analysis
5 phase, and a design phase. Furthermore, each of the iterations will have goals
6 and results. The iterations and their deliverables are listed in
7 \autoref{tab:devit}. The schedule for finishing iterations are listed in
8 \autoref{tab:deadli}. On the 6th of January the must-have should be finished
9 and if they are we try to complete as many iterations as possible.
10 \begin{table}[H]
11 \centering
12 \begin{tabu} to \linewidth{llX}
13 \toprule
14 Deadline & Iterations\\
15 \midrule
16 9 Dec 2015 & 1--2\\
17 16 Dec 2015 & 3--5\\
18 23 Dec 2015 & 6--9\\
19 6 Jan 2015 & 10--11\\
20 13 Jan 2015 & Demo\\
21 \bottomrule
22 \end{tabu}
23 \caption{Deadlines}\label{tab:deadli}
24 \end{table}
25 \begin{table}[H]
26 \centering
27 \begin{tabu} to \linewidth{rlXX}
28 \toprule
29 It. & Req. & Description & Deliverables\\
30 \midrule
31 1 & NR1 & Create a DSL for MarsRover's missions to use available
32 sensors and actuators. & \texttt{TaskDSL.xtext}\\
33 2 & ER3 & Implement diagnostic functions that print on the \emph{LCD}.
34 & A \emph{LCD} class that prints to the \emph{LCD} screen.\\
35 3 & - & Implement functions in the code generation for basic motor the
36 motor actions: forward, backward, measure rock, measure lake and
37 wait. & Code
38 generation for motors\\
39 4 & - & Implement functions in the code generation for communicating
40 the sensors from the slave to the master. & Functions in the master
41 program to read the slave's sensors.\\
42 5 & - & Create functionality for sensor values and determine the
43 treshholds manually. & Code generation for sensors and threshhold
44 constants.\\
45 6 & CR1 & Create functionality to keep the MarsRover in the planet. &
46 A generatable behaviour to stay on the planet.\\
47 7 & MR3 & Create functionality for not bumping into rocks. & A
48 generatable behaviour to not bump into rocks.\\
49 8 & MR1 & Create functionality to find lakes. & A generatable mission
50 to find lakes.\\
51 9 & MR6 & Create functionality to perform missions in sequence. & A
52 generatable main program that performs missions.\\
53 10 & MR2, MR4& Create functionality to find rocks. & A generatable
54 mission to find rocks.\\
55 11 & MR5 & Create functionality to push rocks and detect when the
56 robots is pushing. & A generatable behaviour for pushing.\\
57 12 & MR7 & Create functionality to find the parking space. & A
58 generatable behaviour that can find the parking space.\\
59 13 & MR8, ER1 & Create functionality to map the environment and to
60 localize. & A generatable behaviour that can map while
61 performing.\\
62 14 & ER2 & Create functionality to play sounds. & Add a generatable
63 function for playing sounds.\\
64 15 & NR3, NR4 & Create functionality to calibrate the sensor
65 treshholds. & A generatable function to calibrate the sensors.\\
66 16 & NR5 & Create functionality that when the robot encounters bugs it
67 can restart itself. & Functionality in the main program to do so.\\
68 17 & - & Speed up the behaviour of the robot within safety limits.\\
69 \bottomrule
70 \end{tabu}
71 \caption{Spiral model iterations}\label{tab:devit}
72 \end{table}