Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

79 рядки
5.8KB

  1. %&tex
  2. \chapter{Analysis}
  3. \label{analysis}
  4. The \ridm by \textcite{broenink_rapid_2019} only describes a partial design method.
  5. To create a complete design plan, a waterfall model is used as a basis for the design plan.
  6. The techniques of the \ridm are incorporated on top of the waterfall model.
  7. This chapter will analyse the basics of a waterfall model, and analyse what the \ridm provides.
  8. \section{Waterfall}
  9. \begin{marginfigure}
  10. \centering
  11. \includegraphics[width=2.9cm]{graphics/waterfall.pdf}
  12. \caption{Minimalistic implementation of waterfall model.}
  13. \label{fig:waterfall}
  14. \end{marginfigure}
  15. One of the most basic design method for development is the waterfall model introduced by Royce
  16. \footnote{Interestingly, \textcite{royce_managing_1970} never called it waterfall himself, he also notes that it never worked for large software development efforts.}
  17. in 1970 \autocite{blanchard_systems_2014}.
  18. The simplest implementation has five steps as shown in \autoref{fig:waterfall}.
  19. Methods like the V-model or spiral model give significant advantage over the waterfall model, as they incorporate more evaluation and feedback, but are not as simple as the waterfall.
  20. This simplicity makes changing and adding design steps to the waterfall model possible.
  21. \section{Rapid Iterative Design Method}
  22. The \ridm by \textcite{broenink_rapid_2019} describes a methodology using two core components for the implementation: the rapid development cycle and the variable detail approach.
  23. The design method also describes the preparation steps that are required prior to this implementation.
  24. In short, the preparation prepares a list of features.
  25. These features are implemented one by one with in the rapid development cycle using the variable detail approach.
  26. This section discusses each of these three parts and how they fit in the waterfall model.
  27. %The list of features results from dividing the functionality of the subject.
  28. %Broenink and Broenink do not explain how this should be done, but required that each of these features should be implemented and tested individually.
  29. %The details on how the features will be divided are covered in \autoref{sec:preparation}.
  30. \subsection{Rapid Development} %kopje komt uit de lucht
  31. The rapid development cycle consists of multiple iterations, where each iteration implements and tests one feature, that was defined during the preparation.
  32. Each iteration of the rapid development incorporates the following steps:
  33. \begin{enumerate}
  34. \item Design new feature and the corresponding tests.
  35. \item Implement and test that feature.
  36. \end{enumerate}
  37. %first, second step, last->third
  38. The first step is to create an initial design and tests that are used to verify the requirements of the current feature.
  39. During the second step, the initial design will developed into a detailed design of the feature.
  40. This detailed design of the feature is develop with the variable detail approach, in which the level of detail is stepwise incremented.
  41. When the second step is completed, the implemented feature contains all the required details and passes all the tests as defined in the first step.
  42. From this point the rapid development cycle is repeated for the next feature, or, when no features are left, finish the development.
  43. %The rapid development cycle does not specify which feature should be implemented first, even though the order of implementation does change the feasibility of the complete development.
  44. %A useful example of the order of features is the development of car suspension.
  45. %To have a critical damped suspension in a car, the weight distribution of the car must be available.
  46. %Thus designing the suspension of a car before other features, that influence the weight distribution, makes it unlikely that the design is meeting the damping requirements.
  47. %Resulting in a feature that has to be redesigned and thus increasing the overall development cost.
  48. \subsection{Variable Detail Approach}
  49. The variable detail approach starts with a low-detailed model and increases the detail discretely over multiple iterations.
  50. The low-detailed model is for example a single transfer function of the system.
  51. In the following iteration, the detail of the model is increased by adding, for example, non-linearity, non-continuity or parasitic elements.
  52. The tests, as specified in the first step of the rapid development cycle, are performed after each addition of detail.
  53. If the tests show that the added detail is not conform the specifications, the added detail is reviewed or redesigned.
  54. When the added detail passes the tests, the process is repeated to add more detail.
  55. The variable detail approach is finished when all the tests are passed and all the detail is added.
  56. \subsection{Preparation}
  57. Although the \ridm does not specify the complete steps for the preparation, it does state some requirements.
  58. The rapid development cycle requires a list of features that can be implemented one by one.
  59. These features are gained by splitting the system into individual subsystems, where each subsystem can be implemented and tested individually.
  60. About the order of implementation, the \ridm states that critical features should be implemented first, as these features have an increased chance of invalidating the complete design.
  61. Would such a feature fail, the investment loss is limited, because the development is still in an early stage.
  62. \subsection{Combination}
  63. \begin{marginfigure}
  64. \centering
  65. \includegraphics[width=6cm]{graphics/design_flow.pdf}
  66. \caption{Combined design plan, based on the \ridm and the Waterfall model.}
  67. \label{fig:design_flow}
  68. \end{marginfigure}
  69. As the \ridm integrates the implementation and testing steps together, it replaces these steps in the waterfall model.
  70. The first three steps as seen in \autoref{fig:waterfall} are unchanged and the last two steps are replaced by the \ac{ridm}.
  71. A combined design flow of the both design methods is shown in \autoref{fig:design_flow}.