From d412c5bf2a35bd6d24ef388d68a718390cfee41e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 24 Jul 2019 15:37:27 +0200 Subject: eng: Add Software Requirements Engineering chapter Update #3715. --- images/eng/req-add.pdf | Bin 0 -> 81320 bytes images/eng/req-add.png | Bin 0 -> 50516 bytes images/eng/req-add.puml | 40 +++++++++++++++++++++++++++ images/eng/req-modify.pdf | Bin 0 -> 68500 bytes images/eng/req-modify.png | Bin 0 -> 37776 bytes images/eng/req-modify.puml | 34 +++++++++++++++++++++++ images/eng/req-spec-items.pdf | Bin 0 -> 84896 bytes images/eng/req-spec-items.png | Bin 0 -> 86050 bytes images/eng/req-spec-items.puml | 60 +++++++++++++++++++++++++++++++++++++++++ 9 files changed, 134 insertions(+) create mode 100644 images/eng/req-add.pdf create mode 100644 images/eng/req-add.png create mode 100644 images/eng/req-add.puml create mode 100644 images/eng/req-modify.pdf create mode 100644 images/eng/req-modify.png create mode 100644 images/eng/req-modify.puml create mode 100644 images/eng/req-spec-items.pdf create mode 100644 images/eng/req-spec-items.png create mode 100644 images/eng/req-spec-items.puml (limited to 'images/eng') diff --git a/images/eng/req-add.pdf b/images/eng/req-add.pdf new file mode 100644 index 0000000..eb4e8e8 Binary files /dev/null and b/images/eng/req-add.pdf differ diff --git a/images/eng/req-add.png b/images/eng/req-add.png new file mode 100644 index 0000000..89346bd Binary files /dev/null and b/images/eng/req-add.png differ diff --git a/images/eng/req-add.puml b/images/eng/req-add.puml new file mode 100644 index 0000000..52b01f0 --- /dev/null +++ b/images/eng/req-add.puml @@ -0,0 +1,40 @@ +' SPDX-License-Identifier: CC-BY-SA-4.0 + +' Copyright (C) 2019 embedded brains GmbH + +@startuml + +start + +:Invoke: ""doorstop add RTEMS""; + +note right + This will create a new requirement. + For this activity its UID shall be NEW. + It is located in a file NEW.yml. +end note + +while (Needs a link to a parent requirement?) is (Yes) + :Invoke: ""doorstop link NEW PARENT""; +endwhile (No) + +repeat + :Invoke: ""doorstop edit NEW""; + + :Edit the requirement according to your needs and save it; + + :Commit NEW.yml with a proper message; + + :Send the patch to the devel@rtems.org mailing list for review; +repeat while (Reviewers demand changes in the new requirement?) is (Yes) +->No; + +if (New requirement was accepted by reviewers?) then (Yes) + :Push the commit to the project repository; +else (No) + :Discard the NEW requirement; +endif + +stop + +@enduml diff --git a/images/eng/req-modify.pdf b/images/eng/req-modify.pdf new file mode 100644 index 0000000..a1a501a Binary files /dev/null and b/images/eng/req-modify.pdf differ diff --git a/images/eng/req-modify.png b/images/eng/req-modify.png new file mode 100644 index 0000000..8685e4d Binary files /dev/null and b/images/eng/req-modify.png differ diff --git a/images/eng/req-modify.puml b/images/eng/req-modify.puml new file mode 100644 index 0000000..cb104a6 --- /dev/null +++ b/images/eng/req-modify.puml @@ -0,0 +1,34 @@ +' SPDX-License-Identifier: CC-BY-SA-4.0 + +' Copyright (C) 2019 embedded brains GmbH + +@startuml + +start + +repeat + :Invoke: ""doorstop edit REQ""; + + note right + For this activity the UID + of the requirement shall be REQ. + It is located in a file REQ.yml. + end note + + :Edit the requirement according to your needs and save it; + + :Commit REQ.yml with a proper message; + + :Send the patch to the devel@rtems.org mailing list for review; +repeat while (Reviewers demand changes in the modified requirement?) is (Yes) +->No; + +if (Modified requirement was accepted by reviewers?) then (Yes) + :Push the commit to the project repository; +else (No) + :Keep the requirement as is; +endif + +stop + +@enduml diff --git a/images/eng/req-spec-items.pdf b/images/eng/req-spec-items.pdf new file mode 100644 index 0000000..2942644 Binary files /dev/null and b/images/eng/req-spec-items.pdf differ diff --git a/images/eng/req-spec-items.png b/images/eng/req-spec-items.png new file mode 100644 index 0000000..a54082d Binary files /dev/null and b/images/eng/req-spec-items.png differ diff --git a/images/eng/req-spec-items.puml b/images/eng/req-spec-items.puml new file mode 100644 index 0000000..f837a85 --- /dev/null +++ b/images/eng/req-spec-items.puml @@ -0,0 +1,60 @@ +' SPDX-License-Identifier: CC-BY-SA-4.0 + +' Copyright (C) 2019 embedded brains GmbH + +@startuml + +class SpecificationItem { + active + derived + enabled-by + header + level + links + normative + rationale + ref + reviewed + text + type +} + +class Interface { + interface-category + interface-type +} + +class TestProcedure { + platform + steps +} + +class TestCase { + inputs + outputs +} + +class TestCase + +note right: test cases not validating\na requirement are unit tests + +SpecificationItem <|-- Requirement +Requirement <|-- Functional +Requirement <|-- NonFunctional +NonFunctional <|-- Interface +SpecificationItem <|-- TestProcedure +SpecificationItem <|-- TestSuite +SpecificationItem <|-- TestCase +SpecificationItem <|-- Validation\nByAnalysis +SpecificationItem <|-- Validation\nByInspection +SpecificationItem <|-- Validation\nByReviewOfDesign +SpecificationItem <|-- ValidationPlatform +TestProcedure "1..n" -- TestSuite : "run by" +TestSuite "1..n" -- TestCase : "contained in" +ValidationPlatform "1..n" -- TestProcedure : "requires" +Requirement "0..1" -- TestCase : "validates" +Requirement "1" -- Validation\nByAnalysis : "validates" +Requirement "1" -- Validation\nByInspection : "validates" +Requirement "1" -- Validation\nByReviewOfDesign : "validates" + +@enduml -- cgit v1.2.3