©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Requirements Engineering Process
Software Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
SWE Introduction to Software Engineering
Introduction to Software Engineering
Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Requirements
Requirements Engineering Processes
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
©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 7 Slide 1 Requirements Engineering Processes.
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
المحاضرة الثالثة. 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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
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
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Requirements Descriptions and specifications of a system.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
©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 Engineering Overview Senior Design Don Evans.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
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.
Software Engineering, 8th edition. Chapter 7 1 Courtesy: ©Ian Sommerville 2006 March 20 th, 2008 Lecture # 12 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
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 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©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.
Software Engineering, COMP201 Slide 1 Software Requirements.
Chapter 4 – Requirements Engineering
Software Requirements
Software Requirements
Software Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 2 Types of requirement l User requirements Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers. l System requirements A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 3 Definitions and specifications

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 4 Requirements readers

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 5 Functional requirements l Describe functionality or system services. l Depend on the type of software, expected users and the type of system where the software is used. l Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 6 Non-functional requirements l These define system properties and constraints e.g. reliability, response time and storage requirements. Constraints are I/O device capability, system representations, etc. l Process requirements may also be specified mandating a particular CASE system, programming language or development method. l Non-functional requirements may be more critical than functional requirements. If these are not met, the system is useless.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 7 Non-functional requirement types

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 8 Requirements measures

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 9 Problems with natural language l Lack of clarity Precision is difficult without making the document difficult to read. l Requirements confusion Functional and non-functional requirements tend to be mixed-up. l Requirements amalgamation Several different requirements may be expressed together.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 10 Guidelines for writing requirements l Invent a standard format and use it for all requirements. l Use language in a consistent way. Use shall for mandatory requirements, should for desirable requirements. l Use text highlighting to identify key parts of the requirement. l Avoid the use of computer jargon.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 11 Form-based node specification

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 12 Sequence diagram of ATM withdrawal

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 13 Interface specification l Most systems must operate with other systems and the operating interfaces must be specified as part of the requirements. l Three types of interface may have to be defined Procedural interfaces; Data structures that are exchanged; Data representations. l Formal notations are an effective technique for interface specification.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 14 The requirements document l The requirements document is the official statement of what is required of the system developers. l Should include both a definition of user requirements and a specification of the system requirements. l It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 15 Users of a requirements document

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 16 IEEE requirements standard l Defines a generic structure for a requirements document that must be instantiated for each specific system. Introduction. General description. Specific requirements. Appendices. Index.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 17 The requirements engineering process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 18 Requirements engineering

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 19 Problems of requirements analysis l Stakeholders don’t know what they really want. l Stakeholders express requirements in their own terms. l Different stakeholders may have conflicting requirements. l Organisational and political factors may influence the system requirements. l The requirements change during the analysis process. New stakeholders may emerge and the business environment change.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 20 The requirements spiral

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 21 ATM stakeholders l Bank customers l Representatives of other banks l Bank managers l Counter staff l Database administrators l Security managers l Marketing department l Hardware and software maintenance engineers l Banking regulators

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 22 Viewpoints l Viewpoints are a way of structuring the requirements to represent the perspectives of different stakeholders. Stakeholders may be classified under different viewpoints. l This multi-perspective analysis is important as there is no single correct way to analyse system requirements.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 23 Types of viewpoint l Interactor viewpoints People or other systems that interact directly with the system. In an ATM, the customer’s and the account database are interactor VPs. l Indirect viewpoints Stakeholders who do not use the system themselves but who influence the requirements. In an ATM, management and security staff are indirect viewpoints. l Domain viewpoints Domain characteristics and constraints that influence the requirements. In an ATM, an example would be standards for inter-bank communications.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 24 LIBSYS viewpoint hierarchy

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 25 Scenarios l Scenarios are real-life examples of how a system can be used. l They should include A description of the starting situation; A description of the normal flow of events; A description of what can go wrong; Information about other concurrent activities; A description of the state when the scenario finishes.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 26 Requirements checking l Validity. Does the system provide the functions which best support the customer’s needs? l Consistency. Are there any requirements conflicts? l Completeness. Are all functions required by the customer included? l Realism. Can the requirements be implemented given available budget and technology l Verifiability. Can the requirements be checked?