Jiadi Yu Associate Professor.

Office:  3-515, SEIEE Building


Teaching Assistant

Li Lu & Xiangyu Xu

Office:  3-126, SEIEE Building



Course Info

Course Web Site:

Content: This course covers the Theoretical Foundations required for successful building of complex system

Catalog Description: Software Process, UML, Software Analysis and Specification, Software Design, Software Testing

Text: Bruegge and Dutoit, Object-Oriented Software Engineering Using UML, Patterns and Java, 3rd Edition, Prentice-Hall, 2010

Prerequisites Courses: A course on principles of object-oriented software development



  • Learn basics of the software engineering (SE) process life cycle.

  • Learn what the object-oriented (OO) approach to software development is, through OO principles and design patterns.

  • Learn UML (Unified Modeling Language) that is part of most CASE (Computer Aided Software Engineering) tools and the benefits of visual modeling / diagramming.

  • Practice the application of principles of object-oriented software development through the course group project.

  • Develop teamwork and communication skills through the course group project.



Week 1

Wednesday: Introduction to SE (Chapter 0 & Chapter 1)

Friday: Modeling with UML (1) (Chapter 2)

Week 2

Wednesday: Modeling with UML (2) (Chapter 2)

Friday: Project Organization and Management  (Chapter 3)

Week 3

Wednesday: Requirements Elicitation  (Chapter 4)

Friday: Analysis (Chapter 5)

Week 4

Wednesday: System Design-Decomposing the System (Chapter 6)

Friday: System Design-Addressing Design Goals (Chapter 7)

Week 5

Wednesday: Object Design-Reusing Patterns (1) (Chapter 8)

Friday: Object Design-Reusing Patterns (2) (Chapter 8)

Week 6

Wednesday: Object Design-Specifying Interfaces (Chapter 9)

Friday: Mapping Models to Code (Chapter 10)

Week 7

Wednesday: Testing (1) (Chapter 11)

Friday: Testing (2) (Chapter 11)

Week 8

Wednesday: Manage Change (Chapter 12)

Friday: Review (Review Guideline)



Assignments:                                      30%

Final Exam:                                       70%


Class Policies

You must turn off all cell phones before entering the class.

You must attend all classes and be present in class on time.  If you miss more than 3 classes you will NOT RECEIVE A PASSING GRADE. If you miss a class, you are responsible for all material covered on that day.

The student is required to complete all exercise assignments. Late assignments (e.g. homework exercises, exercise reports) will be accepted up to a maximum of 1 week after the due date; however, only 50% credit will be allotted.


Practical Course

About Practical Course

Assignment1 (Template)

Assignment2 (Template)

Assignment3 (Template)

Assignment4 (Template)