CS708 : Software Requirement Engineering

Course Overview

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


Course Calendar

1 Introduction
2 Software Requirements
3 Kinds of Software Requirements
4 Another view of requirements
5 Processes and Process Models
6 Requirements Engineering Process
7 Actors and stakeholders in the requirements engineering process
8 Social and Cultural Issues in Requirements Engineering
9 Requirements Elicitation
10 Requirements Elicitation – 2
11 Specific Elicitation Techniques
12 Requirements Analysis
13 Requirements Analysis and Negotiation
14 Requirements Errors
15 Requirements Errors
16 Requirements Validation
17 Requirements Validation
18 Requirements Management
19 Requirements Management
20 Requirements Traceability
21 Prototyping
22 Review of Lectures 1-21
23 Writing Requirements
24 Requirements Document
25 Quality Attributes of Requirements Documents
26 Use Case Modeling
27 Use Case Modeling
28 Case Study and Use Cases for Case Study
29 Software Modeling
30 Object-Oriented Modeling with UML
31 Object-Oriented Static Modeling of the Banking System
32 Object-Oriented Static Modeling of the Banking System
33 Object-Oriented Static Modeling of the Banking System
34 Functional Modeling
35 Real-Time Structured Analysis and Design Technique (RSTAD) and Application of Banking Case
36 Structured Analysis and Design Technique
37 Dynamic Modeling
38 Dynamic Modeling of Banking System Case Study - I
39 Dynamic Modeling of Banking System Case Study - II
40 Requirements Document for the Banking System
41 Requirements Engineering for Agile Methods
42 Requirements Engineering for Web-Based Information Systems
43 Requirements Engineering for Product Lines
44 Requirements Prioritization
45 Review of Lectures 23-44