Instructor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Teaching assistant |
Ms. Jolly M.Y. Cheng
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syllabus | This course presents an industrial-strength approach to software development based on the object-oriented modelling of business entities. Topics include: overview of software engineering and object-oriented concepts; unified process and Unified Modelling Language (UML); use-case modelling and object modelling; dynamic modelling using sequence diagrams and state machines; object-oriented design; user interface design; introducing design patterns and enterprise applications; shortcomings of UML and remedies. Emphasis will be given on hands-on exercises with the use of CASE tools. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Introduction by Instructor | We present the methodology, techniques, and
tools for the analysis and design of software applications. The unified
process is the de facto methodology for the development of object-oriented
systems. UML is the de facto technique for the specification for such
systems. IBM Rational Software Modeler is the de facto tool for such
specifications. At the end of the course, we also discuss the shortcomings
of UML and introduce alternative means to tackle such problems. Prof. T.H. Tse was selected for a Best Teacher Award by the Faculty of Engineering in 2012. His teacher effectiveness for this course in the last three years was 95.2%, 95.0%, and 89.2%. Ms Jolly Cheng was selected for a Best Tutor Award by the Department of Computer Science in 2015. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Learning Outcomes |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pre-requisites | A course in object-oriented programming and a course in software engineering or systems analysis and design. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compatibility | Nil | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Topics covered |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Assessment |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Course materials |
Lecture Materials: The lecture materials are based on more than 20 years of research and consultancy in object-oriented analysis and design. Lecture slides can be downloaded at the Moodle website by clicking "Lecture Materials". The relevant files will be ready on the night before each lecture. We will do our best to make the lecture materials as self-contained as possible. However, they cannot be complete without actual attendance of lectures, taking notes personally, and discussions in the open forum. If there are problems in understanding, please feel free to ask the professor. Textbook: "Unfortunately, no single book can possibly cover OO design and programming in real depth." -- Allen Holub Additional Reference: The following additional reference is for advanced students who would like to go into more breadth and depth in the subject matter. It is not meant to be a textbook. If you do not understand anything about the course, the best channel is to ask the professor rather than reading the additional reference.
Background References: Students who need reading materials to refresh their background concepts in software analysis and design may refer to undergraduate textbooks listed here.
Long Reading List: Some advanced students enjoy reading a lot of references. They may find the list in http://www.holub.com/goodies/books.html interesting. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Session dates |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Add/drop | 1 September, 2017 - 14 September, 2017 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Quota | 100 |