Appendix G: Online Tests Case Study - Object Oriented Analysis

The complete object oriented analysis for the Air Gourmet case study appears in Section 12.8 of Schach's textbook, Object-Oriented and Classical Software Engineering. The example presented here is for an online test system. The diagrams below are similar, but not identical, to the diagrams in that section of Schach's textbook. It shows the steps that lead to the class model, the dynamic model, and the functional model.

Firstly we develop the ER diagram (or the IC cards), from which we can determine the classes:

Student(ID, First_Name, Last_Name, Password)
Course(Course#, Course_Title, Section#)
Teacher(ID, Frst_Name, Last_Name)
Grade(SID, Course#, test1, test2, midterm, final)
Secondly, we work out the scenario.

  • Student requests access to a test
  • Student takes a test
  • Test is graded
  • Student requests access to grade report
  • Student requests communications with teacher
  • Student receives feedback from teacher

    The state diagram for the "student" class of the online test system, which is the dynamic model, can be derived from the scenario.

    Thirdly, from data flow analysis we can construct the functional model for the "student" class of the online test system.

    Note: For those who know UML, the use-case diagram can be a preliminary step for Object-Oriented Analysis.