+ All Categories
Home > Technology > Requirement Engineering Lec.1 & 2 & 3

Requirement Engineering Lec.1 & 2 & 3

Date post: 07-Nov-2014
Category:
Upload: ahmed-alageed
View: 1,265 times
Download: 2 times
Share this document with a friend
Description:
Introduction
Popular Tags:
37
SOFTWARE REQUIREMENT ENGINEERING ALNEELAIN UNIVERSITY SOFTWARE ENGINEERING DEPT. Prepared By: Ahmed Alageed 1 1- INTRODUCTION
Transcript
Page 1: Requirement Engineering Lec.1 & 2 & 3

SOFTWARE REQUIREMENT ENGINEERING

ALNEELAIN UNIVERSITY SOFTWARE ENGINEERING

DEPT.

Prepared By: Ahmed Alageed

1

1- INTRODUCTION

Page 2: Requirement Engineering Lec.1 & 2 & 3

COURSE DETAILS

This Course will cover the following Topics: 1. Basics 2. Procedure and Processes 3. Project and Risk Management 4. Responsibilities and Roles 5.Identification of Requirements

2

Page 3: Requirement Engineering Lec.1 & 2 & 3

COURSE DETAILS

6. Specification of requirements 7. Requirements Analysis 8.Tracking of Requirements 9. Quality Assurance 10. Tools

3

Page 4: Requirement Engineering Lec.1 & 2 & 3

ASSESSMENT METHOD

The assessment method will be as following: Final Exam: 60% Mid-Term Exam:15% ( it will be between

the 5th & 10th lecture without any more notifications)

Tutorial & Presentation:25% ( including The Lab. Remarks & attendance.

4

Page 5: Requirement Engineering Lec.1 & 2 & 3

COURSE LAB.

In the practical part of this course you will be requested to do some tutorial on requirement as well as learning in details some of tools and model which used in the requirement engineering

5

Page 6: Requirement Engineering Lec.1 & 2 & 3

CONTACT INFO. You can contact me at any time by

Email:[email protected]

I will be available at my office on Sat. after 12 PM

6

Page 7: Requirement Engineering Lec.1 & 2 & 3

COURSE REFERENCES

Main Reading:1. Software Engineering by Ian Sommerville,

8th edition, Addison-Wesley, 2006.2. Software Engineering: A practitioner's

approach by Roger S. Pressman, 6th edition, McGraw-Hill International edition, 2005.

3. Software Requirements, by Karl E. Wiegers  , Microsoft Press © 2003

7

Page 8: Requirement Engineering Lec.1 & 2 & 3

COURSE REFERENCES

4. The Requirements Engineering Handbook by Ralph R. Young

5. Software requirements: Styles and techniques by Soren Lauesen

8

Page 9: Requirement Engineering Lec.1 & 2 & 3

LEARNING TARGET

What is a requirement? What is the meaning and purpose of

requirements? How can requirements be classified? What types of requirements are there? What problems are there concerning

requirements?

9

Page 10: Requirement Engineering Lec.1 & 2 & 3

LEARNING TARGET

What concepts are important in connection with requirements?

What is the difference between RM (Requirements Management) and RE

Requirements Engineering)? What important norms and standards

exist? Why is Requirements Engineering

important?10

Page 11: Requirement Engineering Lec.1 & 2 & 3

1. WHAT IS A REQUIREMENT?

A requirement is a condition or a skill that a user needs in order to solve a problem or arrive at a goal.

A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document

11

Page 12: Requirement Engineering Lec.1 & 2 & 3

WHAT IS THE MEANING AND PURPOSE OF REQUIREMENTS?

Foundation for assessment, planning, execution and monitoring of the project activity

Customer expectations Component of agreements, orders,

project plans… Setting of system boundaries, scope of

delivery, contractual services

12

Page 13: Requirement Engineering Lec.1 & 2 & 3

CLASSIFICATION OF REQUIREMENTS

Requirements consist of: process requirements product requirements

Process requirements: costs, marketing, processing time, sales and distribution, organization, documentation

Describe needs and limitations of the business processes.

13

Page 14: Requirement Engineering Lec.1 & 2 & 3

PRODUCT REQUIREMENTS

Product requirements consist of functional and non-functional product requirements.

Both can be regarded from the point of view of the user (external) or customer and

from the point of view of the developer (internal).

14

Page 15: Requirement Engineering Lec.1 & 2 & 3

FUNCTIONAL PRODUCT REQUIREMENTS

Functional requirements describe the function of the system

from the user's point of view: user interface, applications, services

from the customer’s point of view: user interface, applications, services Note: User and customer can be different!

15

Page 16: Requirement Engineering Lec.1 & 2 & 3

FUNCTIONAL PRODUCT REQUIREMENTS from the developer's point of view:

architecture, power supply, load distribution

16

Page 17: Requirement Engineering Lec.1 & 2 & 3

NON-FUNCTIONAL PRODUCT REQUIREMENTS

Non-functional requirements describe the quality attributes of the system.

from the point of view of the user: reliability, performance, usability

from the point of view of the customer: reliability, performance, usability

from the point of view of the developer: testability, serviceability, tools

17

Page 18: Requirement Engineering Lec.1 & 2 & 3

TYPES OF REQUIREMENTS

customer requirements solution/system requirements, product/component requirements

18

Page 19: Requirement Engineering Lec.1 & 2 & 3

19

