Course Introduction:

Requirements engineering is a critical and fundamental part of software development process. Requirements engineering discipline covers a vast range of activities including requirements elicitation, requirements analysis, requirements documentation, requirements validation and requirements management. Success of software development project is depended on the enactment of requirements engineering phase. It is the phase where system stakeholders make decision regarding scope, features, functionality and constrains on the system to be developed.This course presents an overview of the fundamentals of requirements engineering and discusses in detail the processes and practices important to elicit requirements, techniques for requirements analysis, guidelines/methods for requirement specification development, system modeling perspectives, techniques for requirements validation and critical issues of requirements management.

 Credit Hours: 3(3+0)

Course Learning Outcomes:

At the successful completion of this course students should be able to:

  1. Understand the key knowledge area of requirements engineering.
  2. Understand different phases of requirements engineering.
  3. Apply requirements engineering practices in industrial setting.

Textbook:

  1. Software Requirements  by Karl Wiegers, 2nd Edition (2003). Microsoft Press; ISBN-10: 0735618798

Assessment Criteria:

Sessional Marks: 20 Marks

  • Quiz 1:                  05 marks
  •  Assignment 1:      05 marks
  • class participation & Presentation:  10 marks

Mid Semester Exam: 30 Marks

Final Semester Exam: 50 Marks

Course Contents:

Following contents will be covered in this course:

1. Requirements Engineering (RE): Essential Software Requirement, Bad Requirements, Characteristics and Benefits Requirement Engineering, Requirements from the Customer‘s Perspective.

2. RE Processes: Requirements Elicitation, Requirements Analysis, Requirements Specification, Requirements Validation, Requirements Management, and Requirements Development Process. 

3. The Requirements Analyst Role, Tasks, Essential Skills & Knowledge, Defining the Vision through Business Requirements, Vision and Scope Document.

4. Dealing with Customers: Elicitation Techniques, Interviews, Surveys, Workshops, Classifying Customer Input, Incomplete Requirements (Finding Missing Requirements).

5. Prototype Categories (Throwaway, evolutionary, paper and electronic), evaluation, Risks, Validating the Requirements: Requirements Review and Inspection, Requirements Review Challenges, Acceptance Criteria.

6. Documenting the Requirements: The Software Requirements Specification, Labelling, Dealing with Incompleteness, User Interfaces and the SRS, A Software Requirements Specification Template, The Data Dictionary.

7. Non Functional Requirements: Software Quality Attributes: Defining, Performance Requirements, Defining Non-functional Requirements Using Planguage, Attribute Tradeoffs, Implementing Non-functional Requirements .

8. Setting Requirements Priorities: Why Prioritize Requirements? Play With Priorities, A Prioritization Scale, Prioritizing Based on Value, Cost, and Risk .

9. Special Requirements Challenges: Requirements for Maintenance Projects, Begin Capturing Information, New Requirements Techniques, Follow the Traceability Chain, Consider Business Rules, Requirements for Outsourced Projects, Requirements for Emergent Projects .

10. Requirements Development Plans, Estimation, Scheduling, From Requirements to Designs, Code, Tests and Success .

11. Requirements Management Principles and Practices, Baseline, Procedures, Requirements Version Control, Tracking Requirements Status.

12. Requirements Creeping, Managing Scope Creep, The Change Control Process, The Change Control Board, Change-Control Tools, Measuring Change Activity, Impact Analysis .

13. Tracing Requirements introduction, The Requirements Traceability Matrix, Tools for Requirements Traceability, Requirements Traceability Procedure, Is Requirements Traceability .

14. Tools for Requirements Management: Benefits and Capabilities of tool for Requirements Management.

15. Requirements Management Automation, Selecting a Tool, Changing the Culture . Software Requirements Risk Management: Fundamentals, Elements, Documenting Project Risks.

16. Planning for Risk Management, Requirements-Related Risks .

Time Table:

BSSE 3rd Regular (Tuesday: 8:00-9:30 AM) (Wednesday: 9:30 -11:00PM)

BSSE 3rd Self (Tuesday: 11:00-12: 30 PM) (Wednesday: 11:00-12:30 PM)   

Course Material