PBL in Software Modelling course, UM

Course overview

This is a hands-on software modelling activity that allows students to develop understanding of theoretical concepts and their practical application. In software development it is critical for software analysts to capture dynamic system behaviour for understanding all the possibilities of how the system will behave in certain circumstances or states. UML state machine diagrams are dynamic models that show the different states that a single class passes through during its life in response to events. The single class must be dynamic and enters a variety of states over the course of its existence. The course uses a problem-oriented problem-based active learning method (POPBL). The instructor presents students with 5 different existing real-life software systems, from which students select one for performing an activity in groups. The instructor kick-starts the activity by introducing a topic. The instructor explains the objectives of the project, the input, output, and implementation steps, and the forms to fill in. The students are asked to execute existing system software for developing understanding on how it behaves in real-time. Subsequently, students are asked to pick 2 main classes of the system software, of which one is an external object and the other is an interface object. They have to consider all the alternative events that might take place and capture the different behaviour of the objects as a result of these events. The activity ends by students presenting the state machine diagram while running the system software to check consistency of the design. The activity is completed in 60 minutes.

Participants in piloting 

The course is obligatory in the 2nd year of undergraduate studies at the Faculty of Computer Science and Information Technology of the University of Malaya. Approximately 80 students enrolled in the course in semester 1 of the 2019 – 2020 academic year. This is an entry-level course in software modelling. Participants have been exposed to case-based learning through 1st year courses.

Timeframe

Fall 2019

Use of ALIEN services and tools

The objective of the activity for the class is to design a complete state machine diagram to model system behaviour. Students engage in active learning for the modelling software related exercises linked to actual world practices.

Students implement the following:

  • Students select a software system from a machine operating around them. For example, a vending machine, a microwave, or an electronic bicycle.
  • Students execute (or run or operate) the system of the machine to understand the operation of the system.
  • Students decide which 2 classes of the system are predominant.
  • Students study the state changes of the classes. They are encouraged to consider all methods and guards that may affect the change of the states.
  • Students draw 2 complete state machine diagrams to represent the 2 selected classes.

These activities are implementing by using the writable surfaces of the TEALS laboratory.

The timeline of the activity is as follows:

  • Running the system (suggested duration 6 min).
  • Discussing and determining the significant classes of the system (10 min).
  • Dividing the group into 2 for each class (1 min).
  • Running again the system if clarification is necessary (6 min).
  • Deciding which states are involved for each class and determining transitions (10 min).
  • Including complete transitions by documenting events, conditions, and actions (10 min).
  • Finalizing the diagram (3 min).
  • Presenting the diagram (5 min).