|
|
@@ -1,38 +1,28 @@ |
|
|
%&tex |
|
|
%&tex |
|
|
\chapter{Background} |
|
|
|
|
|
|
|
|
\chapter{Starting Point} |
|
|
\label{chap:background} |
|
|
\label{chap:background} |
|
|
Engineers have many different types of design methods available in their fields. |
|
|
|
|
|
Examples of these are Agile, Spiral, V model, and Waterfall. |
|
|
|
|
|
Each of these design methods start with a need and develop a product to satisfy that need. |
|
|
|
|
|
From an extremely basic point of view, these methods start with a preliminary design where the need is translated into an initial design, requirements, and specifications. |
|
|
|
|
|
This initial design is implemented into a product and the product is tested. |
|
|
|
|
|
The preliminary design is often similar between the different design methods, but the methods differentiate on their implementation and testing phase. |
|
|
|
|
|
\textcite{broenink_rapid_2019} do not provide a complete design method and focus on their implementation and testing method. |
|
|
|
|
|
To create a complete design plan that can be used in the case study, I used the waterfall model in the \ac{se} approach as a basis for the design plan. |
|
|
|
|
|
The techniques of the \ridm replace the implementation and testing phase of the waterfall model. |
|
|
|
|
|
This chapter will introduce the basics of \ac{se} and the waterfall model, and analyse what the \ridm provides. |
|
|
|
|
|
|
|
|
The goal of the design plan is to develop a \ac{cps}. |
|
|
|
|
|
Due to the nature of \ac{cps}, it involves a multi-domain design approach. |
|
|
|
|
|
Therefore, the subject of \ac{se} is relevant to this approach. |
|
|
|
|
|
Furthermore, the \ac{ridm} is discussed in more detail in this chapter. |
|
|
|
|
|
|
|
|
|
|
|
The \ac{ridm} does not initiate from the problem description step. |
|
|
|
|
|
As this step is required a design from scratch, the \ac{ridm} is combined with the approach from \ac{se} establish the required design steps. |
|
|
|
|
|
|
|
|
\section{Systems Engineering} |
|
|
\section{Systems Engineering} |
|
|
\label{sec:SE} |
|
|
\label{sec:SE} |
|
|
\begin{marginfigure} |
|
|
|
|
|
\centering |
|
|
|
|
|
\includegraphics[width=2.9cm]{graphics/waterfall.pdf} |
|
|
|
|
|
\caption{Minimalistic implementation of waterfall model.} |
|
|
|
|
|
\label{fig:waterfall} |
|
|
|
|
|
\end{marginfigure} |
|
|
|
|
|
\textcite{blanchard_systems_2014} describe \ac{se} in their book as: "an interdisciplinary approach and means to enable the realization of successful systems." |
|
|
\textcite{blanchard_systems_2014} describe \ac{se} in their book as: "an interdisciplinary approach and means to enable the realization of successful systems." |
|
|
Their book extensively covers multiple design methods and design steps in detail. |
|
|
Their book extensively covers multiple design methods and design steps in detail. |
|
|
The simplest of these design method is the waterfall model. |
|
|
|
|
|
This waterfall model consists of number of steps that are all successively executed as shown in \autoref{fig:waterfall}. |
|
|
|
|
|
The successive steps make it possible to insert or replace the steps in the design method. |
|
|
|
|
|
|
|
|
For this thesis, their approach on \emph{Bringing a Systems into Being} and \emph{Preliminary System Design} are especially relevant. |
|
|
|
|
|
\ac{se} is a complete field of engineering on its own and only the top of the iceberg is used in this thesis. |
|
|
|
|
|
|
|
|
\section{Rapid Iterative Design Method} |
|
|
\section{Rapid Iterative Design Method} |
|
|
\label{sec:RIDM} |
|
|
\label{sec:RIDM} |
|
|
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 \ac{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. |
|
|
The design method also describes the preparation steps that are required prior to this implementation. |
|
|
In short, the preparation prepares a list of features. |
|
|
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. |
|
|
|
|
|
|
|
|
These features are implemented one by one with in the rapid development cycle using the variable-detail approach. |
|
|
|
|
|
The following sections discus each of these three design steps. |
|
|
|
|
|
|
|
|
\subsection{Rapid Development Cycle} |
|
|
\subsection{Rapid Development Cycle} |
|
|
\label{sec:background_rdc} |
|
|
\label{sec:background_rdc} |
|
|
@@ -44,35 +34,41 @@ Each iteration of the rapid development incorporates the following steps: |
|
|
\end{enumerate} |
|
|
\end{enumerate} |
|
|
The first step is to create an initial design and tests that are used to verify the requirements of the current feature. |
|
|
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 is developed into a detailed design of the feature. |
|
|
During the second step, the initial design is 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. |
|
|
|
|
|
|
|
|
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. |
|
|
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. |
|
|
From this point the rapid development cycle is repeated for the next feature, or, when no features are left, finish the development. |
|
|
|
|
|
|
|
|
\subsection{Variable Detail Approach} |
|
|
|
|
|
The variable detail approach starts with a low-detailed model and increases the detail discretely over multiple iterations. |
|
|
|
|
|
|
|
|
\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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
|
|
|
|
|
|
If the tests show that the added detail is not conform the requirements, the added detail is reviewed or redesigned. |
|
|
When the added detail passes the tests, the process is repeated to add more detail. |
|
|
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. |
|
|
|
|
|
|
|
|
The variable-detail approach is finished when all the tests are passed and all the detail is added. |
|
|
|
|
|
|
|
|
\subsection{Preparation} |
|
|
\subsection{Preparation} |
|
|
Although the \ridm does not specify the complete steps for the preparation, it does state some requirements. |
|
|
|
|
|
|
|
|
Although the \ac{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. |
|
|
The rapid development cycle requires a list of features that can be implemented one by one. |
|
|
These features are gained by partitioning the functionality of the system, such that features can be implemented and tested individually. |
|
|
These features are gained by partitioning the functionality of the system, such that features can be implemented and tested individually. |
|
|
For each feature it is required to specify the feature requirements and the corresponding test protocol. |
|
|
For each feature it is required to specify the feature requirements and the corresponding test protocol. |
|
|
The feature requirements are based on the system requirements and the tests are used to validate that the feature meets its requirements. |
|
|
The feature requirements are based on the system requirements and the tests are used to validate that the feature meets its requirements. |
|
|
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. |
|
|
|
|
|
|
|
|
About the order of implementation, the \ac{ridm} states that critical features must 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. |
|
|
Would such a feature fail, the investment loss is limited, because the development is still in an early stage. |
|
|
|
|
|
|
|
|
\section{Combination} |
|
|
|
|
|
\begin{marginfigure} |
|
|
\begin{marginfigure} |
|
|
\centering |
|
|
\centering |
|
|
\includegraphics[width=6cm]{graphics/design_flow.pdf} |
|
|
|
|
|
\caption{Combined design plan, where the first three steps are based on the waterfall model and the other four steps are taken from the \ac{ridm} \autocite{broenink_rapid_2019}} |
|
|
|
|
|
|
|
|
\includegraphics[width=66mm]{graphics/design_flow.pdf} |
|
|
|
|
|
\caption{Combined design plan, where the first three steps are based on the \ac{se}-approach and the other four steps are taken from the \ac{ridm} \autocite{broenink_rapid_2019}} |
|
|
\label{fig:design_flow} |
|
|
\label{fig:design_flow} |
|
|
\end{marginfigure} |
|
|
\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}. |
|
|
|
|
|
|
|
|
\section{Combination} |
|
|
|
|
|
To create a complete design plan, design approaches from both \ac{se} and the \ac{ridm} are combined. |
|
|
|
|
|
The \ac{ridm} requires an initial design that is then split into features. |
|
|
|
|
|
To meet this requirement, a linear set of steps from problem description to initial design is used from \ac{se}. |
|
|
|
|
|
These three steps are shown at the top of \autoref{fig:design_flow} in the \acl{se} group. |
|
|
|
|
|
The steps show some similarity with the first steps of a V or Waterfall model. |
|
|
|
|
|
|
|
|
|
|
|
The requirements and initial design the four steps of \ac{ridm}. |
|
|
|
|
|
These four steps are grouped at the bottom of \autoref{fig:design_flow}. |