Software Engineering Chapter 6 Software requirements Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Software Requirements
Human Computer Interaction G52HCI
Software Requirements
SWE Introduction to Software Engineering
Software Requirements
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
SWE Introduction to Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
Overview of Software Requirements
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
Software Engineering Chapter 6 Software requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
Software Requirements Presented By Dr. Shazzad Hosain.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Software Requirements Descriptions and specifications of a system.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Software Requirements. Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Chapter 6+7 in textbook 1 Chapter 4 Software Requirements 1.
Chapter 4 Software Requirements
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
Software Requirements Software Requirements - adopted & adapted from I. Sommerville, 2004.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 / 54 Software Requirements.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Week 3: Requirement Analysis & specification
Requirements Analysis
Software Engineering, 8th edition. Chapter 6 1 Courtesy: ©Ian Sommerville 2006 March 05 th, 2009 Lecture # 8 Software Requirements.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Engineering, COMP201 Slide 1 Software Requirements.
Types and Characteristics of Requirements
Software Requirements
Presentation on Software Requirements Submitted by
Software Requirements
Requirements Engineering
Software Requirements
Software Requirements
SNS College of Engineering Coimbatore
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

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

2Ku-Yaw ChangSoftware Requirements Objectives Understand the concepts of user requirements and system requirements and why these requirements should be written in different ways Understand the differences between functional and non-functional software requirements Understand how requirements may be organized in a software requirements document

3Ku-Yaw ChangSoftware Requirements Preamble Requirements Descriptions of the services provided by the system and its operational constraints Descriptions of the services provided by the system and its operational constraints Requirements engineering (RE) The process of finding out, analyzing, documenting and checking these services and constraints The process of finding out, analyzing, documenting and checking these services and constraints

4Ku-Yaw ChangSoftware Requirements Preamble Different level of descriptions User requirements User requirements Statements of what services the system is expected to provide and the constraints under which it must operate In a natural language plus diagrams System requirements System requirements Set out the system’s functions, services and operational constraints in detail Should be precise, also called functional specification Define exactly what is to be implemented

5Ku-Yaw ChangSoftware Requirements Preamble User requirement definition 1. LIBSYS shall keep track of all data required by copyright licensing agencies in the UK and elsewhere

6Ku-Yaw ChangSoftware Requirements Preamble System requirement definition 1.1 On making a request for a document from LIBSYS, the requestor shall be presented with a form that records details of the user and the request made. 1.2 LIBSYS request forms shall be stored on the system for five years from the date of the request. 1.3 All LIBSYS request forms must be indexed by user, by the name of the material requested and by the supplier of the request. 1.4 LIBSYS shall maintain a log of all requests that have been made to the system. 1.5 For material where authors’ lending rights apply, loan details shall be sent monthly to copyright licensing agencies that have registered with LIBSYS.

7Ku-Yaw ChangSoftware Requirements Readers of different types of specification User requirements Client managers System end-users Client engineers Contractor managers System architects System requirements System end-users Client engineers System architects Software developers

8Ku-Yaw ChangSoftware Requirements Contents 6.1 Functional and non-functional requirements 6.2 User requirements 6.3 System requirements 6.4 Interface specification 6.5 The software requirements document 6.6 Exercises

9Ku-Yaw ChangSoftware Requirements 6.1 Functional and non-functional requirements Functional requirements Statements of services Statements of services the system should provide how the system should react to particular inputs how the system should behave in particular situations Non-functional requirements Constraints on the services or functions offered by the system Constraints on the services or functions offered by the system timing constraints constraints on the development process, standards, etc. Domain requirements From the application domain of the system and that reflect characteristics of that domain From the application domain of the system and that reflect characteristics of that domain

10Ku-Yaw ChangSoftware Requirements Functional requirements Examples for a university library system called LIBSYS 1. The user shall be able to search either all of the initial set of databases or select a subset from it. 2. The system shall provide appropriate viewers for the user to read documents in the document store. 3. Every order shall be allocated a unique identifier (ORDER_ID), which the user shall be able to copy to the account’s permanent storage area.

11Ku-Yaw ChangSoftware Requirements Non-functional requirements

