软件工程各章习题集16527.pdf
《软件工程各章习题集16527.pdf》由会员分享,可在线阅读,更多相关《软件工程各章习题集16527.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 即时练习 第 1 讲 一、填空题 软件危机是指在计算机软件的_开发和维护_过程中所遇到的一系列严重问题。软件危机包含下述两个方面的问题:一是 _如何开发软件,以满足对软件日益增长的需求;二是 _如何维护数量不断膨胀的已有软件_。软件不同于硬件,它是计算机系统中的 _逻辑部件_ 而不是物理部件。一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为 _生命周期_。软件配置主要包括 _程序、文档_和_数据_ 等成分。软件工程学的一个重要目标就是提高软件的 _可维护性、减少 _软件维护_ 的代价。软件工程是指导计算机软件 _软件开发_ 和 _维护_ 的一门
2、工程学科。软件工程包括 _技术_ 和 _管理_ 两方面的容,是技术与管理紧密结合所形成的工程学科。通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 _方法学_,也称为型。软件工程方法学包含_方法、工具 和_过程_ 三个要素。目前使用最广泛的软件工程方法学,分别是 _传统方法学 和 面向对象方法学_。概括地说,软件生命周期由 _软件定义_、_软件开发_ 和 _运行维护(软件维护)_ 个时期组成,每个时期又进一步划分为若干个阶段。软件定义时期通常进一步划分为个阶段,即 _问题定义_、_可行性研究_ 和需求分析。、螺旋模型将 _瀑布、_ 模型和 _快速原型_ 模型结合起来,加入了两种模型均
3、忽略了的风险分析,弥补了这两种模型的不足。瀑布模型 _不能_ 适应需求可变的软件开发,只有到 _开发结束_ 才能见到整个软件系统。二、选择题:软件是一种()产品。、有形 、逻辑 、物质 、消耗 与计算机科学的理论研究不同,软件工程是一门()学科。、理论性、工程性 、原理性、心理性 软件工程学科出现的主要原因是()。、计算机的发展 、其他工程学科的影响 、软件危机的出现、程序设计方法学的影响 由于软件生产的复杂性和高成本性,使大型软件 的生存出现危机,软件危机的主要表现包括了下述()方面。生产成本过高 需求增长难以满足 进度难以控制 质量难以保证 、B、C、D、全部 有关计算机程序功能、设计、编
4、制、使用的文字或图形资料称为()。、软件 B、文档 C、程序 D、数据 ()是计算机程序及期说明程序的各种文档。、软件 B、文档 C、程序 D、数据 问题定义阶段必须回答的关键问题是()。、要解决的问题是什么 B、确定目标系统必须具备哪些功能、怎样实现目标系统、如何具体实现系统 三、问答题 简述软件危机的典型表现。答:()对软件开发成本和进度的估计常常很不准确;()用户对“已完成的”软件系统不满意的现象经常发生;()软件产品的质量往往靠不住;()软件常常是不可维护的;()软件通常没有适当的文档资料;()软件成本在计算机系统总成本中所占的比例逐渐上升;()软件开发生产率提高的速度,远远跟不上计算
5、机应用迅速普及深入的趋势。什么是软件过程?它与软件工程方法学有何关系?答:软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的个重要组成部分之一。假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你作出选择的理由。答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,
6、因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助开提高软件可维护性的增量模型或螺旋模型来开发该软件。综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。瀑布模型有什么优缺点?答:瀑布模型的优点:可强迫开发人员采用规的方法(例如,结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:“瀑布模型是由文档驱动的”这个事实也是它的 一个主要缺点,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。5、什么是
7、软件危机?软件危机包含哪些问题?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。6、产生软件危机的原因主要有哪些?答:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。7、简述软件工程的条基本原理的主要容 答:1)用分阶段的生命周期计划严格管理;2)坚持进行阶段评审;3)实行严格的产品控制;4)采用现代程序设计技术;5)结果应能清楚地审查;6)开发小组的人员应该少而精;7)承认不断改进软件工程实践的必要性。四、计算题 美国一家公司在 1982 年计划用
8、FORTRAN 语言开发一个在 VAX750 计算机上运行的应用程序,估计这个程序的长度为 10000 条 FORTRAN 指令。如果平均每人每天可以开发出 10 条 FORTRAN 指令,请问:()开发这个应用程序将用到多少人日?()假设程序员的平均工资为 4000 美元,每月按 20 个工作日计算,这个软件的成本是多少美元?()1982 年 VAX750 计算机硬件价格约为 125000 美元,在那一年这个软件的成本在总成本中占多大比例?答:()1000010=1000(人日)开发这个应用程序大约需要用 1000 个人日。()每月平均工作 20 天,故开发这个软件需要用 100020=5(
9、人月)每人每月的平均工资为 4000 美元,因此这个软件的成本大约为 504000200000(美元)()软件成本与硬件成本之和为计算机系统的总成本。这个软件的成本在总成本中所占的比例为:200000(200000+125000)=61.5%第 2 讲 一、填空题 可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从 _技术可行性、经济可行性_和 _操作可行性_ 这三个方面研究每种解法的可行性。_可行性研究_ 的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。可行性研究的目的不是解决问题,而是确定问题是否 _值得去解决_。_数据流图_ 和 _数据字典_
10、 定义了软件系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。_系统流程图_是概括地描绘物理系统的传统工具。系统流程图表达的是 _数据_ 在系统各部件之间流动的情况。数据流图是一种图形化技术,它描绘 _信息流_ 和 _数据_ 从输入移动到输入的过程中所经爱的变换。数据流图中的圆角矩形或圆形代表着对变换数据的 _处理_。数据流图有种成分:源点或终点、_处理_、_数据存储_ 和 _数据流_。_数据字典_ 是对数据流图中包含的所有元素的定义的集合。成本效益分析的目的正是要从 _经济_ 角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。软件开发成
11、本主要表现为 _人力消耗_。二、选择题:关于数据流图下列说法中不正确的是()。、在数据流图中应描绘所有可能的数据流向及数据流的条件、数据流图的基本要点是描绘“做什么”而不考虑“怎么做”、数据流图是系统的逻辑模型、数据流图的一个主要用途是作为分析和设计的工具 下列方式中,不是由数据元素组成数据方式的是()。、顺序 、层次 、选择 、重复 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是()。、经济可性性 、技术可行性、操作可行性 、法律可行性 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。、经济可性性 、技术可行
12、性、操作可行性 、法律可行性 可行性分析中,系统流程图用于描述()。、当前运行系统 B、当前逻辑模型 C、目标系统 D、新系统 在程序的描述和分析中,用以指明数据来源、数据流向和数据处理的辅助图形是()。、瀑布模型图 B、数据流图 C、数据结构图 D、业务图 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图方法中,()是常采用的。自顶向下 自底向上 分层绘制 逐步求精、全是 B、三、问答题 简述可行性研究过程的步骤。答:()复查系统规模和目标;()研究目前正在使用的系统;()导出新系统的高层逻辑模型;()进一步定义问题;()导出和评价供选择的解法;()推荐行动方针;()草拟开发计划
13、;()书写文档提交审查。目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心患者监护系统,请分层次地画出描述本系统功能的数据流图。医院对患者监护系统的基本要随时接收每个病人的生理信号(脉搏、体温、血压和心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。答:从问题述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题述,从系统应该“定时记录病
14、人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。从问题述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。为了分析病人生理信号是否超出了医生规定的安全围,应该存储“患者安全围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。本系统的基本系统模型如下图所示,是本系统的功能级数据流图。某高校可用的有以下几类:校为位数字组成,第位数字不是;校外又分为本市和外地两
15、类,拨校外需先拨,如果是本地再接着拨位(第位不是),如果是外地则先拨位区码,再拨位(第位不是)。请用本章所述的符号,定义上述的。答:校校外 校非零数字位数字 校外本市外地 本市数字零位数字 外地数字零位数字位数字 非零数字 数字零 位数字数字 位数字非零数字位数字 位数字数字 数字 第 3 讲 一、填空题 接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:_用户接口需求、硬件接口需求、软件接口需求和通信接口需求。_逆向_ 需求说明软件系统不应该做什么。访谈是最早开始使用的获取 的技术,它有两种基本形式,分别是 _用户需求、的_正式、非正式_的访谈。_情景分析技术_ 就是对用户将来使用
16、目标系统解决某个具体问题的方法和结果进行分析,系统分析员利用这种技术,往往能获知用户的具体需求。_结构化分析方法_ 是面向数据流自顶向下逐步求精进行需求分析的方法。使用传统的访谈或面向数据流自顶向下求精方法定义需求时,用户处于被动地位,为了解决这个问题,人们研究出一种面向团队的需求收集法,称为简易的 _应用规格说明技术_。快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。快速原型应具备的第一个特性是 _快速_、第二个特性是 _容易修改_。需求分析阶段得出的最主要文档是_软件需求规格说明书_。数据对象彼此之间相互连接的方式称为_联系_,也称为关系。它分为一对一联系、_一对多_ 联
17、系和 _多对多_ 联系。ER 图中包含了 _实体_、_关系_ 和 _属性_ 等3 种基本成分。二、选择题:需求分析()。、要回答“软件必须做什么?”、要求编写软件需求说明书、系统分析员可以采用访谈、简易的应用规格说明技术获取用户需求 、以上都对 需求分析阶段研究的对象是软件项目的()。、用户需求 、合理要求 、模糊要求 在数据流图中,有名字及方向的成分是()。、控制流、信息流、数据流、信号流 结构化分析方法使用的描述工具()定义了数据流图中每一个图形元素。、数据流图、数据字典、判定表、判定树 在结构化分析方法()中,与数据流图配合使用的是()。、数据流图、数据字典、实体联系图、程序流程图 通过
18、()可以完成数据流图的细化。、结构分解 B、功能分解 C、数据分解 D、系统分解 需求分析过程中,对算法的简单描述记录在()。、层次图 B、数据字典 C、数据流图 D、IPO 图 需求分析最终结果是产生()。、项目开发计划 、可行性分析报告 、需求规格说明书 、设计说明书 结构化分析()最为常见的图形工具是()。、程序流程图 、实体联系图 、数据流图 、结构图 下面说法错误的是()。、每个数据流必须用名词或名词短语命名 、每个加工必须有名字,通常是动词短语 、每个数据存储必须用名词或名词短语 、每个数据源点或终点必须有名字 三、问答题 简述可行性研究过程的步骤。答:()复查系统规模和目标;()
19、研究目前正在使用的系统;()导出新系统的高层逻辑模型;()进一步定义问题;()导出和评价供选择的解法;()推荐行动方针;()草拟开发计划;()书写文档提交审查。应该从哪些方面验证软件需求的正确性。答:对软件需求应从下述个方面进行验证:()一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾;()完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能;()现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的;()有效性:必须证明需正确有效的,确实能解决用户面对的问题。什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是指开发人员要准确理解用户的需
20、求,进行细致的调查分析,将用户非形式的需求述转化为完整的需求定义,再由需求转换到相应的需求规格说明的过程。需求分析阶段的基本任务是:()确定对系统的综合要求;()分析系统的数据要求;()导出系统的逻辑模型;()修正系统开发计划。什么是层次方框图?答:层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。5、什么是快速软件原型,它有什么特点 答:快速软件原型是快速建立起来的旨在演示目标系统的主要功能的可行性的程序。特点:1)快速;
21、2)容易修改。第 4 讲 一、填空题 按照形式化的程度,可以把软件工程使用的方法划分成 _非形式化_、_半形式化_ 和 _形式化_ 类。有穷 _状态机_ 可以准确地描述一个系统,因此它是表达规格说明的一种形式化方法。Petri 网_可以有效地描述并发活动。它包含种元素:一组位置、一组转换、输入函数以及输出函数。Petri 网的标记是在 Petri 网中_权标_的分配。在 Petri 网中,当每个输入线上至少有一个权标,而 _禁止_线上没有权标的时候,相应的转换才是允许的。6、Petri 网包含 4 种元素:一组位置 P、一组转换 T、输入函数 I 以及输出函数 O 二、问答题:对比形式化方法和
22、欠形式化方法的优缺点。答:形式化与欠形式化方法相比,其优点在于:形式化的规格说明可以用数学方法研究验证,此外形式化的规格说明消除了二义性,而且它鼓励软件开发者在软件工程过程的早期阶段使用更严格的方法,从而可以减少差错。形式化方法的缺点:大多数形式化规格说明主要关注于系统的功能和数据,而问题的时序、控制和行为等方面却更难于表示。此外,形式化方法比欠形式化方法更难学习,不仅在培训阶段要花大量的投资,而且对某些软件工程师来说,它代表了一种“文化冲击”。第 5 讲 一、填空题 总体设计过程通常由两个主要阶段组成,分别是 _系统设计_ 阶段和 _结构设计_ 阶段。需求分析阶段得出的数据流图是 _总体设计
23、_ 的极好的出发点。对总体设计的结果在通过技术审查后还需由使用部门的负责人从 _管理_ 角度进行复审。_模块化_是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能。_抽象_ 就是抽出事物的本质特征而暂时不考虑它们的细节。_逐步求精_是为了集中精力解决主要问题而尽量推迟对问题细节的考虑。定性度量模块独立程序的标准是_聚_和_耦合_。耦合是对一个软件结构不同模块之间 _互连程度_ 程度的度量。_功能聚_是最高程度的聚。_深度_表示软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。_层次_图用于描绘软件的层次结构,图中的每一个矩形框代表一个 _模块_,方框间的连线表示调
24、用关系,而不像层次方框图那样表示组成关系。通常所说的结构化设计方法,也是基于_数据流的设计方法。信息流有两种类型,分别是_变换流_和_事务流_。模块间还经常用带注释的短箭头表示调用过程中来回传递的信息。有时箭头尾部带空心圆表示传递的是_数据_,带实心圆的表示传递的是_控制信息_。模块之间联系越紧密,其耦合性就越_强_、模块的独立性就越_差_。二、选择题:软件设计一般分为总体设计和详细设计,它们之间的关系是()。、全局和局部 、抽象和具体 、总体和层次 、功能和结构 属于软件设计的基本原理的是()。、数据流分析设计 、变换流分析设计 、事务流分析设计 、模块化 将几个逻辑上相似的成分放在一个模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 各章 习题集 16527
限制150内