SlideShare a Scribd company logo
1 of 37
SOFTWARE REQUIREMENT ENGINEERING
Prepared By:
Ahmed Alageed
1
1- INTRODUCTION
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
COURSE DETAILS
 6. Specification of requirements
 7. Requirements Analysis
 8.Tracking of Requirements
 9. Quality Assurance
 10. Tools
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
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
CONTACT INFO.
 You can contact me at any time by Email:
Aalageed@neelain.edu.sd
 I will be available at my office on Sat. after 12
PM
6
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
COURSE REFERENCES
4. The Requirements Engineering Handbook
by Ralph R. Young
5. Software requirements: Styles and
techniques by Soren Lauesen
8
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
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
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
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
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
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
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
FUNCTIONAL PRODUCT REQUIREMENTS
 from the developer's point of view:
architecture, power supply, load distribution
16
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
TYPES OF REQUIREMENTS
 customer requirements
 solution/system requirements,
 product/component requirements
18
19
PROBLEMS WITH REQUIREMENTS
 unclear objectives
 communication problems
 language barriers
 knowledge barriers
 vague formulation
 too formal formulations
 ambiguous, overly
specified, unclear, impossible, contradictory
requirements
20
PROBLEMS WITH REQUIREMENTS
 instability of the requirements
 bad quality of the requirements
 insufficient user involvement
 overlooked user classes
 inaccurate planning
 minimal specification
21
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
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
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
QUALITY CRITERIA FOR REQUIREMENTS
 The requirements specification must be
complete, consistent, modifiable and
traceable
25
SOLUTION
 A solution is the implementation of the
requirement Engineering & Requirement
management.
26
PRIORITY OF REQUIREMENTS
 Commitment
 Commitment is the degree of obligation
 Observing legal responsibilities, especially in
case of fault
Fault
 Deviation of the current state from the target
state
 Evaluation of the importance/urgency
27
CRITICALITY OF REQUIREMENTS
 Evaluation of the risk of a requirement by
evaluating the damage in case of non-
fulfillment of a requirement
28
VALIDATION
 Process of confirmation that the specification
of a phase or the entire system fulfills the
customer's requirements
29
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
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
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
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
 IEEE 1362:
 Guide for Information Technology – System
Definition
34
STANDARDS AND NORMS
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
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
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

More Related Content

What's hot

Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6
Abdul Basit
 

What's hot (20)

Spice
SpiceSpice
Spice
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
information system analysis and design
information system analysis and designinformation system analysis and design
information system analysis and design
 
Introduction of software project management
Introduction of software project managementIntroduction of software project management
Introduction of software project management
 
Unit1
Unit1Unit1
Unit1
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Social and cultural issues in requirements engineering
Social and cultural issues in requirements engineeringSocial and cultural issues in requirements engineering
Social and cultural issues in requirements engineering
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Lecture4 requirement engineering
Lecture4 requirement engineeringLecture4 requirement engineering
Lecture4 requirement engineering
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Process
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6Planning for software quality assurance lecture 6
Planning for software quality assurance lecture 6
 
Systems analysis and design
Systems analysis and designSystems analysis and design
Systems analysis and design
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 

Viewers also liked

Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Slideshare
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
Jomel Penalba
 
Capabilities and characteristic of software processing
Capabilities and characteristic of software   processingCapabilities and characteristic of software   processing
Capabilities and characteristic of software processing
PAQUIAAIZEL
 
Information system building block
Information system building blockInformation system building block
Information system building block
Ainul Yaqin
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
oshin-japanese
 

Viewers also liked (20)

Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering process
 
03 requirement engineering_process
03 requirement engineering_process03 requirement engineering_process
03 requirement engineering_process
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Lecture4
Lecture4Lecture4
Lecture4
 
Testable requirements
Testable requirementsTestable requirements
Testable requirements
 
Project Time Management
Project Time Management Project Time Management
Project Time Management
 
Process Support for requirements engineering
Process Support for requirements engineeringProcess Support for requirements engineering
Process Support for requirements engineering
 
software requirement engineering
software requirement engineeringsoftware requirement engineering
software requirement engineering
 
Coal 2 - concepts in Assembly Programming
Coal 2 - concepts in Assembly ProgrammingCoal 2 - concepts in Assembly Programming
Coal 2 - concepts in Assembly Programming
 
Coal 1 - introduction to assembly programming in Assembly Programming
Coal 1 - introduction to assembly programming in Assembly ProgrammingCoal 1 - introduction to assembly programming in Assembly Programming
Coal 1 - introduction to assembly programming in Assembly Programming
 
Agile Software Development - making programming fun again
Agile Software Development - making programming fun againAgile Software Development - making programming fun again
Agile Software Development - making programming fun again
 
Capabilities and characteristic of software processing
Capabilities and characteristic of software   processingCapabilities and characteristic of software   processing
Capabilities and characteristic of software processing
 
Modeling and analysis
Modeling and analysisModeling and analysis
Modeling and analysis
 
Information system building block
Information system building blockInformation system building block
Information system building block
 
Software requirementspecification
Software requirementspecificationSoftware requirementspecification
Software requirementspecification
 

Similar to Requirement Engineering Lec.1 & 2 & 3

