《面向对象设计》课程教学大纲
课程编号: 035067 学分: 2 总学时:34
大纲执笔人:王卫安大纲审核人:程效军
一、课程性质与目的
面向对象是人们观察与分析问题的一种方法论,计算机软件系统开发技术随着对象技术的发展而进入了一个新的境界。通过本课程的学习,使学生了解与掌握面向对象编程技术的基本思想、面向对象建模的基本方法、了解与熟悉面向对象的标准建模语言、开发工具,掌握面向对象地理数据模型的构建方法、过程与技术。
本课程是为地理信息系统专业学生开设的限选专业基础课。
二、课程基本要求
课程主要讲述面向对象的基本思想、主要概念以及相应的表示法,并给出详细的过程指导。主要内容包括面向对象的分析、设计和实现三部分。注重理论与实践相结合,通过给出大量的例题、较为详尽的案例分析以及详述对建模概念的运用,阐明如何用面向对象方法开发软件系统。补充部分数据结构方面的内容(线性表/二叉树/四叉数/八叉树/图/最佳路径等),介绍有关图表设计方法及工具,如VISIO或UML等。
三、课程基本内容
(一)第1章面向对象方法概论
集中介绍面向对象方法的基本思想和原则,解释它的基本概念,论述
它的主要优点,并简介它的发展历史和现状。
1.1传统软件开发方法中存在的问题;1.2面向对象的基本思想;1.3
面向对象的主要概念及基本原则;1.3.1面向对象的主要概念;1.3.2
面向对象的基本原则;1.4面向对象方法的主要优点;1.5面向对象方
法与技术的发展史及现状简介
(二)第2章什么是面向对象的分析
概述面向对象分析所面临的问题,然后对其进行综述,并阐述面向对
象分析模型和过程模型。
2.1分析面临的主要问题;2.2面向对象的分析综述
(三)第3章用况图
全面讲解建立功能需求模型所需要使用的概念及其表示法,并详述如
何使用它们来建立功能需求模型。
3.1系统边界;3.2参与者;3.2.1概念与表示法;3.2.2识别参与者;
3.3用况;3.3.1概念与表示法;3.3.2用况和参与者之间的关系;3.3.3
用况之间的关系;3.3.4捕获用况
3.3.5用况模板;3.4用况图;3.5检查与调整
(四)第4章类图
详细介绍类图中所使用的概念与表示法,并详述如何使用它们来建立
类图。
4.1对象与类;4.1.1概念与表示法;4.1.2识别对象与类;4.1.3审
查与筛选;4.1.4抽象出类并进行调整;4.1.5认识对象的主动行为并识别主动对象;4.1.6类的命名;4.1.7建立类图的对象层;4.2定义属性与操作;4.2.1定义属性;4.2.2定义操作;4.3建立关系;4.3.1继承;4.3.2关联;4.3.3聚合;4.3.4依赖;4.4接口
(五)第5章顺序图
详细地介绍建立顺序图所使用的概念与表示法,并详述如何建立顺序图。
5.1概念与表示法;5. 2建立顺序图
(六)第6章统一建模语言中的几种其他图
讲述UML中的几种其他图:协作图、状态图和包图。协作图和状态图与顺序图一样,是用于建立系统动态模型的;包图说明如何用包组织模型元素以及按组控制模型元素的可见性。
6.1协作图;6.1.1概念与表示法;6.1.2建立协作图;6.2状态图;
6.2.1概念与表示法;6.2.2建立状态图;6.3包图;6.3.1概念与表
示法;6.3.2如何划分包
(七)第7章什么是面向对象设计
简述面向对象设计的发展史,说明分析与设计的关系,并阐述面向对象设计模型和过程模型。
7.1面向对象设计的发展;7.2OOA与OOD的关系;7.3面向对象设计
模型和过程
(八)第8章问题域部分的设计
详述如何针对实现条件对分析结果进行补充与调整。
8.1为复用类而增加结构;8.2增加一般类以建立共同协议;8.3按编
程语言调整继承;8.4提高性能;8.5为实现永久对象的存储增补属性与操作;8.6对复杂关联的转化并决定关联的实现方式;8.7调整与完善属性;8.8构造或优化算法;8.9决定对象间的可访问性;8.10定义对象实例;8.11其他
(九)第9章人机交互部分的设计
详述进行人机交互设计所需考虑的因素,并从分析和设计两个方面详述如何进行人机交互设计。
9.1什么是人机交互部分;9.2人机交互部分的分析;9.3人机界面的
设计准则;9.4人机交互的面向对象设计;9.4.1设计输入与输出;
9.4.2命令的组织;9.4.3用面向对象概念表达所有的界面成分
(十)第10章控制驱动部分的设计
详述什么是控制流,如何识别与定义控制流,以及如何协调控制流之间的同步。
10.1什么是控制驱动部分;10.2控制流;10.3如何设计控制驱动部
分;10.3.1识别控制流;10.3.2审查;10.3.3定义控制流;10.3.4进程间和线程间的通信;10.3.5控制流间的同步
(十一)第11章数据管理部分的设计
讲述对数据管理部分的设计。首先对数据库进行了简介,然后详细地讲解了如何使用关系数据库系统对永久对象及其间的关系进行存储与检索。
11.1什么是数据管理部分;11.2数据库和数据库管理系统;11.2.1
关系数据库;11.2.2面向对象数据库;11.3如何进行数据管理部分设
计;11.3.1针对关系数据库的数据存储设计;11.3.2针对面向对象数
据库的数据存储设计;11.3.3针对文件的数据存储设计(十二)第12章构件及其部署的设计
针对如何对系统的构件进行描述与构造,详细地讲解了构件图及其应
用。本章还对部署图进行了简介。
12.1构件图;12.1.1构件;12.1.2构件图;12.2部署图;12.2.1节
点;12.2.2部署图
(十三)第13章OOD的评价准则
从耦合、内聚、复用等方面讲述了如何评价面向对象的设计模型。
13.1耦合;13.2内聚;13.3复用;13.4其他评判准则
(十四)第14章面向对象的编程实现
为面向对象的编程实现。本章首先对面向对象的编程语言进行简介,
然后用大量的例题说明了面向对象的概念在具体的面向对象语言中的
实现。还对数据管理部分的实现和状态图的实现进行具体的详述。
14.1面向对象的程序设计;14.1.1面向对象程序设计语言简介;
14.1.2用非面向对象程序设计语言实现OOD模型;14.1.3为实现OOD
模型选择程序设计语言;14.2用具体的面向对象语言实现面向对象概
念;14.3数据管理部分的实现;14.4状态图的实现
(十五)第15章系统与模型
首先讲述如何把一个较为复杂的系统划分成一系列子系统,然后说明
了如何用包对系统或子系统进行可视化建模,以及从那些方面建立的
系统的模型。此外还阐述了如何保证模型的一致性。
15.1系统与子系统;15.1.1对体系结构模式建模;15.1.2划分子系
统;15.2模型;15.2.1模型的含义;15.2.2模型的视图;15.2.3模
型的层次性;15.2.4模型间的一致性检查
四、实验或上机内容
软件系统设计工具及数据库设计内容的使用;编程实现等
五、前修课程要求
计算机算法语言、数据库技术应用。
七、教材与主要参考书
建议教材:
《面向对象方法基础教程》,麻志毅、绍维忠编,高等教育出版社。
参考教材:
《数据结构C++语言描述》,刘卫东等译,原书《Data Structure with C++》,William Ford等著,清华大学出版社。
《软件工程实用教程》,吴洁明编,清华大学出版社。