SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Chapter 2 – An introduction to
requirements engineering
Requirements Engineering
Mutah University
Faculty of IT, Department of Software Engineering
Dr. Ra’Fat A. AL-msie’deen
https://sites.google.com/site/ralmsideen/
https://rafat66.github.io/Al-Msie-Deen/
rafatalmsiedeen@mutah.edu.jo 1
Requirements Engineering - "Ch2 an introduction to requirements"
Based on
Some content from Gerald Kotonya and Ian Sommerville’s text with the same name.
Objectives
• To introduce the notion of system requirements and
the requirements engineering process.
• To explain how requirements engineering fits into a
broader system engineering process.
• To explain the importance of the requirements
document.
System requirements
• Define what the system is required to do and the constraints
under which it is required to operate.
– The system shall maintain records of all library materials
including books, serials, newspapers and magazines, video and
audio tapes, reports, collections of transparencies, computer
disks and CD-ROMs.
– The system shall allow users to search for an item by title,
author, or by ISBN.
– The system’s user interface shall be implemented using a
World-Wide Web browser.
– The system shall support at least 20 transactions per second.
– The system facilities which are available to public users shall be
demonstrable in 10 minutes or less.
Types of requirements
• Very general requirements which set out in broad terms what
the system should do.
• Functional requirements which define part of the system’s
functionality.
• Implementation requirements which state how the system
must be implemented.
• Performance requirements which specify a minimum
acceptable performance for the system.
• Usability requirements which specify the maximum
acceptable time to demonstrate the use of the system.
Requirements problems
• The requirements don’t reflect the real needs of the customer
for the system.
• Requirements are inconsistent and/or incomplete.
• It is expensive to make changes to requirements after they
have been agreed.
• There are misunderstandings between customers, those
developing the system requirements and software engineers
developing or maintaining the system.
FAQS about requirements
• What are requirements?
– A statement of a system service or constraint.
• What is requirements engineering?
– The processes involved in developing system
requirements.
• How much does requirements engineering cost?
– About 15% of system development costs.
• What is a requirements engineering process?
– The structured set of activities involved in developing
system requirements
FAQs Cont.
• What happens when the requirements are wrong?
– Systems are late, unreliable and don’t meet customers
needs.
• Is there an ideal requirements engineering process?
– No - processes must be tailored to organisational needs.
• What is a requirements document?
– The formal statement of the system requirements.
• What are system stakeholders?
– Anyone affected in some way by the system
FAQs Cont.
• What is the relationship between requirements and design?
– Requirements and design are interleaved. They should,
ideally, be separate processes but in practice this is
impossible.
• What is requirements management?
– The processes involved in managing changes to
requirements
Systems engineering
• There is a close relationship between software and more
general system requirements.
• Computer-based systems fall into two broad categories:
– User-configured systems where a purchaser puts together
a system from existing software products.
– Custom systems where a customer produces a set of
requirements for hardware/software system and a
contractor develops and delivers that system.
Classes of custom systems
• Information systems
– Primarily concerned with processing information which is
held in some database.
• Embedded systems
– Systems where software is used as a controller in some
broader hardware system.
• Command and control systems
– Essentially, a combination of information systems and
embedded systems where special purpose computers
provide information which is collected and stored and
used to make decisions.
Emergent properties
• Emergent properties are properties of the system as a whole
and only emerge once all of its individual sub-systems have
been integrated.
• Examples of emergent properties
– Reliability
– Maintainability
– Performance
– Usability
– Security
– Safety
The systems engineering process
System engineering activities
• System requirements engineering
– The requirements for the system as a whole are
established and written to be understandable to all
stakeholders.
• Architectural design
– The system is decomposed into sub-systems.
• Requirements partitioning
– Requirements are allocated to these sub-systems.
• Software requirements engineering
– More detailed system requirements are derived for the
system software.
System engineering activities Cont.
• Sub-system development
– The hardware and software sub-systems are designed and
implemented in parallel.
• System integration
– The hardware and software sub-systems are put together
to make up the system.
• System validation
– The system is validated against its requirements.
Requirements document
• The requirements document is a formal document used to
communicate the requirements to customers, engineers and
managers.
• The requirements document describes:
– The services and functions which the system should
provide.
– The constraints under which the system must operate.
– Overall properties of the system i.e., constraints on the
system’s emergent properties.
– Definitions of other systems which the system must
integrate with.
Requirements document Cont.
• The requirements document describes:
– Information about the application domain of the system
e.g., how to carry out particular types of computation.
– Constraints on the processes used to develop the system.
– Description of the hardware on which the system is to run.
• In addition, the requirements document should always
include an introductory chapter which provides an overview
of the system, business needs supported by the system and a
glossary which explains the terminology used.
Users of requirements documents
• System customers
– specify the requirements and read them to check they meet
their needs.
• Project managers
– Use the requirements document to plan a bid for system and to
plan the system development process.
• System engineers
– Use the requirements to understand the system being
developed.
• System test engineers
– Use the requirements to develop validation tests for the system.
• System maintenance engineers
– Use the requirements to help understand the system.
Requirements document structure
• IEEE/ANSI 830-1993 standard proposes a structure for
software requirements documents.
1. Introduction
1. Purpose of requirements document
2. Scope of the product
3. Definitions, acronyms and abbreviations
4. References
5. Overview of the remainder of the document
Requirements document structure
Cont.
1. Introduction
2. General description
1. Product perspective
2. Product functions
3. User characteristics
4. General constraints
5. Assumptions and dependencies
3. Specific requirements
 Covering
 functional, non-functional and interface requirements.
