SlideShare a Scribd company logo
1 of 29
An introduction to requirements engineering
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 contd. 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 contd. 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 al 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 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 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.1 Purpose of requirements document 	1.2 Scope of the product 	1.3 Definitions, acronyms and abbreviations 	1.4 References 	1.5 Overview of the remainder of the document
Requirements document structure 2. General description 	2.1 Product perspective 	2.2 Product functions 	2.3 User characteristics 	2.4 General constraints 	2.5 Assumptions and dependencies 3. Specific requirements 	Covering functional, non-functional and interface requirements.  4. Appendices 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 (XYZ) that develops scientific instruments
Organisation XYZ 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.
Organisation XYZ standard 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.
Organisation XYZ standard 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. These should be related to the statement of user requirements in Chapter 4.
Organisation XYZ standard 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. 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 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

More Related Content

What's hot

Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9Ian Sommerville
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9Ian Sommerville
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineeringMohammed Romi
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Ch13-Software Engineering 9
Ch13-Software Engineering 9Ch13-Software Engineering 9
Ch13-Software Engineering 9Ian Sommerville
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideMohammed Fazuluddin
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritizationSyed Zaid Irshad
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringZahoor Khan
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specificationshiprashakya2
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Ch26 - software engineering 9
Ch26 - software engineering 9Ch26 - software engineering 9
Ch26 - software engineering 9Ian Sommerville
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - BasicsPurvik Rana
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 

What's hot (20)

Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
 
Chap4 RE validation
Chap4 RE validationChap4 RE validation
Chap4 RE validation
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineering
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Ch13-Software Engineering 9
Ch13-Software Engineering 9Ch13-Software Engineering 9
Ch13-Software Engineering 9
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Ch26 - software engineering 9
Ch26 - software engineering 9Ch26 - software engineering 9
Ch26 - software engineering 9
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 

Viewers also liked

software requirements
 software requirements software requirements
software requirementsZaman Khan
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering ProfessionSaqib Raza
 
Software Requirements
 Software Requirements Software Requirements
Software RequirementsZaman Khan
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineeringIan Sommerville
 
Ch14-Software Engineering 9
Ch14-Software Engineering 9Ch14-Software Engineering 9
Ch14-Software Engineering 9Ian Sommerville
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9Ian Sommerville
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
Ch25-Software Engineering 9
Ch25-Software Engineering 9Ch25-Software Engineering 9
Ch25-Software Engineering 9Ian Sommerville
 
Ch12-Software Engineering 9
Ch12-Software Engineering 9Ch12-Software Engineering 9
Ch12-Software Engineering 9Ian Sommerville
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 

Viewers also liked (13)

Chap3 RE elicitation
Chap3 RE elicitationChap3 RE elicitation
Chap3 RE elicitation
 
Chap2 RE processes
Chap2 RE processesChap2 RE processes
Chap2 RE processes
 
Chap5 RE management
Chap5 RE managementChap5 RE management
Chap5 RE management
 
software requirements
 software requirements software requirements
software requirements
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering Profession
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineering
 
Ch14-Software Engineering 9
Ch14-Software Engineering 9Ch14-Software Engineering 9
Ch14-Software Engineering 9
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
Ch25-Software Engineering 9
Ch25-Software Engineering 9Ch25-Software Engineering 9
Ch25-Software Engineering 9
 
Ch12-Software Engineering 9
Ch12-Software Engineering 9Ch12-Software Engineering 9
Ch12-Software Engineering 9
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 

Similar to Chap1 RE Introduction

Software Requrement
Software RequrementSoftware Requrement
Software RequrementSeif Shaame
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software RequirementsJomel Penalba
 
Software Requirements
Software RequirementsSoftware Requirements
Software RequirementsBala Ganesh
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringJennifer Polack
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2SIMONTHOMAS S
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"Ra'Fat Al-Msie'deen
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringEhsan Elahi
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringJavedKhan524377
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringHuda Alameen
 
Assessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxAssessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxgalerussel59292
 

Similar to Chap1 RE Introduction (20)

Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Lec srs
Lec srsLec srs
Lec srs
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
 
Software engg unit 2
Software engg unit 2 Software engg unit 2
Software engg unit 2
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineering
 
Se lec 4
Se lec 4Se lec 4
Se lec 4
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Assessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docxAssessment RubricExemplary Accomplished Developing B.docx
Assessment RubricExemplary Accomplished Developing B.docx
 
Srs
SrsSrs
Srs
 

More from Ian Sommerville

Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9Ian Sommerville
 
Ch18-Software Engineering 9
Ch18-Software Engineering 9Ch18-Software Engineering 9
Ch18-Software Engineering 9Ian Sommerville
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9Ian Sommerville
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9Ian Sommerville
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9Ian Sommerville
 
Ch15-Software Engineering 9
Ch15-Software Engineering 9Ch15-Software Engineering 9
Ch15-Software Engineering 9Ian Sommerville
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 
Ch24-Software Engineering 9
Ch24-Software Engineering 9Ch24-Software Engineering 9
Ch24-Software Engineering 9Ian Sommerville
 

More from Ian Sommerville (9)

Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Ch18-Software Engineering 9
Ch18-Software Engineering 9Ch18-Software Engineering 9
Ch18-Software Engineering 9
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9
 
Ch15-Software Engineering 9
Ch15-Software Engineering 9Ch15-Software Engineering 9
Ch15-Software Engineering 9
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
Ch24-Software Engineering 9
Ch24-Software Engineering 9Ch24-Software Engineering 9
Ch24-Software Engineering 9
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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 textsMaria Levchenko
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Chap1 RE Introduction

  • 1. An introduction to requirements engineering
  • 2. 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
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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
  • 7. FAQs contd. 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
  • 8. FAQs contd. 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
  • 9. 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
  • 10. 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
  • 11. Emergent properties Emergent properties are properties of the system as a whole and only emerge once al of its individual sub-systems have been integrated Examples of emergent properties Reliability Maintainability Performance Usability Security Safety
  • 13. 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
  • 14. System engineering activities 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.
  • 15. 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.
  • 16. Requirements document 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.
  • 17. 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
  • 18. Requirements document structure IEEE/ANSI 830-1993 standard proposes a structure for software requirements documents 1. Introduction 1.1 Purpose of requirements document 1.2 Scope of the product 1.3 Definitions, acronyms and abbreviations 1.4 References 1.5 Overview of the remainder of the document
  • 19. Requirements document structure 2. General description 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 General constraints 2.5 Assumptions and dependencies 3. Specific requirements Covering functional, non-functional and interface requirements. 4. Appendices Index
  • 20. 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 (XYZ) that develops scientific instruments
  • 21. Organisation XYZ 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.
  • 22. Organisation XYZ standard 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.
  • 23. Organisation XYZ standard 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. These should be related to the statement of user requirements in Chapter 4.
  • 24. Organisation XYZ standard 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
  • 25. 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
  • 26. Writing essentials Requirements are read more often than they are written. 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
  • 27. 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
  • 28. 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
  • 29. Key points 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