Software Engineering Chapter 6 Software requirements Ku-Yaw Chang [email protected] Assistant...
-
Upload
daniella-charles -
Category
Documents
-
view
228 -
download
9
Transcript of Software Engineering Chapter 6 Software requirements Ku-Yaw Chang [email protected] Assistant...
![Page 1: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/1.jpg)
Software EngineeringSoftware Engineering
Chapter 6Chapter 6Software requirementsSoftware requirements
Ku-Yaw ChangKu-Yaw [email protected]@mail.dyu.edu.tw
Assistant ProfessorAssistant ProfessorDepartment of Computer Science and Information EngineeringDepartment of Computer Science and Information Engineering
Da-Yeh UniversityDa-Yeh University
![Page 2: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/2.jpg)
22Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
ObjectivesObjectives
Understand the concepts of user requirements Understand the concepts of user requirements and system requirements and why these and system requirements and why these requirements should be written in different waysrequirements should be written in different ways
Understand the differences between functional Understand the differences between functional and non-functional software requirementsand non-functional software requirements
Understand how requirements may be organized Understand how requirements may be organized in a software requirements documentin a software requirements document
![Page 3: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/3.jpg)
33Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
PreamblePreamble
RequirementsRequirements Descriptions of the services provided by the system Descriptions of the services provided by the system
and its operational constraintsand its operational constraints
Requirements engineering (RE)Requirements engineering (RE) The process of finding out, analyzing, documenting The process of finding out, analyzing, documenting
and checking these services and constraintsand checking these services and constraints
![Page 4: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/4.jpg)
44Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
PreamblePreamble
Different level of descriptionsDifferent level of descriptions User requirementsUser requirements
Statements of what services the system is expected to Statements of what services the system is expected to provide and the constraints under which it must operateprovide and the constraints under which it must operate
In a natural language plus diagramsIn a natural language plus diagrams System requirementsSystem requirements
Set out the system’s functions, services and operational Set out the system’s functions, services and operational constraints in detailconstraints in detail
Should be precise, also called functional specificationShould be precise, also called functional specification
Define exactly what is to be implementedDefine exactly what is to be implemented
![Page 5: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/5.jpg)
55Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
PreamblePreamble
User requirement definitionUser requirement definition1. LIBSYS shall keep track of all data required 1. LIBSYS shall keep track of all data required
by copyright licensing agencies in the UK and by copyright licensing agencies in the UK and elsewhereelsewhere
![Page 6: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/6.jpg)
66Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
PreamblePreamble
System requirement definitionSystem requirement definition1.1 On making a request for a document from LIBSYS, the 1.1 On making a request for a document from LIBSYS, the
requestor shall be presented with a form that records details of requestor shall be presented with a form that records details of the user and the request made.the user and the request made.
1.2 LIBSYS request forms shall be stored on the system for five 1.2 LIBSYS request forms shall be stored on the system for five years from the date of the request.years from the date of the request.
1.3 All LIBSYS request forms must be indexed by user, by the 1.3 All LIBSYS request forms must be indexed by user, by the name of the material requested and by the supplier of the name of the material requested and by the supplier of the request.request.
1.4 LIBSYS shall maintain a log of all requests that have been 1.4 LIBSYS shall maintain a log of all requests that have been made to the system.made to the system.
1.5 For material where authors’ lending rights apply, loan details 1.5 For material where authors’ lending rights apply, loan details shall be sent monthly to copyright licensing agencies that have shall be sent monthly to copyright licensing agencies that have registered with LIBSYS.registered with LIBSYS.
![Page 7: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/7.jpg)
77Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
Readers ofReaders ofdifferent types of specificationdifferent types of specification
Userrequirements
Client managersSystem end-usersClient engineersContractor managersSystem architects
Systemrequirements
System end-usersClient engineersSystem architectsSoftware developers
![Page 8: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/8.jpg)
88Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
ContentsContents
6.1 Functional and non-functional requirements6.1 Functional and non-functional requirements
6.2 User requirements6.2 User requirements
6.3 System requirements6.3 System requirements
6.4 Interface specification6.4 Interface specification
6.5 The software requirements document6.5 The software requirements document
6.6 Exercises6.6 Exercises
![Page 9: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/9.jpg)
99Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
6.1 Functional and non-functional 6.1 Functional and non-functional requirementsrequirements
Functional requirementsFunctional requirements Statements of servicesStatements of services
the system should providethe system should providehow the system should react to particular inputshow the system should react to particular inputshow the system should behave in particular situationshow the system should behave in particular situations
Non-functional requirementsNon-functional requirements Constraints on the services or functions offered by the Constraints on the services or functions offered by the
systemsystemtiming constraintstiming constraintsconstraints on the development process, standards, etc.constraints on the development process, standards, etc.
Domain requirementsDomain requirements From the application domain of the system and that From the application domain of the system and that
reflect characteristics of that domainreflect characteristics of that domain
![Page 10: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/10.jpg)
1010Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
6.1.1 Functional requirements6.1.1 Functional requirements
Examples for a university library system called Examples for a university library system called LIBSYSLIBSYS1. The user shall be able to search either all of the initial 1. The user shall be able to search either all of the initial
set of databases or select a subset from it.set of databases or select a subset from it.
2. The system shall provide appropriate viewers for the 2. The system shall provide appropriate viewers for the user to read documents in the document store.user to read documents in the document store.
3. Every order shall be allocated a unique identifier 3. Every order shall be allocated a unique identifier (ORDER_ID), which the user shall be able to copy to (ORDER_ID), which the user shall be able to copy to the account’s permanent storage area.the account’s permanent storage area.
![Page 11: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/11.jpg)
1111Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
6.1.2 Non-functional requirements6.1.2 Non-functional requirements
Performancerequirements
Spacerequirements
Usabilityrequirements
Efficiencyrequirements
Reliabilityrequirements
Portabilityrequirements
Interoperabilityrequirements
Ethicalrequirements
Legislativerequirements
Implementationrequirements
Standardsrequirements
Deliveryrequirements
Safetyrequirements
Privacyrequirements
Productrequirements
Organisationalrequirements
Externalrequirements
Non-functionalrequirements
![Page 12: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/12.jpg)
1212Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
Examples ofExamples ofnon-functional requirementsnon-functional requirements
Product requirementProduct requirement 8.1 The user interface for LIBSYS shall be 8.1 The user interface for LIBSYS shall be
implemented as simple HTML without frames or java implemented as simple HTML without frames or java appletsapplets
Organizational requirementOrganizational requirement 9.3.2 The system development process and 9.3.2 The system development process and
deliverable documents shall conform to the process deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-95.and deliverables defined in XYZCo-SP-STAN-95.
External requirementExternal requirement 10.6 The system shall not disclose any personal 10.6 The system shall not disclose any personal
information about system users apart from their name information about system users apart from their name and library reference number to the library staff who and library reference number to the library staff who use the system.use the system.
![Page 13: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/13.jpg)
1313Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
Metrics for specifyingMetrics for specifyingnon-functional requirementsnon-functional requirements
Property Measure
Speed Processed transactions/secondUser/Event response timeScreen refresh time
Size M BytesNumber of ROM chips
Ease of use Training timeNumber of help frames
Reliability Mean time to failureProbability of unavailabilityRate of failure occurrenceAvailability
Robustness Time to restart after failurePercentage of events causing failureProbability of data corruption on failure
Portability Percentage of target dependent statementsNumber of target systems
![Page 14: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/14.jpg)
1414Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
6.1.3 Domain requirements6.1.3 Domain requirements
Be derived from the application domainBe derived from the application domain Not from the specific needs of system usersNot from the specific needs of system users
Reflect fundamentals of the application domainReflect fundamentals of the application domainExamplesExamples There shall be a standard user interface to all There shall be a standard user interface to all
databases that shall be based on the Z39.50 databases that shall be based on the Z39.50 standard.standard.
Because of copyright restrictions, some documents Because of copyright restrictions, some documents must be deleted immediately on arrival. Depending on must be deleted immediately on arrival. Depending on the user requirements, these documents will either be the user requirements, these documents will either be printed locally on the system server for manual printed locally on the system server for manual forwarding to the user or routed to a network printer.forwarding to the user or routed to a network printer.
![Page 15: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/15.jpg)
1515Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
ContentsContents
6.1 Functional and non-functional requirements6.1 Functional and non-functional requirements
6.2 User requirements6.2 User requirements
6.3 System requirements6.3 System requirements
6.4 Interface specification6.4 Interface specification
6.5 The software requirements document6.5 The software requirements document
6.6 Exercises6.6 Exercises
![Page 16: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/16.jpg)
1616Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
User requirementsUser requirements
Describe the functional and non-functional Describe the functional and non-functional requirementsrequirements Be understandable by system users without detailed Be understandable by system users without detailed
technical knowledgetechnical knowledge
ShouldShould Simple language, simple tables and forms and Simple language, simple tables and forms and
intuitive diagramsintuitive diagrams
Should notShould not Software jargon, structured notations or formal Software jargon, structured notations or formal
notations, system implementationnotations, system implementation
![Page 17: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/17.jpg)
1717Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
User requirementsUser requirements
Various problemsVarious problems Lack of clarityLack of clarity Requirements confusionRequirements confusion Requirements amalgamationRequirements amalgamation
![Page 18: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/18.jpg)
1818Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
A user requirement forA user requirement foran accounting system in LIBSYSan accounting system in LIBSYS
4.54.5
LIBSYS shall provide a financial accounting LIBSYS shall provide a financial accounting system that maintains records of all payments system that maintains records of all payments made by users of the system. System managers made by users of the system. System managers may configure this system so that regular users may configure this system so that regular users may receive discounted rates.may receive discounted rates.
![Page 19: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/19.jpg)
1919Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
ContentsContents
6.1 Functional and non-functional requirements6.1 Functional and non-functional requirements
6.2 User requirements6.2 User requirements
6.3 System requirements6.3 System requirements
6.4 Interface specification6.4 Interface specification
6.5 The software requirements document6.5 The software requirements document
6.6 Exercises6.6 Exercises
![Page 20: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/20.jpg)
2020Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
ContentsContents
6.1 Functional and non-functional requirements6.1 Functional and non-functional requirements
6.2 User requirements6.2 User requirements
6.3 System requirements6.3 System requirements
6.4 Interface specification6.4 Interface specification
6.5 The software requirements document6.5 The software requirements document
6.6 Exercises6.6 Exercises
![Page 21: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/21.jpg)
2121Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
ContentsContents
6.1 Functional and non-functional requirements6.1 Functional and non-functional requirements
6.2 User requirements6.2 User requirements
6.3 System requirements6.3 System requirements
6.4 Interface specification6.4 Interface specification
6.5 The software requirements document6.5 The software requirements document
6.6 Exercises6.6 Exercises
![Page 22: Software Engineering Chapter 6 Software requirements Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information.](https://reader034.fdocuments.us/reader034/viewer/2022042615/56649d825503460f94a671b3/html5/thumbnails/22.jpg)
2222Ku-Yaw ChangKu-Yaw Chang Software RequirementsSoftware Requirements
ContentsContents
6.1 Functional and non-functional requirements6.1 Functional and non-functional requirements
6.2 User requirements6.2 User requirements
6.3 System requirements6.3 System requirements
6.4 Interface specification6.4 Interface specification
6.5 The software requirements document6.5 The software requirements document
6.6 Exercises6.6 Exercises