Formal Software Specification (UML Modelling) (0605)

TableOfContents

Module Description

A product with sensors, actuators and network connections can offer an interesting, useful, or playful behaviour to its users and to the other products, systems and services to which it is connected. The ID Master takes responsibility for the creation of this behaviour. If the product isn’t stand-alone, neither is the designer. Whenever product behaviour is realised through computer software and protocols, the designer takes advantage of being an excellent communicator in these matters. In present-day software engineering, the Universal Modelling Language UML has become widely accepted. It contains “activity diagrams”, “use case diagrams”, “class diagrams”, “state charts” and “message sequence charts”. The knowledge and skills that students get by participating in this module will help them to express the structure and behaviour of the software components in their design in a way that is understood by third parties. Starting from elementary programming skills, which are a prerequisite, the student will develop an understanding and appreciation of what it means to master complexity. The scope is widened from small programs to real complex software systems. Although developing and maintaining such systems usually involves computer scientists as well, the ID Master will be well equipped to use UML and thus specify system structure and desired behaviour.

Jun Hu, Yuechen Qian, and Loe Feijs will work together to provide background information, explain UML and create a learning experience in which reading UML, writing UML, and creating software come together.

Schedule

Note: All morning sessions start at 9:30AM.

29 May, morning

29 May, afternoon

30 May, morning

30 May, afternoon

31 May, morning

31 May, afternoon

1 June, morning

1 June, afternoon

2 June, morning

2 June, afternoon: The show

Project

Format

Students are divided into teams. Every team gets the same task: Designing a system called Zoo of Tamagochi Animals:

Don't worry. No Java. No C++. No programming at all.

We are not going to do real software implementations. We will implement the system by acting the specification out to show how the system should work according to the specification. Students can play the objects, showing their behaviors and the communication in between. Stage tools can also be used to represent objects, interfaces, and events etc. We will need some imagination and creativity.

Zoo of Tamagotchi animals

A preliminary description of the requirement:

Modelling tools