TableOfContents

Introduction

With this assignment, we will try to wrap up your knowledge about Java, or any other object-oriented programming language you know (C++, Object Pascal, Python, Ruby ...), to get the essence of object orientation, to turn yourself from a programmer back to a designer: Use object orientation as a tool to slice the compex into the simple, and put them back again in a structured way.

Schedule

Week 1
  • Lecture: An introduction to UML
  • Assignment 1, to be finished in 1 week:
    Week 2
  • Lecture: Object oriented analysis and design (OOA & OOD)

  • Assignment 2, to be finished in 2 weeks:
    • Modeling (not programming!) a product designed by yourself, using use case diagrams, class diagrams, sequence diagrams and activity diagrams.
    Week 3
  • Lecture: Design Patters I: Observer, Iterator, Singleton, Factory ...
  • Continue Assignment 2.
  • Assignment 3, to be finished in 2 weeks:
    • Reading: [http://www.patterndepot.com/put/8/JavaPatterns.htm The Design Patterns java Companion]

    • You may also refer to the following famous books (if you are lucky, you may grab a copy from the university library):
      • GoF: [#Gamma+HelmETAL-DesiPattElemReus:95 Design Patterns -- Elements of Reusable Object-oriented Software]

      • POSA 1: [#BUSCHMANN:1996 Pattern-Oriented Software Architecture, Volume 1: A System of Patterns]

      • POSA 2: [#Schmidt+StalETAL-PattSoftArchVolu:00 Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects]

    Week 4
  • Presentation: Everybody gets 5 minutes to present the results of Assignment 2.
  • Continue Assignment 3.
  • Week 5
  • Lecture: Design Patterns II: MVC, PAC
  • Assignment 4, to be finished in 2 weeks
    • Redesign your game from Java A&B, using object-oriented analysis and design approach.

    • At least 3 design patterns should be used in the game and identified in the report.
    Week 6
  • work. work.
  • Final deliverables

    Online Resources

    References