4. Appendices
5. Index
Adapting the standard
• The IEEE standard is a generic standard which is intended
apply to a wide range of requirements documents.
• In general, not all parts of the standard are required for all
requirements documents.
• Each organisation should adapt the standard depending on
the type of systems it develops.
• Consider a company (Als3ode) that develops scientific
instruments
Organization Als3ode standard
• Preface
– This should define the expected readership of the
document and describe its version history including a
rationale for the creation of a new version and a summary
of the changes made in each version.
• Introduction
– This should define the product in which the software is
embedded, its expected usage and present and overview
of the functionality of the control software.
• Glossary
– This should define all technical terms and abbreviations
used in the document.
Organization Als3ode standard Cont.
• General user requirements
– This should define the system requirements from the
perspective of the user of the system. These should be
presented using a mixture of natural language and
diagrams.
• System architecture
– This chapter should present a high-level overview of the
anticipated system architecture showing the distribution of
functions across system modules. Architectural
components which are to be reused should be highlighted.
• Hardware specification
– This is an optional chapter specifying the hardware that
the software is expected to control. It may be omitted if
the standard instrument platform is used.
Organization Als3ode standard Cont.
• Detailed software specification
– This is a detailed description of the functionality expected
of the software of the system. It may include details of
specific algorithms which should be used for computation.
If a prototyping approach is to be used for development on
the standard instrument platform, this chapter may be
omitted.
• Reliability and performance requirements
– This chapter should describe the reliability and
performance requirements which are expected of the
system.
Organization Als3ode standard Cont.
• The following appendices may be included where
appropriate:
– Hardware interface specification.
– Software components which must be reused in the system
implementation.
– Data structure specification.
– Data-flow models of the software system.
– Detailed object models of the software system.
• Index
Writing requirements
• Requirements are usually written as paragraphs of natural
language text supplemented by diagrams and equations.
• Problems with requirements:
 use of complex conditional clauses which are confusing.
 sloppy and inconsistent terminology.
 writers assume readers have domain knowledge.
