软件工程试题精
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。
A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。
A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。
A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。
A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。
A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。
A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。
A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。
软件工程试题(精)
向上移动
向下移动
空闲
上楼
到达
下楼
上楼
到达
超时
4.一元二次方程式
AX 2+BX+C=0
的求根程序有以下功能:①输入A、B、C 3个系数;②输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符号相反的实根,仅有一个实根,或有两个虚根等;③打印根的数值。试用功能(黑盒测试方法设计出程序的测试用例。(15分
(1顾客通过提供相关信息,向酒店申请入住,如果申请通过,则办理入住客房,否则将遭到
答:完整的软件测试应该贯穿整个软件生命周期,这一说法有两方面的含义:(1分(1软件开发不同阶段都有软件测试工作;(2分
(2软件测试工作的各个步骤分布在整个软件生存周期中。(2分4.软件维护就是改正软件中的错误吗?为什么?
答:软件维护是指在软件的运行/维护阶段由软件厂商向客户所提供的服务工作,不完全是修改软件中的错误。(3分软件维护除了改正性的维护以外,还有适应性、完善性以及预防性的维护。(2分5.在NATO关于软件工程的定义中提到:“软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它”。如何理解上述意思。
A.软件投机
B.软件危机
C.软件工程
D.软件产生
3.划分软件生存周期的阶段时所应遵循的基本原则是(B。
A.各阶段的任务尽可能相关性
B.各阶段的任务尽可能相对独立
C.各阶段的任务在时间上连续
D.各阶段的任务在时间上相对独立
4.需求分析是由分析员了解用户的要求,认真细致地调研分析,最终应建立目标系统的逻辑模型并
《软件工程》期末考试题及答案
《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。
答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。
答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。
答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。
答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。
软件工程考试题及答案
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
软件工程学试题及答案
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
最新软件工程考试题库(含答案和解析)
最新软件工程考试题库(含答案和解析)一、选择题1. 以下哪个不是软件工程的三个基本目标之一?A. 可维护性B. 可靠性C. 可用性D. 低成本答案:D解析:软件工程的三个基本目标是可维护性、可靠性和可用性。
低成本虽然也是一个重要的考虑因素,但并不是软件工程的基本目标。
2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A解析:面向对象编程(OOP)通过将数据和操作数据的方法封装在一起,降低了软件复杂性,提高了代码的可重用性和可维护性。
3. 软件开发过程中,以下哪个阶段需要进行需求分析?A. 设计阶段B. 编码阶段C. 测试阶段D. 需求分析阶段答案:D解析:需求分析是软件开发过程中的第一个阶段,其主要任务是明确软件系统的功能、性能等需求。
4. 以下哪个软件工程方法主要关注软件项目的管理?A. 敏捷开发B. ScrumC. UMLD. 设计模式答案:B解析:Scrum 是一种敏捷开发方法,主要关注软件项目的管理和团队协作。
UML(统一建模语言)主要用于软件设计,设计模式主要用于解决软件设计中的常见问题。
5. 以下哪个软件工具主要用于版本控制?A. GitB. EclipseC. JiraD. Visual Studio答案:A解析:Git 是一款分布式版本控制系统,主要用于跟踪和管理软件开发过程中的代码变更。
二、填空题1. 软件工程的基本活动包括______、______、______和______。
答案:需求分析、设计、编码、测试2. 敏捷开发的核心价值观包括______、______、______、______和______。
答案:个体和互动、工作软件、客户协作、响应变化、持续交付3. 软件开发过程中,常用的设计模式包括______、______、______、______和______。
答案:工厂模式、单例模式、策略模式、装饰模式、观察者模式4. 软件测试的目的是______、______和______。
计算机软件工程试题及答案
计算机软件工程试题及答案一、选择题(每题5分,共30分)1. 下列哪项不是软件工程的目标之一?A. 提高软件质量B. 缩短软件开发周期C. 降低软件成本D. 增加软件功能答案:D2. 面向对象分析的重要产品是什么?A. 类图B. 时序图C. 用例图D. 类的详细设计答案:C3. 在敏捷软件开发中,团队重视的价值是?A. 测试通过的软件B. 设计文档C. 客户满意D. 项目进度答案:C4. 下列哪个是软件验证的过程?A. 编码B. 测试C. 需求分析D. 部署答案:B5. 软件过程模型中,下列哪项是瀑布模型的主要特点?A. 适合迭代式开发B. 强调反馈和调整C. 开发流程线性且有序D. 所有阶段同时进行答案:C6. 下列哪项不是软件需求的特性?A. 可理解性B. 可靠性C. 可维护性D. 可修改性答案:B二、简答题(每题10分,共30分)1. 请简述软件生命周期的主要阶段及其特点。
答案:软件生命周期主要包括需求分析、设计、编码、测试、部署和维护阶段。
需求分析阶段:明确用户需求和系统要求。
设计阶段:制定软件结构和模块设计方案。
编码阶段:将设计方案转化为可执行代码。
测试阶段:验证软件是否符合需求,包括单元测试、集成测试和系统测试。
部署阶段:将软件交付给用户并安装部署。
维护阶段:修复漏洞、改进功能、提供技术支持。
2. 解释迭代开发和增量开发的区别。
答案:迭代开发是指将整个开发过程分成多个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等阶段,每个迭代周期都会不断改进和完善软件,最终得到用户满意的产品。
增量开发是指在软件开发过程中,将系统功能模块化,按模块分阶段开发。
每个阶段都增加新的功能,并将之前开发的功能进行整合和测试。
最终形成完整的软件系统。
3. 简要介绍敏捷开发方法。
答案:敏捷开发是一种迭代和增量的开发方法,强调团队合作和灵活性,专注于快速交付可工作的软件。
敏捷开发方法包括Scrum、XP (极限编程)等。
(完整版)软件工程试卷及答案(多套精品试卷)
软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程基础考试题目和答案
软件工程基础考试题目和答案一、选择题(每题5分,共25分)1. 软件工程的主要目标是什么?A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列哪个阶段不属于软件开发生命周期?A. 需求分析B. 设计C. 测试D. 需求变更答案:D3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 面向过程编程答案:A4. 下列哪个工具主要用于软件项目进度监控?A. Gantt图B. 思维导图C. 帕累托图D. 直方图答案:A5. 下列哪种方法主要用于风险管理?A. 风险识别B. 风险评估C. 风险应对D. 风险监控答案:A二、填空题(每题5分,共25分)1. 软件工程的核心思想是______,通过规范的开发过程和严格的质量控制,提高软件的质量和可靠性。
答案:工程化2. 软件需求分析的主要目的是______,明确软件的功能和性能要求。
答案:理解用户需求3. 结构化分析方法主要包括______、数据流图、实体关系图等。
答案:数据字典4. 软件测试的主要目的是______,发现并修复软件中的缺陷。
答案:保证软件质量5. 敏捷开发方法的核心价值观是______,强调快速响应变化和客户合作。
答案:个体和互动三、简答题(每题10分,共30分)1. 请简要描述软件开发生命周期的主要阶段及其作用。
答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护等阶段。
需求分析阶段用于理解用户需求,设计阶段用于制定软件架构和详细设计,编码阶段用于实现软件功能,测试阶段用于发现并修复软件缺陷,维护阶段用于提供软件支持和更新。
2. 请简要介绍敏捷开发方法的主要特点和实践原则。
答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。
实践原则包括短迭代周期、持续反馈、自我组织和协作等。
敏捷开发方法强调快速响应变化,提高软件质量和开发效率。
2024年下半年自考专业课考试:软件工程历年真题精选含解析
2024年下半年自考专业课考试:软件工程历年真题精选一、单项选择题1、结构化分析方法给出了一种能表达功能模型的工具是______。
A.HIPO图B.PAD图C.N-S图D.DFD图2、下列不属于需求规约的基本性质是______。
A.可重复的B.重要性和稳定性程度C.完整的D.一致的3、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计4、CMMI组织过程改善的成熟度等级中的2级是______。
A.已执行级B.已定义级C.已管理级D.已定量管理级5、RUP的迭代、增量式开发过程中,需要估算成本、进度,并能够减少次要的错误风险,至少需要完成______。
A.初始阶段B.精化阶段C.构造阶段D.移交阶段6、集成化能力成熟度模型(CMMI)中有22个过程域,分为4类:项目管理类、工程类、过程管理类和______。
A.需求管理类B.支持类C.项目包类D.目标类7、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。
A.IdleB.InitializingC.CommandD.Active8、黑盒测试技术又称为功能测试技术,包括事务处理流程技术、定义域测试技术和______。
A.路径测试技术B.用例测试技术C.状态测试技术D.结构测试技术9、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。
A.3级B.4级C.5级D.6级10、面向对象方法源于面向对象______。
A.分析B.设计C.建模语言D.编程语言11、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。
A.可修改的B.可复用的C.可测试的D.无歧义的12、RUP的分析类包括边界类、实体类和______。
A.子类B.控制类C.父类D.活动类13、“与所规约的系统执行之间的偏差”是指______。
软件工程试题和答案
软件工程试题和答案软件工程试题和答案章节一、软件开发过程1.1 瀑布模型1.1.1 瀑布模型的定义和特点1.1.2 瀑布模型的优点和缺点1.2 敏捷开发1.2.1 敏捷开发的定义和原则1.2.2 敏捷开发的优点和适用场景1.3 迭代与增量模型1.3.1 迭代与增量模型的定义和区别1.3.2 迭代与增量开发的优点和缺点章节二、需求分析2.1 需求获取2.1.1 需求获取的方法和技术2.1.2 需求获取过程中的常见问题及解决方法2.2 需求分析2.2.1 需求分析的目标和原则2.2.2 需求分析过程中的常用工具和技术2.3 需求规格说明2.3.1 需求规格说明的内容和格式2.3.2 需求规格说明的重要性和编写要求章节三、系统设计3.1 概要设计3.1.1 概要设计的目标和原则3.1.2 概要设计的常用工具和技术3.2 详细设计3.2.1 详细设计的目标和原则3.2.2 详细设计的常用工具和技术3.3 接口设计3.3.1 接口设计的原则和要点3.3.2 接口设计的常见问题和解决方法章节四、编码和测试4.1 编码规范4.1.1 编码规范的目的和重要性4.1.2 编码规范的内容和要求4.2 单元测试4.2.1 单元测试的定义和目标4.2.2 单元测试的常见技术和工具4.3 集成测试4.3.1 集成测试的定义和目标4.3.2 集成测试的常见技术和方法4.4 系统测试4.4.1 系统测试的定义和目标4.4.2 系统测试的常见技术和方法章节五、项目管理5.1 项目计划5.1.1 项目计划的内容和要点5.1.2 项目计划的编制和控制5.2 风险管理5.2.1 风险管理的步骤和方法5.2.2 风险管理的工具和技术5.3 质量管理5.3.1 质量管理的原则和方法5.3.2 质量管理的常见问题和解决方法5.4 项目评估和总结5.4.1 项目评估的指标和方法5.4.2 项目总结的内容和要点附件:附件一、软件开发过程模型比较表附件五、编码规范示例法律名词及注释:1:版权:指对作品享有的独占性使用权,包括复制、发行、展示等。
软件工程精彩试题含问题详解
标准实用文档大全软件工程期末试题(软件工程期末试题(11)一, , 判断题判断题判断题((正确的在括号内打上正确的在括号内打上""√",",错误的打上错误的打上错误的打上""×".".每题每题1.5分,共15分)Warnier 方法也是一种面向数据结构的设计方法方法也是一种面向数据结构的设计方法,,其逻辑更严格.(.(××) PAD 图在设置了五种基本控制结构后图在设置了五种基本控制结构后,,还允许递归调用还允许递归调用. (. (. (××) 你为了加快软件维护作业的进度为了加快软件维护作业的进度,,应尽可能增加维护人员的数目应尽可能增加维护人员的数目.(.(.(××) 当验收测试通过当验收测试通过,,软件开发就完成了软件开发就完成了.(.(.(××)完成测试作业后完成测试作业后,,为了缩短源程序的长度应删除程序中的注解为了缩短源程序的长度应删除程序中的注解.(.(.(××) 系统结构图是精确表达程序结构的图形表示法系统结构图是精确表达程序结构的图形表示法..因此因此,,有时也可以将系统结构图当作系统流程图使用统结构图当作系统流程图使用.(.(.(××)在程序调试时在程序调试时,,找出错误的位置和性质比改正该错误更难找出错误的位置和性质比改正该错误更难.(.(.(√√) ) 以以对象对象,,类,继承和通信为基础的面向对象设计方法继承和通信为基础的面向对象设计方法(OOD)(OOD)(OOD)也是常见的软件也是常见的软件概要设计方法之一概要设计方法之一.(.(.(√√)二,单项选择题单项选择题((每小题2分,共10分)试判断下列叙述中试判断下列叙述中,,哪个(些)是正确的是正确的(D) (D)a,a,软件系统中所有的信息流都可以认为是事务流软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b 和c进行需求分析可使用多种工具进行需求分析可使用多种工具,,但(B)(B)是不适用的是不适用的是不适用的. .A,A,数据流图数据流图数据流图 B,PAD B,PAD 图 C, C,判定表判定表判定表 D, D, D,数据词典数据词典在详细设计阶段在详细设计阶段,,经常采用的工具有经常采用的工具有(A). (A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的详细设计的结果基本决定了最终程序的(C) (C)A,A,代码的规模代码的规模代码的规模 B, B, B,运行速度运行速度运行速度 C, C,质量 D, D,可维护性可维护性使用白盒测试方法时使用白盒测试方法时,,确定测试数据应根据确定测试数据应根据(A)(A)(A)和指定的覆盖标准和指定的覆盖标准和指定的覆盖标准. . A,程序的内部逻辑 B, B,程序的复杂程度程序的复杂程度C,C,该软件的编辑人员该软件的编辑人员该软件的编辑人员 D, D, D,程序的功能程序的功能三,多项选择题多项选择题((每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分错选不得分.) .)(ABCD)(ABCD)可以作为模块可以作为模块可以作为模块. .A,子程序 B,函数 C,过程 D,编译文件下面哪些测试属于黑盒测试下面哪些测试属于黑盒测试(BCD). (BCD).A,A,路径测试路径测试路径测试 B, B,等价类划分 C,边界值分析 D,错误推测 E, E,循环测循环测试 下列属于度量效益方法的是下列属于度量效益方法的是(ABCD). (ABCD).A ,货币的时间价值 B,投资回收期 C,收入 D,投资回报率软件维护的策略包括软件维护的策略包括(BCD). (BCD).A,A,定期检测维护定期检测维护定期检测维护 B, B,改正性维护 C,适应性维护 D,完善性维护下列属于软件测试过程的是下列属于软件测试过程的是(ABE). (ABE).A,单元测试 B,组装测试 C, C,内核测试内核测试内核测试 D, D, D,法律验证法律验证法律验证 E, E,确认测试四,简答题简答题((每题6分,共24分)1、耦合性和内聚性有几种类型 其耦合度其耦合度,,内聚强度的顺序如何 答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱2、请举例说明什么是多态、请举例说明什么是多态,,什么是重载答案答案::多态性是指子类对象可以像父类对象那样使用多态性是指子类对象可以像父类对象那样使用,,同样的消息既可以发送给父类对象也可以发送给子类对象既可以发送给父类对象也可以发送给子类对象..也就是说也就是说,,在类等级的不同层次中可以共享不同层次中可以共享((公用公用))一个行为一个行为((方法方法))的名字的名字,,然而不同层次中的每个类却各自按自己的需要来实现这个行为每个类却各自按自己的需要来实现这个行为..当对象接收到发送给它的消息时消息时,,根据该对象所属于的类动态选用在该类中定义的实现算法根据该对象所属于的类动态选用在该类中定义的实现算法. .3、重载是指一个类中有多个同名的方法、重载是指一个类中有多个同名的方法,,但在操作数个数或类型上有区别有区别. .例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }4、什么是数据字典 简述数据字典与数据流图的关系简述数据字典与数据流图的关系. .答案答案::数据字典是关于数据的信息的集合数据字典是关于数据的信息的集合,,对数据流程图中的各个元素做完整的定义与说明元素做完整的定义与说明,,是数据流程图的补充工具是数据流程图的补充工具.(2.(2分)数据流图和数据字典共同构成系统的逻辑模型数据字典共同构成系统的逻辑模型,,没有数据字典数据流图就不严格没有数据字典数据流图就不严格, ,然而没有数据流图数据字典也难于发挥作用然而没有数据流图数据字典也难于发挥作用. . . 数据流图和对数据数据流图和对数据流图中每个元素的精确定义放在一起流图中每个元素的精确定义放在一起,,才能共同构成系统的规格说明.(3分)5、简述编码风格的重要性、简述编码风格的重要性. .答案答案::阅读程序是软件开发和维护过程中的一个重要组成部分阅读程序是软件开发和维护过程中的一个重要组成部分,,程序实际上也是一种供人阅读的文章应当在编写程序时讲求程序的风格应当在编写程序时讲求程序的风格,,这将大量地减少人们读程序的时间这将大量地减少人们读程序的时间..良好的编码风格有助于编写出可靠而又容易维护的程序而又容易维护的程序,,编码的风格在很大程度上决定着程序的质量编码的风格在很大程度上决定着程序的质量. .面向对象的测试和传统开发方法的测试有什么不同答案答案:(1):(1):(1)二者都可以分成四个阶段进行二者都可以分成四个阶段进行二者都可以分成四个阶段进行..但传统测试最小单元是模块,而在面向对象环境下而在面向对象环境下,,最小的可测试的单元是封装了的类或对象最小的可测试的单元是封装了的类或对象,,而不是程序模块不是程序模块.(2).(2).(2)因为面向对象软件没有一个层次的控制结构因为面向对象软件没有一个层次的控制结构因为面向对象软件没有一个层次的控制结构,,所以传统的自顶向下和自底向上的组装策略意义不大统的自顶向下和自底向上的组装策略意义不大. . . 每次将一个操作组装每次将一个操作组装到类中到类中((像传统的增殖式组装那样像传统的增殖式组装那样))常常行不通常常行不通,,因为在构成类的各个部件之间存在各种直接的和非直接的交互件之间存在各种直接的和非直接的交互..对于面向对象系统的组装测试对于面向对象系统的组装测试,,存在两种不同的测试策略存在两种不同的测试策略. .软件工程期末试卷(软件工程期末试卷(22)(开放教育本科)计算机科学与技术专业《软件工程》试题B一、填空题(每空1分,共20分)1. 软件生存周期一般可分为软件生存周期一般可分为____问题定义____、可行性研究、、可行性研究、、可行性研究、____需求分析_、设计编码、、设计编码、__测试_、运行与维护阶段。
软件工程考试试题及答案
软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。
(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。
(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。
(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。
答案:瀑布模型是软件生命周期模型中最早的模型之一。
它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。
软件工程测试题+参考答案
软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。
截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。
A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。
A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。
A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。
A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。
A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。
软件工程题库(含答案)
软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。
A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。
A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。
A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。
A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。
A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。
A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。
A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。
A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。
A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。
A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。
A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。
A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。
软件工程期末试题及答案(六)(1)(精)
软件工程试题及答案一、单项选择题1.在下列工具与环境中(属于较早期的 CASE 。
A .基于信息工程 CASEB .人工智能 CASEC .结构的基于图形 CASED .集成的 CASE 环境2. Putnam 成本估算模型是一个(模型。
A .静态单变量B .动态单变量C .静态多变量D .动态多变量 3.在 McCall 软件质量度量模型中, (属于面向软件产品修改。
A .可靠性B .可重用性C .适应性D .可移植性 4. ISO 的软件质量评价模型由 3层组成,其中用于评价设计质量的准则是( A . SQIC B . SQMC C . SQRC D . SQDC 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 .详细设计B .软件编码C .软件测试D .软件维护 11.第一个体现结构化编程思想的程序设计语言是(A . FORTRAN 语言B . Pascal 语言C . C 语言D . PL/1语言 12.程序的三种基本控制结构是(A .过程、子程序和分程序B .顺序、选择和重复C .递归、堆栈和队列D .调用、返回和转移13.在详细设计阶段,经常采用的工具有(A . PADB . SAC . SCD . DFD14.详细设计的结果基本决定了最终程序的(A .代码的规模B .运行速度C .质量D .可维护性 15.需求分析中开发人员要从用户那里了解(A .软件做什么B .用户使用界面C .输入的信息D .软件的规模 16.结构化程序设计主要强调的是(A . 程序的规模B . 程序的效率C . 程序设计语言的先进性D . 程序易读性17. IDEF 图反映系统(A .怎么做B .对谁做C .何时做D .做什么18.经济可行性研究的范围包括(A .资源有效性B .管理制度C .效益分析D .开发风险 19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(的回答。
软件工程考试题及答案
软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。
答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。
答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。
答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。
答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。
答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。
答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。
其优点包括:- 易于管理:模块化使得软件更容易理解和维护。
- 可重用性:模块可以在不同的项目中重复使用。
- 并行开发:模块化允许多个团队并行开发不同的模块。
- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。
12. 解释什么是软件的可维护性,并说明其重要性。
软件工程考试试题和答案
软件工程考试试题和答案一、单项选择题1. 软件工程的三要素是()。
A. 工具、方法、过程B. 方法、工具、环境C. 方法、过程、工具D. 过程、工具、环境答案:C2. 软件需求分析阶段的工作不包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:D3. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件存在错误答案:B4. 在软件维护中,最频繁的活动是()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A5. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 配置管理D. 软件设计答案:D二、多项选择题1. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 信息隐蔽D. 逐步求精答案:ABCD2. 软件需求分析的任务包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD3. 软件测试的方法包括()。
A. 黑盒测试B. 白盒测试C. 灰盒测试D. 静态测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件项目管理的内容主要包括()。
A. 进度管理B. 质量管理C. 成本管理D. 人员管理答案:ABCD三、判断题1. 软件工程的目标是提高软件的生产率和质量。
()答案:正确2. 软件需求分析阶段不需要进行需求验证。
()答案:错误3. 软件测试可以证明软件是无错误的。
()答案:错误4. 软件维护只包括校正性维护。
()答案:错误5. 软件项目管理不需要进行质量管理。
()答案:错误四、简答题1. 简述软件工程的特点。
答:软件工程的特点包括:(1)软件工程强调系统的、规范的、可度量的方法学;(2)软件工程是面向过程的;(3)软件工程是面向质量的;(4)软件工程是面向经济的;(5)软件工程是面向人的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B.工资支票数据
C.打印工资支票
D.计算职工工资
15.在维护请求且进行的维护过程中,应先( A ,然后对维护要求进行评估并分别处理。
五、 三、
简答题 (每题5分,共25分 1.什么是软件工程?这门学科的目的是什么?
答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。(3分软件工程的目标是生产具有正确性、可用性以及开销合宜的软件产品。(2分 2.请简述模块独立性的度量方法。
三、 应用分析题 (共60分 1.仓库管理系统有如下角色和功能:
(1仓库管理员完成货物的入库和出库操作,入库是将指定数量的货物存入仓库(包括:货物
名称、数量信息;出库是将指定数量的货物从仓库中取出,在取出货物时需要对仓库中是否有足够的货物进行判断,再决定是否执行该操作;
(2部门经理完成对货物的查询工作,在货物查询过程中,是根据输入的货物名称进行的,输
A.统一性
B.安全性
C.无二义性
D.组合性
10.结构化设计采用模块化方法的主要出发点是( D 。
A.增加内聚性
B.减少耦合度
C.提高有效性
D.降低复杂度
11.在软件研究过程中,CASE是( D 。
A.指计算机辅助系统工程
B.CAD和CAM技术的发展动力
C.正在实验室用的工具
D.指计算机辅助软件工程
12.通过对软件的测试,可以证明的是(C 。
(3著作的出版权只能授予一个出版社;
(4每本著作有一个封面、一个目录、一个前言、若干章、每章有若干节;
出版
作者
著作
封面
前言
章*
1..*
1
1..*
1
*
1
1111
*节
1
*
3.请结合一下关于电梯的描述,为电梯的运行状态建模。(10分 得分
(2 按用户上楼或是下楼的要求,电梯可以向上或是向下移动; (3 到达目的层后,电梯空闲; (4 空闲超时后,电梯回到第一层。
8
9
10
环形复杂度(画出节点1时V = E-N+2 = 14 – 10 + 2 = 6 环形复杂度(不画出节点1时V = E-N+2 = 13 – 9 + 2 = 6
四、一、单项选择题(在每小题的四个备选答案中,选出一个正确的答
得分
案序号填在括号内。每小题1分,共15分
1. 下列做法中,对于发挥集体智慧最有利的是(A 。
一、一、单项选择题(在每小题的四个备选答案中,选出一个正确的答
得分
案序号填在括号内。每小题1分,共15分
1. 为了解决软件危机,人们提出了用(B 的原理来设计软件,这是软件工程诞生的基础。
A.运筹学
B.工程学
C.软件学
D.管理学
2. 由于计算机软件开发的成本高、质量低、难控制、可靠性差、生产率低而引发了( B 。
5.在NATO 关于软件工程的定义中提到:“软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它”。
如何理解上述意思。
答:从软件工程的定义可以看出其目标就是按照工程化的思想开发、管理和维护软件,以达到提高软件质量的同时,减低开发软件的成本。具体地说:要求我们为软件的开发提供科学的开发模型和设计方法,提高软件开发工具的质量,重视软件的项目管理,这样才可以在更低的成本下开发出高质量的软件。(5分,本答案为参考答案,答对意思即可
A.设计评审
B.模块化
C.主程序员制
D.进度控制
2. 开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(B 。
A. 软件投机
B.软件危机
C.软件工程
D.软件产生
3. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的( A 。
A.总貌
Bห้องสมุดไป่ตู้ 细节
C. 抽象
D. 软件的作者
c x -
= (条件:0=a 且0≠b ;结果:仅有一个实根 方程无意义
(条件:0=a 且0=b ;结果:方程无意义
使用等价类法设计测试用例。 有效等价类(输入三个数值系数
无效等价类
0≠a 且042>-ac b ;两个不等实根 ①
输入不足3个系数 ⑤ 0≠a 且042=-ac b ;两个相等实根 ② 输入超过3个系数 ⑥ 0≠a 且042<-ac b ;两个虚根 ③
答:模块独立性可以从两个方面来度量,即模块本身的内聚性和模块之间的耦合度。(3分内聚性越强,模块独立性越高(1分;耦合度越低,模块独立性也越高(1分。 3.如何理解“软件测试应该贯穿整个软件生命周期”这一说法?
答:完整的软件测试应该贯穿整个软件生命周期,这一说法有两方面的含义:(1分 (1软件开发不同阶段都有软件测试工作;(2分
位于第一层
向上移动
向下移动
空闲
上楼
到达
下楼
上楼
到达
超时
4. 一元二次方程式
AX 2+BX+C=0
的求根程序有以下功能:①输入A 、B 、C 3个系数;②输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符号相反的实根,仅有一个实根,或有两个虚根等;③打印根的数值。试用功能(黑盒测试方法设计出程序的测试用例。(15分
B.宏指令
C. 汇编语言
D.高级语言
7.一个模块直接控制(调用的下层模块的数目称为模块的( B 。
A.扇入数
B.扇出数
C.宽度
D.作用域
8. 结构化设计思想的核心是要求程序只由顺序、循环和( A 三种结构组成。
A.分支
B.抽象
C.单入口
D.规划
9.在软件工程中,高质量的文档标准是完整性、一致性和( C 。
4 ④0,2,4 x=2
5 ⑤0,2 提示系数不足
6 ⑥0,2,4,0 提示系数过多
7 ⑦A,2,4 提示有非数值系统
8 ⑧0,A,4 提示有非数值系统
9 ⑨0,2,A 提示有非数值系统
10 ⑩0,0,4 提示方程无意义
5. 请根据以下流程图:(8分
(1画出流图。
(2计算其环行复杂度。
1
32
4
5
6
7
4.使用什么策略,可以减少完善性维护?
答:使用新技术,包括数据库管理系统、软件开发环境、程序自动生成系统、较高级(第四代的语言,可减少完善性的维护。(1分可把因环境变化而必须修改的程序局部于某些程序模块之中,也可以减少完善性的维护。(1分使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。(1分此外,建立软件系统的原型,把它在实际系统开发之前提供给用户使用。用户通过研究原型,进一步完善他们的功能要求,就可以减少以后完善性维护的需要。(2分
( B 。
A.纠正性维护
B.适应性维护
C.完善性维护
D.预防性维护
二、三、简答题 (每题5分,共25分
得分
1.什么叫软件危机?该如何应对软件危机的出现?
答:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(3分解决的方法是,使用软件工具,应用软件工程技术,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平,从而从根本上解决软件危机。(2分
输入的3个系数中包含非数字字符: A 中含有非数字字符 ⑦ B 中含有非数字字符 ⑧ C 中含有非数字字符 ⑨
0=a 且0≠b ;仅有一个实根 ④
0=a 且0=b ⑩
序号对应等价类测试数据期望结果
1 ①-1,0,4 x1=2; x2= -2
2 ②1,4,4 x1= x2= -2
3 ③1,0,
4 x1=2i; x2= -2i
(2软件测试工作的各个步骤分布在整个软件生存周期中。(2分 4.软件维护就是改正软件中的错误吗?为什么?
答:软件维护是指在软件的运行/维护阶段由软件厂商向客户所提供的服务工作,不完全是修改软件中的错误。(3分软件维护除了改正性的维护以外,还有适应性、完善性以及预防性的维护。(2分 5.在NATO 关于软件工程的定义中提到:“软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它”。如何理解上述意思。
A. 软件投机
B.软件危机
C.软件工程
D.软件产生
3. 划分软件生存周期的阶段时所应遵循的基本原则是(B 。
A. 各阶段的任务尽可能相关性
B. 各阶段的任务尽可能相对独立
C. 各阶段的任务在时间上连续
D. 各阶段的任务在时间上相对独立
4. 需求分析是由分析员了解用户的要求,认真细致地调研分析,最终应建立目标系统的逻辑模型并
2.请按时间顺序,列举软件生命周期中的各项基本活动。
答:软件生存周期包括:可行性分析与开发计划、需求分析、设计(概要设计和详细设计、编码测试、运行与维护等活动。(列出全部活动得5分,缺1项活动扣1分
3.软件测试是否一定要在编码之后进行?为什么?
答:不一定。(2分静态测试方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。因此静态测试方法就可以在编码之前进行。(3分
A.软件的正确性
B.错误不存在
C.错误存在
D.软件不含有隐患
13.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人