12Ku-Yaw ChangSoftware Requirements Examples of non-functional requirements Product requirement 8.1 The user interface for LIBSYS shall be implemented as simple HTML without frames or java applets 8.1 The user interface for LIBSYS shall be implemented as simple HTML without frames or java applets Organizational requirement The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-95. External requirement 10.6 The system shall not disclose any personal information about system users apart from their name and library reference number to the library staff who use the system The system shall not disclose any personal information about system users apart from their name and library reference number to the library staff who use the system.

13Ku-Yaw ChangSoftware Requirements Metrics for specifying non-functional requirements

14Ku-Yaw ChangSoftware Requirements Domain requirements Be derived from the application domain Not from the specific needs of system users Not from the specific needs of system users Reflect fundamentals of the application domain Examples There shall be a standard user interface to all databases that shall be based on the Z39.50 standard. There shall be a standard user interface to all databases that shall be based on the Z39.50 standard. Because of copyright restrictions, some documents must be deleted immediately on arrival. Depending on the user requirements, these documents will either be printed locally on the system server for manual forwarding to the user or routed to a network printer. Because of copyright restrictions, some documents must be deleted immediately on arrival. Depending on the user requirements, these documents will either be printed locally on the system server for manual forwarding to the user or routed to a network printer.

15Ku-Yaw ChangSoftware Requirements Contents 6.1 Functional and non-functional requirements 6.2 User requirements 6.3 System requirements 6.4 Interface specification 6.5 The software requirements document 6.6 Exercises

16Ku-Yaw ChangSoftware Requirements User requirements Describe the functional and non-functional requirements Be understandable by system users without detailed technical knowledge Be understandable by system users without detailed technical knowledgeShould Simple language, simple tables and forms and intuitive diagrams Simple language, simple tables and forms and intuitive diagrams Should not Software jargon, structured notations or formal notations, system implementation Software jargon, structured notations or formal notations, system implementation

17Ku-Yaw ChangSoftware Requirements User requirements Various problems Lack of clarity Lack of clarity Requirements confusion Requirements confusion Requirements amalgamation Requirements amalgamation

18Ku-Yaw ChangSoftware Requirements A user requirement for an accounting system in LIBSYS 4.5 LIBSYS shall provide a financial accounting system that maintains records of all payments made by users of the system. System managers may configure this system so that regular users may receive discounted rates.

19Ku-Yaw ChangSoftware Requirements Contents 6.1 Functional and non-functional requirements 6.2 User requirements 6.3 System requirements 6.4 Interface specification 6.5 The software requirements document 6.6 Exercises

20Ku-Yaw ChangSoftware Requirements Contents 6.1 Functional and non-functional requirements 6.2 User requirements 6.3 System requirements 6.4 Interface specification 6.5 The software requirements document 6.6 Exercises

21Ku-Yaw ChangSoftware Requirements Interface Specification Three types Procedural interfaces Application Programming Interfaces (APIs) Application Programming Interfaces (APIs) Data structures Representation of data Such as the ordering of bits Such as the ordering of bits

22Ku-Yaw ChangSoftware Requirements PDL interface description

23Ku-Yaw ChangSoftware Requirements Contents 6.1 Functional and non-functional requirements 6.2 User requirements 6.3 System requirements 6.4 Interface specification 6.5 The software requirements document 6.6 Exercises

24Ku-Yaw ChangSoftware Requirements Software Requirements Specification (SRS) The official statement of what is required of the system developers Include both a definition of user requirements a definition of user requirements a specification of the system requirements a specification of the system requirements It is NOT a design document. It should set of WHAT the system should do rather than HOW it should do it It should set of WHAT the system should do rather than HOW it should do it

25Ku-Yaw ChangSoftware Requirements Users of a Requirements Document

26Ku-Yaw ChangSoftware Requirements IEEE Requirements Standard IEEE/ANSI (IEEE, 1998) Defines a generic structure for a requirements document that must be instantiated for each specific system Defines a generic structure for a requirements document that must be instantiated for each specific systemIntroduction General description Specific requirements AppendicesIndex

27Ku-Yaw ChangSoftware Requirements Requirements Document Structure PrefaceIntroductionGlossary User requirements definition System architecture System requirements specification System models System evolution AppendicesIndex

28Ku-Yaw ChangSoftware Requirements Contents 6.1 Functional and non-functional requirements 6.2 User requirements 6.3 System requirements 6.4 Interface specification 6.5 The software requirements document 6.6 Exercises