第十章 面向对象设计 课后习题参考答案
一、单项选择题
(1)A (2)B (3)B (4)D (5)A (6)C(7)D (8)A (9)B (10)C
二、 简答题
1.简述如何在实际工作中发现类
(1)答:在与客户的交谈中,要注意客户用来描述业务实体的名词术语。这些名词可作为领域模型中的类。
还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。
当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。他们的回答将告诉你这些类的职责。
2.简述怎样发现类之间的继承关系。
(2)答:作为候选的类有可能和它的父类、子类在谈话中同时被发现。系统分析员意识到某个类的属性和操作也许能被运用到其他多个类当中去。
另一种可能的情况是系统分析员注意到两个或者多个类可能具有相同的属性和操作数
3.什么是参与者?如何确定系统的参与者?
(3)答:参与者(actor ,有些书翻译成“角色”)是一种特殊的类,是系统外部的一个实体,这个实体可以是任何的人或物,它以某种方式参与了用例的执行过程。
在获取用例前首先要确定系统的参与者,可以根据下面的一些问题来寻找系统的参与者:①谁使用系统?②谁安装系统、维护系统?③谁启动系统、关闭系统?④谁从系统中获取信息,谁提供信息给系统?⑤在系统交互中,谁扮演了什么角色?⑥系统会与哪些其他系统相关联?
4.简述OOD模型的字体结构,并画图表示
(4)答:OOD体系结构的各个部分内容:
① 问题论域部分,在OOA模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对象。
② 人机交互部分:设计用户界面模型,该用户界面模型中的类和对象提供实现人机交互操作的接口函数。用户界面设计包括 菜单设计、窗口设计、输入/输出界面设计等等。
③ 任务管理部分:建立一些类,用以负责处理操作系统级的并发问题、中断、调度以及其它与特定平台有关的问题。
(4)答:数据管理部分:提供数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。数据管理设计包括:
① 数据存放设计。数据存放设计选择数据存放的方式(文件存放、关系数据库表格存放或面向对象的数据库存放)。
② 设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述。
三、设计分析题
(1) 系统用例图如下:
对象类图如下:
(3)把需要持久存储的数据实体类及其联系,映射成为如下关系数据库表:
① 学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注)
② 教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注)
③ 课程(课程号、课程名、描述、学分、学时、性质、备注)
开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)