软件工程期中试题B.doc_第1页
软件工程期中试题B.doc_第2页
软件工程期中试题B.doc_第3页
软件工程期中试题B.doc_第4页
软件工程期中试题B.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论