Writing essentials
• Requirements are read more often than they are written.
o You should invest time to write readable and
understandable requirements.
• Do not assume that all readers of the requirements have the
same background and use the same terminology as you.
• Allow time for review, revision and re-drafting of the
requirements document.
Writing guidelines
→ Define standard templates for describing requirements.
→ Use language simply consistently and concisely.
→ Use diagrams appropriately.
→ Supplement natural language with other description of
requirements.
→ Specify requirements quantitatively.
Key points
 Requirements define what the system should provide and
define system constraints.
 Requirements problems lead to late delivery and change
requests after the system is in use.
 Requirements engineering is concerned with eliciting,
analysing, and documenting the system requirements.
Key points … Cont.
 Systems engineering is concerned with systems as a whole
including hardware, software and operational processes.
 The requirements document is the definitive specification of
requirements for customers, engineers and managers.
 The requirements document should include a system
overview, glossary, statement of the functional requirements
and the operational constraints.
Chapter 2 – An introduction to
requirements engineering
Requirements Engineering
Mutah University
Faculty of IT, Department of Software Engineering
Dr. Ra’Fat A. AL-msie’deen
https://sites.google.com/site/ralmsideen/
https://rafat66.github.io/Al-Msie-Deen/
rafatalmsiedeen@mutah.edu.jo 32

Más contenido relacionado

La actualidad más candente

Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysisAntony Alex
 
selection of hardware & software in SAD
selection of hardware & software in SAD selection of hardware & software in SAD
selection of hardware & software in SAD Ankita Agrawal
 
Introduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyIntroduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyGaditek
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTUMohammad Faizan
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationNiraj Kumar
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineeringIan Sommerville
 

La actualidad más candente (20)

Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
selection of hardware & software in SAD
selection of hardware & software in SAD selection of hardware & software in SAD
selection of hardware & software in SAD
 
Introduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyIntroduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information Technology
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Ch1
Ch1Ch1
Ch1
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Computer Sided Software Engineering
Computer Sided Software EngineeringComputer Sided Software Engineering
Computer Sided Software Engineering
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineering
 

Similar a Requirements Engineering - "Ch2 an introduction to requirements"

Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staffvijisvs2012
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docxjeremylockett77
 
W4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringW4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringFareeha Iftikhar
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btechIIITA
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor Nazmy
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 
6. System and its Life Cycle.pptx
6. System and its Life Cycle.pptx6. System and its Life Cycle.pptx
6. System and its Life Cycle.pptxAminaButt14
 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principleskhaerul azmi
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringLalit Pal
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 

Similar a Requirements Engineering - "Ch2 an introduction to requirements" (20)

Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
Sw2 1
Sw2 1Sw2 1
Sw2 1
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx1 Software Requirements Descriptions and specification.docx
1 Software Requirements Descriptions and specification.docx
 
W4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gatheringW4 lecture 7&8 - requirements gathering
W4 lecture 7&8 - requirements gathering
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
6. System and its Life Cycle.pptx
6. System and its Life Cycle.pptx6. System and its Life Cycle.pptx
6. System and its Life Cycle.pptx
 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principles
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
22-REQUIREMENT.ppt
22-REQUIREMENT.ppt22-REQUIREMENT.ppt
22-REQUIREMENT.ppt
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Unit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product DesignUnit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product Design
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software Engineering
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 

Más de Ra'Fat Al-Msie'deen

SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfSoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfRa'Fat Al-Msie'deen
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfRa'Fat Al-Msie'deen
 
Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
 
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...Ra'Fat Al-Msie'deen
 
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...Ra'Fat Al-Msie'deen
 
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Ra'Fat Al-Msie'deen
 
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachAutomatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachRa'Fat Al-Msie'deen
 
Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Ra'Fat Al-Msie'deen
 
Detecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsDetecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsRa'Fat Al-Msie'deen
 
Naming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeNaming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeRa'Fat Al-Msie'deen
 
Application architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignApplication architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignRa'Fat Al-Msie'deen
 
