1
课程详述
COURSE SPECIFICATION
以下课程信息可能根据实际授课需要或在课程检讨之后产生变动。如对课程有任何疑问,请联
系授课教师。
The course information as follows may be subject to change, either during the session because of unforeseen
circumstances, or following review of the course at the end of the session. Queries about the course should be
directed to the course instructor.
1.
课程名称 Course Title
面向对象分析与设计 Object-oriented Analysis and Design
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Technology
3.
课程编号
Course Code
CS309
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
专业核心课 Major Core Courses
6.
授课学期
Semester
秋季 Fall
7.
授课语言
Teaching Language
英文 English
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
张煜群,助理教授,计算机科学与工程系,zhangyq@sustech.edu.cn
Yuqun Zhang, Assistant Professor, Department of Computer Science and Technology,
zhangyq@sustech.edu.cn
9.
/
方式
Tutor/TA(s), Contact
朱悦铭,教学实验员,计算机科学与工程系,zhuym@sustech.edu.cn
Yuming Zhu, Teaching laboratory technician, Department of Computer Science and
Technology, zhuym@sustech.edu.cn
10.
选课人数限额(不填)
Maximum Enrolment
Optional
授课方式
Delivery Method
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
11.
学时数
Credit Hours
32
64
2
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
CS102A 计算机程序设计基础 A Introduction to Computer Programming A
CS203 数据结构与算法分析 Data Structures and Algorithm Analysis
13.
后续课程、其它学习规划
Courses for which this course
is a pre-requisite
CS304 软件工程 Software Engineering
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
面向对象是 90 年代以来编程语言所采用的主要编程范式。面向对象分析与设计是面向对象软件开发过程的最重要环节,对
于开发可复用、鲁棒的大型软件系统非常重要。
本课程将面向对象的思想贯穿于整个授课过程,在讲授面向对象的基本原理、统一建模语言 UML 的基础上,重点讲
授设计模式和代码重构方法。
Object-oriented programming is one important programming paradigm since 1990s. The object-oriented analysis and
design is a key step in the process of object-oriented software development, and plays important role in reusable and
robust software systems.
In this course, based on the fundamental object-oriented principles and UML modeling techniques, we would focus on
design patterns and code refactoring approaches.
16.
预达学习成果 Learning Outcomes
采用双语或英语教学方式,以讲授为主,通过实验课程和课程项目的方式进一步加深理解、提高动手能力,使得学生们基
本掌握面向对象的软件开发方法。
We will adopt bi-language/English for lecturing. We will combine theories and practice to help students understand and
obtain the approaches and skills of object-oriented software development.
17.
课程内容及教学日历 (如授课语言以英文为主,则课程内容介绍可以用英文;如团队教学或模块教学,教学日历须注明
主讲人)
Course Contents (in Parts/Chapters/Sections/Weeks. Please notify name of instructor for course section(s), if
this is a team teaching or module course.)
3
Week 1: Introduction 导言 Week 2: Modelling with UML 1 UML 模型 1
Week 3: Modelling with UML 2 UML 模型 2
Week 4: Information Hiding 信息隐藏
Week 5: Project Proposals 项目开题报告
Week 6: Design Patterns 1 设计模式 1
Week 7: Design Patterns 2 设计模式 2
Week 8: Design Patterns 3 设计模式 3
Week 9: Design Patterns 4 设计模式 4
Week 10: Design Patterns 5 设计模式 5
Week 11: Refactoring 1 重构 1
Week 12: Refactoring 2 重构 2
Week 13: Refactoring 3 重构 3
Week 14: Refactoring 4 重构 4
Week 15: Review 复习回顾
Week 16: Project Defense 项目答辩
Labs 实验:
Lab1 Mockups 实验一、Mockups 工程制图
Lab2 UML (static diagram) 实验二、UML 静态图
Lab3 UML (dynamic diagram) 实验三、UML 动态图
Lab4 Fundamental of frond end 实验四、项目前端基础
Lab5 Extension introduction of frond end 实验五、项目前端扩展
Lab6 Fundamental of rear=end 实验六、项目后端基础
Lab7 Extension introduction of rear-end 实验七、项目后端扩展
Lab8 Introduce frames which can be used in project 实验八、项目可用框架介绍
Lab9 Introduce frames which can be used in project 实验九、项目可用框架介绍
Lab10 Observer design pattern 实验十、观察者模式
Lab11 Factory design pattern 实验十一、工厂模式
Lab12 Abstract Factory and singleton Design pattern 实验十二、抽象工厂模式,及单例模式
Lab13 Adapter design pattern 实验十三、适配器模式
Lab14 Command design pattern 实验十四、命令模式
Lab15 Refactoring 实验十五、重构
Lab16 Project presentation 实验十六、项目辅导及展示
18.
教材及其它参考资料 Textbook and Supplementary Readings
4
教材:
[1] Bert Bates, Kathy Sierra, Eric Freeman, Elisabeth Robson, Head First Design Patterns, 2009.
[2] Martin Fowler, Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition), Pearson
Education, Limited, 2018.
课程评估 ASSESSMENT
19.
评估形式
Type of
Assessment
评估时间
Time
占考试总成绩百分比
% of final
score
违纪处罚
Penalty
备注
Notes
出勤 Attendance
10%
课堂表现
Class
Performance
小测验
Quiz
课程项目 Projects
35%
平时作业
Assignments
20%
期中考试
Mid-Term Test
期末考试
Final Exam
35%
期末报告
Final
Presentation
其它(可根据需
改写以上评估方
式)
Others (The
above may be
modified as
necessary)
20.
记分方式 GRADING SYSTEM
A. 十三级等级制 Letter Grading
B. 二级记分制(通/不通过) Pass/Fail Grading
课程审批 REVIEW AND APPROVAL
21.
本课程设置已经过以下责任人/员会审议通过
This Course has been approved by the following person or committee of authority