PBL in Advanced Software Requirements Engineering course, NUCES

Course overview

This course introduces students to the fundamental principles and methodologies of Requirements Engineering.  Course will cover traditional and advanced topics on RE. The course basically is based on RE process and its activities in detail, Value based RE, AI in RE process, Goal based RE, NFR testing etc. The students will learn the following through this course:

  1. Students will learn the basics of req engineering to build projects in industry.
  2. Students will learn the cutting-edge research on advanced topics of requirements engineering.
  3. To introduce the modern methods of req prioritization, elicitation and testing.
  4. To introduce methods to manage safety and security reqs/risks of mission critical systems.

Participants in piloting 

This course was conducted with the Graduate students from the Faculty of Computer Science. Approximately 90 students were enrolled in three sessions. Most of them were 2nd semester (1st year) students of Master of science in Software engineering program. This course is offered as a core/mandatory subject to the master students. The course took place in Fall semester of the 2018 to 2020 academic year.

Timeframe

Fall 2018

Fall 2019

Fall 2020

Use of ALIEN services and tools

Students were assigned a couple of assignments, which were conducted through active learning, and more specifically project-based learning, with the intention of covering the following topics: requirements elicitation, requirements specification, requirements prioritization and dependency identification, requirements validation, pattern identification.

To achieve this objective following tasks were given to the students:

  1. Students were given a case study and they were divided into groups to develop understanding of the case and discuss it with each other. Then they were supposed to come up with the requirements/features of the project modules as per the description given.
  2. In the second part, the students were asked to do the quality analysis of the requirements.
  3. Then they identified the type of the requirements
  4. Then the students were asked to identify the dependencies lying among the requirements.
  5. The students then performed requirements validation.
  6. The last task was to identify patterns among the requirements.

This step-by-step project was done with the help of classroom tutoring and lecture notes. As a topic was covered in class it was practiced by the students by completing one milestone of the project.