Page 20: Requirement Engineering Lec.1 & 2 & 3

PROBLEMS WITH REQUIREMENTS

unclear objectives communication problems language barriers knowledge barriers vague formulation too formal formulations ambiguous, overly specified, unclear,

impossible, contradictory requirements

20

Page 21: Requirement Engineering Lec.1 & 2 & 3

PROBLEMS WITH REQUIREMENTS

instability of the requirements bad quality of the requirements insufficient user involvement overlooked user classes inaccurate planning minimal specification

21

Page 22: Requirement Engineering Lec.1 & 2 & 3

QUALITY CRITERIA FOR REQUIREMENTS Necessary: If the system can meet prioritized real

needs without the requirement, it isn’t necessary.

Feasible: The requirement is doable and can be accomplished within budget and schedule.

Correct: The facts related to the requirement are accurate, and it is technically and legally possible.

Concise: The requirement is stated simply.

Unambiguous: The requirement can be interpreted in only one way.

Complete: All conditions under which the requirement applies are stated, and it expresses a whole idea or statement.

22

Page 23: Requirement Engineering Lec.1 & 2 & 3

QUALITY CRITERIA FOR REQUIREMENTS Consistent: It is not in conflict with other

requirements.

Verifiable: Implementation of the requirement in the system can be proved.

Traceable: The source of the requirement can be traced, and it can be tracked throughout the system (e.g., to the design, code, test, and documentation).

Allocated: The requirement is assigned to a component of the designed system.

Design independent: It does not pose a specific implementation solution.

23

Page 24: Requirement Engineering Lec.1 & 2 & 3

QUALITY CRITERIA FOR REQUIREMENTS Non-redundant: It is not a duplicate requirement.

Written using the standard construct: The requirement is stated as an imperative using “shall.”

Assigned a unique identifier: Each requirement shall have a unique identifying number.

Devoid of escape clauses: Language should not include such phrases as “if,” “when,” “but,” “except,” “unless,” and “although.” Language should not be speculative or general (i.e., avoid wording such as “usually,” “generally,” “often,” “normally,” and “typically”).

24

Page 25: Requirement Engineering Lec.1 & 2 & 3

QUALITY CRITERIA FOR REQUIREMENTS The requirements specification must be

complete, consistent, modifiable and traceable

25

Page 26: Requirement Engineering Lec.1 & 2 & 3

SOLUTION

A solution is the implementation of the requirement Engineering & Requirement management.

26

Page 27: Requirement Engineering Lec.1 & 2 & 3

PRIORITY OF REQUIREMENTS

Commitment Commitment is the degree of obligation Observing legal responsibilities, especially

in case of faultFault Deviation of the current state from the

target state Evaluation of the importance/urgency

27

Page 28: Requirement Engineering Lec.1 & 2 & 3

CRITICALITY OF REQUIREMENTS

Evaluation of the risk of a requirement by evaluating the damage in case of non-fulfillment of a requirement

28

Page 29: Requirement Engineering Lec.1 & 2 & 3

VALIDATION

Process of confirmation that the specification of a phase or the entire system fulfills the customer's requirements

29

Page 30: Requirement Engineering Lec.1 & 2 & 3

VERIFICATION

Comparison of an intermediate product with its specifications. It is thereby determined if the software was developed correctly and if the specifications that were determined during the previous phase were fulfilled

30

Page 31: Requirement Engineering Lec.1 & 2 & 3

DELINEATION BETWEEN REQUIREMENTS MANAGEMENT AND ENGINEERING

Requirements Management (RM) includes processes for the identification and management of requirements

Requirements engineering includes the basic engineering skills

31

Page 32: Requirement Engineering Lec.1 & 2 & 3

STANDARDS AND NORMS

ISO 9000: Requirements of a quality management

system: defined concepts and basics of a QMS domain or industry neutral

ISO 9126: Defines a quality model with six

categories: Functionality, reliability, usability, efficiency,

maintainability, portability

32

Page 33: Requirement Engineering Lec.1 & 2 & 3

STANDARDS AND NORMS

IEEE 610: Standard Glossary of Software Engineering

Terminology IEEE 830:

Recommended Practice for Software Requirements Specifications

IEEE 1233: Guide for Developing of System

Requirements Specifications

33

Page 34: Requirement Engineering Lec.1 & 2 & 3

IEEE 1362: Guide for Information Technology –

System Definition

34

STANDARDS AND NORMS

Page 35: Requirement Engineering Lec.1 & 2 & 3

PROCESS NORMS

ISO 12207: Standard for Software Life Cycle Process

ISO 15288: System Life Cycle Process

ISO 15504: Software Process Improvement and

Capability Determination (SPICE) Capability Maturity Model Integrated

(CMMI)

35

Page 36: Requirement Engineering Lec.1 & 2 & 3

REASONS WHY REQUIREMENT ENGINEERING IS OFTEN NEGLECTED

Neglect due to high time pressure Neglect due to an exclusive orientation

toward fast results Neglect due to an exclusive fixation on

costs Neglect due to misinterpretations

(many things are seen as given)

36

Page 37: Requirement Engineering Lec.1 & 2 & 3

POSSIBLE CONSEQUENCES OF NEGLECTING REQUIREMENTS ENGINEERING

Requirements become imprecise Requirements are ambiguous Requirements are contradictory Requirements that change Requirements that do not fulfill the

criteria Requirements that can be interpreted

differently Missing requirements

37


Recommended