Kaynağa Gözat

Merge branch 'background' into 'master'

Background

See merge request horlingsw/master-assignment-report!8
tags/0.2.2-analysis
Wouter Horlings 5 yıl önce
ebeveyn
işleme
747151b815
6 değiştirilmiş dosya ile 120 ekleme ve 4 silme
  1. +0
    -3
      content/analysis.tex
  2. +69
    -0
      content/background.tex
  3. +16
    -0
      graphics/design_flow.tex
  4. +16
    -0
      graphics/design_flow.tikz
  5. +16
    -0
      graphics/waterfall.tex
  6. +3
    -1
      report.tex

+ 0
- 3
content/analysis.tex Dosyayı Görüntüle

@@ -1,3 +0,0 @@
%&tex
\chapter{analysis}
\label{analysis}

+ 69
- 0
content/background.tex Dosyayı Görüntüle

@@ -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}.

+ 16
- 0
graphics/design_flow.tex Dosyayı Görüntüle

@@ -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}

+ 16
- 0
graphics/design_flow.tikz Dosyayı Görüntüle

@@ -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);

+ 16
- 0
graphics/waterfall.tex Dosyayı Görüntüle

@@ -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}


+ 3
- 1
report.tex Dosyayı Görüntüle

@@ -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}


Yükleniyor…
İptal
Kaydet