From fcbe8861e3e794f471040bd98dda8f63b5670680 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Mon, 1 Feb 2021 12:33:15 +0100 Subject: [PATCH] Add fraction of features section --- content/reflection.tex | 40 ++++++++++++++++++++++++++++++-- graphics/functional_relation.tex | 21 +++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 graphics/functional_relation.tex diff --git a/content/reflection.tex b/content/reflection.tex index b74e9a7..60db0c2 100644 --- a/content/reflection.tex +++ b/content/reflection.tex @@ -1,6 +1,42 @@ %&tex -\chapter{Reflection} -\label{chap:reflection} +\chapter{Design Method Evaluation} + \label{chap:reflection} + + \section{Factorizing features} + During the course of this study, the concepts of specifications, components and functions are added to the design method. + As explained in the background chapter, having an approach to determine specifications is a crucial concept of a design process. + Because \ac{ridm} did not include such an approach, a \ac{se} approach was added. + The aim of the \ac{se} approach is to deliver a set of features to be used in the \ac{ridm}. + To be more specific, the set of features was expected to be the result of the feature definition step. + Contrary to that expectation, multiple attempts for this step did not produce a satisfactory definition of features. + As explained in \autoref{sec:case_featuredefinition}, there was a clear discrepancy between the expected and resulting features. + It was expected to get features in the form of components that can be developed during the design process. + However, the resulting features came off as functions of the system. + In the end, a solution was found in the RobMoSys approach. + Even though the RobMoSys approach was too comprehensive for this case study, it provided the basis for the split between functions and components. + Furthermore, it resulted in the hierarchical structure of functions and sub-functions as shown in \autoref{fig:robmosys}. + + \begin{figure} + \centering + \includegraphics[width=85mm]{graphics/functional_relation.pdf} + \caption{Relations and elements within a feature. \autocite{kordon_model-based_2007}} + \label{fig:functional_relation} + \end{figure} + + Creating a hierarchy for the functions and a separate set of components allowed for the continuation of the case study. + There were still a number of challenges with this approach. + For example, it was almost impossible to divide the specifications between components and functions. + Furthermore, the roll of electronics did not fit in the current approach either. + In reviewing the literature, the approach used in this case study shows clear resemblances with \ac{mbed} \autocite{kordon_model-based_2007}. + \ac{mbed} introduces explicit relations between the requirements, components and functions, as shown in \autoref{fig:functional_relation}. + Additionally, the paper includes a layout for the hierarchy of requirements, functions and components. + Based on this, the approach by \textcite{kordon_model-based_2007} further supports the idea of dividing features into specifications or requirements, functions, and components. + + What is interesting about this new insight is that it helps to understand the difference with the case study performed by \textcite{broenink_rapid_2019}. + The hardware components used by Broenink and Broenink was a mini-segway, which was designed for a student project. + The requirement of this mini-segway is that has to balance, drive, and steer. + Causing the requirements and components to be implicitly defined in their case study. + Therefore, the function that needs to be implemented, fits very well within the definition of a feature. \section{Information Flow} %% Aanknopen op het vorige verhaal? diff --git a/graphics/functional_relation.tex b/graphics/functional_relation.tex new file mode 100644 index 0000000..d836e18 --- /dev/null +++ b/graphics/functional_relation.tex @@ -0,0 +1,21 @@ +%&tex +\documentclass{standalone} +\usepackage{tikz} +\usepackage{siltex} +\usetikzlibrary {arrows.meta,positioning} +\tikzset{nodes={text height=.7em, text width=2.5cm, align=center, +draw=black!50, thick, font=\footnotesize}, +>={Stealth[round,sep]}, rounded corners, semithick} + +\begin{document} +\begin{tikzpicture}[on grid,y=2.2cm,x=5.7cm] + \node (re) {Requirement}; + \node (fu)[right=1 of re] {Function}; + \node (co)[above=1 of fu] {Component}; + \begin{scope}[nodes={draw=none, auto, fill=none, midway,text width={},text height={}}] + \path[->] (re) edge node[below] {Specifies} (fu) + (co) edge node {Performs} (fu) + (re) edge node {Specifies} (co); + \end{scope} +\end{tikzpicture} +\end{document}