张海藩《软件工程导论》(第6版)(课后习题 第11章 面向对象设计)【圣才出品】

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.为什么说类构件是目前比较理想的可重用软构件?它有哪些重用方式? 答:(1)可重用的软构件应具备的特点: ①模块独立性强。 ②具有高度可塑性。 ③接口清晰、简明、可靠。 (2)类构件的重用方式: ①实例重用。 ②继承重用。 ③多态重用。
4.试用面向对象方法,设计本书第 2 章中给出的订货系统的例子。 答:略。
break; }
int main(){ FILE *fi; int i,inQuote; fi=fopen(“xxx.c”, “r”) if(fi==NULL) return 1; i=inQuote=0;
2/8
圣才电子书 十万种考研考证电子书、题库视频学习平台

b.有明确的定义。为使类的定义明确,分配给每个类的任务应该简单。 c.简化对象之间的合作关系。 d.不要提供太多的服务。 ④使用简单的协议 ⑤使用简单的服务 ⑥把设计变动减至最小 (2)启发规则的必要性 人们使用面向对象方法学开发软件的历史虽然不长,但也积累了一些经验。总结这些经 验得出了几条启发规则,它们往往能帮助软件开发人员提高面向对象设计的质量。

char input[Len_Max+2]; int n=sizeof(input); void CheckKeyWord(){ int i,result; for(i=0;i<n;i++) {
result=strcmp(input,Key[i]); if(result==0){ count[i]++; break; } if(result<0)
3/8
圣才电子书 十万种考研考证电子书、题库视频学习平台

5.试用面向对象方法,设计本书习题 2 第 2 题中描述的储蓄系统。 答:使用面向对象方法设计出的储蓄系统的对象模型如图 11-7 所示:
图 11-7 储蓄系统的对象模型 6.试用面向对象方法,设计本书习题 2 第 3 题中描述的机票预订系统。 答:略。 7.试用面向对象方法,设计本书习题 2 第 4 题中描述的患者监护系统。 答:略。 8.有若干行 C 语言代码,要求统计出该代码中共有多少个关键字?试设计出相关算法
,“unsigned”,“continue”,
“for ”,“signed”,“void”,“default”,“goto”,“sizeof ”,“volatile”,“do”,“i
f”,“while”,“static”
ห้องสมุดไป่ตู้};
int count[Key_Num];
5/8
圣才电子书 十万种考研考证电子书、题库视频学习平台
2.简述有助于提高面向对象设计质量的每条主要启发规则的内容和必要性。 答:(1)有助于提高面向对象设计质量的主要启发规则如下所述: ①设计结果应该清晰易懂 a.用词一致。 b.使用已有的协议。 c.减少消息模式的数目。 d.避免模糊的定义。 ②一般—特殊结构的深度应适当 ③设计简单的类 a.不要包含过多的属性。
goto sizeof volatile do if while static
答:C 语言程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Key_Num 32
#define Len_Max 8
#define Len_Min 2
4/8
圣才电子书

和数据结构。
十万种考研考证电子书、题库视频学习平台
注:C 语言的关键集合如下(32 个):
auto double int struct break else long switch case enum register typedef char
extern return union const float short unsigned continue for signed void default
1/8
圣才电子书 十万种考研考证电子书、题库视频学习平台

一个服务应该完成一个且仅完成一个功能。 ②类内聚 设计类的准则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。 ③一般—特殊内聚 设计出的一般—特殊结构应该是对相应的领域知识的正确抽取。紧密的继承耦合与高 度的一般—特殊内聚是一致的。 (6)可重用 软件重用是提高软件开发生产率和目标系统质量的重要途径。重用基本上从设计阶段开 始。重用有两方面的含义: ①尽量使用已有的类。 ②如果需要创建新类,则在设计这些新类的协议时应该考虑将来的可重复使用性。
const char Key[Key_Num][Len_Max+1]={
“auto”,“double”,“int”,“struct”,break”,“else”,“long”,“switch”,“cas
e”,“enum”,“register ”,
“typedef”,“char”,“extern”,“return”,“union”,“const”,“float”,“short”
圣才电子书

十万种考研考证电子书、题库视频学习平台
第 11 章 面向对象设计
1.面向对象设计应该遵循哪些准则?简述每条准则的内容,并说明遵循这条准则的必 要性。
答:面向对象设计应该遵循如下六条准则: (1)模块化 对象是面向对象软件系统中的模块,它是把数据结构和操作这些数据的方法紧密地结合 在一起所构成的模块。 (2)抽象 面向对象的程序设计语言不仅支持过程抽象,而且支持数据抽象,对象类实际上是具有 继承机制的抽象数据类型。 (3)信息隐藏 在面向对象的软件中,信息隐藏通过对象的封装来实现,即类结构分离了接口与实现, 从而支持了信息隐藏。 (4)弱耦合 ①交互耦合 对象间的耦合通过消息连接来实现,则这种耦合是交互耦合。要使交互耦合尽可能松散。 ②继承耦合 继承是一般类与特殊类之间耦合的一种形式。通过继承关系结合起来的基类和派生类构 成了系统中粒度更大的模块,因此,它们彼此之间应该结合得越紧密越好。 (5)强内聚 ①服务内聚
相关文档
最新文档