Software Engineering Chapter 6 Software requirements Ku-Yaw Chang [email protected] Assistant...

22
Software Engineering Software Engineering Chapter 6 Chapter 6 Software Software requirements requirements Ku-Yaw Chang Ku-Yaw Chang [email protected] [email protected] Assistant Professor Assistant Professor Department of Computer Science and Information Department of Computer Science and Information Engineering Engineering Da-Yeh University Da-Yeh University

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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