Popular Agile Methodologies

Agile Database

Agile Modeling

Adaptive Software Development

Feature Driven Development

Dynamic Systems Development Method

Test Driven Development


Diagram 2


Outlines for introduction of USE OCL tool

  • Where to Download?
  • Installation steps
    • JDK / JRE
    • Unzip the USE package
  • Starting the USE tool (use.bat)
  • Basics Screen Layout
  • Loading USE specification file (.use file) via the UI
    • Test a USE file with invalid syntax problem
  • Class diagram (UI)
    • Class name / Attributes / Methods / Associations (Role name, Multiplicities)
  • Object diagram (UI)
    • Create objects / Assign attributes / Adding associations / Removing associations
  • Structure checking (UI)
    • Create 6 Courses and 1 Student, link them up with “Taking” association via UI
    • Test the structure with State > Check structure now
    • Remove 1 Course from the Student
    • Check the structure again

  • Command prompt
    • !create - Create object
      • !create courseObj: Course
      • !create john: Student
    • !set - Assign object field value
      • !set john.name := ‘John Chan’
      • !set john.id := ‘12345678’
    • !insert - Link up objects with association
      • !insert (john, courseObj) into Taking
    • !delete - Remove objects link
      • !delete (john, courseObj) from Taking

  • Testing the pre-conditions and post-conditions of a method
    • !openter - Enter an operation and check the pre-conditions
      • !openter john enroll (courseObj)
      • !openter john drop (courseObj)
    • !opexit - Finish an operation and check the post-conditions

  • Further command prompt technique
    • Loading the USE specification (.use) file from command prompt
      • open C:\path_to_use_file\file.use
    • Running command file (.cmd file) file from command prompt
      • open C:\path_to_cmd_file\file.use
      • open C:\path_to_cmd_file\file.use


Reverse Engineering vs Reengineering in Software Development

Reverse Engineering is basically analyzing the existing product (without documentation, code, etc.) and rebuilt the software development models and logical flows. It only exams the product.

Reengineering, which is even a larger process, which aims to build a new software to replace the old one.


Project Planning Tool : ProjectLibre

There is a nice alternative for OpenProject, the ProjectLibre (www.projectlibre.org) is now available in the market, check it out.


Software for diagram

You may want to take a look at the following website for a big list of diagram software:


USE 3.0.6 is released

The OCL tool USE 3.0.6 is released and available at http://sourceforge.net/projects/useocl/


Sample problem statement for room booking system

Problem domain:

The organization provides a number of activity rooms for members to use. To make a room reservation, the member will need to record their booking in a log book. This logistics requires a lot of manual work to maintain the records, which tends to be an error prone approach. Hence, some automated approach is preferred, and the organization would like to have a room booking portal to improve the situation.


Using the room booking portal, member can first check the availability of their preferred activity rooms, and make the corresponding bookings online. The staff can check the booking status of the rooms and have appropriate arrangements for the bookings. In addition, members can also view their booking histories via the interface.

Functional requirements:

  • Members and staff can check the booking status of the activity rooms
  • Members can make reservations for the room
  • Members can check their reservation histories
  • Member and staff requires login ID and password for accessing the system

Non-functional requirements:

  • The user interface should be easy for users to operate without additional training
  • The system response time should be fast (e.g. response within 5 secs)
  • The system should allow large number of concurrent accesses (e.g. 100 concurrent users)
  • The system should provides high availability to users (e.g. < 5% downtime)
  • The system should be secure enough such that members personal data can be safely protected

Target environment:

  • User should be able to access to the portal via major web browsers. (IE/Firefox/Safari/Chrome/etc)
  • The server will be running in Unix environment

Deliverable and deadlines:

  • The portal should be installed and online for testing at
  • The portal will be released for member accesss at
  • System maintainence / instruction manual will be delivered at


yUML - Online UML diagram tool

yUML is an online tool which generates UML diagrams based on their syntax. It's a real handy tool in case you need a quick way to generate small UML diagrams without any drawing tools available.

Cacco - Online drawing tool

Cacoo is an drawing tool which allows users to create many types of diagram (including UML diagram) online. Diagram could be saved and exported as common graphics format files.