Modeling and Specification in Action

1. Module Description

A product with sensors, actuators and network connections can offer an interesting, useful, or playful behavior 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 behavior. If the product isn’t stand-alone, neither is the designer. Whenever product behavior is realized through computer software and protocols, the designer takes advantage of being an excellent communicator in these matters. In present-day software engineering, the Universal Modeling Language UML has become widely accepted. It contains activity diagrams, use case diagrams, class diagrams, State Machine diagrams and Sequence diagrams. The knowledge and skills that students get by participating in this module will help them to express the structure and behavior 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 behavior.

Jun Hu 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. A method of acting out will be applied in verifying the models and the specifications.

2. Groups

* Group 1 sends the specifications to Group 2, Group 2 acts out the received specifications. 2 => 3, 3=> 1 and so on.

3. Schedule

The rooms are available for the module during the following time slots. Please also check below the detailed schedule for lectures and activities.

Monday, Sept. 09

08:45 – 17:30 hrs

HG 4.95

Tuesday, Sept. 10

08:45 – 12:30 hrs

HG 4.24

Wednesday, Sept. 11

08:45 – 12:30 hrs

HG 2.30

Thursday, Sept. 12

08:45 – 12:30 hrs

HG 3.96

Friday, Sept. 13

13:45 – 17:30 hrs

HG 3.21

3.1. Monday morning

3.2. Monday afternoon

3.3. Tuesday morning

3.4. Tuesday afternoon

3.5. Wednesday morning

3.6. Wednesday afternoon

3.7. Thursday morning

3.8. Thursday afternoon

3.9. Friday morning

3.10. Friday afternoon

4. Exercise: Reverse engineering of a Zoo of animals

Students start with an existing Java implementation of a Zoo of animals. By running and reading the code, students get their hands on the use cases, class diagrams and activity diagrams. Acting-out is practiced to see whether the diagrams describe the design concepts of the Zoo correctly.

5. Project: Designing and modeling a Zoo of Tamagotchi animals

Based on the basic understand of OO design principles and the acting-out approach, a new Zoo is to be designed, modeled, specified and verified.

5.1. Format

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

You are not going to do real software implementations. You will implement the system by acting the specification out to show how the system should work according to the specification. You can play the objects, showing their behaviors and the communications in between. Stage props can be used to represent objects, interfaces, and events etc. Imagination and creativity are needed.

5.2. Zoo of Tamagotchi animals

A preliminary description of the requirement:

6. Deliverable

7. Tools

8. References

Allen Holub's UML Quick Reference

JunHu: UmlMasterModule/1309 (last edited 2013-09-08 19:28:22 by 82-170-197-110)