| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Drasil.DocDecl
Description
Document declaration types and functions for generating Software Requirement Specifications.
Synopsis
- type SRSDecl = [DocSection]
- data DocSection
- newtype SSDSec = SSDProg [SSDSub]
- data SSDSub where
- SSDProblem :: ProblemDescription -> SSDSub
- SSDSolChSpec :: SolChSpec -> SSDSub
- data ProblemDescription where
- PDProg :: Sentence -> [Section] -> [PDSub] -> ProblemDescription
- data PDSub where
- TermsAndDefs :: Concept c => Maybe Sentence -> [c] -> PDSub
- PhySysDesc :: Idea a => a -> [Sentence] -> LabelledContent -> [Contents] -> PDSub
- Goals :: [Sentence] -> PDSub
- data SolChSpec where
- 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 :: (HasUncertainty c, Quantity c, Constrained c, HasReasVal c, MayHaveUnit c) => Sentence -> [c] -> SCSSub
- CorrSolnPpties :: (Quantity c, Constrained c) => [c] -> [Contents] -> SCSSub
- newtype ReqrmntSec = ReqsProg [ReqsSub]
- data ReqsSub where
- FReqsSub :: Sentence -> [LabelledContent] -> ReqsSub
- FReqsSub' :: [LabelledContent] -> ReqsSub
- NonFReqsSub :: ReqsSub
- mkDocDesc :: System -> SRSDecl -> DocDesc
Types
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. |
Specific System Description section (wraps SSDSub subsections).
Specific System Description subsections.
Constructors
| SSDProblem :: ProblemDescription -> SSDSub | Problem description. |
| SSDSolChSpec :: SolChSpec -> SSDSub | Solution characteristics. |
data ProblemDescription where Source #
Problem Description section.
Constructors
| PDProg :: Sentence -> [Section] -> [PDSub] -> ProblemDescription |
Problem Description subsections.
Constructors
| TermsAndDefs :: Concept c => Maybe Sentence -> [c] -> PDSub | Terms and Definitions. |
| PhySysDesc :: Idea a => a -> [Sentence] -> LabelledContent -> [Contents] -> PDSub | Physical System Description. |
| Goals :: [Sentence] -> PDSub | Goals. |
Solution Characteristics Specification section (wraps SCSSub subsections).
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 :: (HasUncertainty c, Quantity c, Constrained c, HasReasVal c, MayHaveUnit c) => Sentence -> [c] -> SCSSub | Constraints. |
| CorrSolnPpties :: (Quantity c, Constrained c) => [c] -> [Contents] -> SCSSub | Properties of a correct solution. |
newtype ReqrmntSec Source #
Requirements section (wraps ReqsSub subsections).
Requirements subsections.
Constructors
| FReqsSub :: Sentence -> [LabelledContent] -> ReqsSub | Functional requirements. |
| FReqsSub' :: [LabelledContent] -> ReqsSub | Functional requirements. |
| NonFReqsSub :: ReqsSub | Non-Functional requirements. |