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...
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
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
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
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
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
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.
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
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
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
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.
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
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.
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
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.
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
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
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
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.
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
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
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
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