2021 Object-Oriented Design

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Computer Science
Kobayashi Takashi  Hayashi Shinpei 
Class Format
Media-enhanced courses
Day/Period(Room No.)
Mon7-8(W331)  Thr7-8(W331)  
Course number
Academic year
Offered quarter
Syllabus updated
Lecture notes updated
Language used
Access Index

Course description and aims

Students learn practical skills about object-oriented analysis and design.

Students learn through practical training techniques and practical skills about software design by using object oriented design, design patterns, etc. Make experiences in usefulness of these techniques.

Student learning outcomes

By taking this course, students learn skills get skills of software development including requirements analysis using use case modeling, developing class diagrams, implementation and testing.


Object oriented design, Class diagram, Use case modeling, Design pattern, Test, Metrics, Refactoring, UML, Java

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

Each lecture is combined with a simple exercise.

Course schedule/Required learning

  Course schedule Required learning
Class 1 Introduction to Software Development Processes and reviews of Java programming Java programming
Class 2 Software design led to high modifirability Understanding software designs with super classes and module independence
Class 3 Class diagram Writing class diagrams
Class 4 Writing class diagrams with a tool Writing class diagrams with Eclipse
Class 5 Unit Test Understanding the usage of JUnit in Eclipse
Class 6 Characteristics of object oriented design Understanding data abstraction, polymorphism, abstract classes and basic ides of design patterns
Class 7 Design pattern (1) Using design patterns for structure and behavior
Class 8 Design pattern (2) Using design patterns for creation
Class 9 Improvement of design: Software metrics Understanding and using software metrics
Class 10 Improvement of design: Refactoring Understanding and using refactoring techniques
Class 11 Introduction to requirements analysis and Use case modeling Understanding requirements analysis, and writing use case diagrams and descriptions
Class 12 Derivation of class diagrams from requirements documents Understanding the usage of use case models and CRC method
Class 13 Derivation of class diagrams by CRC method Using practically CRC method
Class 14 Introduction to UML diagrams Understanding UML and writing a sequence diagram

Out-of-Class Study Time (Preparation and Review)

To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.


None. Slides of lectures are available via the home page.

Reference books, course materials, etc.


Assessment criteria and methods

Small assignments (50-60%) and a final assignment (40-50%). Obtain 50% of full marks in each category.

Related courses

  • CSC.T273 : Object-Oriented Programming

Prerequisites (i.e., required knowledge, skills, courses, etc.)

Can make Java programs and use basically Eclipse for programming

Page Top