diff --git a/content/analysis.tex b/content/analysis.tex deleted file mode 100644 index e581494..0000000 --- a/content/analysis.tex +++ /dev/null @@ -1,3 +0,0 @@ -%&tex -\chapter{analysis} -\label{analysis} diff --git a/content/background.tex b/content/background.tex new file mode 100644 index 0000000..86f02f5 --- /dev/null +++ b/content/background.tex @@ -0,0 +1,69 @@ +%&tex +\chapter{Background} +\label{chap:background} +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{Systems Engineering} +\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." +Their book extensively covers different design methods and design steps in detail. +As these design methods are presented in complete detail, they are used as a basis for the design plan in this thesis. +Multiple design methods are presented and one of the simplest design methods is the waterfall model. +There are more elaborate methods available like the V-model or the spiral model, but are more interconnected due to build in feedback cycles. +The waterfall model is usefull because it is a list of steps that are executed one by one as shown in \autoref{fig:waterfall} +Because the steps are independent of each other, it is possible to insert or switch steps in the design method. + +\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. + +\subsection{Rapid Development} +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} +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. + +\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}. diff --git a/graphics/design_flow.tex b/graphics/design_flow.tex new file mode 100644 index 0000000..abe2224 --- /dev/null +++ b/graphics/design_flow.tex @@ -0,0 +1,16 @@ +\documentclass{standalone} +\usepackage{tikz} +\usetikzlibrary {arrows.meta,graphs,graphdrawing,positioning} \usegdlibrary {layered, trees} +\tikzset{nodes={text height=.7em, text width=2.8cm, align=center, +draw=black!50, thick, font=\footnotesize, fill=white}, +>={Stealth[round,sep]}, rounded corners, semithick} + +\begin{document} +\begin{tikzpicture}[on grid,y=1.2cm,x=3.2cm] + \draw[fill=lightgray] (-1.7cm , 0.5cm) rectangle (5cm, -2.8cm); + \draw[fill=lightgray] (-1.7cm,-3cm) rectangle (5cm, -7.2cm); + \input{design_flow.tikz} + \draw (3.4cm,0cm) node[draw=none, fill=none,text width=2.9cm] (wf) {Systems Engineering:\\Waterfall}; + \node (ridm)[right=1 of fs, fill=none, draw=none] {Rapid Iterative Design Method}; +\end{tikzpicture} +\end{document} diff --git a/graphics/design_flow.tikz b/graphics/design_flow.tikz new file mode 100644 index 0000000..628113f --- /dev/null +++ b/graphics/design_flow.tikz @@ -0,0 +1,16 @@ +%&tex + \node (pd) {Problem Description}; + \node (sp)[below=1 of pd] {System\\Requirements}; + \node (id)[below=1 of sp] {Initial Design}; + \node (fs)[below=1 of id] {Feature Definition}; + \node (ss)[below=1 of fs] {Feature Selection}; + \node (a1)[below=0.8 of ss,draw=none, fill=none] {}; + \node (rd)[below=0.8 of a1] {Rapid Development}; + \node (va)[right=1 of a1] {Variable Approach}; + \path[->] (pd) edge (sp) + (sp) edge (id) + (id) edge (fs) + (fs) edge (ss) + (ss) edge (rd) + (rd.east) edge[bend right] (va) + (va) edge[bend right] (ss.east); diff --git a/graphics/waterfall.tex b/graphics/waterfall.tex new file mode 100644 index 0000000..495ee88 --- /dev/null +++ b/graphics/waterfall.tex @@ -0,0 +1,16 @@ +\documentclass{standalone} +\usepackage{tikz} +\usetikzlibrary {arrows.meta,graphs,graphdrawing} \usegdlibrary {layered} +\tikzset{nodes={text height=.7em, text width=2.8cm, align=center, +draw=black!50, thick, font=\footnotesize, fill=white}, +>={Stealth[round,sep]}, rounded corners, semithick} + +\begin{document} + +\begin{tikzpicture} + \graph [layered layout, level distance=1.2cm, sibling sep=.5em, sibling distance=1.5cm, sweep crossing minimization] { + pd [as=Problem Description] -> "Specifications" -> "Initial Design" -> "Implementation" -> "Testing"; + }; +\end{tikzpicture} +\end{document} + diff --git a/report.tex b/report.tex index d31fc3c..e9d12c7 100644 --- a/report.tex +++ b/report.tex @@ -1,6 +1,8 @@ \documentclass[english,titlepage,nomath,nopackage,oneside]{siltex-book} \include{include/preamble} +\newcommand{\ridm}{\ac{ridm} } + \title{Title} \subtitle{Thesis Report} \course{} @@ -23,7 +25,7 @@ \input{summary} \tableofcontents \input{introduction} -\input{analysis} +\input{background} \input{case_method} \input{case_experiment} \input{case_evaluation}