Design Requirements Training
Design Requirements TrainingDesign Requirements Training
Design Requirements Training
Kathy Vinatieri
 
SW Development Methodologies
SW Development MethodologiesSW Development Methodologies
SW Development Methodologies
thiago_tadeu
 
7.quality management chapter 7
7.quality management chapter 77.quality management chapter 7
7.quality management chapter 7
Warui Maina
 

Similar to Requirement Engineering Lec.1 & 2 & 3 (20)

Software Quality Assurance class 1
Software Quality Assurance  class 1Software Quality Assurance  class 1
Software Quality Assurance class 1
 
Design Requirements Training
Design Requirements TrainingDesign Requirements Training
Design Requirements Training
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
SE2.ppt
SE2.pptSE2.ppt
SE2.ppt
 
SW Development Methodologies
SW Development MethodologiesSW Development Methodologies
SW Development Methodologies
 
Sqm2mark
Sqm2markSqm2mark
Sqm2mark
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Software requirement & specification .pptx
Software requirement & specification .pptxSoftware requirement & specification .pptx
Software requirement & specification .pptx
 
SE Chapter 4 - Software Requirements.pptx
SE Chapter 4 - Software  Requirements.pptxSE Chapter 4 - Software  Requirements.pptx
SE Chapter 4 - Software Requirements.pptx
 
3-Requirements.ppt
3-Requirements.ppt3-Requirements.ppt
3-Requirements.ppt
 
software requirement and architecture.pdf
software requirement and architecture.pdfsoftware requirement and architecture.pdf
software requirement and architecture.pdf
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Ch24
Ch24Ch24
Ch24
 
7.quality management chapter 7
7.quality management chapter 77.quality management chapter 7
7.quality management chapter 7
 
Software Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxSoftware Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptx
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summarySoftware Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summary
 

More from Ahmed Alageed

More from Ahmed Alageed (18)

Project Scope Management
Project Scope ManagementProject Scope Management
Project Scope Management
 
Project / Program / Portfolio Management and Processes Groups
Project / Program / Portfolio Management and Processes GroupsProject / Program / Portfolio Management and Processes Groups
Project / Program / Portfolio Management and Processes Groups
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
 
Project Management slide 2
Project Management slide 2Project Management slide 2
Project Management slide 2
 
Project Management Course slide 1
Project Management Course slide 1Project Management Course slide 1
Project Management Course slide 1
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Lecture 5
Lecture 5 Lecture 5
Lecture 5
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3
 
Ch06
Ch06Ch06
Ch06
 
Ch05
Ch05Ch05
Ch05
 
Ch07
Ch07Ch07
Ch07
 
Ch04
Ch04Ch04
Ch04
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
المحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةالمحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسة
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 2
Lecture 2 Lecture 2
Lecture 2
 
Software Project Managment
Software Project ManagmentSoftware Project Managment
Software Project Managment
 
1 se-introduction
1 se-introduction1 se-introduction
1 se-introduction
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Requirement Engineering Lec.1 & 2 & 3

  • 1. SOFTWARE REQUIREMENT ENGINEERING Prepared By: Ahmed Alageed 1 1- INTRODUCTION
  • 2. 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
  • 3. COURSE DETAILS  6. Specification of requirements  7. Requirements Analysis  8.Tracking of Requirements  9. Quality Assurance  10. Tools 3
  • 4. 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
  • 5. 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
  • 6. CONTACT INFO.  You can contact me at any time by Email: Aalageed@neelain.edu.sd  I will be available at my office on Sat. after 12 PM 6
  • 7. 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
  • 8. COURSE REFERENCES 4. The Requirements Engineering Handbook by Ralph R. Young 5. Software requirements: Styles and techniques by Soren Lauesen 8
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. FUNCTIONAL PRODUCT REQUIREMENTS  from the developer's point of view: architecture, power supply, load distribution 16
  • 17. 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
  • 18. TYPES OF REQUIREMENTS  customer requirements  solution/system requirements,  product/component requirements 18
  • 19. 19
  • 20. PROBLEMS WITH REQUIREMENTS  unclear objectives  communication problems  language barriers  knowledge barriers  vague formulation  too formal formulations  ambiguous, overly specified, unclear, impossible, contradictory requirements 20
  • 21. PROBLEMS WITH REQUIREMENTS  instability of the requirements  bad quality of the requirements  insufficient user involvement  overlooked user classes  inaccurate planning  minimal specification 21
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. QUALITY CRITERIA FOR REQUIREMENTS  The requirements specification must be complete, consistent, modifiable and traceable 25
  • 26. SOLUTION  A solution is the implementation of the requirement Engineering & Requirement management. 26
  • 27. PRIORITY OF REQUIREMENTS  Commitment  Commitment is the degree of obligation  Observing legal responsibilities, especially in case of fault Fault  Deviation of the current state from the target state  Evaluation of the importance/urgency 27
  • 28. CRITICALITY OF REQUIREMENTS  Evaluation of the risk of a requirement by evaluating the damage in case of non- fulfillment of a requirement 28
  • 29. VALIDATION  Process of confirmation that the specification of a phase or the entire system fulfills the customer's requirements 29
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34.  IEEE 1362:  Guide for Information Technology – System Definition 34 STANDARDS AND NORMS
  • 35. 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
  • 36. 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
  • 37. 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