Requirements Engineering Software Engineering

Everything you need to know about software requirements: elicitation, analysis, documentation, validation and management
Requirements Engineering Software Engineering
File Size :
2.65 GB
Total length :
5h 21m



Maged Koshty


Last update

Last updated 8/2022



Requirements Engineering Software Engineering

What you’ll learn

Understand the need for requirements for software systems.
Learn different types of requirements: functional, non-functional, system and process requirements
Understand the requirements engineering processes.
Learn different techniques to derived and elicit requirements
Discuss requirements analyses and conceptual modeling
Explain how requirements are classified
Explain various techniques to document the requirements
Overview software requirements verification and validation
Provide an overview of requirements change management

Requirements Engineering Software Engineering


– Basic Knowledge of Software Development Life Cycles


“Requirements Engineering” Is the first course in our “Software Engineering” series.If you are involved in software projects, especially large ones, you know that dealing with software requirements is the biggest problem the software practitioner faces almost at every project.Not working effectively with software requirements could be the number one reason for many software projects’ failures.The course will discuss concepts for systematically establishing, defining, and managing the requirements for large, complex, changing, and software-intensive systems from technical, organizational, and management perspectives.The course will consider the past, present, and future paradigms and methodologies in requirements engineering.The course will cover informal, semi-formal, and formal approaches while balancing theory and practice.The course will involve building models of both requirements engineering process and requirements engineering product, concerning both functional and non-functional goals/requirements/specifications, using a systematic decision-making process.This course will help you manage the requirements aspect of software projects with different domains, sizes, technologies, platforms, and different practitioners’ and customers’ experiences. We need to acquire a set of tools, techniques, and best practices and learn when to use them to handle software requirements effectively and efficiently.In this course, You will learn various techniques to capture requirements, analyze and validate requirements, control and manage requirements change requests, and deliver a solid requirements document.You will understand the requirements analysts’ role in a software project, which will help you know what you need from them and what they need from you.The course is based on the (Software Engineering Book of Knowledge (the SWEBOK) from IEEE. So this course can also help you pass various software engineering exams provided by IEEE. I will teach you everything you need to know, and I will answer any of your questions 24 x 7.


Section 1: Software Engineering Introduction

Lecture 1 Software Engineering Introduction

Lecture 2 Why Learn Software Engineering?

Lecture 3 What is Software Engineering?

Section 2: Introduction to Requirements Engineering

Lecture 4 Requirements Engineering – Introduction

Lecture 5 Definition of a Software Requirement

Lecture 6 Product and Process Requirement

Lecture 7 Functional and Non-Functional Requirements

Lecture 8 Non-Fuctional Requirements

Lecture 9 More Non-Functional Requirements

Lecture 10 Emergent Properties

Lecture 11 Quantifiable Attributes

Lecture 12 Software and System Requirements

Section 3: Requirements Process

Lecture 13 Process Models

Lecture 14 Process Actors

Lecture 15 Requirements Process Support and Management

Lecture 16 Process Quality and Improvement

Section 4: Requirements Elicitation

Lecture 17 Requirements Elicitation – Introduction

Lecture 18 Issues and Problems in Requirements Elicitation

Lecture 19 Requirements Sources

Lecture 20 Requirements Elicitation Techniques

Lecture 21 Brainstorming

Lecture 22 Interview

Lecture 23 Facilitated Workshops

Lecture 24 Focus Groups

Lecture 25 Joint Application Development (JAD)

Lecture 26 Prototypes

Lecture 27 Benchmarking

Lecture 28 Persona

Lecture 29 Scenarios and Use cases

Lecture 30 User Story

Lecture 31 Questionnaires and Surveys

Lecture 32 Role-playing and Viewpoints

Lecture 33 Document Analysis

Lecture 34 Observation

Lecture 35 Ethnography

Lecture 36 When to Stop Eliciting Requirements

Section 5: Requirements Analysis

Lecture 37 Requirements Analysis – Introduction

Lecture 38 Requirements Classification

Lecture 39 Architectural design and requirements allocation

Lecture 40 Requirements Negotiation

Lecture 41 Formal Analysis

Lecture 42 Derived Requirements

Lecture 43 Feature Analysis

Section 6: Requirements Modeling

Lecture 44 Why Requirements Modeling?

Lecture 45 Data Flow Diagram (DFD)

Lecture 46 Class Diagram

Lecture 47 Activity Diagram

Lecture 48 State Diagram

Section 7: Requirements Documentation

Lecture 49 Requirements Documentation – Introduction

Lecture 50 Detailed vs. Simplified Requirements Documents

Lecture 51 Creating a Simplified Requirements Document

Lecture 52 Creating the SRS

Lecture 53 Properties of a Single Requirement

Lecture 54 Properties of the Whole Requirements Document

Lecture 55 System Requirements Specification (SysRS)

Section 8: Requirements Validation

Lecture 56 Requirements Validation Introduction

Lecture 57 Requirements Review

Lecture 58 Prototyping

Lecture 59 Modal Validation

Lecture 60 Acceptance Tests

Section 9: Requirements Management and Practical Considerations

Lecture 61 Change Management

Lecture 62 Change Control

Lecture 63 Status Tracking

Lecture 64 Version Control

Lecture 65 Requirements Traceability Matrix

Lecture 66 How Does Agile Manage Change?

Lecture 67 How to Limit Changes And Change Impact?

Section 10: Requirements Tools

Lecture 68 Requirements Tools Classification

Lecture 69 Brainstorming Tools

Lecture 70 Prototyping Tools

Lecture 71 Modeling Tools

Lecture 72 Collaboration Tools

Lecture 73 Business Needs Assessment Tools

Lecture 74 Data Analysis Tools

Lecture 75 Why Requirement Management Tools?

Lecture 76 Requirements Management Tools

Lecture 77 Main Principles For Tool Selection

Lecture 78 Introducing A Tool Into An Organization

Lecture 79 Success Factors For Tools

Business Analysts, System Analysts and Requirements Engineers,Product Owners,Project Managers, Product Managers and Team Leaders,Software Practitioners: Developers, Testers, Designers,Software Engineering Students

Course Information:

Udemy | English | 5h 21m | 2.65 GB
Created by: Maged Koshty

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top