1、(完整版)软件工程习题集软件工程习题集赵绪辉渤海大学信息科学与工程学院2005年9月76目 录一 软件与软件工程1二 软件项目管理3三 需求分析5四 面向对象的需求分析7五 软件设计10六 程序设计语言和编码12七 软件测试14八 软件维护16综合试卷一17综合试卷二20综合试卷三23附参考答案:26一 软件与软件工程参考答案26二 软件工程管理参考答案28三 需求分析参考答案29四 面向对象的需求分析参考答案31五 软件设计参考答案36六 程序设计语言和编码参考答案38七 软件测试参考答案40八 软件维护参考答案42综合试卷一参考答案及评分标准44综合试卷二参考答案及评分标准46综合试卷三参
2、考答案及评分标准48一 软件与软件工程一、选择题1.软件的主要特性是() A、无形性 B、高成本 C、包括程序和文档D、可独立构成计算机系统2。软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是() A、螺旋模型B、瀑布模型 C、增量模型D、喷泉模型4.软件工程的主要目标是() A、 软件需求B、 软件设计 C、 风险分析D、 软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6。软件危机的主要表现是() A、软件成本太高 B、软件产品的质量低劣 C、软件开发人员明显不足 D
3、、软件生产率低下7.软件开发方法的主要工作模型有() A、螺旋模型 B、循环模型 C、瀑布模型 D、专家模型8。软件工程的目标有() A、易于维护 B、低的开发成本 C、高性能 D、短的开发期9。软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。B、克服软件危机。C、作好软件开发的培训工作。D、以较低的成本开发出高质量的软件。二、判断题1。软件就是程序,编写软件就是编写程序。2。瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰.3.结构化方法的工作模型是使用螺旋模型进行开发的。4.结构化方法和JSP方法都不适合于大型软件的开发5.原型化开发方法包括生成原型和
4、实现原型两个步骤.6。面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。7.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。8。软件工具的作用是为了延长软件产品的寿命。9.软件工程过程应该以软件设计为中心,关键是编写程序。10。RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。三、简答题1。软件产品的特性是什么?2.软件发展有几个阶段?各有何特征?3。什么是软件危机?其产生的原因是什么?4。什么是软件生存周期模型?它有哪些主要模型?5。有哪些主要的软件开发方法?6.软件生命期各阶段的任务是什么?二 软件项目管理一、选
5、择题1、软件工程管理的对象是:()A、软件开发人员B、软件工程项目C、软件开发过程D、软件开发速度 2、以下对软件工程管理的任务和目标最准确的描述是:()A、明确软件开发项目的工作范围、可能遇到的风险、需要的资源;B、明确软件开发中要实现的任务和需经历的里程碑;C、明确所需的工作量以及进度安排;D、以上所有答案3、在软件管理资源要求中,最为重要的、起决定性的资源是以下哪种资源:()A、硬件资源B、软件资源C、人力资源D、软件复用性及软件部件库4、开发一个软件工程的第一部是:()A、可行性研究B、组织开发人员C、购买开发工具D、开发任务指定5、可行性报告中不包括一下哪个方面:()A、技术上的可行
6、性B、经济上可行性C、人力的可行性D、经济上的可行性6、影响软件开发成本估算的因素不包括以下那项:()A、软件人员业务水平B、软件开发规模及复杂度C、开发所需时间D、开发所需硬件资源7、自底向上的估计法的特点是:()A、简单、工作量小、误差大B、精度高,但缺少子任务(模块)间的联系C、估算较精确,但区分类比较困难D、复杂、不可行,一般不采用此种方法8、对一个软件工程来说,占总工作量的百分比最大的工作是:()A、需求分析B、软件设计C、编码工作D、测试和调试工作9、软件质量度量的方法包括:()A、精确度量B全面度量C、简易度量D、以上所有答案10、CMM表示:()A、软件过程成熟度模型B、软件过
7、程工业化控制C、国际软件质量认证D、软件统一性标准。二、判断题1、软件工程管理是对软件项目的开发管理,是对整个软件生存期的所有活动进行管理。2、软件工程管理的主要任务有:软件可行性分析与成本估算、软件生产率及质量管理、软件售后管理3、直接影响软件开发风险的因素是成本估算4、软件开发配备人员的基本原则是:重质量、重数量、重培训5、“简易度量”不是软件质量度量的方法6、CMM是指导软件开发的一种面向对象的新技术7、CMM将软件过程的成熟度分为以下五个级别:初始级、可重复级、已定义级、已管理级和优化级8、CMM对开发一个软件所做的基本要求是“有章可循、有章必循”三、简答题1. 简述一个成熟的软件机构
8、应具有的特点2、CMM将软件过程的成熟度分为哪几个级别?三 需求分析一、选择题1。需求分析的主要目的是()A、系统开发的具体方案B、进一步确定用户的需求C、解决系统是“做什么的问题”D、解决系统是“如何做的问题”2.需求分析的主要方法有()A、形式化分析方法B、PAD图描述C、结构化分析(SA)方法D、OOA法3。面向对象的分析方法主要是建立三类模型,即()。、系统模型、ER模型、应用模型 、对象模型、动态模型、应用模型、模型、对象模型、功能模型 、对象模型、动态模型、功能模型4。法的主要描述手段有()、系统流程图和模块图、图、数据词典、加工说明、软件结构图、加工说明、功能结构图、加工说明5.
9、画分层图的基本原则有()。、数据守恒原则 B、分解的可靠性原则C、子、父图平衡的原则 D、数据流封闭的原则6。在ER模型中,包含以下基本成分()。A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、联系7。画DFD图的主要目的是()A、作为需求分析阶段用户与开发者之间交流信息的工具。B、对系统的数据结构进行描述。C、对目标系统的层次结构进行描述。D、作为分析和设计的工具.8。数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成()。A、数据说明条目、控制流条目、加工条目、数据存储条目B、数据流条目、数据项条目、文件条目、加工条目C、数据源条目、数据流条目、数
10、据处理条目、数据文件条目D、数据流条目、数据文件条目、数据池条目、加工条目9。在需求分析阶段主要采用图形工具来描述的原因是()。A、图形的信息量大,便于描述规模大的软件系统。B、图形工具能够极好地概括描述一个系统的信息,比文字叙述能够更好地表达重要的细节。C、图形能够更加直观地描述目标系统,便于用户理解和交流,有利于开发者与用户之间达成一致的需求。D、图形比文字描述简单、形象二、判断题1。在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。2.法是面向数据流,建立在数据封闭原则上的需求分析方法.3。法既是需求分析方法又是软件设计方法。4.在面向对象的需求分析方法中,建立动态模型是最主
11、要的任务。5.加工小说明是对系统流程图中的加工进行说明。6.判定表的优点是容易转换由计算机实现,缺点是不能够描述组合条件。7.需求分析的主要方法有SD法、OOA法及HIPO法等。8。分层的DFD图可以用于可行性分析阶段,描述系统的逻辑结构。9.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是ER图。10。用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。三、简答题1。什么是需求分析?需求分析阶段的基本任务是什么?2.M公司的软件产品以开发实验型的新软件为主.用瀑布模型进行软件开发已经有近十年了,并取得了一些成功.若你作为一名管
12、理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度超过一页(B5)。3.如何画分层数据流图?4。加工小说明有哪些描述方法?5。常用的软件需求分析的方法有哪些?四 面向对象的需求分析一、选择题1.面向对象程序设计的基本机制()A继承 B消息 C方法 D结构2。下列属于面向对象的要素的() A分类性 B抽象 C共享 D封装3。下列选项中属于面向对象开发方法的有()A Booch B CAD C Coad D OMT4.下列属于Coad方法中面向对象的分析模型的层次有()A主题层 B对象层 C应用层 D接口层5。一个属性依其特
13、征,其类型有()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性能说明11.下列不是常见的模型元素间的关系有() A 关联 B聚合 C依赖 D笔记12。UML具有扩展性,常见的扩展
14、机制有() A 修饰 B版类 C加标签值 D约束13。UML语言支持的建模方式有() A 静态建模 C动态建模 C模块化建模 D功能性建模14。下列各种图可用于动态建模的有() A 状态图 B类图 C序列图 D活动图15。下列属于状态的组成部分的有() A名称 B活动 C条件 D事件16。UML中包括的事件有() A条件成真 B收到另一对象的信号 C收到操作调用 D经过指定时间间隔17.属性的可见性有() A:公有的 B私有的 C私有保护的 D保护的18。用例之间的关系有() A:友元 B扩展 C使用 D组合19.应用于通用化约束的方式有() A完整 B不相交 C不完整 D覆盖20.消息的类型
15、有() A同步 B异步 C简单 D复杂二、判断题1.面向对象的的方法是以类作为最基本的元素,它是分析问题解决问题的核心。2.类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是对象。3.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。4。多态性增强了软件的灵活性和重用性,允许用更为明确,易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性.5.面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。6.面向对象的设计主要目标是提高生产效率,提高质量和提高可维护性。7.对象模型表示了静态的,结构化的,系统数据性质,描述了系统
16、的静态结构,她是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。8.面向对象的分析是用面向对象的方法对目标系统的问题空间进行理解,分析和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构.9。类的设计过程确定类,确定关联类,确定属性,识别继承关系。10.复用也叫重用或再用,面向对象技术中的“类”,是比较理想的可重用软构件,有三种重用方式实例重用,继承重用,多态重用。11。主题是一种关于模型的抽象机制,它是面向对象模型的概貌,也是关于某个模型要同时考虑和理解的内容,主题起一种控制作用。12.面向对象的分析由对象,结构,继承性和基于消息的通信构成。13.支持继承性是面向对
17、象程序设计语言和传统程序设计语言在语言机制方面的根本区别。14.面向对象的分析过程主要包括三项内容理解,表达和验证。15。面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性.16。UML是由图和元模型组成的。UML的语义是定义在一个四层建模概念框架中的,这四个层次分别是元元模型层,元模型层,模型层,用户模型层17.UML是一种建模语言,是一种标准的表示,是一种方法。18。元素是UML的基本构成单位,它包括模型元素和视图元素19。关系是模型元素的抽象子类型。关系的责任是在元素实例中建立语义连接。除非由子类型另外指定,与所有连接相同元素实例的关系实例关联的名字实例必须是唯一的20.角色
18、是关联角色实例到属性实例集合的共享聚集。角色的责任是指定如何在关联实例的一端将类型实例的实例划分21.类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述.22。用例模型的基本组成部件是用例,角色和系统23。用例之间有扩展,使用,组合,三种关系24.序列图描述对象是如何交互的并且将重点放在消息序列上25。活动图显示动作及其结果。着重描述操作实现中所完成的工作以及用例实例或类中的活动.三、简答题1.与传统程序设计模式中的过程调用相比,消息传递机制有何本质区别?2.阐述面向对象的特征,并做简要的解释?3.COAD方法严格区分了面向对象分析OOA和面向对象设计OOD。OOA方法利用五个层
19、次和活动定义和记录系统行为,输入和输出。请简述这五个层次?4。面向对象程序设计有哪些优点?5.面向对象方法与结构化方法比较.6。当重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对象的行为,这些模型从四个不同的侧面表示了软件的体系结构:静态逻辑、动态逻辑、静态物理和动态物理。试描述一下这四种特性。7.如何绘制活动图?8。简述四种UML依赖关系异同.9.为什么要使用UML?10。简述UML实际建模过程11.在UML中的状态图,协作图,活动图,序列图在系统分析中各起到了什么作用?12.简述关联和依赖的区别.五 软件设计一、选择题1。模块的基本特征是()A、外部特征(输入/输出、功能
20、) B、内部特征(输入/输出、功能)C、内部特征(局部数据、代码) D、外部特征(局部数据、代码2.SD方法的设计总则是() A、程序简洁、操作方便 B、结构清晰、合理 C、模块内聚性强 D、模块之间耦合度低3.软件设计的主要任务是()A、将分析阶段获得的需求说明转换为计算机中可实现的系统B、完成系统的数据结构和程序结构设计C、完成模块的编码和测试D、对模块内部的过程进行设计4。设计阶段应达到的目标有()A、提高可靠性和可维护性; B、提高应用范围;C、结构清晰; D、提高可理解性和效率5。HIPO图由()A 组成直观目录表B、PAD图C、IPO图D、详细的IPO图6.从工程管理的角度来看,软
21、件设计分两步完成() A、1、系统分析2、模块设计 B、1、详细设计2、总体设计 C、1、模块设计2、详细设计 D、1、总体设计2、详细设计7。用户界面设计的任务包括()A、确定用户界面类型B、建立任务模型C、建立用户模型D、建立功能模型8。模块独立性准则由以下定性指标来衡量()、分解度、耦合度 、屏蔽性、内聚性二、判断题1.划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好2.在网状结构中任何两个模块都是平等的,没有从属关系,所以在软件开发过程中常常被使用3.信息隐蔽原则有利于提高模块的内聚性4。中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使用事
22、务分析技术得到初始的模块结构图5。SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应6.所谓结构冲突,是指输入数据与输出数据之间很少或没有结构上的对应关系.通常解决的办法是:构造一个或者多个中间结构,在输入和输出结构之间进行转换7.HIPO图是以功能、功能完备性准则逐层分解的三、简答题1.模块内联系和模块间联系有哪些种类?2。照“降低块间联系,提高块内联系”的设计总则对模块进行修改,具体从哪些方面进行改进?六 程序设计语言和编码一、选择题1。程序设计语言可以分为() A、 面向过程的语言 B、机器语言 C、高级语言 D、汇编语言 2。程序效率包括()几个方面的内容. A、代码效率
23、 B、运行效率 C、存储效率 D、/效率3.SP方法中的基本控制结构有() A、顺序结构 B、选择结构C、重复结构 D、GOTO结构4。内部文档可用注释语言书写,注释语言分为() A、序言性注释 B、描述性注释 C、功能性注释 D、状态性注释5.为使程序中数据说明更易于理解和维护,必须遵循以下原则( )。 A、数据说明的次序应当规范化; B、一个语句说明多个变量时,各变量名按字母顺序排列; C、对于复杂的数据结构,要加注释,说明在程序实现时的特点; D、定义变量名应按字母顺序排列。6.源程序的效率与()阶段确定的算法的效率直接有关。 A、概要设计 B、总体设计C、单元设计 D、详细设计7。在详
24、细设计翻译转换成源程序代码后,算法效率反映为对程序的哪几个方面的要求() A、读写速度 B、代码长度 C、存储容量 D、执行速度8.提高程序效率的根本途径在于( ) A。编程时对程序语句做调整; B。选择良好的设计方法; C.使程序最大限度的简洁; D.选择良好的数据结构与算法。二、简答题1.编码阶段的主要任务是什么?2.结构化程序设计的优点是什么?如何在编码中使用这种方法?3。为何要进行程序的注释?应怎样进行程序的注释?4。什么是应该提倡的编程风格?为了有良好的设计风格,应注意哪些方面的问题?5.编码阶段的主要任务是什,应交付的结果是什么?6。SP法的自顶向下,逐步求精方法的优点有哪些?7。
25、为了有良好的设计风格,应注意哪些方面的问题?8.怎样评价程序的执行效率?它与程序清晰性的关系是怎样的?9.假定:需要编一个求解一元二次方程根的子程序,加入到现有的子程序库中,供其他程序员使用。要求:1)为该子程序写一个序言性注释;2)用PASCAL语言或其它语言写出这个子程序(要把根的性质,如:实根、复根、降为一次方程等等有区别地通知调用者),并加上描述性注释。七 软件测试 一、选择题1.软件测试的主要特点是()A、软件测试的开销大 B、软件测试要依靠工具C、软件测试要验证软件正确性 D、软件不能进行“穷举”测试 2.整体测试又称为组装测试,其主要内容包括()A、对整体的性能进行测试B、设计测
26、试用例进行功能测试C、设计测试用例进行测试 D、对组装过程进行测试3。渐增式是将模块一个一个的连入系统,每连入一个模块,()A、只需要对新连入的模块进行测试.B、都不需要再进行测试。C、都要对新子系统进行测试。D、都要进行回归测试。4。静态测试是以人工的、非形式化的方法对程序进行分析和测试。常用的静态测试方法有:()A、状态图B、流程图C、数据流分析图D、调用图5.集成过程的原则是()A、尽量将所有模块集成到系统中B、尽早测试关键模块C、集成尽早测试关键模块尽早测试包含I/O的模块D、按照输入处理输出的次序进行集成6.关于白盒法覆盖程度的论述中正确的是:()A、语句覆盖:选择测试用例使程序中每
27、条语句至少被执行一次B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真值和一次“假”值.C、条件覆盖:选择测试用例使每个条件都满足。D、条件组合覆盖:将所有的判定条件的都组合起来执行。7。软件测试的基本原则是()A、关键是注重测试用例的选择B、选择尽可能多的测试用例C、尽量不由程序设计者进行测试D、充分注意测试中的群集现象8.等价分类法的关键是()A、选择测试用例B、找出等价类的边界条件C、划分等价类D、通过输入条件,确定无效等价类二、判断题1。单元测试通常应该先进行“人工走查,再以白盒法为主,辅以黑盒法进行动态测试。2。功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规
28、格说明相同。3。白盒法是一种静态测试方法,主要用于模块测试。4.软件测试的目的是进一步对程序进行调试,发现错误。5。在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。6.白盒法是一种静态测试方法,主要用于模块测试。7。在分析规范(因、果)的基础上画出因果图,再将其转换为有限项判断表,就容易得出测试用例。8。系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。9。有效性测试是在模拟的环境(或就是开发环境下)下运用黑盒法,验证软件特性是否与需求符合。10.在发现错误后,则应按照一定的技术去纠正它。纠错的关键是“错误定位”。三、简答题1。渐增式与非渐
29、增式各有何优、缺点?为什么通常采用渐增式?2。自顶而下增值与自底而上增值各有何优、缺点?3.等价分类法的基本思想是什么?4.一般,驱动模块比桩模块容易设计,为什么?5。什么是测试和测试?八 软件维护 一、选择题1。软件维护的类型有()A 完善性维护 B 纠错性维护C 适应性维护 D 预防性维护2。各种软件维护的类型中最重要的是()。A 完善性维护 B 纠错性维护 C 适应性维护 D 预防性维护3.以下属于完善性维护的有()。A 解决开发是未能测试各种可能条件带来的问题;B 增加联机求助命令;C 缩短系统的应答时间,使其达到特定要求;D 为软件的运行增加监控设施。4.进行系统修改时可能会产生维护
30、的副作用,它们可能有()。A 修改数据的副作用 B 修改错误后,又引入了新的错误C 修改代码的副作用 D 文档资料的副作用5.确定可维护性的因素主要有()。A 文档 B 可理解性 C 可修改性 D 可测试性6。软件维护阶段所产生的文档主要有()。A 软件问题报告 B 软件修改报告 C 软件修改申请报告7。表达计划安排的主要工具有()A PERT图 B 甘特图 C DFD图 D 进度表二、判断题1.软件维护只需要校正性维护、适应性维护和完善性维护2.软件维护总工作量可用公式表示为:M = P + K;exp(D C)3。生产性活动包括分析评价、修改设计、编写程序代码和设计约束4.改进程序的执行效
31、率不会引入错误5。强调简明性的程序出错率低6.用面向对象方法开发的软件系统,可维护性好三、简答题1.为什么要进行软件维护?2.怎样防止维护的副作用?3。什么是软件可维护性?可维护性度量的特性是什么?4。高可维护性的方法有哪些?综合试卷一试卷总分: 100 分 答卷时间: 110 分钟 试卷类型: A一、 单项选择题(每小题的四个备选答案只有一个正确答案,每题1分,共10分)1在问题分析阶段,用户需求具有( ) A模糊性,全面性,一致性 B全面性,精确性,一致性C模糊性,歧义性,不一致性 D全面性,精确性,不一致性 2数据流图的绘制应采用( ) A问题分解、逐步求精的方法 B模块化方法 C原型化
32、方法 D结构化方法3在软件的生存期模型中,软件开发不包括( ) A概要设计 B组装测试 C实现 D维护4软件复杂性度量模型应遵循下列基本原则( )A 软件复杂性与程序大小的关系不是线性的 B 控制结构复杂的程序较复杂C 数据结构复杂的程序较复杂 D 以上A,B.C均对5下面内聚度最高的是( )A过程性内聚 B功能性内聚C逻辑性内聚 D偶然性内聚6在将需求规格说明书提交给设计阶段之前,必须进行( )A修改 B追踪 C调试 D评审7软件设计的主要任务是( )A根据需求规格说明导出系统的实现方案B实现用户需求的一致化,精确化,安全化C编程序D写代码 8下面哪一类是白盒测试的基本技术()A基本路径测试
33、 B等价分类法C边界值分析法 D对比测试法9软件生存周期模型不包括:()A。瀑布模型B、对象模型C、增量模型D、喷泉模型10功能点度量的优点是()A适用于开发的各个时期B只适用于过程语言C与程序设计语言无关E不涉及主观因素二、 填空题(每题2分,共30分)1 计算机软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的_和_。2 程序设计说明书由系统分析员编写,交给_使用。3 影响编码质量的因素包括编程语言,_和_.4 白盒测试包括_和_两种技术.5 软件生存周期的软件定义分为_和_两个阶段。6 软件维护的内容包括纠错性维护,适应性维护、改善性维护和_.7 螺旋模型是生存周期模型与原型的
34、结合,不仅体现了两个模型的优点,而且还增加了新的成分_。8 软件工程的定量描述离不开度量、测量和_3个基本概念。9 1991年8月,美国卡内基梅隆大学软件工程研究所公开发布CMM(即_)v1.0。10需求分析可分为问题分析、_和_3个阶段.11软件开发阶段由_、_和测试3个基本活动组成。12无论基于哪一种数据管理方法,数据持久存储服务的设计都包括定义_和定义_两部分。13_是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程.14可以用三种抽象方法开发软部件:功能抽象、_、_。15快速原型方法的关键在于如何快速地实现可运行的原型,以便尽快提交_确认,然后再进行改进。三、 名词解
35、释(每小题4分,共16分)1 软件工程2。软件需求3.软件测试 4.软件维护四、简答题(每小题5分,共30分)1. 软件开发过程中必须遵循哪些软件工程原则?至少列出5条并简述之2. 面向对象方法学包含哪些核心概念?简述之3. 写出至少5种内聚度。4. SD方法能方便地将数据流图转换为软件结构,其过程分哪5步?5. UML的消息类型有几种,哪几种?6。 瀑布模型的缺陷有哪些?五、应用题(1题6分,2题8分,共14分)1 针对“高校学生学籍成绩管理系统”至少列出六项系统需求2 画出“高校学生学籍成绩管理系统”的顶级和第一级数据流图,并转化为相应的程序结构。综合试卷二试卷总分: 100 分 答卷时间
36、: 110 分钟 试卷类型: B 一、选择题(每小题的四个备选答案只有一个正确答案,每题1分,共10分)1需求分析报告的任务是( )A正确评价当前系统 B彻底了解管理方法C是用户接受分析人员的观点 D弄清用户的要求,确定待开发软件的功能要求,性能需求和运行环境约束。2系统软件和应用软件总称计算机的( )A软件系统 B操作系统C数据库管理系统 D语言编译系统3在数据流图中的数据存储是指( )A手工台帐 B数据存储的地方C数据库文件 D磁盘文件4,测试属于( )A系统测试 B单元测试 C综合测试 D确认测试5用结构化程序设计方法编程时,任何程序均由以下三种基本逻辑结构组成( )A控制结构、选择结构
37、、执行结构 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软件测试
38、分析报告 D软件问题报告二、填空题(每题2分,共30分)9 开发软件的可行性分析应包括_上的可行性,_上的可行性和法律上的可行性。10 类之间具有_关系和_关系。11 OO方法主张分析人员在_空间中直接模拟_空间中的对象及其行为.12 计算机软件由二部分组成,一是_,二是_.13 结构化模块结构图的设计方法有_和_。14 软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_集成的过程。15 软件工程是将系统的、规范的、可度量的工程化方法应用于_、_和维护的全过程及上述方法的研究。16 变换模型是基于_规格说明语言及程序变换的软件开发模型。9软件工程的风险分析包括风险标识、风险估算、_和
39、_四部分.10 CMM的能力成熟度共分5级:L1初始级、L2可重复级、L3_、L4可管理级、L5_。11。 UML的用例与用例之间存在_和_两种关系。12按照重用活动是否跨越相似性较少的多个应用领域,软件重用可区别为_重用和_重用两类。13。 快速原型的构造过程可以归纳为_、_、检查、改进四个步骤. 14。 软件设计可分为_和_两大步骤.15。 _测试针对程序的每一条逻辑路径都要分别设计测试用例,检查要支和循环的情况三、名词解释(每小题4分,共16分)2 计算机软件2数据流图3. 软件可维护性4. 软件测试四、简答题(每小题5分,共30分)1.高质量的软件应该具备哪些条件?3 写出至少5种耦合度. 3。人机界面的设计可分为哪几个步骤?4。简述螺旋模型的基本开发过程.5衡量某种程序语言是否适合于特定的项目,应考虑下面哪些因素?