Professor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Teaching assistant | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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; modern web 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 Professor | We present the methodology, techniques, and
tools for the analysis and design of software applications. The unified
process is the prime methodology for the development of object-oriented
systems. UML is the prime technique for the specification of such systems. IBM Rational Software Architect is the prime 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 score was 96.3% in 2020. The course effectiveness was 89.7%, which was the highest score among postgraduate and undergraduate courses of the department in the same semester. Prof. Tse is ranked internationally as no. 3 among experts in test case prioritization. The paper titled "Adaptive random testing: The ART of test case diversity" by Prof. Tse and team has been selected as the Grand Champion of the Most Influential Paper Award in 2021. 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 30 years of teaching, 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 no later than 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 attendance of lectures, taking notes personally, asking questions, and discussing in the open forum. Simply watching the video recording of lectures is not a sufficient substitute. If there are problems in understanding, please make sure that you approach the professor. Textbook: "Unfortunately, no single book can possibly cover OO design and programming in real depth." -- Allen Holub Basic References: Students who need reading materials to refresh their background concepts in software analysis and design may refer to undergraduate textbooks listed here.
Advanced Reference: The following advanced reference is for experienced students who would like to go into more breadth and depth of 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 advanced reference.
Long Reading List: Some advanced students enjoy reading a lot of references. They may find the list in https://www.holub.com/goodies/books.html interesting. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Session dates |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Add/drop | 1 September, 2021 - 15 September, 2021 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Maximum class size | 93 |