COMP7201A - Analysis and design of enterprise applications in UML

Semester 1, 2017-18

Instructor
Professor T.H. Tse
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
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 modeling and object modeling to the analysis of contemporary systems. PLO.4, 5, 9, 11
CLO3. To understand and apply dynamic modeling 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 Modeling Language (UML) to object-oriented analysis and design. PLO.4, 5, 9, 11
CLO6. To apply IBM Rational Software Modeler 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 CLO1
2. Fundamentals in relation to software engineering 1 CLO1
3. Fundamentals in relation to object-orientation 2 CLO1
4. Introduction to the unified process 1 CLO1
5. Object-oriented analysis 5 CLO2, CLO5, CLO6
6. Practical guidelines for identifying classes and relationships 2 CLO2
7. Dynamic modeling with sequence diagrams 2 CLO3, CLO5, CLO6
8. Dynamic modeling with state machines 3 CLO3, CLO5, CLO6
9. Activity modeling 1 CLO4, CLO5
10. Object-oriented design 6 CLO4, CLO5, CLO6
11. Formal methods and beyond 3 CLO7
12. User interface design 3 CLO4
 
Assessment
Description Type Weighting * Tentative Assessment Period /
Examination Period ^
Course Learning Outcomes
Assignment 1 on object-oriented analysis Continuous Assessment 13.33% Week 5 or 6 CLO2, CLO5, CLO6
Assignment 2 on dynamic modeling Continuous Assessment 13.33% Week 7 or 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% Dec 8 to 23, 2017 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 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.

  • R.S. Pressman, Software Engineering: A Practitioner's Approach, 8th Edition, McGraw-Hill, New York, NY (2015).
  • I. Sommerville, Software Engineering: Global Edition, 10th Edition, Addison-Wesley, Boston, MA (2016).

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
Date Time Venue Remark
Session 1 5 Sep 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 2 7 Sep 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 3 12 Sep 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 4 14 Sep 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 5 19 Sep 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 6 21 Sep 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 7 26 Sep 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 8 28 Sep 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 9 3 Oct 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 10 10 Oct 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 11 12 Oct 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 12 24 Oct 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 13 26 Oct 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 14 31 Oct 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 15 2 Nov 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 16 7 Nov 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 17 9 Nov 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 18 14 Nov 2017 (Tue) 10:30am - 12:00pm CB-A  
Session 19 16 Nov 2017 (Thu) 10:30am - 12:00pm CB-A  
Session 20 21 Nov 2017 (Tue) 10:30am - 12:00pm CB-A  
CB - Chow Yei Ching Building
Add/drop 1 September, 2017 - 14 September, 2017
Quota 100
Back