Just Another Teaching of Software Engineering (2006-07)

This website archives the teaching and learning of a Software Engineering course. It supports teaching and learning during the course of study (September 2006 to May 2007). After the course, it is an archive for reference and sharing.

Lecture#13 Software Testing, Part 1

In this lecture, we will start to learn Software Testing. You will learn the meaning and use of test cases, test stubs and test drivers. Testing typically proceeds from unit testing via integration testing to system testing. You will also learn the common techniques available in each of the three types of testing.

Your actions before next class: Read Chapter 11 Testing of the textbook.

Web 2.0 Workshop at CityU

Hi Software Engineering Students:

Do you want to to learn how to build Web 2.0 businesses from scratch? Do you want to learn valuable experience from successful young startup entrepreneurs in Hong Kong? Here is a great opportunity for you.

Web 2.0 Workshop: Build Your Own Startup! (27 Jan 2007 (Saturday) 2:30-5:30pm)

Workshop speakers include

If you have time this Saturday afternoon, come join this workshop at CityU. Remember register the workshop first. See you there.

Tutorial#14 Mapping Models to Code

In this tutorial, you will do some class exercises about mapping models to code. You are first given a simple model in terms of class diagrams. You then apply the transformations you learned in the previous lecture to the associations in the model. You need to write the Java source code to manage the associations including class, field and method declarations, method bodies and visibility.

You can discuss with your classmates and tutor during your work. Submit your work to your tutor before you leave the class.

New Tutorial Class Schedule

Please note the following arrangement for the weekly tutorial class for MT356F students.

  • Group 1 Students
  • Wednesday 15:00-18:00
  • PC Lab B0411
  • Group 2 Students
  • Thursday 11:00-14:00
  • PC Lab B0413
  • Group 3 Students
  • Tuesday 14:00-17:00
  • PC Lab B0416

Lecture#12 Mapping Models to Code

In the previous lectures, we learned to refine a system design model into an object design model. In this lecture, we are ready to turn the object design model into executable code.

We have been working on models. We transform a model by improving certain aspects within it. Following the direction of normal transformation—from model to code—we are said to be forward engineering a system. Reversing the direction of normal transformation—for example, recovering a model from executable code—we are said to be reverse engineering a system. If we transform existing code into better quality code, we are said to be refactoring the code.

In this lecture, you will also learn how to write code to implement associations in the object models, how to code the contracts with Java exceptions, and how to implement object models in a relational database.

Your actions before next class: Read Chapter 10 Mapping Models to Code.

Tutorial#13 Review on UML Modeling

In this tutorial, you will do some class exercises to review UML modeling. Three questions are about class diagrams, and another two are about statechart diagrams and activity diagrams.

If you find yourself unable to get the right answers to those five questions, it means that you are still not familiar with basic object-oriented modeling knowledge. If so, spare some time to review the course materials on the topic.