Преглед изворни кода

fixup! fixup! fixup! Add analysis

analysis
Wouter Horlings пре 5 година
родитељ
комит
f7a5a4a59b
1 измењених фајлова са 68 додато и 88 уклоњено
  1. +68
    -88
      content/analysis.tex

+ 68
- 88
content/analysis.tex Прегледај датотеку

@@ -1,98 +1,78 @@
%&tex
\chapter{Analysis}
\label{analysis}
The goal of this chapter is to interpret the design method and crystallize it into a design plan.
\autoref{sec:design_flow} introduces a design flow that contains the basic design steps.
These steps are still undefined but are materialized with the techniques from the design method in \autoref{sec:design_refinement}.
The remaining steps that are not covered by the design method are defined in \autoref{sec:design_extension}.
The \ridm by \textcite{broenink_rapid_2019} only describes a partial design method.
To create a complete design plan, a waterfall model is used as a basis for the design plan.
The techniques of the \ridm are incorporated on top of the waterfall model.
This chapter will analyse the basics of a waterfall model, and analyse what the \ridm provides.


\section{Design Plan}
\label{sec:design_plan}
\section{Waterfall}
\begin{marginfigure}
\centering
\includegraphics[width=2.9cm]{graphics/waterfall.pdf}
\caption{Minimalistic implementation of waterfall model.}
\label{fig:waterfall}
\end{marginfigure}
One of the requirements of the case study is to establish a design plan that can be followed during the case study.
As \textcite{broenink_rapid_2019} do not describe a complete design method, the waterfall model \autocite{blanchard_systems_2014} is used as a basis for the design plan.
The five different steps of the waterfall model are shown in \autoref{fig:waterfall}.
For the structure of this thesis, the steps are split in two phases: preparation and detail design.
The detail design phase is implemented according to the design method.
The preparation phase is based on the approach of Systems Engineering.
\autoref{sec:design_refinement} will discuss the design method in more detail and refine it into the design plan.
\autoref{sec:design_extension} will implement the preparation phase.

\subsection{Design Method}
\label{sec:design_method}
The design method describes two core components for the implementation: the rapid development cycle and the variable detail approach.
The design method also describes the preparation steps that are required before this implementation can initiate.
The implementation requires an initial design consisting of a list of features.
The list of features results from dividing the functionality of the subject.
Broenink and Broenink do not explain how this should be done, but required that each of these features should be implemented and tested individually.
The details on how the features will be divided are covered in \autoref{sec:preparation}.

The rapid development cycle consists of multiple iterations, where each iteration implements and tests one feature from the preparation.
Which feature should be implemented first
%%%%%%%%%%%%%



Dividing the subject
These features are specified by dividing the functionality of the subject


The rapid development cycle consists of multiple iterations, where each iteration implements and test one feature.

Each iteration begins with a very low-detailed implementation of the feature.


The design method by \textcite{broenink_rapid_2019} is organized in three core components: the preparation phase, the rapid development cycle, and the variable detail approach.
The design method starts with the preparation phase, where the functionality of the subject is split into different features.
The rapid development cycle consists of multiple iterations, where each iteration implements and test one feature.
Each iteration begins with a very low-detailed implementation of the feature.
The level of detail for this implementation is then step-wise increased till the level of detail is sufficient, such that the implementation can be realized as a prototype.
This method of increasing detail is revered to as the variable detail approach.
When the desired level of detail for the implementation is reached, the feature is finished and the rapid development cycle is repeated for the next feature.









The core of the design method by \textcite{broenink_rapid_2019} consists of two techniques: rapid development and variable detail approach.
The rapid development technique incorporates a cycle, that implements and test a single feature each iteration.
The variable detail approach is part of each iteration.

However, these techniques require some preparation before they can be used.
As preparation, the functionality of the subject is split into different features that can be individually implemented and tested.



The features are defined by splitting the system in such a way that
The implementation

