精品文档
《软件工程——理论与实践》(第2 版)习题答案
简答题
1. 什么是软件危机?其产生的原因是什么?
答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,
复杂度不断增加,
软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面:
(1) 软件产品质量低劣,甚至开发过程就夭折。(2) 软件生产率低,不能满足需要。2. 有哪些主要的软件开发方法?
答:主要的软件开发方法有:
结构化开发方法、原型化开发方法和面向对象的开发方法。
3. 软件生存周期各阶段的主要任务是什么?
答:软件生存周期按瀑布模型分为●可行性研究与计划●需求分析与规格说明
6 个阶段:
);
);
);
);
);
(确定系统的目标和规模,分析项目的可行性(明确系统的规格和要求
●设计(包括概要设计和详细设计,将系统分解为模块●编程(用程序语言实现每个模块,简单容易●运行维护(扩充功能、纠错等
)。
●测试(发现并改正错误,分为模块测试、集成测试和系统联调三级
4. 原型化方法的核心是什么?它具有哪些特点?
答:原型化方法的核心是,花费少量代价建立一个可运行的系统,使用户及早获得学习的机会。
强调软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。它是一个循环的模型。速成原型法按以下步骤循环执行:
①快速分析。②
构造原型。③
运行和评价原型。④
修改与改进。
5.简述抽取需求的主要方法,并比较它们的特点。
⑴面谈法。这是一种重要而直接简单,随时可使用的发现和获取需求的方法。面谈的对象主要有用户和领域专家:与用户面谈主要了解和提取需求,与领域专家面谈,是一个对领域知识的学习和转换过程。使用该方法时应注意面谈前要充分准备结,同时注意掌握面谈的人际交流技巧,才能取得好的效果。
⑵问卷法调查法。通过采用向用户发问卷调查表的方式,达到彻底弄清项目需求的一种需求获取方法。这是一种从多个用户处收集需求信息的有效方式,是对面谈法的补充。
⑶会议讨论法。所谓会议讨论法,是指开发方和用户方召开若干次需求讨论会议,达到彻底弄清项目需求的一种需求获取方法。这种方法适合于开发方不清楚项目需求的情况。
⑷原型法。对于某些试验性、探索性的项目,更是难于得到一个准确、无二义性的需求。而原型化方法
(Prototyping Method)是获取这一类项目需求的有效方法。
“用例”的过程,也就是提取需求的过程。
⑸面向用例的方法。分析建立精品文档
,面谈后认真分析总
精品文档
在实际应用中,常常将以上方法进行综合应用。6. 如何画分层数据流图?有哪些基本原则?答:总的原则是:至顶而下,逐层分解一层的复杂度。
(画分层数据流图)。逐层分解的画法可以控制每
(输入与输出)。
数据守恒
合理使用文件的
顶层:将整个系统作为一个加工,描述系统边界
中间层:将某个加工分解为一组子加工,其中的子加工还需进一步分解。底层:由不再进行分解的基本加工组成。画分层数据流图的基本原则有:①与数据封闭原则。②原则。
7. 胖客户模型和瘦客户模型的区别是什么?它们分别被应用在什么样的场合
?
加工分解的原则。③
子图与父图“平衡”的原则。④
答:在胖客户模型中,客户端应用负责用户界面和应用逻辑部分,因此它的工作比较繁重。一般的数据库应用都是属于这种结构。而与此相反,在瘦客户模型中,服务器负责了更多的工作,而客户端的工作就变得非常单纯。浏览器构,而且常被称为
B/S (Browser/Server)结构。
/Web服务器结构就属于瘦客户结
8.模块分解的最终目的是什么?
答:模块分解的目的是将系统
“分而治之”,以降低问题的复杂性,使软件结构清晰,
易阅读、易理解,易于测试和调试,因而也有助于提高软件的可靠性。9. 模块分解应该遵循什么样的标准
?
”的设计总则对模块进行分解。具体从以下方面
答:按照“降低块间联系,提高块内联系
考虑:
(1) 尽可能建立功能模块;(2) 消除重复功能;
(3) 模块的作用范围与控制范围,块间联系;
(4) 模块的大小适当;
(5) 模块的扇入/扇出数不宜太多。
即当作用范围为控制范围的子集时,才能获得较低的
也可以用软件独立性的两个定性指标来度量模块分解的标准:
一是耦合性。用于描述模块之间联系的紧密程度。从三个方面衡量块间联系大小:①方式紧密。
二是内聚性。用于描述模块内部联系的紧密程度。它是从功能的角度来度量模块内的联系。显然,块内联系愈紧,即内聚性愈强,模块独立性愈好。功能型模块独立性最好。10.比较面向对象方法与结构化方法的特点,说明为什么面向对象方法比结构化方法更加优越。
答:结构化方法是以数据流和数据封闭性为基础的,由方法:
SA、SD 和
SP 三部分构成。该
(直接或间接)②类型(数据型、控制型、混合型)③数量(数量越大,块间联系越
①无法实现从问题空间到解空间的直接映射。开发方法求解过程是先对应用领域(问题空间)进行分析,建立起问题空间的逻辑模型,再通过一系列复杂的转换和算法,构造
精品文档
最新《软件工程 - 理论与实践》重点问



