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

Software maintenance
Software maintenance Software maintenance
Software maintenance
Rajeev Sharan
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
Siddharth Ayer
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
Deepak Sharma
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Slideshare
 

What's hot (20)

requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Lecture4 requirement engineering
Lecture4 requirement engineeringLecture4 requirement engineering
Lecture4 requirement engineering
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Requirement elicitation
Requirement elicitationRequirement elicitation
Requirement elicitation
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
 
Software Requirements and Specifications
Software Requirements and SpecificationsSoftware Requirements and Specifications
Software Requirements and Specifications
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 

Viewers also liked

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 (19)

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
Requirements analysisRequirements analysis
Requirements analysis
 
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
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
 

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
 
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
madhurpatidar2
 

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...
 
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
 
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
 

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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

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