Planning and writing your documents - Software documentation
Planning and writing your documents - Software documentationPlanning and writing your documents - Software documentation
Planning and writing your documents - Software documentationRa'Fat Al-Msie'deen
 
Requirements management planning & Requirements change management
Requirements management planning & Requirements change managementRequirements management planning & Requirements change management
Requirements management planning & Requirements change managementRa'Fat Al-Msie'deen
 
Software Documentation - writing to support - references
Software Documentation - writing to support - referencesSoftware Documentation - writing to support - references
Software Documentation - writing to support - referencesRa'Fat Al-Msie'deen
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 

Más de Ra'Fat Al-Msie'deen (20)

SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfSoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
 
Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
 
Source Code Summarization
Source Code SummarizationSource Code Summarization
Source Code Summarization
 
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
 
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
 
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
 
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachAutomatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
 
Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...
 
Detecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsDetecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variants
 
Naming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeNaming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source Code
 
Application architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignApplication architectures - Software Architecture and Design
Application architectures - Software Architecture and Design
 
Planning and writing your documents - Software documentation
Planning and writing your documents - Software documentationPlanning and writing your documents - Software documentation
Planning and writing your documents - Software documentation
 
Requirements management planning & Requirements change management
Requirements management planning & Requirements change managementRequirements management planning & Requirements change management
Requirements management planning & Requirements change management
 
Software Documentation - writing to support - references
Software Documentation - writing to support - referencesSoftware Documentation - writing to support - references
Software Documentation - writing to support - references
 
Algorithms - "heap sort"
Algorithms - "heap sort"Algorithms - "heap sort"
Algorithms - "heap sort"
 
Algorithms - "quicksort"
Algorithms - "quicksort"Algorithms - "quicksort"
Algorithms - "quicksort"
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 

Último

How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17Celine George
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17Celine George
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfMohonDas
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesCeline George
 
General views of Histopathology and step
General views of Histopathology and stepGeneral views of Histopathology and step
General views of Histopathology and stepobaje godwin sunday
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICESayali Powar
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxDr. Asif Anas
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptxraviapr7
 
M-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxM-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxDr. Santhosh Kumar. N
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptxmary850239
 
Prescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxPrescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxraviapr7
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...raviapr7
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice documentXsasf Sfdfasd
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxEduSkills OECD
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsEugene Lysak
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17Celine George
 
Patterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptxPatterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptxMYDA ANGELICA SUAN
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfMohonDas
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...CaraSkikne1
 

Último (20)

How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdf
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 Sales
 
General views of Histopathology and step
General views of Histopathology and stepGeneral views of Histopathology and step
General views of Histopathology and step
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICE
 
Prelims of Kant get Marx 2.0: a general politics quiz
Prelims of Kant get Marx 2.0: a general politics quizPrelims of Kant get Marx 2.0: a general politics quiz
Prelims of Kant get Marx 2.0: a general politics quiz
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptx
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
 
M-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxM-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptx
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptx
 
Prescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptxPrescribed medication order and communication skills.pptx
Prescribed medication order and communication skills.pptx
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice document
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George Wells
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17
 
Patterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptxPatterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptx
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdf
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...
 

