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

Introduction to Software Requirements Engineering1Davis (1993), Kotonya and Sommerville (1998)
Software Requirements (Non Functional Requirements)2Sommerville (2001)
Kinds of Software Requirements (Non Functional, Domain, Inverse, Design and Implementation Requirements)3Sommerville (2001)
Requirements from the User/Customer’s Perspective, Issues Related to System Contract Requirements and Requirements Problems4Sommerville (2001)
Processes, Process Models and Requirement Engineering Process (Cont.)5Kotonya and Sommerville (1998), Sommerville (2001)
Quality Measurements6Kotonya and Sommerville (1998), Sommerville (2001)
Actors and Stakeholders in the Requirements Engineering Process, Process and Process Improvement for Requirements Engineering7Kotonya and Sommerville (1998), Sommerville (2001)
Social and Cultural Issues in Requirements Engineering8Kotonya and Sommerville (1998), Sommerville (2001)
Assignment No. 1
Requirements Elicitation and Problems During Elicitation Techniques, Basics of Knowledge Acquisition, Knowledge Acquisition Techniques9Kotonya and Sommerville (1998)
Requirements Elicitation Stages, Knowledge Structuring Techniques10Kotonya and Sommerville (1998)
Specific Elicitation Techniques Including the Interviewing, Scenarios, Prototyping and Participant Observation11Kotonya and Sommerville (1998)
Requirements Analysis, Incomplete Requirements, Inconsistent requirements, Analysis checklists12Kotonya and Sommerville (1998)
Requirements Analysis and Negotiation (Interaction Matrices)13Kotonya and Sommerville (1998)
Requirements Errors, Impact of Requirements Errors, Error Prevention in Requirements (contd.)14Kotonya and Sommerville (1998)
Requirements Errors, Defect Removal and in Particular Inspections Using Perspective-based Reading15Kotonya and Sommerville (1998)
Requirements Validation and Requirements Validation Techniques (Cont.)16Kotonya and Sommerville (1998)
Assignment No. 2
Requirements Validation Techniques17Kotonya and Sommerville (1998)
Requirements Management, Stable and Volatile Requirements (Cont.)18Kotonya and Sommerville (1998)
Requirements Management, Requirements Identification Techniques, Change Management, Change Management Policies and Change Management Procedures19Kotonya and Sommerville (1998)
Requirements Traceability, Classifications of Requirements Traceability, Traceability Information, Policies, and Techniques20Kotonya and Sommerville (1998)
Prototyping and its Types, Approaches of Prototyping21Kotonya and Sommerville (1998)
Review of Lectures 1-2122
Mid-term Examination
Writing Requirements, Problems in the Requirements Writing Activities23Kotonya and Sommerville (1998)
Requirements Document, Importance and Contents of Requirements Documents24Kotonya and Sommerville (1998)
Quality Attributes of Requirements Documents25Davis (1993)
Concept of Use Case Modeling26Booch et al. (2005)
Concept of Use Case Modeling (Cont.)27Booch et al. (2005)
Use Cases Modeling (Banking System Case Study)28Gomaa (2000)
Software Modeling, Primary Aim of Modeling, Modeling Techniques29Booch et al. (2005)
Software Modeling (Cont.), Object-Oriented Modeling Using UML30Gomaa (2000)
Object Oriented Analysis, Different kinds of Objects and Classes, Object-Oriented Static Modeling (Banking System)31Gomaa (2000)
Course Viva
Object-Oriented Static Modeling (Banking System) (Cont.)32Gomaa (2000)
Object-Oriented Static Modeling (Banking System) (Cont.)33Gomaa (2000)
Functional Modeling, Principles of Modeling34Davis (1993), Pressman (2001)
Real-Time Structured Analysis and Design Technique (RSTAD) and Application of Banking System Case study35Gomaa (1993)
Structured Analysis and Design Technique (SADT) and Application of Banking System Case Study36Davis (1993)
Dynamic Modeling, Techniques for Dynamic Modeling37Booch et al. (2005)
Dynamic Modeling of Banking System Case Study - I38Gomaa (2000)
Academic Research Paper
Dynamic Modeling of Banking System Case Study - II39Gomaa (2000)
Requirements Modeling, Analysis and Specification of the Banking System Case Study40Gomaa (2000)
Requirements Engineering for Agile Methods and Their Approaches to Requirements Elicitation and Management41Aurum (2004)
Requirements Engineering for Web-Based Information Systems42Aurum (2004)
Requirements Engineering for Product Lines43Gomaa (2004)
Requirements Prioritization, Benefits of Requirements Prioritization, Prioritization Techniques44Aurum (2004)
Review of Lectures 23-4445
Final-term Examination
* This is tentative schedule and may subject to change
Back to Top