1、1软件工程期中试题(2002 计科一、二、三班)班级_ 姓名_ 学号_一、选择题1、下述表现那些是软件危机的主要表现?( D )、软件的可维护性差 、软件开发的成本和进度不能准确估计、开发过程缺乏完整的文档资料 、软件需求增长难以满足A、 B、和 C、 D、全部2、下图所示的软件过程模型是( A ) 。A、瀑布模型 B、原型模型 C、螺旋模型 D、喷泉模型3、数据字典一般由下列( D )元素的定义组成。、数据的源点和终点 、数据流 、数据项 、数据存储 处理A、全部 B、 C、 D、 E、 4、优化软件设计,要求建立( C )的模块集合,以提高模块的独立性。A、低内聚、低耦合 B、低内聚、高耦
2、合 C、高内聚、低耦合D、高内聚、高耦合5、下图所示的软件模块结构图,该软件的宽度为( F ) ,模块 A 的扇出数为( C ) 。A、1 B、2 C、3 D、4 E、5 F、6 6、对软件进行适当的修改,使运行的软件能与处理环境或数据环境的变化相符合的维护活动是( B ) 。A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护7、测试的用例由( B )组成。A、合理的输入数据 B、测试输入数据和预期输出结果 C、测试输入数据和实际输出结果 D、合理的输入数据和不合理的输入数据8、考察模块间的接口和各模块之间的联系的测试是( B ) 。A、单元测试 B、组装测试 C、确认测试 D、系
3、统测试9、不属于黑盒测试的测试用例设计的方法是( D ) 。2A、等价分类法 B、边界值分析法 C、错误猜测法 D、逻辑覆盖法10、软件系统模块结构如图所示,下述说法中( C )属于深度优先的测试方法。A、M1-M2-M3-M4-M5-M7-M6-M8 B、M1-M2-M4-M8-M3-M5-M6-M7C、M1-M4-M5-M7-M6-M2-M3-M8 D、M7-M5-M4-M1-M6-M3-M2-M8说明:M1-M4-M5-M7 为主控路径11、软件工程的目标是( C ) 。 A、生产满足用户需要的产品B、以合适的成本生产满足用户需要的产品C、以合适的成本生产满足用户需要的、可用性好的产品D
4、、生产正确的、可用性好的产品12、需求分析的产品是( A ) 。 A、需求规格说明 B、数据流图C、判断表 D、数据字典13、从下列有关系统结构图的叙述中选出正确的叙述。( D ) A、系统结构图中反映的是程序中数据流的情况。B、系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。C、一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。D、在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。14、软件结构图的形态特征能反映程序重用率的是( C ) 。A、深度 B、宽度 C、扇入 D、
5、扇出 15、面向对象的软件工程中,识别主类主要靠( B ) 。 A、技巧 B、经验 C、启发式规则 D、面向对象分析理论二、简答1、怎样克服软件危机?解答:课本 5 页(1)吸收其它工程项目中积累的丰富经验、科学原理、技术与方法,在开发软件的过程中应有良好的组织,严格的管理,相互的友好协作;(2)不断总结经验,探索软件开发中应遵循的原理、过程、技术和方法;(3)根据不同的应用领域,使用用户常用的自然语言,描述问题,由计算机自动完成推理和运算,从而解决用户提出的问题,即软件开发工程化的方法。为了解决软件危机,既要有技术措施(方法和工具) ,又要有必要的组织管理措施。M1M2 M4 M8M3 M5
6、 M6M732、试简述著名的软件工程专家 BWBoehm 提出的软件工程的 7 条基本原理。解答:课本 7 页3、什么是软件生存周期?需求阶段和设计阶段的任务分别是什么?解答:软件生存周期是指一个软件系统从目标提出到最终被淘汰的整个存在期。概括地说,软件生存周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。通常可划分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试、软件维护 8 个阶段。需求阶段的任务是对目标系统实现的功能等提出完整、准确、清晰、具体的要求。设计阶段的任务是设计程序的体系结构和设计出程序的详细规格说明。4、系统流程
7、图与数据流图有什么区别?解答:课本 38 页5、什么是模块?模块具有哪几个特征?总体设计主要考虑什么特性?解答:课本 94 页99 页模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块具有输入和输出(参数传递 )、功能、内部数据结构(局部变量)和程序代码四个特性。(模块化设计的基本原理:把大型软件按规定的原则划分为一个个较小的相对独立又相关的模块,每个模块完成一个子功能,把这些模块集合起来组成一个整体,以完成指定的功能。 )概要设计主要考虑输入、输出(参数传递)和功能两个特性。(总体设计考虑(模块设计的)准则
8、课本 99102 页启发规则:(1)改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合;(2)模块大小要适中:大约 50 行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中;(3)软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过 5 个;(4)尽量降低模块接口的复杂程度;(5)设计单入口、单出口的模块。(6)模块的作用域应在控制域之内。 )6、选择程序设计语言需要考虑的因素?(1)选择用户熟悉、便于用户维护的语言;(2)选择目标系统的环境中可以提供的编译程序所能选用的语言;(3)选择
9、可以得到的软件工具,能支持程序开发中可以利用的语言;(4)根据工程规模的大小、目标系统应用范围;(5)选择程序员熟悉的语言;(6)选择标准化程度高、程序可移植性好的语言;(7)根据算法与计算的复杂性、数据结构的复杂性选择;(8)根据实时要求系统需要的响应速度和效率选择相应的语言。7、白盒测试法和黑盒测试法有什么区别?解答:白盒测试法完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑结构及有关信息设计或选择测试用例,检查程序中的每条通路是否都能按预定要求正确工作。黑盒测试着眼于软件的外部特性,不考虑软件内部的逻辑结构和内部特性,只依据程序的需求规格说明书检查程序是否满足功能要求,测试要在软
10、件的接口处进行。8、软件的维护一般分为哪几类?4解答: 改正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件的活动;完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。三综合题1、请为某仓库的管理设计一个 ER 模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。2、如图显示某程序的逻辑结构。试为它设计足够的测试用例,分别实现对程序
11、的判定覆概、条件覆概和条件组合覆概。T F3、欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取 款单和存折(含现金)交给银行工作人员,然后由系统作以下处理A.业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折(含现金)交下一步处理;B.存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;C.取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。要求完成下列工作:(1)用数据流图描绘该系统的功能需求;(2)用面向数据流的方法导出系统结构图;(3
12、)用你熟悉的一种方法写出模块“获得合理单据”及“分类处理”的算法。解答:数据流程图顶层A0 and B=0S1 S2储户存取款业务处理系统5存取单、存折存折、现金一层存折存折、存款单存取单存折 D1 帐目 D2 现金帐存折、取款单存折(现金)二层已处理存折单 已处理存款单合格存折、存款单 存取单存折 不合格 合格 D1 帐目 单据 单据合格存折、取款单 已处理取款单已处理存折单软件结构图2 21 1 2,3 3 4 54 6 6 5 7 71 存取单、存折 2 合格单据3 不合格单据 4 合格存折、存款单存取款业务系统存款处理分类处理输入单据 审核单据 退回获得合理单据取款处理修改帐目 1修改
13、现金帐 1打印存折单修改帐目 2修改现金帐 21业务分类处理2.存款处理3.取款处理储户1.1.审核单据储户2.2.修改现金帐13.2.修改现金帐22.1.修改帐目 13.1.修改帐目 21.2.业务分类 D2 现金帐65 合格存折、取款单 6 已处理存款单7 已处理取款单 8/9 已处理存折单模块“获得合理单据”的 IPO 图模块“分类处理”的 IPO 图4、将如下的基本文件:考生基本情况文件(简称考生情况文件)和考生高考成绩文件(简称考分文件)合并成考生新文件。考生情况文件 考分文件准考证号 姓 名 通讯地址 准考证号 考 分考生新文件准考证号 姓 名 通讯地址 考 分试用面向数据结构的
14、Jackson 方法完成下列工作(1)画出输入和输出的数据结构图;(2)画出程序结构图;(3)写出程序的过程性表示,列出所有操作和条件.(4)用 Jackson 伪代码写出与程序结构图对应的过程性表示解答:(1)输入数据结构图系统名:存取款业务系统。 编 号:1.1。加工名:审核单据。 模块名:获得合理单据。被调用:存取款业务系统。 调 用:输入单据、审核单据。输 入:存取单和存折。 输 出:合格单据。处 理:(1)读入“存取单和存折”中姓名。(2)审核单据填写是否正确;若正确,加注“合格” ,输出“合格单据” ;否则,加注“不合格” ,退出。系统名:存取款业务系统。 编 号:1.2。加工名:
15、业务分类。 模块名:分类处理。被调用:存取款业务系统。 调 用:存款处理、取款处理.输 入:合理单据。 输 出:合格存单与存折或合格取款单与存折。处 理:(1)查询“合理单据” ,复核各项数据。(2)将单据分类。(3)是合格存单与存折,作存款处理;是合格取款单与存折,作取款处理考生情况文件考生记录 *准靠证号 姓 名 通讯地址 准靠证号 考 分考分文件考生记录 *7I I输出数据结构图I (2) 程序结构图如下I(1) (3)程序的过程性表示,所有操作和条件: 停止 生成一条新记录打开两个输入文件 将新记录写入输出文件建立输出文件 关闭全部文件从输入文件中各读一条记录 I(1)文件结束把它们分
16、配到程序结构图的适当位置,如图:I(1)考 分考生情况文件考生记录 *准靠证号 姓 名 通讯地址产生考分产生新文件处理考生记录*产生准靠证号 产生姓名 产生通讯地址产生新文件产生考分处理考生记录*产生准靠证号 产生姓名 产生通讯地址分析考生记录2 3 4 7 15 6 48(4)Jackson 伪代码写出的过程性表示产生新文件 seq打开两个输入文件建立输出文件从输入文件中各读一条记录分析考生记录 iter until 文件结束处理考生记录 seq产生准靠证号产生姓名产生通讯地址产生考分生成一条新记录将新记录写入输出文件从输入文件中各读一条记录处理考生记录 end关闭全部文件停止产生新文件 e
17、nd5、公司的折扣政策为:(1)只对一次交易额在四万元(含四万元)的客户实施折扣;(2)如果客户的支付信用好,折扣率为 10%;否则要根据客户与公司的业务史定折扣率;(3)如果客户与本公司的交易史在五年以上(含五年),折扣率为 5%,否则,折扣率为 2%.绘制上述问题的判定树和判定表. (S:交易额,单位:万元)解答:决策树交易额 支付信用 交易年限 折扣额好 - - - - - - - - - - - - - - -S*10%S=4 5 年 - - - - - -S*5%不好5 年 - - - - - -S*2%S4 - - - - - - - - - - - - - - - - - - -
18、 - - - S*0%决策表交易额4 万元吗? Y Y Y N支付信用好吗? Y N N条件交易年限5 年吗? Y N状态10% 选5% 选2% 选决策方案不折扣(0%) 选决策规则折扣方案96、给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:(1)流程图;(2)NS 图;(3)PAD 图;(4)PDL 语言。9请建立下述的图书馆馆藏出版物的对象模型。一家图书馆藏有书籍、杂志、小册子、电影录影带、音乐 CD、录音磁带和报纸等出版物,供读者借阅。这些出版物有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等服务。馆藏出版物出版物名出版者获得日期目录编号书架位置借出状态借出限制借出收回书作者杂志日期小册子作者录音磁带作者CD演员名报纸日期录像带电影名