CS708 Software Requirement Engineering

CS708 Software Requirement Engineering


Introduction to Software Requirements Engineering, Non Functional Requirements, Kinds of Software Requirements, Requirements from the User/Customer’s Perspective, Process Models and Requirement Engineering Process, Actors and Stakeholders in the Requirements Engineering Process, Social and Cultural Issues in Requirements Engineering, Requirements Elicitation – Stages, Basics of Knowledge Acquisition, Knowledge Structuring Techniques, Specific Elicitation Techniques Including: Interviewing, Scenarios, Prototyping and Participant Observation; Requirements Analysis – Incomplete Requirements, Inconsistent Requirements, Analysis Checklists; Requirements Analysis and Negotiation, Requirements Errors – Impact of Requirements Errors, Error Prevention in Requirements, Defect Removal, Requirements Validation, Requirements Management – Stable and Volatile Requirements, Requirements Identification Techniques, Change Management; Requirements Traceability, Prototyping, Writing Requirements, Requirements Document, Quality Attributes of Requirements Document, Use Case Modeling (Case Study: Banking System), Software Modeling, Object-Oriented Modeling Using UML, Object-Oriented Static Modeling (Case Study: Banking System), Functional Modeling (Case Study: Banking System), Dynamic Modeling (Case Study: Banking System), Requirements Engineering for Agile Methods, Requirements Engineering for Web-Based Systems, Requirements Engineering for Product Lines, Requirements Prioritization.

Course Synopsis

This is a graduate level course. The course will introduce the basics of requirements engineering. It will discuss the issues, processes, and techniques in requirements engineering. The course will teach different modeling approaches in problem solving. It will introduce advance and potential research topics in requirements engineering.

Course Learning Outcomes

After the completion of this course, student should be able to:

  • Understand the basics of requirements engineering.
  • Understand the social, cultural, political, and technical issues in requirements engineering.
  • Understand activities in requirements engineering (requirements elicitation, analysis and negotiation, validation, and management).
  • Understand requirements traceability.
  • Understand requirements documentation.
  • Understand use-case modeling, object-oriented static modeling, functional modeling, and dynamic modeling techniques applicable in requirements engineering.
  • Understanding the need for research in selected topics in requirements engineering.
  • To know how to apply the learnt concepts, knowledge and techniques to solve real world problems

Download Section

CS708 Handouts

CS708 PPT Slides

CS708 Video Lectures

CS708 Midterm

CS708 Final Term

CS708 Viva