软件工程试题含答案案.docx
- 格式:docx
- 大小:108.05 KB
- 文档页数:20
软件工程习题及答案一、选择题: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、合同文档6。
注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。
A、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者10。
数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是.A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开发中,有利于发挥集体智慧的一种做法是.A、设计评审B、模块化C、主程序员制D、进度控制13. 在开发软件时, 可用来提高程序员的工作效率.A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的。
软件工程考试题及答案一、选择题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. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
全国2024年4月高等教育自考试软件工程试题一、单项选择题1、软件生存周期是指______。
A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间2、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。
A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型3、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计4、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。
A.可修改的B.可复用的C.可测试的D.无歧义的5、“与所规约的系统执行之间的偏差”是指______。
A.错误B.失效C.故障D.误差6、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。
A.PAD图B.流程图C.类图D.N-S图7、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。
A.3级B.4级C.5级D.6级8、RUP的分析类包括边界类、实体类和______。
A.子类B.控制类C.父类D.活动类9、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。
A.IdleB.InitializingC.CommandD.Active10、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。
A.整体/部分B.一般/特殊C.功能/过程D.静态/动态11、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。
A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合12、面向对象方法源于面向对象______。
A.分析B.设计C.建模语言D.编程语言13、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
软件工程试卷及答案软件工程试题和答案软件工程试卷及答案第一部分:选择题(共40小题,每题2分,共80分)1. 软件工程的定义是:A. 软件设计和开发B. 软件项目管理C. 软件测试和维护D. 软件工程师的工作答案:A2. 下面哪个不是软件生命周期的阶段?A. 需求分析B. 设计C. 开发D. 运营答案:D3. 软件开发过程中的需求分析阶段的主要作用是:A. 编写代码B. 确定软件的功能和性能需求C. 进行软件测试D. 用户培训答案:B4. 下面哪项不是软件开发中常用的软件开发模型?A. 瀑布模型B. 敏捷开发模型C. 增量模型D. 平衡模型答案:D5. 软件项目管理中的关键路径是指:A. 工期最短的路径B. 工期最长的路径C. 工期变动最多的路径D. 工期变动最少的路径答案:B6. 软件测试的目标是:A. 发现尽可能多的缺陷B. 验证软件满足需求C. 确保软件质量D. 所有选项都是目标答案:D7. 下面哪项不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 接口测试答案:D8. 软件维护的类型包括:A. 预防性维护B. 改正性维护C. 完善性维护D. 所有选项都是维护类型答案:D9. 下面哪个不是软件开发中常用的编程语言?A. JavaB. C++C. PythonD. HTML答案:D10. 软件配置管理包括以下哪些方面?A. 版本控制B. 缺陷管理C. 变更管理D. 所有选项都是配置管理的方面答案:D...第二部分:简答题(共4题,每题10分,共40分)1. 请简要介绍一下软件工程的基本原则。
答案:软件工程的基本原则包括:尽早发现和修复缺陷、适应需求变化、迭代开发、团队合作、持续改进。
这些原则旨在提高软件开发的效率和质量。
2. 什么是软件需求工程?请列举一些软件需求工程的主要活动。
答案:软件需求工程是确定和记录软件系统应当具备的功能、性能和接口要求等方面的活动。
软件需求工程的主要活动包括需求获取、需求分析、需求规格和需求验证等。
1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统( B )A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4. 模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6. 软件详细设计主要采用的方法是( D )A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是( D )A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是( D ) A. Pascal B. C C. Fortran D. Prolog9.黑盒测试在设计测试用例时,主要需要研究( A )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是( C )A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11. 下列属于维护阶段的文档是( C )A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12. 快速原型模型的主要特点之一是( D )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13. 因计算机硬件和软件环境的变化而做出的修改软件的过程称为( B )A.较正性维护B.适应性维护C.完善性维D.预防性维护14. 类库这种机制是( D )级别的信息共享。
软件工程试题含答案一、单项选择题(每题1分,共20分)1. 以下哪个不是软件工程的目标?A. 提高软件生产效率B. 提高软件质量C. 提高软件可靠性D. 提高软件的价格答案:D2. 以下哪个不属于软件工程的基本原则?A. 阶段划分B. 迭代开发C. 配置管理D. 需求分析答案:D3. 软件生命周期模型中,以下哪个模型最适合于需求变化较少的项目?A. 瀑布模型B. 增量模型C. 螺旋模型D. 原型模型答案:A4. 下面哪种软件测试方法主要通过检查输入和输出数据之间的关系来验证软件的正确性?A. 黑盒测试B. 白盒测试C. 灰盒测试D. 性能测试答案:A5. 在软件开发中,以下哪个过程是保证软件质量的关键环节?A. 需求分析B. 设计C. 编码D. 测试答案:D6. 以下哪个不是软件配置管理的任务?A. 版本控制B. 变更管理C. 代码编写D. 测试管理答案:C7. 软件过程中的度量主要用于评估以下哪个方面?A. 项目进展情况B. 代码质量C. 测试覆盖率D. 用户满意度答案:A8. 以下哪个不是软件项目管理中的常见约束?A. 成本约束B. 资源约束C. 时间约束D. 协议约束答案:D9. 下面哪种软件开发模型更适合于小型项目?A. 敏捷开发B. 瀑布模型C. 增量模型D. 螺旋模型答案:A10. 下列哪个属于软件缺陷的类型?A. 语法错误B. 逻辑错误C. 界面设计错误D. 所有选项都是答案:D二、多项选择题(每题2分,共20分)11. 软件工程的基本特征包括:(选择所有正确答案)A. 工程化B. 抽象化C. 风险管理D. 需求开发答案:A、B、C12. 软件需求分析的方法包括:(选择所有正确答案)A. 面向对象分析B. 数据流图分析C. 结构化分析D. 瀑布模型答案:A、B、C13. 对于软件过程改进,以下说法中不正确的是:(选择所有正确答案)A. 可以通过度量来评估改进效果B. 可以通过培训来提高团队技能C. 可以通过引入新的软件开发流程达到改进D. 可以通过领导层的决策来实现改进答案:D14. 软件测试的主要目的是:(选择所有正确答案)A. 验证软件是否符合需求B. 发现软件中的错误和缺陷C. 评估软件的运行性能D. 确保软件的可维护性答案:A、B15. 软件维护的类型包括:(选择所有正确答案)A. 纠错性维护B. 适应性维护C. 完善性维护D. 性能优化维护答案:A、B、C三、简答题(每题5分,共30分)16. 请简要解释什么是软件工程?答案:软件工程是一门研究如何通过系统性的、科学化的方法来开发、维护和管理软件的学科。
软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一局部,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:1〕如何开发软件,以满足对软件日益增长的需求;2〕如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:1〕软件是逻辑部件而不是物理部件。
2〕软件的规模越来越大,复杂性越来越大。
3〕轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原那么,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法〞。
1993年IEEE的定义:“①软件工程是:把系统的、标准的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径〞。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型〔需求稳定,而且可以预先指定〕原型模型〔需求模糊或者随时间变化〕增量模型〔分析员先作出需求分析和概要设计,用户参与逐步完善〕螺旋模型〔将瀑布模型与原型化模型结合起来,并参加了风险分析〕喷泉模型〔使开发过程具有迭代性和无间隙性〕5、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类: 1.管理过程模型。
2.瀑布模型〔又称为生命周期模型〕。
3.增量过程模型:包括增量模型,,RAD模型。
4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。
软件工程试题及答案第一部分选择题一、单项选择题每小题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. 请简要介绍敏捷开发方法的主要特点和实践原则。
答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。
实践原则包括短迭代周期、持续反馈、自我组织和协作等。
敏捷开发方法强调快速响应变化,提高软件质量和开发效率。
软件工程期末试题(1)一, 判断题(正确的在括号内打上"√",错误的打上"×".每题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分)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分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格, 然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)5、简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷(2)(开放教育本科)计算机科学与技术专业《软件工程》试题B一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、__需求分析_、设计编码、_测试_、运行与维护阶段。
2.IPO图由_输入_、_处理_和___输出__三个框组成。
3.软件=____程序______+____文档______。
4.软件测试的方法有_分析方法_和_非分析方法_(即黑盒法)。
5.Jackson图除了可以表达程序结构外,还可以表达_数据结构_。
6.详细设计的工具有图形工具、__表格工具_和__语言工具_。
7._数据流图_和_数据字典_共同构成系统的逻辑模型。
8.成本估计方法主要有__自顶向下估计_、_自底向上估计_和算法模型估计三种类型。
9.在需求分析阶段常用的图形工具有_层次方框图_、_ Warnier 图_、_ IPO图_三种。
答案:填空题(每空1分,共20分)1、问题定义需求分析测试2、输入处理输出3、程序文档4、分析方法非分析方法5、数据结构6、表格工具语言工具7、数据流图数据字典8、自顶向下估计自底向上估计9、层次方框图Warnier图IPO图二、单项选择题(每小题2分,共10分)1. 系统流程图是描绘()的传统工具。
A、逻辑系统B、数据结构C、状态变迁D、物理系统2. 下列模块独立性最强的是()A、非直接耦合B、数据耦合C、公共耦合D、内容耦合3. 下列哪个阶段不属于软件生存周期的三大阶段()。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段4. 常见的软件概要设计方法有3大类,其中以数据流图为基础构造模块结构的是(A、Jackson方法和LCP(Wanier)逻辑构造方法B、结构化设计方法(SD)C、面向对象设计方法(OOD)D、快速原型法5. 使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能答:1、D 2、A 3、C 4、A 5、A三、多项选择题(每题2分,共10分)1. ()可以作为模块。
A、子程序B、函数C、过程D、编译文件2. 关于内容耦合的描述正确的是()。
A、内容耦合是最高程度的耦合B、高级语言一般设计成允许内容耦合的形成C、应该尽量使用内容耦合D、如果一个模块可以直接调用另一模块,则可以称为内容耦合3. 下列属于度量效益方法的是()。
A、货币的时间价值B、投资回收期B、收入D、投资回报率4. 软件维护的策略包括()。
A、定期检测维护。
)B、改正性维护C、适应性维护D、完善性维护5. 下列不属于软件测试过程的是()。
A、单元测试B、组装测试C、内核测试D、法律验证答:1、ABCD 2、AD 3、ABC 4、BCD 5、CD四、判断题(正确的在括号内打上“√”,错误的打上“×”。
每题2分,共20分)1. Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格。
(v )2. PAD图在设置了五种基本控制结构后,还允许递归调用。
(v )3. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。
( x)4. 当验收测试通过,软件开发就完成了。
(x )5. 完成测试作业后,为了缩短源程序的长度应删除程序中的注解。
(x )6. 在进行总体设计时应加强模块间的联系。
(x )7. 系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
(x)8. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(x )9. 在程序调试时,找出错误的位置和性质比改正该错误更难。
(v)10. 以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。
(v)答:1—5:√√××× 6—10:×××√√五、简答题(每题5分,共20分)1.什么是软件危机?为什么会产生软件危机?答:软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。
2.什么是软件的生存周期?包括哪几个部分?答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。
3.什么是黑盒测试法?答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
4.耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?内容耦合:高→公共耦合→外部耦合→控制耦合→标记耦合→数据耦合→答:低:非直接耦合巧合内聚:弱→逻辑内聚→时间内聚→过程内聚→通信内聚→信息内聚→强:功能内聚六、分析设计题(共20分)1. (8分)假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元。
3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率。
答:计算该系统的纯收:3612.27-3000=612.27投资回收期:3+(3000-2407.15)/(3044.09-2407.15)=3.93 投资回收率为r3000=1000/(1+r)+1000/(1+r)2+1000/(1+r)3+1000/(1+r)4+1000/(1+r)5 解得r=20%2. 求一组数组中的最大数, 数组表示为A(n),n=1,2……n的自然数。
(12分)1) 请画出程序流程图(4分)2) 请画出该算法的N-S图(4分)3) 请用PAD图来表示该算法(4分)答:(1)(2)(3软件工程期末试卷(3)一、简答题(25%,每小题5分):1.请简要说明需求分析的三个层次包括那些主要内容。