A development based on the design method by \textcite{broenink_rapid_2019} implements one feature
The prerequisites



A waterfall based design approach is used as the basis for the \emph{design flow}.
The most basic form for a waterfall is shown in \autoref{fig:waterfall}.
The implementation and testing steps will be

The design method by \textcite{broenink_rapid_2019} consists of three main cycles: Preparatory work, Inner Cycle, and Outer Cycle.
These steps describe the direct
The aim of the preparatory work is to split and order the features and the levels of detail.

\section{Refinement}
\label{sec:design_refinement}


\section{Extension}
\label{sec:design_extension}

One of the most basic design method for development is the waterfall model introduced by Royce
\footnote{Interestingly, \textcite{royce_managing_1970} never called it waterfall himself, he also notes that it never worked for large software development efforts.}
in 1970 \autocite{blanchard_systems_2014}.
The simplest implementation has five steps as shown in \autoref{fig:waterfall}.
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.
This simplicity makes changing and adding design steps to the waterfall model possible.

\section{Rapid Iterative Design Method}
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.
The design method also describes the preparation steps that are required prior to this implementation.
In short, the preparation prepares a list of features.
These features are implemented one by one with in the rapid development cycle using the variable detail approach.
This section discusses each of these three parts and how they fit in the waterfall model.
%The list of features results from dividing the functionality of the subject.
%Broenink and Broenink do not explain how this should be done, but required that each of these features should be implemented and tested individually.
%The details on how the features will be divided are covered in \autoref{sec:preparation}.

\subsection{Rapid Development} %kopje komt uit de lucht
The rapid development cycle consists of multiple iterations, where each iteration implements and tests one feature, that was defined during the preparation.
Each iteration of the rapid development incorporates the following steps:
\begin{enumerate}
\item Design new feature and the corresponding tests.
\item Implement and test that feature.
\end{enumerate}
%first, second step, last->third
The first step is to create an initial design and tests that are used to verify the requirements of the current feature.
During the second step, the initial design will developed into a detailed design of the feature.
This detailed design of the feature is develop with the variable detail approach, in which the level of detail is stepwise incremented.
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.
From this point the rapid development cycle is repeated for the next feature, or, when no features are left, finish the development.

%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.
%A useful example of the order of features is the development of car suspension.
%To have a critical damped suspension in a car, the weight distribution of the car must be available.
%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.
%Resulting in a feature that has to be redesigned and thus increasing the overall development cost.

\subsection{Variable Detail Approach}
The variable detail approach starts with a low-detailed model and increases the detail discretely over multiple iterations.
The low-detailed model is for example a single transfer function of the system.
In the following iteration, the detail of the model is increased by adding, for example, non-linearity, non-continuity or parasitic elements.
The tests, as specified in the first step of the rapid development cycle, are performed after each addition of detail.
If the tests show that the added detail is not conform the specifications, the added detail is reviewed or redesigned.
When the added detail passes the tests, the process is repeated to add more detail.
The variable detail approach is finished when all the tests are passed and all the detail is added.

\subsection{Preparation}
Although the \ridm does not specify the complete steps for the preparation, it does state some requirements.
The rapid development cycle requires a list of features that can be implemented one by one.
These features are gained by splitting the system into individual subsystems, where each subsystem can be implemented and tested individually.
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.
Would such a feature fail, the investment loss is limited, because the development is still in an early stage.

\subsection{Combination}
\begin{marginfigure}
\centering
\includegraphics[width=6cm]{graphics/design_flow.pdf}
\caption{Combined design plan, based on the \ridm and the Waterfall model.}
\label{fig:design_flow}
\end{marginfigure}
As the \ridm integrates the implementation and testing steps together, it replaces these steps in the waterfall model.
The first three steps as seen in \autoref{fig:waterfall} are unchanged and the last two steps are replaced by the \ac{ridm}.
A combined design flow of the both design methods is shown in \autoref{fig:design_flow}.

Loading…
Откажи
Сачувај