Course overview
This course aims to equip the students with fundamental concepts in software engineering and to provide the necessary foundation before moving on to more detailed subjects on each concept at later stages of their studies. It discusses important software engineering concepts in the various types of common software process models. The students also build knowledge on concepts and techniques used in each software development phase including requirements engineering, software design, and software testing. The course also exposes students to object-oriented design, for example UML models, and tools for analyzing and designing software. Upon completion of the course students are able to appreciate most of the common software engineering concepts and techniques as well as produce various software artifacts and deliverables.
Participants in piloting
This course is part of the 1st year curriculum of studies in the BCS (Software Engineering) (Hons.), BIT (Graphics and Multimedia) (Hons.), and BIT (Visual Media) (Hons.) Programs at Universiti Tenaga Nasional. The main mode of delivery is lectures, which have duration of 3 hours weekly. For software engineering students this course is regarded as very important. For this reason, students are lot allowed credit transfer for this course.
Use of ALIEN services and tools
Active learning is deployed through digital serious games that address the requirements elicitation and analysis topic. The player assumes the role of a requirements analyst and is assigned a mission to gather the requirements of a system to be developed. The player collects information on the requirements from the non-playing characters (NPCs). A total of 7 NPCs exist in this game. They are categorized into 2 groups according to their roles. Firstly, there is the quest giver who gives the quest to the player. The quest acts as a “pass” for the player to start gathering the requirements. A timer starts once the quest is accepted. The 2nd category of NPCs is the stakeholders who are the sources of the requirements to be gathered. Depending on the scenarios, they may be clerks, administrative assistants, executives, project leaders, cashiers, managers, and directors. This category of NPCs can be further divided into 2 categories, actual and dummy. Actual ones are the correct NPCs who can potentially provide correct information on requirements; dummy NPCs are characters that are not relevant to the system to be developed and hence only provide unrelated requirements.
There are at least 3 different scenarios of 3 levels of increasing difficulty. In the 1st level, the player is asked to gather the requirements for a research assistant application system. The 2nd level is a car service centre scenario in which the player gathers the requirements for an appointment booking system. The 3rd level is a supermarket scenario where the player collects the requirements for a supermarket inventory system. The higher levels are harder in the sense that the scenarios have a larger scope with higher numbers of requirements to be gathered and analyzed. To meet the learning objectives of requirements elicitation and analysis, the requirements given by all NPCs are categorized based on their completeness, consistency, relevance, and practicality. The player is asked to label the categories correctly. In the 1st level, the player is asked for the completeness and relevance of the requirements. Consistency is added from the 2nd level onwards. In the 3rd level, the player is further asked to evaluate the practicality of the requirements.