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