drasil-docLang-0.1.26.0: A framework for code and document generation for scientific software - Document Language SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Drasil.Sections.Requirements

Description

Defines functions used in the Requirements section.

Synopsis

Requirements

reqF :: [Section] -> Section Source #

Wrapper for reqIntro.

reqInputsRef :: Reference Source #

Reference for the Required Inputs table.

Functional Requirements

fReqF :: [Contents] -> Section Source #

Adds a generalized introduction for a Non-Fucntional Requirements section. Takes in the contents of that section.

Input Requirements

inReqWTab :: (Quantity q, MayHaveUnit q) => Maybe Sentence -> [q] -> (ConceptInstance, LabelledContent) Source #

Creates an "input-values" functional requirement (ConceptInstance) and an associated table of input variables (LabelledContent) from a list of quantities. The 'Maybe Sentence' provides an optional description for what the inputs define.

The resulting requirement sentence is of the form: "Inputs the values from table_ref, which define description". If the description is Nothing, the sentence is: "Inputs the values from table_ref".

mkInputPropsTable :: (Quantity i, MayHaveUnit i) => [i] -> LabelledContent Source #

Creates an Input Data Table for use in the Functional Requirments section. Takes a list of wrapped variables and something that is Referable.

mkValsSourceTable :: (Quantity i, MayHaveUnit i, Concept i) => [(i, Sentence)] -> String -> Sentence -> LabelledContent Source #

Creates a table for use in the Functional Requirments section. Takes a list of tuples containing variables and sources, a label, and a caption.

Non-functional Requirements

nfReqF :: [Contents] -> Section Source #

Adds a generalized introduction for a Non-Fucntional Requirements section. Takes in the contents of that section.

mkMaintainableNFR :: String -> Integer -> String -> ConceptInstance Source #

Common Non-Functional Requirement for Maintainability. Takes in a Reference Address (Space), a percent value (Space), and a label (Space).

mkPortableNFR :: String -> [String] -> String -> ConceptInstance Source #

Common Non-Functional Requirement for Portability.

mkCorrectNFR :: String -> String -> ConceptInstance Source #

Common Non-Functional Requirement for Correctness.

mkVerifiableNFR :: String -> String -> ConceptInstance Source #

Common Non-Functional Requirement for Verifiability.

mkUnderstandableNFR :: String -> String -> ConceptInstance Source #

Common Non-Functional Requirement for Understandability.

mkReusableNFR :: String -> String -> ConceptInstance Source #

Common Non-Functional Requirement for Reusability.

mkSecurityNFR :: String -> String -> ConceptInstance Source #

Common Non-Functional Requirement for Security.