| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Drasil.SRS.DocDecl
Description
Document declaration types and functions for generating Software Requirement Specifications.
Changes to DocSection and its subections should be reflected in the 'Creating Your Project in Drasil' tutorial found on the wiki: https://github.com/JacquesCarette/Drasil/wiki/Creating-Your-Project-in-Drasil
Synopsis
- type SRSDecl = [DocSection]
- data DocSection
- newtype ReqrmntSec = ReqsProg [ReqsSub]
- data ReqsSub where
- FReqsSub :: [LabelledContent] -> ReqsSub
- NonFReqsSub :: ReqsSub
- data PDSub where
- TermsAndDefs :: forall c. Concept c => Maybe Sentence -> [c] -> PDSub
- PhySysDesc :: forall a. Idea a => a -> [Sentence] -> LabelledContent -> [Contents] -> PDSub
- Goals :: [Sentence] -> PDSub
- data ProblemDescription where
- PDProg :: Sentence -> [Section] -> [PDSub] -> ProblemDescription
- newtype SSDSec = SSDProg [SSDSub]
- data SSDSub where
- SSDProblem :: ProblemDescription -> SSDSub
- SSDSolChSpec :: SolChSpec -> SSDSub
- data SCSSub where
- Assumptions :: SCSSub
- TMs :: [Sentence] -> Fields -> SCSSub
- GDs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub
- DDs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub
- IMs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub
- Constraints :: forall c. (HasUncertainty c, Quantity c, Constrained c, HasReasVal c, MayHaveUnit c) => Sentence -> [c] -> SCSSub
- CorrSolnPpties :: forall c. (Quantity c, Constrained c) => [c] -> [Contents] -> SCSSub
- data SolChSpec where
- mkDocDesc :: SmithEtAlSRS -> SRSDecl -> DocDesc
Documentation
type SRSDecl = [DocSection] Source #
A Software Requirements Specification Declaration is made up of all necessary sections (DocSections).
data DocSection Source #
Contains all the different sections needed for a full SRS (SRSDecl).
Constructors
| TableOfContents | Table of Contents |
| RefSec RefSec | Reference. |
| IntroSec IntroSec | Introduction. |
| StkhldrSec StkhldrSec | Stakeholders. |
| GSDSec GSDSec | General System Description. |
| SSDSec SSDSec | Specific System Description. |
| ReqrmntSec ReqrmntSec | Requirements. |
| LCsSec | Likely Changes. |
| UCsSec | Unlikely Changes. |
| TraceabilitySec TraceabilitySec | Traceability. |
| AuxConstntSec AuxConstntSec | Auxiliary Constants. |
| Bibliography | Bibliography. |
| AppndxSec AppndxSec | Appendix. |
| OffShelfSolnsSec OffShelfSolnsSec | Off the Shelf Solutions. |
newtype ReqrmntSec Source #
Requirements section (wraps ReqsSub subsections).
Requirements subsections.
Constructors
| FReqsSub :: [LabelledContent] -> ReqsSub | Functional requirements. |
| NonFReqsSub :: ReqsSub | Non-Functional requirements. |
Problem Description subsections.
Constructors
| TermsAndDefs :: forall c. Concept c => Maybe Sentence -> [c] -> PDSub | Terms and Definitions. |
| PhySysDesc :: forall a. Idea a => a -> [Sentence] -> LabelledContent -> [Contents] -> PDSub | Physical System Description. |
| Goals :: [Sentence] -> PDSub | Goals. |
data ProblemDescription where Source #
Problem Description section.
Constructors
| PDProg :: Sentence -> [Section] -> [PDSub] -> ProblemDescription |
Specific System Description section (wraps SSDSub subsections).
Specific System Description subsections.
Constructors
| SSDProblem :: ProblemDescription -> SSDSub | Problem description. |
| SSDSolChSpec :: SolChSpec -> SSDSub | Solution characteristics. |
Solution Characteristics Specification subsections.
Constructors
| Assumptions :: SCSSub | Assumptions. |
| TMs :: [Sentence] -> Fields -> SCSSub | Theory models. |
| GDs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub | General definitions. |
| DDs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub | Data definitions. |
| IMs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub | Instance models. |
| Constraints :: forall c. (HasUncertainty c, Quantity c, Constrained c, HasReasVal c, MayHaveUnit c) => Sentence -> [c] -> SCSSub | Constraints. |
| CorrSolnPpties :: forall c. (Quantity c, Constrained c) => [c] -> [Contents] -> SCSSub | Properties of a correct solution. |
Solution Characteristics Specification section (wraps SCSSub subsections).