From 90836eac24b5d03aaa28c73f482ab8d2b0108264 Mon Sep 17 00:00:00 2001 From: Maryyam Date: Mon, 23 Jul 2018 15:00:07 -0400 Subject: [PATCH] Add "System Context" section to SSP (#934) * removed Verbatim GSD implementation from SSP * added SystemContextFigure.png to datafiles subfolder * added system context section to ssp * updated import lists to remove some redundancies and errors * reinserted missing subsection; fixed typo * updated stable for System Context section introduction --- code/datafiles/SSP/SystemContextFigure.png | Bin 0 -> 8673 bytes .../drasil-docLang/Drasil/DocumentLanguage.hs | 2 +- code/drasil-example/Drasil/SSP/Body.hs | 90 +++++++++++++----- code/stable/ssp/SRS/SSP_SRS.tex | 27 ++++++ code/stable/ssp/Website/SSP_SRS.html | 55 +++++++++++ 5 files changed, 150 insertions(+), 24 deletions(-) create mode 100644 code/datafiles/SSP/SystemContextFigure.png diff --git a/code/datafiles/SSP/SystemContextFigure.png b/code/datafiles/SSP/SystemContextFigure.png new file mode 100644 index 0000000000000000000000000000000000000000..9f7d184ab3dbf4945fdc6a49f505dae59bbd0bdc GIT binary patch literal 8673 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 literal 0 HcmV?d00001 diff --git a/code/drasil-docLang/Drasil/DocumentLanguage.hs b/code/drasil-docLang/Drasil/DocumentLanguage.hs index 04f49e0353..071fe38656 100644 --- a/code/drasil-docLang/Drasil/DocumentLanguage.hs +++ b/code/drasil-docLang/Drasil/DocumentLanguage.hs @@ -159,7 +159,7 @@ data GSDSec = GSDVerb Section data GSDSub where GSDSubVerb :: Section -> GSDSub - SysCntxt :: [Contents] -> GSDSub + SysCntxt :: [Contents] -> GSDSub --FIXME: partially automate UsrChars :: [Contents] -> GSDSub SystCons :: [Contents] -> [Section] -> GSDSub diff --git a/code/drasil-example/Drasil/SSP/Body.hs b/code/drasil-example/Drasil/SSP/Body.hs index 394a8a909f..0f0b7f5175 100644 --- a/code/drasil-example/Drasil/SSP/Body.hs +++ b/code/drasil-example/Drasil/SSP/Body.hs @@ -9,15 +9,16 @@ import Drasil.DocLang (DocDesc, DocSection(..), IntroSec(..), IntroSub(..), LCsSec(..), LFunc(..), RefSec(..), RefTab(..), TConvention(..), --TSIntro, TSIntro(..), UCsSec(..), Fields, Field(..), SSDSec(..), SSDSub(..), Verbosity(..), InclUnits(..), DerivationDisplay(..), SolChSpec(..), - SCSSub(..), - dataConstraintUncertainty, genSysF, goalStmtF, - inDataConstTbl, intro, mkDoc, nonFuncReqF, outDataConstTbl, probDescF, reqF, - termDefnF, tsymb'', valsOfAuxConstantsF) - -import Data.Drasil.Concepts.Documentation (analysis, - design, document, effect, element, endUser, goalStmt, inModel, input_, - interest, interest, issue, loss, method_, organization, physics, - problem, property, requirement, srs, table_, template, value, variable) + SCSSub(..), GSDSec(..), GSDSub(..), + dataConstraintUncertainty, goalStmtF, inDataConstTbl, intro, mkDoc, + nonFuncReqF, outDataConstTbl, probDescF, reqF, termDefnF, tsymb'', + valsOfAuxConstantsF) + +import Data.Drasil.Concepts.Documentation (analysis, assumption, + design, document, effect, element, endUser, environment, goalStmt, inModel, + input_, interest, interest, interface, issue, loss, method_, organization, + physics, problem, product_, property, requirement, software, softwareSys, + srs, sysCont, system, table_, template, user, value, variable) import Data.Drasil.Concepts.Education (solidMechanics, undergraduate) import Data.Drasil.Concepts.Math (equation, surface) import Data.Drasil.Concepts.PhysicalProperties (mass) @@ -31,15 +32,15 @@ import Data.Drasil.Software.Products (sciCompS) import Data.Drasil.People (henryFrankis) import Data.Drasil.Phrase (for) import Data.Drasil.SentenceStructures (foldlList, foldlSP, foldlSent, - foldlSent_, ofThe, sAnd, sOr) + foldlSent_, ofThe, sAnd, sOr, foldlSPCol) import Data.Drasil.SI_Units (degree, metre, newton, pascal) -import Data.Drasil.Utils (enumBullet, enumSimple, noRefsLT) +import Data.Drasil.Utils (enumBullet, enumSimple, noRefsLT, bulletNested, bulletFlat) import Drasil.SSP.Assumptions (sspRefDB) import Drasil.SSP.Changes (likelyChanges_SRS, unlikelyChanges_SRS) import Drasil.SSP.DataDefs (dataDefns) import Drasil.SSP.DataDesc (sspInputMod) import Drasil.SSP.Defs (acronyms, crtSlpSrf, fs_concept, intrslce, itslPrpty, - morPrice, mtrlPrpty, plnStrn, slice, slope, slpSrf, soil, soilLyr, ssa) + morPrice, mtrlPrpty, plnStrn, slice, slope, slpSrf, soil, soilLyr, ssa, ssp) import Drasil.SSP.GenDefs (generalDefinitions) import Drasil.SSP.Goals (sspGoals) import Drasil.SSP.IMods (sspIMods_new) @@ -49,10 +50,10 @@ import Drasil.SSP.TMods (fs_rc_new, equilibrium_new, mcShrStrgth_new, hookesLaw_ import Drasil.SSP.Unitals (fs, index, numbSlices, sspConstrained, sspInputs, sspOutputs, sspSymbols) -import qualified Drasil.DocLang.SRS as SRS (funcReq, inModel, missingP, physSyst) +import qualified Drasil.DocLang.SRS as SRS (funcReq, assumpt, inModel, missingP, physSyst) --type declarations for sections-- -gen_sys_desc, req, aux_cons :: Section +req, aux_cons :: Section table_of_symbol_intro :: [TSIntro] @@ -89,7 +90,7 @@ resourcePath :: String resourcePath = "../../../datafiles/SSP/" ssp_srs :: Document -ssp_srs = mkDoc mkSRS (for) ssp_si +ssp_srs = mkDoc mkSRS for ssp_si mkSRS :: DocDesc mkSRS = RefSec (RefProg intro @@ -102,8 +103,8 @@ mkSRS = RefSec (RefProg intro EmptyS , IOrgSec orgSecStart inModel (SRS.inModel SRS.missingP []) orgSecEnd]) : --FIXME: issue #235 - Verbatim gen_sys_desc: - ------ + (GSDSec $ GSDProg2 [SysCntxt [sysCtxIntro, sysCtxFig1, sysCtxDesc, sysCtxList], + UsrChars [userCharIntro], SystCons [] []]): SSDSec (SSDProg [SSDSubVerb problem_desc , SSDSolChSpec @@ -120,7 +121,7 @@ mkSRS = RefSec (RefProg intro ] ) ] - ): + ): map Verbatim [req] ++ [LCsSec (LCsProg likelyChanges_SRS)] ++ [UCsSec (UCsProg unlikelyChanges_SRS)] ++[Verbatim aux_cons] ++ (Bibliography : []) @@ -228,10 +229,53 @@ orgSecEnd = S "The" +:+ plural inModel +:+ S "provide the set of" +:+ +:+ S "to perform a" +:+ titleize morPrice +:+ titleize analysis -- SECTION 3 -- -gen_sys_desc = genSysF [] userCharIntro [] [] - -- SECTION 3.1 -- --- User Characteristics automatically generated in genSysF with the +-- System Context automatically generated +sysCtxIntro :: Contents +sysCtxIntro = foldlSP + [makeRef sysCtxFig1 +:+ S "shows the" +:+. phrase sysCont, + S "A circle represents an external entity outside the" +:+ phrase software + `sC` S "the", phrase user, S "in this case. A rectangle represents the", + phrase softwareSys, S "itself" +:+. (sParen $ short ssp), + S "Arrows are used to show the data flow between the" +:+ phrase system, + S "and its" +:+ phrase environment] + +sysCtxFig1 :: Contents +sysCtxFig1 = fig (titleize sysCont) (resourcePath ++ "SystemContextFigure.png") "sysCtxDiag" + +sysCtxDesc :: Contents +sysCtxDesc = foldlSPCol + [S "The interaction between the", phrase product_, S "and the", phrase user, + S "is through a user" +:+. phrase interface, + S "The responsibilities of the", phrase user, S "and the", phrase system, + S "are as follows"] + +sysCtxUsrResp :: [Sentence] +sysCtxUsrResp = [S "Provide the input data related to the soil layer(s) and water" +:+ + S "table (if applicable), ensuring no errors in the data entry", + S "Ensure that consistent units are used for input variables", + S "Ensure required" +:+ phrase software +:+ plural assumption +:+ sParen ( + makeRef (SRS.assumpt SRS.missingP [])) +:+ S "are appropriate for any particular" +:+ + phrase problem +:+ S "input to the" +:+ phrase software] + +sysCtxSysResp :: [Sentence] +sysCtxSysResp = [S "Detect data type mismatch, such as a string of characters" +:+ + S " input instead of a floating point number", + S "Determine if the inputs satisfy the required physical and software constraints", + S "Identify the most likely failure surface within the possible input range", + S "Find the factor of safety for the slope", + S "Find the displacement of soil that will occur on the slope"] + +sysCtxResp :: [Sentence] +sysCtxResp = [titleize user +:+ S "Responsibilities", + short ssp +:+ S "Responsibilities"] + +sysCtxList :: Contents +sysCtxList = Enumeration $ bulletNested sysCtxResp $ + map bulletFlat [sysCtxUsrResp, sysCtxSysResp] + +-- SECTION 3.2 -- +-- User Characteristics automatically generated with the -- userContraints intro below userCharIntro :: Contents @@ -246,7 +290,7 @@ userChar pname understandings familiarities = foldlSP [ S "and be familiar with", foldlList familiarities] -- SECTION 3.2 -- --- System Constraints automatically generated in genSysF +-- System Constraints automatically generated -- SECTION 4 -- @@ -385,4 +429,4 @@ non_func_req = nonFuncReqF [accuracy, performanceSpd] aux_cons = valsOfAuxConstantsF ssa [] -- References -- --- automatically generated +-- automatically generated \ No newline at end of file diff --git a/code/stable/ssp/SRS/SSP_SRS.tex b/code/stable/ssp/SRS/SSP_SRS.tex index 4172704dcf..600bc612d5 100644 --- a/code/stable/ssp/SRS/SSP_SRS.tex +++ b/code/stable/ssp/SRS/SSP_SRS.tex @@ -289,6 +289,33 @@ \subsection{Organization of Document} \section{General System Description} \label{Sec:GenSysDesc} This section provides general information about the system including identifying the interfaces between the system and its environment (system context), describing the user characteristics and listing the system constraints. +\subsection{System Context} +\label{Sec:SysContext} +Figure~\ref{Figure:sysCtxDiag} shows the system context. A circle represents an external entity outside the software, the user in this case. A rectangle represents the software system itself (SSP). Arrows are used to show the data flow between the system and its environment. +\begin{figure} +\begin{center} +\includegraphics[width=\textwidth]{../../../datafiles/SSP/SystemContextFigure.png} +\caption{System Context} +\label{Figure:sysCtxDiag} +\end{center} +\end{figure} +The interaction between the product and the user is through a user interface. The responsibilities of the user and the system are as follows: +\begin{itemize} +\item{User Responsibilities} +\begin{itemize} +\item{Provide the input data related to the soil layer(s) and water table (if applicable), ensuring no errors in the data entry} +\item{Ensure that consistent units are used for input variables} +\item{Ensure required software assumptions (Section~\ref{Sec:Assumps}) are appropriate for any particular problem input to the software} +\end{itemize} +\item{SSP Responsibilities} +\begin{itemize} +\item{Detect data type mismatch, such as a string of characters input instead of a floating point number} +\item{Determine if the inputs satisfy the required physical and software constraints} +\item{Identify the most likely failure surface within the possible input range} +\item{Find the factor of safety for the slope} +\item{Find the displacement of soil that will occur on the slope} +\end{itemize} +\end{itemize} \subsection{User Characteristics} \label{Sec:UserChars} The end user of SSA should have an understanding of undergraduate Level 1 Calculus and Physics, and be familiar with soil and material properties. diff --git a/code/stable/ssp/Website/SSP_SRS.html b/code/stable/ssp/Website/SSP_SRS.html index 7d1f397f7d..77ada7b23b 100644 --- a/code/stable/ssp/Website/SSP_SRS.html +++ b/code/stable/ssp/Website/SSP_SRS.html @@ -1211,6 +1211,61 @@

This section provides general information about the system including identifying the interfaces between the system and its environment (system context), describing the user characteristics and listing the system constraints.

+
+
+

+System Context +

+

+Figure:sysCtxDiag shows the system context. A circle represents an external entity outside the software, the user in this case. A rectangle represents the software system itself (SSP). Arrows are used to show the data flow between the system and its environment. +

+
+System Context +

+System Context +

+
+

+The interaction between the product and the user is through a user interface. The responsibilities of the user and the system are as follows: +

+
    +
  • +User Responsibilities +
      +
    • +Provide the input data related to the soil layer(s) and water table (if applicable), ensuring no errors in the data entry +
    • +
    • +Ensure that consistent units are used for input variables +
    • +
    • +Ensure required software assumptions (Assumptions) are appropriate for any particular problem input to the software +
    • +
    +
  • +
  • +SSP Responsibilities +
      +
    • +Detect data type mismatch, such as a string of characters input instead of a floating point number +
    • +
    • +Determine if the inputs satisfy the required physical and software constraints +
    • +
    • +Identify the most likely failure surface within the possible input range +
    • +
    • +Find the factor of safety for the slope +
    • +
    • +Find the displacement of soil that will occur on the slope +
    • +
    +
  • +
+
+