02291: system integration · characteristics of good requirements i testable i test whether the...
TRANSCRIPT
![Page 1: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/1.jpg)
02291: System IntegrationRequirements
Hubert [email protected]
DTU ComputeTechnical University of Denmark
Spring 2020
![Page 2: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/2.jpg)
Activities in Software Developement
I Understand and document what kind of the software thecustomer wants→ Requirements AnalysisI external behaviour : what not how
I Determine how the software is to be built→ Design
I Build the software→ Implementation
I Validate that the software solves the customers problem→ Testing→ Verification→ Evaluation: e.g. User friendlieness
![Page 3: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/3.jpg)
User Requirements vs System Requirements
1. User RequirementsI Used for business decision: go / no-goI Used to solicit offers from software housesI Done by the customer
2. System RequirementsI Define how the system is to be builtI Foundation for planning the project and cost estimationsI Done by the software house
![Page 4: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/4.jpg)
Example of user requirements vs system requirements
Ian Sommerville, Software Engineering - 9
![Page 5: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/5.jpg)
Types of Requirements
Functional RequirementsDescribe what the system should doI e.g. ”The user should be able to plan and book a trip”
Non-functional RequirementsEverything which is not functionalityI Where should the software run (e.g. operating system,
software environment, . . . )I What kind of UI the user prefers (e.g. stand alone
application, Web application, command line interface,graphical interface, . . . )
![Page 6: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/6.jpg)
Categories of non-functional requirements
Ian Sommerville, Software Engineering - 9
![Page 7: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/7.jpg)
Characteristics of good requirements
I TestableI Test whether the system satisfies the requirements or not
→ Measurable PropertiesI Makes non-functional requirements testable
![Page 8: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/8.jpg)
Example of measurable requirements
I ”The system should be easy to use by medical staff andshould be organised in such a way that user errors areminimised”
I Better: ”Medical staff shall be able to use all the systemfunctions after four hours of training. After this training, theaverage number of errors made by experienced users shallnot exceed two per hour of system use.”
![Page 9: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/9.jpg)
Example of measurable requirements
I ”The system should be easy to use by medical staff andshould be organised in such a way that user errors areminimised”
I Better: ”Medical staff shall be able to use all the systemfunctions after four hours of training. After this training, theaverage number of errors made by experienced users shallnot exceed two per hour of system use.”
![Page 10: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/10.jpg)
Possible measures
Ian Sommerville, Software Engineering - 9
![Page 11: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/11.jpg)
Requirements engineering process
Ian Sommerville, Software Engineering - 9
![Page 12: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/12.jpg)
Requirements documentation
I How to document requirements1 Domain model (class diagram, glossary, . . . ) to explain the
domain2 Use cases for functional requirements3 Non-functional requirements
I Requirements documentation are importantI to record the requirementsI to agree upon requirements with the customer
![Page 13: 02291: System Integration · Characteristics of good requirements I Testable I Test whether the system satisfies the requirements or not! Measurable Properties I Makes non-functional](https://reader033.vdocument.in/reader033/viewer/2022051810/6019663a45f0ce2f64688db1/html5/thumbnails/13.jpg)
Requirements issues
I As a developer: Refrain from inventing requirements→ ask the customer when in doubt
I Problem descriptions can be very vague→ Discuss with the customer→ Customer knows what he does not want
I Requirements can changeI e.g. after the customer has seen a first version of the
softwareI the business situation has changed
I Consider the contextI What is requirement and what is designI E.g. can choose programming language or it is a
requirement