Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 :: SystemInformation -> SRSDecl -> DocDesc
Types
type SRSDecl = [DocSection] Source #
A Software Requirements Specification Declaration is made up of all necessary sections (DocSection
s).
data DocSection Source #
Contains all the different sections needed for a full SRS (SRSDecl
).
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.
SSDProblem :: ProblemDescription -> SSDSub | Problem description. |
SSDSolChSpec :: SolChSpec -> SSDSub | Solution characteristics. |
data ProblemDescription where Source #
Problem Description section.
PDProg :: Sentence -> [Section] -> [PDSub] -> ProblemDescription |
Problem Description subsections.
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.
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. |
Requirements subsections.
FReqsSub :: Sentence -> [LabelledContent] -> ReqsSub | Functional requirements. |
FReqsSub' :: [LabelledContent] -> ReqsSub | Functional requirements. |
NonFReqsSub :: ReqsSub | Non-Functional requirements. |