1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Introduction to Software Engineering Dr. Basem Alkazemi
Software Engineering COMP 201
Software Requirements
Software Requirements
Software Requirements
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
CS 425/625 Software Engineering Software Requirements
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Slide 1 Chapter 4 Software Requirements. Slide 2 Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional.
©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.
소프트웨어공학 강좌 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.
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.
Slide 1 CS 310 Ch 6: Software Requirements Requirements engineering: establishing the services that the customer requires from a system and the constraints.
 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.
Software Engineering Chapter 6 Software requirements Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
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.
CSC480 Software Engineering Lecture 7 September 16, 2002.
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 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©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.
Software Requirements
Software Requirements
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Software Requirements
Objectives Importance of Requirement Engineering
Software Requirements
Software Requirements
CSC480 Software Engineering
Software Requirements
Requirements Reference: Software Engineering, by Ian Sommerville, 6th edition, Chapters 5, 6, & 8.
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Presentation transcript:

1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley, 2000 and on Ch5 PowerPoint presentation from the book’s web-site: September 17, 2003

2 / 26 Outline n n Requirements: u u Functional u u Non-functional u u Domain n n User Requirements n n Systems Requirements n n The Software Requirements Document

3 / 26 Requirements: Introduction… n n Requirements = services the system is expected to provide + constraints placed on the system n n Requirements engineering = gathering, negotiating, analyzing, and documenting requirements n n The requirements could be expressed at various levels of abstraction n n The way requirements are defined has a major impact on the development of the software product

4 / 26 Requirements:.Introduction.. n n A classification of requirements: u u User requirements: higher level description of services requested and constraints imposed u u System requirements: a more detailed, structured description of services and constraints. Usually included in the contract between the developer and the client n n An even more detailed description of requirements can be provided in a software design specification (closer to implementation)

5 / 26 Requirements:..Introduction. n Examples of user requirements definition and system requirements specification [Fig. 5.1, Somm00]

6 / 26 Requirements: …Introduction n n Types of software system requirements: u u Functional requirements, describe the requested functionality/behaviour of the system: services (functions), reactions to inputs, exceptions, modes of operations u u Non-functional requirements, represent constraints on the system and its functionality: performance constraints, compliance with standards, constraints on the development process u u Domain requirements, can be either functional or non-functional and reflect the particularities of the application domain

7 / 26 Requirements: Functional n n Functional requirements: u u Depend on the system, the software, and the users u u Can be expressed at different levels of detail (user/system requirements) u u For a system, it is desirable to have a complete and consistent set of functional requirements ● ●Completeness: all required system facilities are defined ● ●Consistency: there are no contradictions in requirements

8 / 26 Requirements: Non-functional.. n n Non-functional requirements: u u Many apply to the system as a whole u u More critical than individual functional requirements u u More difficult to verify n n Kinds of non-functional requirements: u u Product requirements u u Organizational requirements u u External requirements

9 / 26 Requirements:.Non-functional. n n A classification of non-functional requirements [Fig. 5.3, Somm00]:

10 / 26 Requirements:..Non-functional n n Metrics that can be used to quantitatively specify and verify non-functional requirements [Fig. 5.6, Somm-6]

11 / 26 Requirements: Domain n n Domain requirements indicate specific computations, additional functionality, or constraints on other requirements n n Example [Fig.5.7, Somm00]: The deceleration of the train shall be computed as: D train = D control + D gradient where D gradient = 9.81ms 2 * compensated gradient/alpha and where the values of 9.81ms 2 /alpha are known for different types of train.

12 / 26 User Requirements…. n n User requirements: u u Should be understood by the user, and should not address design and implementation aspects u u Should focus on the key facilities required n n Problems with requirements written in natural language : u u Lack of clarity, ambiguity, various interpretations possible u u Confusion, lack of separation between different types of requirements u u Mixture of several requirements in the same statement u u Hard to modularize and thus hard to find connections between requirements

13 / 26.User Requirements... n n Example of improperly stated requirement [Fig. 5.9, Somm00] 2.6 Grid facilities To assist in the positioning of entities on a diagram, the user may turn on a grid in either centimetres or inches, via an option on the control panel. Initially, the grid is off. The grid may be turned on and off at any time during an editing session and can be toggled between inches and centimetres at any time. A grid option will be provided on the reduce-to-fit view but the number of grid lines shown will be reduced to avoid filling the smaller diagram with grid lines.

14 / 26..User Requirements.. n n Re-stated requirement [Fig. 5.10, Somm00]

15 / 26 …User Requirements. n n Another example of requirements statement, well structured, more detailed and more precise [Fig. 5.11, Somm00]

16 / 26 ….User Requirements n n Guidelines for writing requirements: u u Create and use a standard format for the entire software requirements specification u u Highlight important parts of the requirement statements u u Use consistently the language (difference between “should” and “shall”) u u Avoid computer jargon

17 / 26 System Requirements…… n n System requirements: u u More detailed specifications of user requirements u u Included in the contract with the client u u Used by developers as basis for design u u May be specified using various models (object-oriented models, data-flow diagrams, formal specs, etc.) u u Should indicate WHAT the system is required to do (not HOW) and under what conditions and constraints

18 / 26.System Requirements.…. n n There is nevertheless a blurred line between specification and design because: u u A system architecture may be needed to structure the requirements specification u u Design constraints may be part of the system requirements u u Factors such as interoperability may also impose design constraints

19 / 26..System Requirements…. n n Modalities for specifying requirements [Fig. 5.12, SE-6]:

20 / 26 …System Requirements… n n Standard templates for structured natural language specification should include, as applicable: u u Description of the function/service u u Inputs and their sources u u Outputs and their destinations u u Dependencies (other elements required) u u Pre-conditions u u Post-conditions u u Side-effects

21 / 26 ….System Requirements.. n n Example of a system requirement specified using structured natural language [Fig. 5.13, Somm00]

22 / 26 …..System Requirements. n n Another alternative to natural language (NL) for software specification is Program Description Languages (PDL) u u Derived from programming languages u u May contain more abstract constructs u u Their syntax and semantics could be checked u u Recommended for describing sequences of actions whose order is important & for specifying software interfaces u u However, PDL specification require advised readers, can be taken as design specs, and may not be expressive enough

23 / 26 ……System Requirements n n Example of PDL requirements specification [Fig. 5.14, Somm00]

24 / 26 The Software Requirements Document.. n n This document, also called Software Requirements Specification (SRS), is the official description of the system’s requirements (includes user and system reqs.) n n Heninger (1980) recommends that an SRS should: u u Specify only external system behaviour u u Specify constraints on implementation u u Be easy to change u u Serve as a reference for maintainers u u Record forethought about the software life cycle u u Describe acceptable responses to undesired events

25 / 26.The System Requirements Document. n n SRS structure according IEEE/ANSI standard (overview only, many more details are given in the standard): u u Introduction u u General description u u Specific requirements u u Appendices u u Index n n This structure needs to be tailored for each particular organization

26 / 26..The System Requirements Document n n A more detailed structure suggested in [Fig. 5.17, Somm00]: u u Table of contents u u Preface u u Introduction u u Glossary u u User requirements definition u u System architecture u u System requirements specification u u System models u u System evolution u u Appendices u u Index