COMP7201A - Analysis and design of enterprise applications in UML

Semester 1, 2021-22

Professor
T.H. Tse
Teaching assistant
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; 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
Course Learning Outcomes Relevant Programme Learning Outcome
CLO1. To understand and apply the software development process in relation to the fundamental principles and methodology in object-oriented analysis and design of contemporary software systems PLO.1, 4, 6, 7, 9, 12, 14
CLO2. To understand and apply use case modelling and object modelling to the analysis of contemporary systems PLO.4, 5, 9, 11
CLO3. To understand and apply dynamic modelling to the analysis of contemporary systems PLO.4, 5, 9, 11
CLO4. To understand and apply object-oriented design to contemporary systems PLO.4, 5, 9, 11
CLO5. To understand and apply Unified Modelling Language (UML) to object-oriented analysis and design PLO.4, 5, 9, 11
CLO6. To apply IBM Rational Software Architect as a CASE tools to object-oriented analysis and design PLO.9, 11
CLO7. To understand and critique the drawbacks of using UML in object-oriented analysis and design, and to apply formal methods to alleviate the problems PLO.4, 5, 6, 8, 9, 11, 14
View Programme 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
Course Content No. of Hours Course Learning Outcomes
1. Introduction 1.5 CLO1
2. Fundamentals in relation to software engineering 1.0 CLO1
3. Fundamentals in relation to object-orientation 1.0 CLO1
4. Introduction to the unified process 1.5 CLO1
5. Object-oriented analysis 6.0 CLO2, CLO5, CLO6
6. Practical guidelines for identifying classes and relationships 1.0 CLO2
7. Dynamic modelling with sequence diagrams 2.5 CLO3, CLO5, CLO6
8. Dynamic modelling with state machines 4.0 CLO3, CLO5, CLO6
9. Time and activity modelling 0.5 CLO4, CLO5
10. Object-oriented design 5.5 CLO4, CLO5, CLO6
11. Introducing design patterns 0.5 CLO4, CLO5
12. Introducing enterprise applications 0.5 CLO4, CLO5
13. Shortcomings of UML 0.5 CLO7
14. Formal methods and beyond 2.5 CLO7
15. Web design 0.5 CLO4
16. Presenting the proposal 1.0 CLO4
 
Assessment
Description Type Weighting * Tentative Assessment Period /
Examination Period ^
Course Learning Outcomes
Assignment 1 on object-oriented analysis Continuous Assessment 13.33% Week 6 CLO2, CLO5, CLO6
Assignment 2 on dynamic modelling Continuous Assessment 13.33% Week 8 CLO3, CLO5, CLO6
Assignment 3 on object-oriented design Continuous Assessment 13.33% Week 10 CLO4, CLO5, CLO6
Written examination covering all the taught contents in the course Written Examination 60% 8 - 23 December 2021 CLO1, CLO2, CLO3, CLO4, CLO5, CLO7
* The weighting of coursework and examination marks is subject to approval
^ The exact examination date uses to be released when all enrolments are confirmed after add/drop period by the Examinations Office.  Students must oblige to the examination schedule.  Students should NOT enrol in the course if they are not certain that they will be in Hong Kong during the examination period.  Absent from examination may result in failure in the course.  There is no supplementary examination for all MSc curriculums in the Faculty of Engineering.

For reference:
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.

  • R.S. Pressman and B.R. Maxim, Software Engineering: A Practitioner's Approach, 9th Edition, McGraw-Hill (2020).
  • I. Sommerville, Software Engineering, 10th Edition, Pearson (2016).

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
Date Time Venue Remark
Session 1 1 Sep 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 2 7 Sep 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 3 8 Sep 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 4 14 Sep 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 5 15 Sep 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 6 21 Sep 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 7 28 Sep 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 8 29 Sep 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 9 5 Oct 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 10 6 Oct 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 11 19 Oct 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 12 20 Oct 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 13 26 Oct 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 14 27 Oct 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 15 2 Nov 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 16 3 Nov 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 17 9 Nov 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 18 10 Nov 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
Session 19 16 Nov 2021 (Tue) 9:00am - 10:30am CB-A Face-to-face + Online
Session 20 17 Nov 2021 (Wed) 9:00am - 10:30am CB-A Face-to-face + Online
CB - Chow Yei Ching Building
Add/drop 1 September, 2021 - 15 September, 2021
Maximum class size 93
Back