トップページへ

2021 Faculty Courses School of Computing Undergraduate major in Computer Science

Object-Oriented Design

Academic unit or major
Undergraduate major in Computer Science
Instructor(s)
Takashi Kobayashi / Shinpei Hayashi
Class Format
Lecture
Media-enhanced courses
-
Day of week/Period
(Classrooms)
7-8 Mon (W331) / 7-8 Thu (W331)
Class
-
Course Code
CSC.T361
Number of credits
200
Course offered
2021
Offered quarter
4Q
Syllabus updated
Jul 10, 2025
Language
Japanese

Syllabus

Course overview and goals

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

[Overview]
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.

Course description and aims

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.

Keywords

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

Competencies

  • 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/Objectives

Course schedule Objectives
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

Study advice (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.

Textbook(s)

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

Reference books, course materials, etc.

None

Evaluation methods and criteria

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

Can make Java programs and use basically Eclipse for programming