13
Lecture 01 02 Mon, Jan 30 / Feb 06 2012 1800 : 2100 FAST NU, Karachi

RE Lecture 01 - 02

Embed Size (px)

Citation preview

Page 1: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 1/13

Lecture 01 – 02

Mon, Jan 30 / Feb 06 2012 – 1800 : 2100

FAST – NU, Karachi

Page 2: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 2/13

Course Outline Software Requirements Engineering Overview

Business Value of Better Requirements

Good Practices for Requirements Engineering

The Role of Requirements Analyst

Documenting Software Requirements

Quality Aspect of Requirements Engineering

Requirements Management Principles and Practices

Improving Requirements Processes

Use Cases

Risk Management & Software Requirements

2

Page 3: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 3/13

Course Material Software Requirements 

Karl E. Wiegers

Microsoft Press; 2nd Edition; 2003 More About Software Requirements

Thorny Issues and Practical Advice

Karl E. Wiegers

Microsoft Press; 2006

3

Page 4: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 4/13

Marks Distribution

50%

20%

10%

15%

5%

Final

Midterm

Quiz

Presentation / Report

Class Participation

4

Page 5: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 5/13

Objective of the Course To know what Software Requirements Engineering is

To understand the need of Requirements Engineering

How to understand your customers and how to interact

 with them How to develop Software Requirements

How to manage Software Requirements

How to document Software Requirements

How to improve the process of managing the SoftwareRequirements

How to define Project Scope

How to reduce Risks while managing the Requirements

5

Page 6: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 6/13

What is Requirements Engineering Requirements engineering is primarily a

communication activity – not a technical activity 

Requirements engineering is one of the mostchallenging aspects of software development

It is also the most important aspect, as it lays thefoundation for all the subsequent project work

6

Page 7: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 7/13

Requirements According to Ian Sommerville and Pete Sawyer 

 A specification of what should be implemented

They are descriptions of how the system should behave,or of a system property or attribute

They may be a constraint on the development process of the system

7

Page 8: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 8/13

Requirements According to IEEE Standard Glossary of Software

Engineering Terminology 

1.  A condition or capability needed by a user to solve aproblem or achieve an objective

2.  A condition or capability that must be met orpossessed by a system or system component to satisfy acontract, standard, specification, or other formally 

imposed document

3.  A documented representation of a condition orcapability as in 1 or 2

8

Page 9: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 9/13

Levels of Requirements A project needs to address three levels of 

requirements, which come from different sources atdifferent project stages

Business Requirements

Describe why the product is being built and identify thebenefits both customers and the business will reap

User Requirements

Captured in the form of use cases, describe the tasks orbusiness processes a user will be able to perform with theproduct

9

Page 10: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 10/13

Levels of Requirements Functional Requirements

Describe the specific system behaviors that must beimplemented

The functional requirements are the traditional “shall”statements found in a software requirements specification(SRS)

System Requirements

The term system requirements describes the top level

requirements for a product that contains multiple subsystems  A system can be all software or it can include both software

and hardware subsystems

People are a part of a system, too, so certain system functionsmight be allocated to human beings

10

Page 11: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 11/13

Types of Requirements

11

Business

Requirements

Vision and Scope Document

User

Requirements

System

Requirements

Functional

Requirements

Business

Rules

Quality

Attributes

External

Interfaces

Constraints

Use Case Document

Software RequirementsSpecification

Functional Non Functional

Page 12: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 12/13

Non Functional Requirements Business Rules

Business rules include corporate policies, governmentregulations, industry standards (such as accounting

practices), and computational algorithms Quality Attributes

Quality attributes describe the product’s characteristics in various dimensions that are important either to users or todevelopers and maintainers. These characteristics include

availability, performance, usability, portability, integrity,efficiency, robustness, and many others

Sometimes these characteristics are called quality factors orquality of service requirements

12

Page 13: RE Lecture 01 - 02

7/31/2019 RE Lecture 01 - 02

http://slidepdf.com/reader/full/re-lecture-01-02 13/13

Non Functional Requirements External Interfaces

External interfaces between the system and the outside world constitute another class of nonfunctionalrequirements

Constraints

These are restrictions imposed on the choices availableto the developer for some legitimate reason

Some people consider all requirements to be constraints,but this broad generalization isn’t very helpful 

13