《电大软件工程形成性考核册参考答案.doc》由会员分享,可在线阅读,更多相关《电大软件工程形成性考核册参考答案.doc(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程作业1(第14章)一、选择题:1. 开发软件所需高成本与产品低质量之间有着尖锐矛盾,这种现象称做(C)。2. 瀑布模型本质上是一种(A )模型。3. 瀑布模型存在问题是(B )。A用户容易参及开发B缺乏灵活性C用户及开发者易沟通 D适用可变需求4. 螺旋模型是一种将瀑布模型与(A)结合起来软件开发模型。A增量模型B专家系统C喷泉模型D变换模型5. 原型化方法是用户与设计者之间执行一种交互构成,适用于(A)系统。A需求不确定性高B需求确定C管理信息D实时6. 下列有关软件工程标准,属于国际标准是(D )7. 结构化方法是一种基于(D)方法。A.数据结构 B.程序结构C.算法 D.数据流8
2、. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。A、简化、压缩 B、详细C、彻底D、深入9. 可行性研究目是(D)A、分析开发系统必要性B、确定系统建设方案C、分析系统风险D、确定是否值得开发系统10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。A、P(1+i*n)B、P (i+1)*nC、p(1+i)nD、p(i+n)11. 可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12. 可行性研究需要时间长短取决于系统规模,一般来说,可行性研究成本只是预期总成本(C)。A、1%B、20%C、8%D、50%13. 我国正式颁布实施(B)对计算机病毒
3、定义具有法律性、权威性。A计算机软件保护条例B中华人民共与国计算机信息系统安全保护条例C中华人民共与国著作权法D计算机病毒防治管理办法14. 效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性分析B、需求分析C、概要设计D、详细设计15. 需求规格说明书作用不包括(D)A、软件验收依据 B、用户及开发人员对软件要做什么共同理解C、软件可行性研究依据D、软件设计依据16. 数据字典是用来定义(D)中各个成份具体含义。A、程序流程图B、功能结构图C、系统结构图D、数据流程图17. 数据流程图是(A)方法中用于表示系统逻辑模型一种图形工具。A、SAB、SDC、SPD、SC18. DFD中每
4、个加工至少有(A)。A、一个输入流或一个输出流 B、一个输入流与一个输出流C、一个输入流D、一个输出流19. 需求分析阶段关键任务是确定(D)A、软件开发方法B、软件开发工具C、软件开发费D、软件系统功能20. 在SD方法中全面指导模块划分最重要原则是(D)。A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性21. 在模块3种基本属性中,反映模块内部特性是(C)。A、接口B、功能C、逻辑D、状态22. 模块耦合性可以按照耦合程度高低进行排序,以下哪一项符合从低到高正确次序(D)。A、数据结构耦合,公共耦合,控制耦合,内容耦合B、数据耦合,控制耦合,数据结构耦合,公共耦合C、无直接耦合,数
5、据结构耦合,内容耦合,控制耦合D、无直接耦合,数据耦合,控制耦合,内容耦合23. PDL是描述处理过程( C )A、做什么B、为什么做 C、怎么做D、对谁做24. (D)工具在软件详细设计过程中不采用。A、判定表B、IPO图C、PDLD、DFD图25. 为高质量地开发软件项目,在软件结构设计时,必须遵循(A)原则。A.信息隐蔽B、质量控制C、程序优化D、数据共享26. 当一个模块直接使用另一个模块内部数据,这种模块之间耦合为(D)A、数据耦合B、公共耦合C、标记耦合D、内容耦合27. 详细设计及概要设计衔接图形工具是(B)。A、DFD图 B、SC图 C、PAD图 D、程序流程图28. 下列几种
6、类型中,耦合性最弱是(D)。A、内容型B、控制型C、公共型D、数据型29. 软件结构使用图形工具,一般采用(C)图。A、DFDB、PADC、SCD、ER30. 在七种偶合中,最低偶合是(D)。A、内容偶合B、公共偶合C、数据偶合D、非直接偶合二、简答题1. 什么是软件工程?软件工程目标是什么?答:软件工程是将系统化、规范、可度量方法应用于软件开发、运行与维护过程,即将工程化应用于软件开发与管理之中,对中所选方法研究。目标:1 合理预算开发成本,付出较低开发费用。2 实现预期软件功能,达到较好软件性能,满足用户需求。3 提高软件可维护性,降低维护费用。4 提高软件开发生产率,及时交付使用2. 指
7、出瀑布模型中下列任务顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。答:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试3. 可行性研究报告主要内容是什么?答:可行性研究主要包括以下几个部分: (1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况与风险分析(5)投资估算及资金筹措(6)经济及社会效益(7)综合实力与产业基础(8)项目实施进度计划(9)其它尚需要说明必要方面(10)结论4. 什么是需求分析?需求分析阶段基本任务是什么?答:所谓需求分析,是指
8、对要解决问题进行详细分析,弄清楚问题要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。任务:确定软件项目目标与范围。调查使用者要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求管理工作5. 什么是结构化分析方法?该方法使用什么描述工具?答:结构化分析方法是面向数据流方法,因此,此方法研究核心是数据组成与数据流向与对数据加工处理。结构化分析方法用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐层分解,直至找到满足功能要求所有可实现软件元素为
9、止描述工具:1系统流程图 2 数据流程图3数据字典4 IPO图 5层次方框图6实体关系图7状态变迁图6. 结构化分析方法通过哪些步骤来实现?答:1)确定系统功能要求 2) 确定系统数据要求3) 确定系统操作要求与界面要求4) 确定系统性能要求5) 确定系统运行要求6) 获得当前系统物理模型7) 抽象出当前系统逻辑模型8) 建立目标系统逻辑模型。9) 修正开发计划10) 如果需要则开发系统原型 7. 什么是数据流图?其作用是什么?其中基本符号各表示什么含义?答:数据流图:简称DFD,就是采用图形方式来表达系统逻辑功能、数据在系统内部逻辑流向与逻辑变换过程,是结构化系统分析方法主要表达工具及用于表
10、示软件模型一种图示方法。数据流图基本符号意思: 1.矩形表示数据外部实体;2.圆角矩形表示变换数据处理逻辑; 3.少右面边矩形表示数据存储; 4.箭头表示数据流。8. 什么是数据字典?其作用是什么?它有哪些条目?答:数据字典,主要用来描述数据流程图中数据流、数据存储、处理过程与与数据源点/终点。作用:数据流程图描述了系统逻辑结构,其中四个基本图形元素含义无法在数据流程图中详细说明,因此数据流程图需要及其他工具配合使用,数据字典就是这样工具之一。包括条目:数据流词条数据元素词条数据存储词条数据加工处理词条数据源点及终点词条9. 什么是概要设计?有哪些基本任务?答:概要设计:根据用户需求先确定软件
11、系统总体结构与总设计原则基本任务:设想供选择方案。推荐最佳方案。功能分解,确定软件结构。设计软件结构。制定测试计划。数据设计。书写文档。包括总体设计规格说明书。用户手册。测试计划。设计审查与复审。10. 详细设计基本任务是什么?有那几种描述方法?答:详细设计阶段任务是要为编写程序代码设计“图纸”,由程序员按“图纸”用某种高级程序设计语言编写程序代码。主要方法有设计程序流程图,表格设计符号以及过程设计语言。11. 什么是变换流?什么是事物流?答:变换型数据流可以划分为明显三部分:逻辑输入,中心变换,逻辑输出 事务流特点是数据沿某个输入路径流动,该路径将外部信息转换成事务,其中发射出多条事务处理路
12、径中心处理被称为中心事务12. 模块内聚有哪几种?模块间耦合有哪几种?答:内聚分为七种类型:巧合内聚一个模块执行多个完全互不相关动作,那么这个模块就有巧合内聚 逻辑内聚当一个模块执行一系列相关动作时,称其有逻辑内聚。时间性内聚当一个模块内多个任务是及时间有关时,这个模块具有时间性内聚。过程内聚模块执行若干动作之间有顺序关系。通信内聚模块执行若干动作之间有顺序关系,并且所有动作是在相同数据上执行。信息内聚一个模块中执行一系列动作,每个动作都有自己入口点与处理代码,所有动作都作用在相同数据结构上,这样模块叫做信息内聚。功能性内聚一个模块中各个部分都是完成某一具体功能必不可少组成部分耦合分为七类:内
13、容耦合如果一个模块直接参考另一个模块内容,则这两个模块是内容耦合。公共耦合如果多个模块都访问同一个公共数据环境,则称它们是公共耦合。外部耦合如果两个模块都访问同一个全局简单变量而不是同一全局数据结构,而且,不是通过参数表传递该全局变量信息,则这两个模块属于外部耦合。控制耦合如果模块A向模块B传递一个控制信息,则称这两个模块是控制耦合数据结构耦合当一个模块调用另一个模块时传递了整个数据结构,这两个模块之间具有数据结构耦合。数据耦合如果两个模块传递是数据项,则这两个模块是数据耦合。非直接耦合如果两个模块之间没有直接关系,它们之间联系完全通过主模块控制与调用来实现,这就是非直接耦合。三、应用题 1某
14、旅馆 服务如下:可以拨分机号与外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号与市话号码组成。区号是从100到300中任意数字串。市话号码是以局号与分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4数字串。写出在数据字典中, 号码数据条目定义(即组成)。名称简称类型长度取值范围分机号Extension_Number字符47201.7299外线市话号Addition_Internumber字符99+455|466|888|552+4数字4外线长话号Addition_Extennumber字符129+100|1
15、01|102|.|298|299|300+455|466|888|552+4数字42下面是旅客订飞机票需求描述,试画出分层数据流程图。顾客将订票单交给预订系统:(1)如果是不合法订票单,则输出无效订票信息;(2)对合法订票单预付款登录到一个记账文件中;(3)系统有航班目录文件,根据填写旅行时间与目地为顾客安排航班;(4)在获得正确航班信息与确认已交了部分预付款时发出取票单,并记录到取票单文件中。顾客在指定日期内用取票单换取机票:(1)系统根据取票单文件对取票单进行有效性检查,无效输出无效取票信息;(2)持有有效取票单顾客在补交了剩余款后将获得机票;(3)记账文件将被更新,机票以及顾客信息将被登
16、录到机票文件。订单中有订票日期、旅行日期、时间要求(上午、下午、晚上)、出发地、目地、顾客姓名、身份证号、联系 。 0层流程图 预定流程图 取机票流程图3一个简化图书馆信息管理系统有以下功能:(1)借书:输入读者借书证,系统检查借书证是否有效;查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,显示信息“已经超出借书数量”,拒借;未达10本,办理借书(检查库存、修改库存信息并将读者借书信息登入借书记录)(2)还书:输入书号与读者号,从借书记录中读出及读者有关记录,查阅所借日期,如果超过3个月,作罚款处理。否则,修改库存信息及借书记录。(3)查询:可通过借书记录、库存信息查询读者情况、
17、图书借阅情况及库存情况,打印各种统计表。请就以上系统功能画出分层DFD图,并建立重要条目数据字典。 0层数据流程图 还书流程图借书流程图 查询流程图数据字典:元素名称名称类型说明IPO1还书处理处理根据书号做还书处理,违规做处罚IPO2有效性检查处理检查读者号,图书号有效性IPO3借书处理处理按读者号,图书号进行借书处理IPO4查询处理管理员对一些基本信息进行查询IPO5打印报表处理打印查询到信息IPO6处罚管理处理根据规则对延期给予相应处罚IPO7数量检查处理对读者借出数量是否符合规定进行检查DS001读者信息数据存储读者信息录入,修改,删除,保存DS002库存信息数据存储图书基本情况以及所
18、有图书整体情况DS003错还信息数据存储存储借还书信息,系统自动处理,不能人工录入DS004处罚信息数据存储存储延期处罚信息软件工程作业2(第57章)一、选择题1. 从本质上说,面向对象是“先”确定(A)后确定执行动作。2. (B)是对象静态特征。3. 对象(D)使对象动态特征4. 属于某个类一个具体对象称为该类(A)。5. UML是(A)。A) 一种可视化建模语言B) 是一种可视化程序设计语言C) 是一种过程D) 是一种方法6. 封装作用是(A)。8. 面向对象分析核心在于建立(B)模型。 A. 建立正确模型B. 识别问题域对象9. 面向对象分析过程中建立模型有(D )。 A. 数据模型、功
19、能模型、活动模型B. 对象模型、功能模型、测试模型C. 属性模型、功能模型、对象模型D. 对象模型、功能模型、动态模型10. 下列( C)不是分析建模目。 A. 定义可验证软件需求 B. 描述客户需求 C. 开发一个简单问题解决方案 D. 建立软件设计基础 11. 下列( C)不属于面向对象分析模型。 A. 用例图 B. 类图 C. 实体关系图 D. 顺序图 12. (A )用于描述系统中概念层次对象。 A.分析类B. 界面类13. 在基于用例面向对象分析过程中,定义交互行为关键在于通过描述分析类实例之间(A)将用例职责分配到分析类中。A. 消息传递B 关联关系C 继承关系D 上下文关系14.
20、用例实现细节不会在(B)描述。A. 用例说明B. 用例图15.用例职责通常分配给(D)对象。A. 发送消息B. 接收消息16.组织机构图是(C)。A. UML一个最新图B. 类图一种17.在图书馆系统中,假如已经构造了一个一般借书者类,后来发现图书馆学生与教师在借书中有不同要求。请问在面向对象设计中用(B)方法可以方便地设计这两个类? A.信息隐藏 B.继承 C.动态联编 D.代码复制 18框架是一组可用于不同应用(A)集合A. 类 B.对象 C.模块 D.代码 19下面哪个选项不能描述子系统之间关系。(D)A. 请求服务关系 B.继承关系 C.依赖关系 D.数据关系20每个子系统接口上定义了
21、若干(B),表达了子系统功能。A. 说明 B.操作 C.属性 D.关系21通常将具有共性非功能要求设计在(B),以减少重新开发工作量。A. 接口层 B.中间层 C.最低层 D.最高层22.每个用例至少应该有一个(C),它通常没有属性而只有方法,只是起协调与控制作用。A. 接口类 B.实体类 C.控制类 D.界面类23.类有三种类型即(A)。A. 边界类、实体类、控制类 B. 实体类、数据类、界面类C. 控制类、实体类、数据类D. 界面类、控制类、公共类24.下面那个选项不是正确面向对象设计思想。(C)25.定义类属性类型时尽量使用已有类型,太多自定义类型会降低系统(A)指标。二、简答题1. 举
22、例说明类与对象关系。答:学生可作为一个类-学生类,每个学生就是这个学生类一个实例,例如,学生张三就是学生类一个实例。2. 面向对象分析关键步骤有哪些?应建立哪几个模型?答:关键步骤有识别问题域对象并分析它们相互之间关系,建立简洁、精确、可理解正确模型;应建立模型有功能模型,对象模型,动态模型。3. 什么是实体类、边界类与控制类?为什么将分析类划分成这三种类型? 答:(1)实体类保存要存入永久存储体信息。实体类通常在事件流或交互图中,是对用户最有意义类。 边界类位于系统及外界交界处,包括所有窗体、报表、系统硬件接口、及其他系统接口。控制类负责协调其他类工作。每个用例中至少应该有一个控制类,它控制
23、用况中事件顺序。(2)分为三种类型是因为它们各自功能不同。界面类描述系统及角色之间接口。控制类在分析模型内表示协调、顺序、事务处理以及控制其他对象类。实体类为需要长久保存信息进行建模类。4. UML中有哪几类个视图,它们作用分别是什么?答:(1)用例视图(Use-Case view)用例视图用于描述系统功能集。它是从系统外部以用户角度,对系统做抽象表示。用例视图所描述系统功能依靠于外部用户或另一个系统触发激活,为用户或另一个系统提供服务,实现及用户或另一个系统之间交互。用例视图中可以包含若干个用例,用例表示系统能够提供功能,用例视图是其他视图核心与基础。其他视图构造依赖于用例视图中所描述内容,
24、因为系统最终目标是实现用例视图中描述功能,同时附带一些非功能性特性,因此用例视图影响着所有其他视图。(2)逻辑视图(Logical view)如果说用例视图描述系统“做什么”,那么逻辑视图就是描述“怎么做”。系统静态结构描述类、对象与它们之间关系,反映是系统静态特征或结构组成。(3)组件视图(Component view)组件视图用来描述系统实现结构与行为特征,反映系统各组成元素之间关系。组件视图由组件图实现,主要供开发者与管理者使用。(4)并发视图(Concurrency View)并发视图用来描述系统动态与行为特征。并发视图将任务划分为进程或线程形式,通过任务划分引入并发机制,可以高效地使
25、用资源、并行执行与处理异步事件。除了划分系统为并发执行进程或线程外,并发视图还必须处理通信与同步问题。(5)配置视图(Deployment View)配置视图表达了系统实现环境,反映系统物理架构。配置视图还包括一个映射,该映射显示在物理架构中组件是怎样分配。5. 顺序图在分析阶段作用?答:顺序图描述了一组交互对象间交互方式,它表示完成某项行为对象与这些对象之间传递消息时间顺序6. 活动图在分析阶段作用?答:活动图反映系统中从一个活动到另一个活动流程,强调对象间控制流程。活动图特别适合描述工作流与并行处理过程。具体地说活动图可以描述一个操作过程中需要完成活动;描述一个对象内部工作;描述如何执行一
26、组相关动作,以及这些动作如何影响它们周围对象;说明一个业务活动中角色、工作流、组织与对象是如何工作。7.比较结构化设计与面向对象设计区别?答:结构化设计:系统被划分成多个模块,这些模块被组织成一个树型结构。根就是主模块,叶子是最低级功能模块。这棵树也表示调用结构:每个模块都调用自己直接下级模块,并被自己直接上级模块调用。顶层模块负责收集应用程序最重要那些执行策略,底层模块实现处理细节。在这个体系结构中越靠上层位置,概念抽象层次就越高。但是,由于上层模块需要调用下层模块,所以这些上层模块就依赖于下层模块处理细节。也就是说,当实现细节发生变化时,抽象也会受到影响;如果想复用某一个抽象话,就必须把它
27、依赖细节都一起拖过去。面向对象设计:上层创建抽象不依赖于任何细节,而细节则高度依赖于上层抽象。这种依赖关系变化正是结构化设计及面向对象设计根本区别。8.什么是框架,它及“设计”有什么关系?答:框架是一组可用于不同应用类集合。框架中类通常是一些抽象类并且相互有联系,可以通过继承方式使用这些类,当面向对象设计进行底层设计时,对每个类进行详细设计,设计类属性与操作,优化类之间关系,就可以设计成框架来对类设计进行构架与优化。9.系统物理构架中应该包括哪些信息?答:用UML配置图描述系统物理构架,然后将需求分析阶段捕获系统功能分配到这些物理节点上。包括信息为节点拓扑结构、硬件设备配置、通信路径、各个节点
28、上运行系统软件配置、应用软件配置。三、应用题1. 一个多媒体商店系统包含一个由媒体文件构成数据库,有两类媒体文件:图像文件与声音文件。每个媒体文件都有名称与唯一编码,而且文件包含作者信息与格式信息,声音文件还包含声音文件时长(以秒为单位)与作者信息。假设每个媒体文件可以由唯一编码所识别,系统要提供以下功能:1) 媒体库中可以添加新特别媒体文件。2) 通过给定文件编码查找需要媒体文件。3) 从媒体库中删除指定媒体文件。4) 给出媒体库中媒体文件数量。考虑类image应该具有哪些恰当属性与方法答:imageFile类属性有:Name(文件名称),Code(编码),AuthorInfo(作者信息),
29、Format(格式信息);audioFile类除了拥有以上属性外还有属性Time(文件时长); imageFile类方法:Add(imageFile)(添加图像文件),Delete(Code)(删除文件),Get)(查找文件),GetNumber()(返回媒体文件数量);audioFile类方法:Add(audioFile)(添加声音文件),Delete(Code)(删除文件),Get)(查找文件),GetNumber()(返回媒体文件数量)。2. 若把学生看成一个实体,它可以分成多个子实体,如小学生、中学生与大学生等。在面向对象设计中,可以创建如下4个类:类Student、类Elementa
30、ry Student、Middle Student;类University Student。试给出这4个类属性以及它们之间关系。答:Student类为基类,其他三个类都是Student子类。Student类属性有:Name(姓名),Sex(性别),Age(年龄),Class(班级)。Elementary Student类属性有:IsTeamMember(是否是少先队员),IsGoodStudent(是否是三好学生)。Middle Student类属性为:IsMember(是否是团员),Subject(文科理科)。University Student类属性为:IsPartyMember(是否党员
31、),Department(学院),Specialty(专业)。三、应用题1. 某学校领书工作流程为:学生班长填写领书单,班主任审查后签名,然后班长拿领书单到书库领书。 书库保管员审查领书单是否有班主任签名,填写是否正确等,不正确领书单退回给班长;如果填写正确则给予领书并修改库存清单;当某书库存量低于临界值时,登记需订书信息。每天下班前为采购部门提供一张订书单。 用活动图来描述领书过程。解:2. 使用顺序图描述下面情景,当用户在自己计算机上向网络打印机发出一个打印任务时,他计算机便向打印机服务器发送一条打印命令print(file),打印机服务器如果发现网络打印机处于空闲状态,则向打印机发送打印
32、命令print(file),否则向打印队列发送一条保存命令store(file)。 解:3. 某报社采用面向对象技术实现报刊征订计算机管理系统,该系统基本需求如下:(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。 (2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。 (3)报社负责分类并统计各个发行站送来报刊订阅信息。 请就此需求建立对象模型。解:软件工程作业3(第811章)一、 选择题1. 结构化语言是介于自然语言与形式语言之间一种(D)。A半形式语言B计算机语言 C低级语言D高级语言2. 程序设计语言
33、技术特性不应包括(C)。A、数据结构描述性B、抽象类型描述性C、数据库易操作性D、软件可移植性3. 程序三种基本控制结构是(B)。A过程、子程序与分程序B顺序、选择与重复C递归、堆栈与队列D调用、返回与转移4. 结构化程序设计主要强调是(D)。A程序规模B程序效率C程序设计语言先进性D程序易读性5. 下列关于功能性注释不正确说法是(B)。A.功能性注释嵌在源程序中,用于说明程序段或语句功能以及数据状态B.注释用来说明程序段,需要在每一行都要加注释C.可使用空行或缩进,以便很容易区分注释与程序6. 下列关于效率说法不正确是(D)。A.效率是一个性能要求,其目标应该在需求分析时给出B.提高程序效率
34、根本途径在于选择良好设计方法,数据结构及算法7. 结构化维护及非结构化维护主要区别在于(B )。8. 关于JAVA语言下列说法不正确是(B)。A.跨平台B.动态指针C.解释型D.面向对象9. 使用白盒测试方法时,确定测试数据应根据(A)与指定覆盖标准。A程序内部逻辑 B程序复杂结构C使用说明书D程序功能10. 确认测试主要涉及文档是(A)。A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序11. 测试关键问题是(D)。12. 黑盒测试在设计测试用例时,主要研究(A)。13. 下面哪些测试属于黑盒测试(B)。A、路径测试B、等价类划分 C、条件判断 D、循环测试14. 在下述哪一种
35、测试中,测试人员必须接触到源程序(B)。A、功能测试B、结构测试C、功能测试与结构测试 D、性能测试15. 检查软件产品是否符合需求定义过程称为(D)。A、确认测试B、集成测试C、验收测试D、验证测试16. 软件测试方法中,黑盒、白盒测试法是常用方法,其中白盒测试主要用于测试(D)。A、 结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑17. 软件维护中,因修改交互输入顺序,没有正确记录而引起错误是(A)产生副作用。A、文档B、数据C、编码D、设计18. 以下属于软件维护阶段文档是(C)。A、软件需求说明B、操作手册C、软件问题报告D、测试分析报告19. 产生软件维护副作用,是指(C)
36、。A、开发时错误B、隐含错误C、因修改软件而造成错误D、运行时误操作20. 维护中,因误删除一个标识符而引起错误是(C)副作用。A、文档B、数据C、编码D、设计21. 可维护性特性中,相互促进(A)。A、可理解性与可测试性B、效率与可移植性C、效率与可修改性D、效率与结构好22. 软件维护困难主要原因是(C)A、费用低B、人员少C、开发方法缺陷 D、用户不配合23. 软件维护费用高主要原因是(C)。A、人员少B、人员多C、生产率低D、生产率高24. 为了适应软硬件环境变化而修改软件过程是(C)。A、校正性维护 B、完善性维护C、适应性维护D、预防性维护25. 可维护性特性中,相互矛盾是(B)2
37、6. 各种不同软件维护中,以(C)维护所占维护量最小。A、 纠错性维护B、代码维护C、预防性维护D、文档维护27. 在变更控制中,(B)可以用来确保由不同用户所执行并发变更。A异步控制B同步控制C存取控制D基线控制28. 变更控制是一项最重要软件配置任务,其中“检出”与(A)处理实现了两个重要变更控制要素,即存取控制与同步控制。A登入B管理C填写变更要求D审查29. 用Gantt图表示软件项目进度安排,下列说法中正确是(B)30. 基线可作为软件生存期中各开发阶段一个检查点。当采用基线发生错误时,可以返回到最近与最恰当(C)上二、 简答题1. 为建立良好编程风格应遵循什么原则?答:1)节简化不
38、使用不必要变量与函数避免变量重名,变量重名可导致很难被发现错误。尽量减小代码量。尽量减少代码执行时间,提高执行效率。避免功能冗余模块。尽量不使用全局变量。2)模块化 确保物理与逻辑功能密切相关。 限定一个模块完成一个独立功能, 提高模块内聚度。 检查代码重复率,重复多代码, 要抽出来作为一个单独模块。3)简单化 采用直接了当算法,避免使用技巧 性高与难懂代码。 使用简单数据结构,避免使用多维 数组、指针与复杂表。 注意对象命名一致性。 以手工方式简化算术与逻辑表达式。4)结构化按标准化次序说明数据;按字母顺序说明对象名使用读者明了结构化程序部件;采用直截了当算法;根据应用背景排列程序各个部分;
39、不随意为效率而牺牲程序清晰度与可读性;让机器多做烦琐工作,如重复、库函数;用公共函数调用代替重复出现表达式;避免循环、分支嵌套层数过高;单入口单出口。5)文档化(documentation)有效、适当地使用注释。协调使用程序块注释与程序行注释。保持文档与程序同步。6)格式化(layout)始终采用统一缩进规则;适当插入括号表明运算次序、排除二义性;有效地使用空格符以区别程序不同意群。2. 什么是软件测试?答:软件测试从广义上讲,是指软件产品生存周期内所有检查、评审与确认活动。从狭义上讲,软件测试是为了发现错误而执行程序过程。或者说,软件测试是根据软件开发各个阶段规格说明与程序内部结构而精心设计
40、一批测试用例,用这些测试用例运行程序,以发现程序错误过程。3. 软件测试原则是什么?答:软件测试原则有:1) 应该把测试贯穿在整个开发过程之中。事实上,从需求分析阶段开始,每个阶段结束之前都要进行阶段审查,目是尽早发现与纠正错误。2) 每个测试用例都应该包括测试输入数据与这组数据输入作用下预期输出结果。在实际操作中可以列出一张表格,包括每个测试用例编号、类型、输入数据、预期输出结果、实际输出结果、出错原因分析。3) 要对每个测试结果进行全面检查,不要漏掉已经出现错误迹象。4) 程序员应该尽量避免检查自己编写代码。测试工作需要严格工作作风,程序员在测试自己编写代码时往往会带有一些倾向性,使得他们
41、工作中常常出现一些疏漏。而且,程序员对设计规格说明书理解错误而引入错误更是难于发现。5) 在设计测试用例时,应该包括有效、期望输入情况,也要包括无效与不期望输入情况。既能够验证程序正常运行合理输入,也能够验证对异常情况处理不合理输入数据以及临界数据。在测试程序时,人们常常过多地考虑合法与期望输入条件,以检查程序是否做了它应该做事情,而忽视了不合法与预想不到输入条件。事实上,用户在使用系统时,输入一些错误指令与参数是经常发生,如果软件遇到这种情况不能做出适当反应,给出相应提示信息,就可能会误导用户,甚至造成严重损失。6) 软件中遗留错误数量及已经发现错误数量成正比。根据这个规律,对测试中发现错误
42、成堆模块更要仔细测试。例如,在某个著名操作系统中,44%错误仅及4%模块有关。7) 回归测试关联性要特别引起注意,修改一个错误而引起更多错误现象并不少见。8) 测试程序时不仅要检查程序是否做了它应该做事情,还要检查它是否做了不该做事情。例如,工资软件中,软件只完成在编职工工资计算与输出,不在编人员工资是不进行计算与输出。如果软件将不在编人员工资信息也输出显然是不合适。9) 严格执行测试计划。在测试之前应该有明确测试计划,内容包括:要测试软件功能与内容、测试用例与预期结果、测试进度安排、需要工具与资源、测试控制方式与过程等。10)做好测试记录,为统计与维护提供基础数据。4. 请说明集成测试、系统
43、测试与验收测试有什么不同?答:集成测试界于单元测试与系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒方式来测试,既验证“设计”,又验证“需求”。系统测试粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。验收测试及系统测试相似,主要区别是测试人员不同,验收测试由用户执行。5. 简述单元测试内容。 答:单元测试内容有1)模块接口测试:对通过被测模块数据流进行测试。为此,对模块接口,包括参数表、调用子模块参数、全程数据、文件输入/输出操作都必须检查。 2)局部数据结构测试:设计测试用例检查数据类型说明、初始化、缺省值等方面问题,还要查清全程数据对模块
44、影响。3)路径测试:选择适当测试用例,对模块中重要执行路径进行测试。对基本执行路径与循环进行测试可以发现大量路径错误。4)错误处理测试:检查模块错误处理功能是否包含有错误或缺陷。例如,是否拒绝不合理输入;出错描述是否难以理解、是否对错误定位有误、是否出错原因报告有误、是否对错误条件处理不正确;在对错误处理之前错误条件是否已经引起系统干预等。5)边界测试:要特别注意数据流、控制流中刚好等于、大于或小于确定比较值时出错可能性。对这些地方要仔细地选择测试用例,认真加以测试。 5) 此外,如果对模块运行时间有要求话,还要专门进行关键路径测试,以确定最坏情况下与平均意义下影响模块运行时间因素。这类信息对进行性能评价是十分有用。6. 什么是白盒测试?它适应哪些测试?答:白盒测试也叫结构测试,测试者需要了解被测程序内部结构。白盒测试通常根据覆盖准则设计测试用例,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖与条件组合覆盖。 白盒测试适用及单元测试、集成测试、系统测试7. 非渐增式测试及渐增式测试有什么区别?渐增式测试如何组装模块?答:1)渐增式可以较早地发现模块界面之间错误,非渐增式则要到最后将所有模块连接起来时才能发现此类错误。 2)非渐增式需要较多人工 3)渐增式有利于排错。如果模块界面间有错,如果用非渐增式,这类错误到最后联合测试时才能发现,此