软件工程复习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、简答题1.软件生存周期都包括哪些活动?答:(1分)可行性研究与计划;(1分)需求分析;(1分)概要设计、详细设计;(1分)编码、测试;(1分)维护等活动。这些活动将以适当的方式分配到不同阶段去完成。2.为什么说现代牌汽车是小汽车类的特化,而车轮不是小汽车的特化?答:现代牌汽车是具有小汽车的全部属性和行为(1分),它只不过是一种特定品牌的小汽车,因此现代牌汽车可以从基类派生出来(1分),也就是说,现代牌汽车是小汽车类的特化。车轮是组成小汽车的一种零件(1分)。小汽车还有车身,发动机等许多种其他的零件,小汽车所具有的许多属性和行为车轮都不具有(1分),因此车轮不能从小汽车类派生出来(1分),它不是小汽车类的特化!3、模块独立性与信息隐蔽有何关系?答:(1分)“模块独立性”是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。(1分)所谓的“信息隐蔽”是指每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。(3分)衡量模块独立性的一个准则就是模块内聚,达到信息隐蔽的模块是信息内聚模块,它是高内聚的情形,因此模块独立性当然就很强了。4.提高软件可重用性的主要准则有哪些?答:(1)提高方法的内聚(2)减小方法的规模(3)保持方法的一致性(4)把策略与实现分开(5)全面覆盖(6)尽量不使用全局信息(7)利用继承机制5.快速原型技术的基本思想是什么?原型法是在系统开发周期,凭借系统开发人员对用户需求的了解和系统主要功能的要求,在强有力的软件环境支持下,迅速构造出系统的初始原型,然后与用户一起不断对原型进行修改、完善,直到满足用户需求。6.为什么说夏利牌汽车是小汽车类的特化,而车轮不是小汽车的特化?7.面向对象方法的启发规则有哪些?1.改进软件结构提高模块独立性2.模块规模应该适中3.深度、宽度、扇出和扇入都应适中4.模块的作用域应该在控制域之内5.力争降低模块接口的复杂程度6.设计单入口单出口的模块7.模块的功能应该可以预测二、应用题1.一家图书馆藏有书籍、杂志、小册子、电影录像带、音乐CD、录音图书磁带和报纸等出版物,供读者借阅。这些出版物具有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等公共属性,以及借出、收回等公共服务。此外这些出版物还存在特有属性,如:书籍有作者属性、杂志有日期属性、小册子有作者属性、电影录像带有电影名属性、音乐CD有演员名属性、录音图书磁带有作者属性,报纸有日期属性。请为图书馆馆藏出版物建立对象模型。2.某医院打算开发一个以计算机为中心的患者监护系统,医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。请用数据流图描绘本系统的功能。3.请针对下面的语句段完成相关任务if(A1&&B==0))X=X/A;if(A==2||X1)X=X+1;(1)画出程序段的流程图(2)设计一组满足判定/条件覆盖标准的测试用例(注:进行必要说明)4、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。用实体-联系图描绘系统中的数据对象。5.假设一个包中的对象分为简单对象和复合对象。简单对象分别是弧、椭圆、折线、多边线。简单对象可以被移动、旋转、复制、擦除。复合对象由简单对象组成,复合对象可以移动、旋转、复制、擦除。组成复合对象的简单对象不能个别地被修改。请画出类图。6.北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用定义数据字典的方法,定义上述的电话号码。三、选择题(B)1.软件质量因素不包括(p325)。A.正确性B.高性能C.可测试性D.可理解性(A)2.软件可行性研究实质上是要进行一次需求分析、设计过程。(p35)A.简化、压缩的B.详细的C.彻底的D.深入的(C)3.以下哪个软件生存周期模型是一种风险驱动的模型(p20)A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型(C)4.可行性分析中,系统流程图用于描述。A.当前运行系统B.当前逻辑模型C.目标系统D.新系统()5.结构化分析建立功能模型的工具是A.DFDB.判定树/判定表C.SCD.结构化语言(C)6.检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.系统测试D.单元测试(C)7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是p190A.校正性维护B.适应性维护C.完善性维护D.预防性维护(B)8.通信内聚是指。A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可(A)9.一个只有顺序结构的程序,其环形复杂度是A.0B.1C.3D.5(D)10.下述四个能力成熟度等级,级别最高的是A.已定义级B.优化级C.可重复级D.已管理级(C)11.结构化程序设计,主要强调的是A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系(B)12.软件调试技术包括A.边界值分析B.演绎法C.循环覆盖D.集成测试(A)13.需求分析中开发人员要从用户那里了解A.软件做什么B.用户使用界面C.输入的信息D.软件的规模(A)14.数据字典是对数据定义信息的集合,它所定义的对象都包含于。A.数据流图B.程序框图C.软件结构D.方框图(A)15.面向对象的主要特征除唯一性、继承性、多态性外,还具有。A.封装性B.移植性C.完整性D.兼容性(C)16.关于软件维护的说法错误的是。A.软件维护是软件生命周期中占用时间最长的一个阶段B.软件维护不只是修改软件中的错误C.软件维护对于开发商来说是无利可图的D.在编码过程中添加适当的注释,可以降低软件维护的难度(A)17.应用执行对象的操作可以改变该对象的。A.属性B.功能C.行为D.数据(C)18.软件部分的内部实现与外部可访问性分离,这是指软件的。A.继承性B.共享性C.封装性D.抽象性(C)19.常用动词或动词词组来表示。A.对象B.类C.关联D.属性(B)20.模块定义为受该模块内一个判定影响的所有模块集合。A.控制域B.作用域C.宽度D.接口(A)1.快速原型模型的主要特点之一是。A.开发完毕才见到产品B.及早提供工作软件C.及早提供全部完整软件D.开发完毕才见到工作软件(D)2.软件工程学的一个重要目标是软件工程学的一个重要目标就是提高软件的可维护性,减少软件维护的代价A.提高程序的执行效率B.降低程序对存储空间的要求C.定义各种软件开发过程模型D.提高软件的可维护性(B)3.需求分析最终结果是产生。A.项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告(A)4.集成测试是为了发现A.接口错误B.编码错误C.性能、质量不合要求D.功能错误(C)5.关于软件维护的说法错误的是。A.软件维护是软件生命周期中占用时间最长的一个阶段B.软件维护不只是修改软件中的错误C.软件维护对于开发商来说是无利可图的D.在编码过程中添加适当的注释,可以降低软件维护的难度(A)6.结构化设计是一种面向的设计方法。A.数据流B.数据库C.数据结构D..程序(A)7.在详细设计阶段,经常采用的工具有。A.PDLB.SAC.SCD.DFD(A)8.以下不属于序言性注释的有(序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号,程序功能描述,接口与界面描述,输入/输出数据说明,开发历史,与运行环境有关的信息等。)A.模块设计者B.修改日期C.程序的整体说明D.语句功能(C)9.进行需求分析可使用多种工具,但是不适用的。A.数据流图B.判定表C.PAD图D.数据字典(C)10.在软件结构设计完成后,对于下列说法,正确的是。A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层(B)11.好的软件结构应该是。A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚(A)12.应用执行对象的操作可以改变该对象的。A.属性B.功能C.行为D.数据(B)13.结构分析法就是面向自顶向下逐步求精进行需求分析的方法。A.目标B.数据流C.功能D.对象(C)14.常用动词或动词词组来表示。A.对象B.类C.关联D.属性(D)15.数据存储和数据流都是,仅仅所处的状态不同。A.分析结果B.事件C.动作D.数据(C)16.在整个软件维护阶段所花费的全部工作中,所占比例最大的是A.校正性维护B.适应性维护C.完善性维护D.预防性维护(D)17.下述四个能力成熟度等级,级别最高的是A.已定义级B.初始级C.可重复级D.已管理级(C)18.软件部分的内部实现与外部可访问性分离,这是指软件的。A.继承性B.共享性C.封装性D.抽象性(B)19.软件质量因素不包括。A.正确性B.高性能C.可测试性D.可理解性(B)20.以下说法正确的是。A.功能模型不包括对象模型中值的约束条件B.功能模型说明对象模型中操作的含义C.功能模型说明对象模型中约束的含义D.功能模型说明对象模型中动作的含义判断题:1.()在进行需求分析时同时考虑维护问题。2.()完成测试后,为缩短源程序长度而删去程序中的注解,对软件的维护不会产生影响。3.()尽可能在软件开发过程中保证各阶段文档的正确性。4.()在面向对象的需求分析方法中,建立动态模型是最主要的任务。5.()项目应用领域是选择语言的关键因素。6.()类是对具有共同特征的对象的进一步抽象。7.().如果测试过程没有发现任何错误,则说明软件没有错误。8.()CMM是指导软件开发的一种面向对象的新技术。9.()软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系。10.()Jackson方法是面向数据结构的设计方法。()1.SA方法的基本思想是自顶向下逐步分解。()2.在可行性研究中最难决断和最关键的问题是经济可行性。()3.类是对具有共同特征的对象的进一步抽象。()4.软件也会磨损和老化。()5.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。()6.设计阶段的输出是编码阶段的输入。()7模块耦合越强,则说明模块的独立性越强。.()8基本路径测试是黑盒技术设计测试用例的方法之一。.()9.软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系。.()10.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功