重庆大学2016《软件工程导论》试题
- 格式:doc
- 大小:90.00 KB
- 文档页数:3
一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用. (×)为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)在进行总体设计时应加强模块间的联系.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.五,分析应用题(20分)求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数.(10分)请画出程序流程图(4分)请画出该算法的N-S图(3分)请用PAD图来表示该算法(3分)答案:2. 下面是某程序的流程图:(10分)计算它的环路复杂性.(3分) 答案:7为了完成基本路径测试,求它的一组独立的路径.(7分)答案:路径1: (0)—①—(13)—(19)路径2: (0)—②—③—(14)—(19)路径3: (0)—②—④—⑤—(15)—(19)路径4: (0)—②—④—⑥—⑦—(16)—(19)路径5: (0)—②—④—⑥—⑧—⑨—(17)—(19)路径6: (0)—②—④—⑥—⑧—⑩—(11)—(18)—(19)路径7: (0)—②—④—⑥—⑧—⑩—(12)—(19)六,阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内.(12分) [说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入, 火警,水灾等.房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互.在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码.当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息.加工4的细化图[问题1](3分)数据流图1(住宅安全系统顶层图)中的A和B分别是什么答案:A:传感器: B:报警器[问题2](3分)数据流图2(住宅安全系统第0层DFD图)中的数据存储"配置信息"会影响图中的哪些加工答案:监控传感器,显示信息和状态[问题3](6分)将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称.答案: 4.4"读传感器"添加输入数据流"传感器状态"4.1"显示格式"添加输出数据流"传感器数据"4.5"拨号"添加输出数据流"电话拨号"七,请以自己的实际体会说明项目管理的意义和作用.(8分)答案:(要点)软件项目管理就是对软件工程项目开发过程的管理.具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率,改善产品质量的目的.软件项目管理的职能:(1)制定计划:规定待完成的任务,要求,资源,人力和进度等.(2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构.(3)配备人员:任用各种层次的技术人员和管理人员.(4)指导:鼓励和动员软件人员完成所分配的任务.(5)检验:对照计划或标准监督检查实施的情况.。
1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________.6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型.1.下列哪个阶段不属于软件生存周期的三大阶段( C )。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。
A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。
A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。
A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。
软件工程导论试题一.选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( B)A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C)A、分析阶段B、设计阶段C、编码阶段D、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
软件工程导论试题一.选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C )。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于( C )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( B )A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成( A )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C )A、分析阶段B、设计阶段C、编码阶段D、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
一、单项选择题(每小题3分,共10题)1、需求分析的任务不包括(B)。
A.问题分析B.系统设计C.需求描述D.需求评审。
2、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
A.判定表和判定树B.盒图C.流程图D.关系图3、为适应软件运行环境的变化而修改软件的活动称为(B)。
A.纠错性维护B.适应性维护C.改善性维护D.预防性维护4、下列不属于软件工程方法3要素的是(D)。
A)方法B)工具C)过程D)人员5、软件的发展经历了(D)个发展阶段。
A.一B.二C.三D.四6、下列不属于UML中的动态图的是(B)。
A)状态图B)对象图C)协作图D)活动图7、一个模块的(B)是指能直接调用(控制)该模块的模块数。
A.扇出数B.扇入数C.宽度D.深度8、下列耦合中,模块独立性最好的是(A)。
A)非直接耦合B)数据耦合C)外部耦合D)内容耦合9、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。
A 关键实践B 软件过程性能C 软件过程能力D 软件过程10、UML的扩展机制不包括(C)。
A)构造型B)标记值C)注解D)约束二、填空题(每题2分,共5题)1、任何复杂的程序流程图都只应该由5种基本控制结构组合或嵌套而成,这5中基本结构分别是顺序型、选择型、先判定型循环、后判定型循环、多情况型选择。
2、在进行结构化分析时,对数据流图进行分层应注意父图和子图平衡。
3、UML的基本构造块包含:视图、图和模型元素。
4、自行车类与自行车车轮类之间是聚集关系。
5、在进行软件规模估算时,与代码行度量方式相比,功能点度量的估算结果更客观和合理。
三、判断题(每题2分,共10题)1、目前,软件项目的进度安排比较常用的方法包括程序评估与审查技术(PERT)和关键路径法(CPM)。
(对)2、缺乏处理大型软件项目的经验。
A、PBB、VBC、UMLD、SQL Server 2000中的SQL语言14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。
(8分)9、√ 10、√ 11、√ 12、× 13、× 14、× 15、√二、项选择题:每题1分,共15分1、C2、B3、B4、A5、B6、D7、B8、B9、A 10、A 11、A 12、A 13、D 14、D 15、C三、简答题(总共20分)1、总共6分,项目A 用事务流(2分),项目B 用变换流(2分),项目A 回答原因(1分),项目B 回答原因(1分)2、总共8分,画对每个条件1分3、每写出一种语言或工具1分,写出应用领域1分,如C#(C/B/S 结构软件),JA V A (B/S 结构软件),C++(系统软件),DEPHI (开发C/S 结构软件)、PB (开发C/S 结构下基于数据库的软件)。
四、综合题(总共25分)1、共10分每对一个对象类1分,写出一个对象类的关系0.5分2、测试题共15分五、分析设计题(总共25分)对象类图10分,每写对1个对象类1分,1个联系和多重性1分*功能模型:用例图7分,每写对1个用例1分,1个行为者1分动态模型:顺序图8分,每写对1个对象类和生命线0.5分,1个事件1分一、判断题:每小题1分,共15分,在正确的打上√,错误的打上X()2.数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。
一.选择题1。
软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B)A).用户B).需求审评C).总结D).都不正确2。
在原型法中称(A)为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。
A).用户B).开发人员C).系统分析员D).程序员3。
下面不属于软件工程的3个要素是(D)A).工具B).过程C).方法D).环境4检查软件产品是否符合需求定义的过程称为(A)A).确认测试B).集成测试C).验证测试D).验收测试5.数据存储和数据流都是(D),仅仅是所处的状态不同。
A).分析结果B).事件C).动作D).数据6。
数据流图和(C)共同组成系统的逻辑模型。
A).HIPO图B).PD)LC).数据字典D).层次图7。
数据元素组成数据的方式的基本类型(D)A).顺序B).选择C).循环D).以上全部8。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)。
A).控制流B).加工C).数据存储D).源和潭9。
结构化分析方法就是面向(B)的自顶向下逐步求精进行需求分析的方法。
A).目标B).数据流C).功能D).对象10。
通过(B)可以完成数据流图的细化。
A).结构分解B).功能分解C).数据分解D).系统分解11。
下面不属于软件工程原则的是(C)A).抽象B).模块化C).自底向上D).信息隐蔽12。
(D)是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。
A).模块化B).抽象C).精化D).模块13。
(C)是指让一些关系密切的软件元素在物理上彼此靠近。
A).信息隐蔽B).内聚C).局部化D).模块独立14。
面向数据流的设计方法把(D)映射成软件结构。
A).数据流B).系统结构C).控制结构D).信息流15。
程序流程图(PDF)中的箭头代表的是(B)。
1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
1.下列哪个阶段不属于软件生存周期的三大阶段(C)。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A)。
A、软件开发工作的基础 B、软件生存周期的开始3. C、由系统分析员单独完成的 D、由用户自己单独完成的4.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B)。
A、明确的需求定义 B、完整的生命周期5. C、较长的开发时间 D、熟练的开发人员6.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为(A)。
A、改正性维护 B、适应性维护7. C、完善性维护 D、预防性维护8.一般说来,投入运行的软件系统中有错误(A)。
A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。
重庆大学《软件工程导论课程试卷 第1页 共3页
重庆大学《软件工程导论》课程试卷
A卷
B卷
2015— 2016学年 第 二 学期
开课学院: 软件学院 课程号:
考试日期:
考试方式:
开卷闭卷 其他 考试时间: 120 分钟
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将其号码填在题干后的括号内,每小题2分,共20分)
1.造成大型软件开发困难的根本原因在于 ( )
A.开发人员缺乏足够的开发经验
B.对软件开发的资金投入不足
C.项目开发进度不合理
D.软件系统的复杂性
2.线性顺序模型规定了软件过程的活动主要包括:制定计划、需求分析、软件设计、编码、软件测试、运行与维护,这些活动相互衔接,具有很强的顺序性和互相依赖性,这种模型称为 ( )
A .瀑布模型
B .螺旋模型
C .增量模型
D .原型模型
3.软件会逐渐退化而不会磨损,其原因在于 ( ) A.软件通常暴露在恶劣的环境下 B.软件错误在经常使用之后会逐渐增加 C. 软件备件很难订购 D.不断的变更使组件接口之间引起错误 4.需求分析阶段的任务是确定 ( )
A .软件开发方法
B .软件开发工具
C .软件开发费
D .软件系统的功能
5.数据流图DFD 有4种基本元素:外部实体、数据流、处理或加工、 ( )
A .需求调查
B .状态迁移
C .数据存储
D .数据字典 6.软件设计阶段的输出主要是 ( )
A .程序
B .伪代码
C .模块
D .设计规格说明书
7.内聚表示一个模块 ( )
A.可以被更加细化的程度
B.仅关注在一件事情上的程度
C.能够适时地完成其功能的程度
D.联接其他模块和外部世界的程度 8.单元测试内容不包括 ( )
A.出错处理
B.全局数据结构
C.独立路径
D.模块接口
9.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 ( )
A 、集成测试
B 、恢复测试
C 、确认测试
D 、单元测试
10.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 ( )
A 、纠正性维护
B 、适应性维护
C 、完善性维护
D 、预防性维护
二、填空题(每空1分,共20分)
1.软件是由: 、 和 构成的。
2.需求分析最终结果是产生 。
3.从工程管理方面来分类,软件设计一般分为 和 ,它们之间的关系是全局和局部。
4.在软件结构化设计方法中,指导模块划分的最重要原则是高的 和低的 。
命题人:张毅
张小洪
组题人:刘礼
审题人:文俊浩
命题时间:
教务处制
学院 专业、班 年级 学号 姓名 考试教室
公平竞争、诚实守信、严肃考纪、拒绝作弊
封
线 密
5.产品需求又可以细分为:和。
6.在需求工程过程中,最重要的工程活动包括,、、
和。
7.在软件结构中,由一模块直接控制的其它模块数量称为。
8.模块独立性中,使得每个模块只完成一个相对的特定子功能,并且与其它模块的关系。
9.在测试过程中,需要考察模块间的接口和各模块之间联系的测试属于。
10.软件测试用例主要由和两部分组成。
三、名字解释(每小题3分,共15分)
1.软件工程
2.软件生命周期
3.耦合性
4.黑盒测试法
5、软件维护四、简答题(每小题5分,共25分)
1、什么是软件危机?软件危机的表现有哪些?
2、软件设计与软件需求的差异在哪里?
3、说明等价类划分和边界值分析法的内容。
4.单元测试的内容主要包括哪些?
5、简述软件测试的基本任务,并说明测试与调试有什么区别?
五、应用题(本大题共3个小题,请选择其中的2个小题解答,多选按分数低的2个小题给分,每小题10分,本大题共20分)
1、某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于100元,按C类标准收费(打8折),一次购物累计等于或多于100元,按D类标准收费(打7折),其流程图如图1所示。
如果根据以上要求实现一顾客收费模块,并按照基本路径法设计为其测试用例,则完成一下内容:
(1)计算其环域复杂度。
(2)按照基本路径法设计测试用例,并给出执行路径。
2、案例分析题
案例:一个制造电动工具的小型公司,在开董事会,有董事会主席贝斯和两个董事会成员罗斯玛丽和史蒂夫。
贝斯首先发言:“我们要开发一套自动客户服务系统(Call Center)。
“我们需要多少钱才能搞这么一个系统?”罗斯玛丽问道。
“大约10万美元,”贝斯回答,“如果我们不能在两个月后就开始启用这个系统,估计我们的定单可能会减少20%。
”
“我们除了钱还需要很多东西。
我们需要了解是否有更好的方案、开发这个系统需要多少时间,以及,这个系统是不是真的适合我们!”史蒂夫说。
“我想我们完全可以自己来做这个项目,这将是很有趣的!”罗斯玛丽兴奋地说。
“这个项目不是我们的专长,我们不可能及时完成。
”贝斯说道。
罗斯玛丽回答说:“我们有几个技术人员,虽然不够,但只要再招聘一二个高手,就可以解决它,并且做好。
”
“项目是我们真正需要的吗?我们上了这个项目以后,公司的销售任务就能完成了吗?”史蒂夫问道,“此外,我们正在经历一个困难时期,我们的资金并不宽余。
或许我们应当考虑一下,我们怎样能用较少的资金来运作一切。
例如,我们用这个系统只处理定单,而并不包括服务。
这样系统是不是就会小一点,也省一点、快一点?”
罗斯玛丽插话说:“多妙的主意,我们可以先完成销售定单的处理,等这部分完成投入使用后,再开发服务部分。
公司可以在改进销售功能的同时,继续开发服务功能。
这样,我们就可以做得更好。
”
“好了,”贝斯说,“这些都是好主意,但是我们只有有限的资金和技术人员,并且有一个增长的需求。
我们现在需要做的是,确保我们在两个月后不必担心丢失定单。
我想,我们都同意必须采取行动,但是不能确定我们的目标是否一致。
”
回答下列问题:
(1)项目目标是什么?
(2)已识别的需求是什么?
(3)如果有的话,准备开发的项目应具备什么样的假定条件?
(4)项目牵涉到的风险是什么?
(5)你认为项目开发应该采用那里种软件过程模型?。