Differences between revisions 7 and 8
Revision 7 as of 2006-05-22 21:49:29
Size: 5914
Editor: t-indiv10-220
Comment:
Revision 8 as of 2006-05-22 21:52:19
Size: 5914
Editor: t-indiv10-220
Comment:
Deletions are marked like this. Additions are marked like this.
Line 38: Line 38:
 * 2:00pm: Specifcation Handover  * 2:00pm: Specification Handover
Line 49: Line 49:
  * Comments and discusstions   * Comments and discussions

Formal Software Specification (UML Modelling) (0605)

TableOfContents

1. 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.

2. Schedule

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

2.1. 29 May, morning

  • Think Different: Object orientation and Use cases by Jun, (beamer needed)

2.2. 29 May, afternoon

  • Introduction to the Project: Zoo of Tamagotchi animals by Jun, (beamer needed)

  • Use cases of the Zoo of Tamagotchi animals.

2.3. 30 May, morning

  • OO Modeling in UML by Yuechen, (beamer needed)

2.4. 30 May, afternoon

  • OO Modeling of the Zoo of Tamagotchi animals, coached by Jun

2.5. 31 May, morning

  • FMS in UML by Yuechen, (beamer needed)

2.6. 31 May, afternoon

  • FMS of the Zoo of Tamagotchi animals, coached by Jun

2.7. 1 June, morning

  • Software engineering by Loe, (beamer needed)

  • Finalizing the specification, coached by Jun

2.8. 1 June, afternoon

  • 2:00pm: Specification Handover
  • Read the specification from another team
  • Implementing the specification by acting, coached by Jun

2.9. 2 June, morning

  • Implementing the specification by acting, coached by Jun

2.10. 2 June, afternoon: The show

  • Format:
    • Every team perform the specification received from another team

    • The specification team comment on the performance.

    • Comments and discussions
  • Time:
    • 12:00pm-14:30pm: Performances and discussions
    • Every team gets 20 minutes at least, 30 minutes maximum.
    • 14:30pm-15:00pm: wrap up.

3. Project

3.1. Format

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

  • The first half of the project would be the teams making and specifying the OO design of the system;
  • At the end of the first half of the project, the teams swap their specifications for implementation;
  • The second half of the project would be implementing the specifications received.

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.

3.2. Zoo of Tamagotchi animals

A preliminary description of the requirement:

  • All animals live in a zoo.
  • An animal has got a life after it is born. While the life goes on, the animal moves and sleeps (if it is still alive), eats (if it moves and finds food), grows (if it eats) until one day, it dies because of hunger, illness or age.
  • Every animal has got a body. Different animals look different because of their different bodies. Every animal has got two eyes and one mouth on its body. When eyes are pinched, animals scream and can be hurt.
  • There are male and female animals. When grownup males and females meet, they may fall into love and the love may result in baby animals.
  • Some animals are pets. Pets have names and they wear their name plates on their bodies. People (the users) take care of their pets and feed them with food.
  • People may play with their pets to keep their pets fit.
  • Some baby animals will be selected by people and they become pets. The rest are left free in the zoo and they have to strive for food and try to survive by themselves.
  • When a zoo is created, it is empty, until people get some animals from somewhere else (from shops, for example).
  • People may exchange their pet animals.
  • Dogs and cats will be our favorite animals for the time being. Dogs bark and cats miaow. Cats are scared of dogs and can be bitten by dogs. When big dogs bark, cats scream and start running away. When big dogs fall into sleep, cats start getting together and partying.
  • The zoo is open for other animals, including unkown ones.

4. Modelling tools

JunHu: UmlMasterModule/0605 (last edited 2012-05-25 12:44:42 by JunHu)