Requirements Engineering - "Ch2 an introduction to requirements"

  • 1. Chapter 2 – An introduction to requirements engineering Requirements Engineering Mutah University Faculty of IT, Department of Software Engineering Dr. Ra’Fat A. AL-msie’deen https://sites.google.com/site/ralmsideen/ https://rafat66.github.io/Al-Msie-Deen/ rafatalmsiedeen@mutah.edu.jo 1
  • 3. Based on Some content from Gerald Kotonya and Ian Sommerville’s text with the same name.
  • 4. Objectives • To introduce the notion of system requirements and the requirements engineering process. • To explain how requirements engineering fits into a broader system engineering process. • To explain the importance of the requirements document.
  • 5. System requirements • Define what the system is required to do and the constraints under which it is required to operate. – The system shall maintain records of all library materials including books, serials, newspapers and magazines, video and audio tapes, reports, collections of transparencies, computer disks and CD-ROMs. – The system shall allow users to search for an item by title, author, or by ISBN. – The system’s user interface shall be implemented using a World-Wide Web browser. – The system shall support at least 20 transactions per second. – The system facilities which are available to public users shall be demonstrable in 10 minutes or less.
  • 6. Types of requirements • Very general requirements which set out in broad terms what the system should do. • Functional requirements which define part of the system’s functionality. • Implementation requirements which state how the system must be implemented. • Performance requirements which specify a minimum acceptable performance for the system. • Usability requirements which specify the maximum acceptable time to demonstrate the use of the system.
  • 7. Requirements problems • The requirements don’t reflect the real needs of the customer for the system. • Requirements are inconsistent and/or incomplete. • It is expensive to make changes to requirements after they have been agreed. • There are misunderstandings between customers, those developing the system requirements and software engineers developing or maintaining the system.
  • 8. FAQS about requirements • What are requirements? – A statement of a system service or constraint. • What is requirements engineering? – The processes involved in developing system requirements. • How much does requirements engineering cost? – About 15% of system development costs. • What is a requirements engineering process? – The structured set of activities involved in developing system requirements
  • 9. FAQs Cont. • What happens when the requirements are wrong? – Systems are late, unreliable and don’t meet customers needs. • Is there an ideal requirements engineering process? – No - processes must be tailored to organisational needs. • What is a requirements document? – The formal statement of the system requirements. • What are system stakeholders? – Anyone affected in some way by the system
  • 10. FAQs Cont. • What is the relationship between requirements and design? – Requirements and design are interleaved. They should, ideally, be separate processes but in practice this is impossible. • What is requirements management? – The processes involved in managing changes to requirements
  • 11. Systems engineering • There is a close relationship between software and more general system requirements. • Computer-based systems fall into two broad categories: – User-configured systems where a purchaser puts together a system from existing software products. – Custom systems where a customer produces a set of requirements for hardware/software system and a contractor develops and delivers that system.
  • 12. Classes of custom systems • Information systems – Primarily concerned with processing information which is held in some database. • Embedded systems – Systems where software is used as a controller in some broader hardware system. • Command and control systems – Essentially, a combination of information systems and embedded systems where special purpose computers provide information which is collected and stored and used to make decisions.
  • 13. Emergent properties • Emergent properties are properties of the system as a whole and only emerge once all of its individual sub-systems have been integrated. • Examples of emergent properties – Reliability – Maintainability – Performance – Usability – Security – Safety
  • 15. System engineering activities • System requirements engineering – The requirements for the system as a whole are established and written to be understandable to all stakeholders. • Architectural design – The system is decomposed into sub-systems. • Requirements partitioning – Requirements are allocated to these sub-systems. • Software requirements engineering – More detailed system requirements are derived for the system software.
  • 16. System engineering activities Cont. • Sub-system development – The hardware and software sub-systems are designed and implemented in parallel. • System integration – The hardware and software sub-systems are put together to make up the system. • System validation – The system is validated against its requirements.
  • 17. Requirements document • The requirements document is a formal document used to communicate the requirements to customers, engineers and managers. • The requirements document describes: – The services and functions which the system should provide. – The constraints under which the system must operate. – Overall properties of the system i.e., constraints on the system’s emergent properties. – Definitions of other systems which the system must integrate with.
  • 18. Requirements document Cont. • The requirements document describes: – Information about the application domain of the system e.g., how to carry out particular types of computation. – Constraints on the processes used to develop the system. – Description of the hardware on which the system is to run. • In addition, the requirements document should always include an introductory chapter which provides an overview of the system, business needs supported by the system and a glossary which explains the terminology used.
  • 19. Users of requirements documents • System customers – specify the requirements and read them to check they meet their needs. • Project managers – Use the requirements document to plan a bid for system and to plan the system development process. • System engineers – Use the requirements to understand the system being developed. • System test engineers – Use the requirements to develop validation tests for the system. • System maintenance engineers – Use the requirements to help understand the system.
  • 20. Requirements document structure • IEEE/ANSI 830-1993 standard proposes a structure for software requirements documents. 1. Introduction 1. Purpose of requirements document 2. Scope of the product 3. Definitions, acronyms and abbreviations 4. References 5. Overview of the remainder of the document
  • 21. Requirements document structure Cont. 1. Introduction 2. General description 1. Product perspective 2. Product functions 3. User characteristics 4. General constraints 5. Assumptions and dependencies 3. Specific requirements  Covering  functional, non-functional and interface requirements. 4. Appendices 5. Index
  • 22. Adapting the standard • The IEEE standard is a generic standard which is intended apply to a wide range of requirements documents. • In general, not all parts of the standard are required for all requirements documents. • Each organisation should adapt the standard depending on the type of systems it develops. • Consider a company (Als3ode) that develops scientific instruments
  • 23. Organization Als3ode standard • Preface – This should define the expected readership of the document and describe its version history including a rationale for the creation of a new version and a summary of the changes made in each version. • Introduction – This should define the product in which the software is embedded, its expected usage and present and overview of the functionality of the control software. • Glossary – This should define all technical terms and abbreviations used in the document.
  • 24. Organization Als3ode standard Cont. • General user requirements – This should define the system requirements from the perspective of the user of the system. These should be presented using a mixture of natural language and diagrams. • System architecture – This chapter should present a high-level overview of the anticipated system architecture showing the distribution of functions across system modules. Architectural components which are to be reused should be highlighted. • Hardware specification – This is an optional chapter specifying the hardware that the software is expected to control. It may be omitted if the standard instrument platform is used.
  • 25. Organization Als3ode standard Cont. • Detailed software specification – This is a detailed description of the functionality expected of the software of the system. It may include details of specific algorithms which should be used for computation. If a prototyping approach is to be used for development on the standard instrument platform, this chapter may be omitted. • Reliability and performance requirements – This chapter should describe the reliability and performance requirements which are expected of the system.
  • 26. Organization Als3ode standard Cont. • The following appendices may be included where appropriate: – Hardware interface specification. – Software components which must be reused in the system implementation. – Data structure specification. – Data-flow models of the software system. – Detailed object models of the software system. • Index
  • 27. Writing requirements • Requirements are usually written as paragraphs of natural language text supplemented by diagrams and equations. • Problems with requirements:  use of complex conditional clauses which are confusing.  sloppy and inconsistent terminology.  writers assume readers have domain knowledge.
  • 28. Writing essentials • Requirements are read more often than they are written. o You should invest time to write readable and understandable requirements. • Do not assume that all readers of the requirements have the same background and use the same terminology as you. • Allow time for review, revision and re-drafting of the requirements document.
  • 29. Writing guidelines → Define standard templates for describing requirements. → Use language simply consistently and concisely. → Use diagrams appropriately. → Supplement natural language with other description of requirements. → Specify requirements quantitatively.
  • 30. Key points  Requirements define what the system should provide and define system constraints.  Requirements problems lead to late delivery and change requests after the system is in use.  Requirements engineering is concerned with eliciting, analysing, and documenting the system requirements.
  • 31. Key points … Cont.  Systems engineering is concerned with systems as a whole including hardware, software and operational processes.  The requirements document is the definitive specification of requirements for customers, engineers and managers.  The requirements document should include a system overview, glossary, statement of the functional requirements and the operational constraints.
  • 32. Chapter 2 – An introduction to requirements engineering Requirements Engineering Mutah University Faculty of IT, Department of Software Engineering Dr. Ra’Fat A. AL-msie’deen https://sites.google.com/site/ralmsideen/ https://rafat66.github.io/Al-Msie-Deen/ rafatalmsiedeen@mutah.edu.jo 32