软件工程第3阶段测试题
中国石油大学软件工程第三阶段在线作业

A、继承性
B、共享性
C、封装性
D、抽象性
我的答案:C 此题得分:2.5 分
13.(2.5 分) 软件工程的出现是由于( )
A、软件危机
B、计算机硬件技术的发展
C、软件社会化的需要
D、计算机软件技术的发展
我的答案:A 此题得分:2.5 分
14.(2.5 分) 螺旋模型是一种将瀑布模型和哪种模型结合起来的软件 开发模型。
29.(2.5 分) 在数据流图中箭头用来表示加工
正确
错误
我的答案:错误 此题得分:2.5 分
30.(2.5 分) 画数据流图时首先要画下层数据流图
正确
错误
我的答案:错误 此题得分:2.5 分
31.(2.5 分) 数据字典仅仅描述了数据项的分解
正确
错误
我的答案:错误 此题得分:2.5 分
D、判定树
我的答案:B 此题得分:2.5 分
21.(2.5 分) IDEF 三部分中不属于的有( )
A、IDEF0
B、IDEF1
C、IDEF2
D、IDEF3
我的答案:D 此题得分:2.5 分
22.(2.5 分) 在软件生产的程序系统时代由于软件规模扩大和软件复 杂性提高等原因导致了( )
32.(2.5 分) 数据字典是为分析人员查找数据流图中有关名字的详细 定义而服务的
正确
错误
我的答案:正确 此题得分:2.5 分
33.(2.5 分) 数据项是组成数据流和数据存储的最小元素
软件工程试题及答案(A)

A卷1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,( 需求分析阶段)出错,对软件的影响最大。
3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。
4、软件工程的出现主要是由于(软件危机的出现)。
5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。
7、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法。
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流).10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。
11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。
螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。
喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙")的特征。
12、以下不属于白盒测试技术的是(等价类划分).13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护).14、保证软件质量的手段有复审、复查、管理复审和测试等.其中复审发生在软件生命周期的(每个阶段结束之前).15、完整的系统设计应包括(计算机系统设计、应用软件设计、数据库设计和网络设计)。
第3章 软件工程基础(习题答案)

需求分析的方法很多,如功能分析法、结构化分析法、信息建模法以及面向对象分析法等。最常用的是基于功能分析的结构化分析法。
结构化分析法常用工具有数据流图、数据字典、结构化英语、判定表和判定树等工具。
3.19什么是快速原型开发方法?它与传统的瀑布模型比较有什么优点?
解答:
快速原型法鼓励用户和软件开发人员紧密合作,共同工作,用户参与软件开发的每一个阶段的工作。这样,在软件开发的全过程中,都能及时反映用户的要求,不断缩小开发人员与用户之间对问题理解的差距,以提高最终软件产品的质量。
原型法是对瀑布模型的改进。在瀑布模型中,将软件的生命周期划分成3个时期8个阶段,用户仅参与起始的软件定义阶段和最后的软件测试阶段,而实际的软件开发过程比较漫长,是由开发人员独立完成的,用户不参与。但在开发过程中,用户的实际需求可能发生变化,却得不到反映,因此当开发人员把系统交付给用户时,用户对产品不满意的现象经常发生,对软件的修改又导致维护工作量和开发费用的增加。
3.18什么是软件维护?有几种维护?每种维护完成的任务是什么?
解答:
软件维护是对已交付使用的软件进行排错、修改和扩充的工作。维护工作类型包括:纠错性维护、完善性维护、适应性维护和预防性维护。
纠错性维护,对程序中出现的错误进行查找、定位、修改和重新测试。
完善性维护,对原有系统进行修改和扩充,如扩充新功能、完善操作方式。
黑盒测试也称为功能测试或数据驱动测试,是针对软件已经实现的功能是否满足需求进行的测试和验证。黑盒测试不考虑程序内部的结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。所以,黑盒测试是在软件接口处进行,完成功能验证的。
软件工程考试试题(含答案)

软件工程考试试题(含答案)软件工程考试试题(含答案)1. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。
传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。
优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。
敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。
优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。
1.2 什么是需求工程?请简述需求工程的过程和方法。
需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。
它的目标是建立对用户需求的准确和完整的理解。
需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。
2. 需求分析:对需求进行分析、整理,形成需求的详细描述。
3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。
4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。
需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。
- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。
- 文献研究法:通过研究现有的相关文档来获取需求信息。
- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。
2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。
算法设计:1. 将整数数组按照从小到大的顺序进行排序。
2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。
- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。
软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社 郭宁主编)

《软件工程实用教程》第2、3、4、5章习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。
这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。
例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。
这为提高软件产品质量提供了有效保证。
瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。
•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。
•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。
将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。
快速原型方法具有以下一些特点。
•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。
一旦需求或设计确定下来,原型就将被抛弃。
因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。
快速原型往往采用软件生成工具来创建,例如,4GL语言。
2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
第三章测验及答案

第三章测验及答案第三章测验一、判断1. 文档不属于软件,所以不重要。
()2. 软件学是专门研究软件开发的学科。
()3. 通常把计算机软件分为系统软件和应用软件。
()4. 所谓系统软件就是购置计算机时,计算机供应厂商所提供的软件。
()5. 当前流行的操作系统是Windows系列及Office系列。
()6. Word属于系统软件,因为它在多个行业、部门中得到广泛的使用。
()7. Oracle是一数据库软件,属于系统软件。
()8. “软件工程”的概念出现在计算机软件发展的第三阶段。
()9. 一般只有硬件、没有软件的计算机被称为“裸机”。
()10. 计算机操作系统自举完成后,操作系统的所有程序常驻内存。
()11. Windows操作系统可以在任意的计算机上安装。
()12. Linux操作系统是Unix简化后的新版本。
()13. 机器语言程序是直接运行在裸机上的最基本的系统软件。
()14. 汇编语言是面向机器指令系统的机器语言。
()15. 计算机硬件就是组成计算机的各种物理设备的总称。
()16. 同一个程序在解释方式下的运行效率比在编译方式下的运行效率低。
()17. 编译程序仅是指从高级语言到机器语言的翻译程序。
()18. 在设计程序时一定要选择一个时间代价和空间代价都是最小的算法,而不用考虑其它问题。
()19. 离散数学的主要研究对象是连续的数据结构。
()20. 数据结构的内容包括数据的逻辑结构、存储结构以及在这些数据上定义的运算的集合。
()21.链接表是以指针方式表示的“线性表结构”。
()22. 程序与算法不同,程序是问题求解规则的一种过程描述。
()23. 软件产品的设计报告、维护手册和用户使用指南等不属于计算机软件。
()24. 支持多用户、多任务处理和图形用户界面是Windows的特点。
()25. 程序设计语言按其级别可以分为硬件描述语言、汇编语言和高级语言三大类。
()26.源程序通过编译处理可以一次性地产生高效运行的目标程序,并把它保存在外存储器上,可供多次执行。
软件工程(第五版)--习题及答案--第三章

3、某考务中心准备开发一个考务管理系统,其需求如下:
(1)考生填写考试报名表,经检查合格后在系统中登记注册,并发给学生准考证。
(2)学生按照准考证要求进入考场考试。考试完后将试卷交给阅卷站。
3、数据流图的作用是什么?它有哪些基本成分?
答:数据流图是用于表示系统逻辑模型的一种工具。它从数据传递和加工的角度,以图形的方式描述数据在系统中流动和处理过程。它表示了系统内部信息的流向以及系统的逻辑处理功能。
数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。
4、数据词典的作用是什么?它包括哪些内容?
7、(×)在软件生产过程中,需求信息的来源是项目经理。
8、(√)需求分析阶段的任务是确定软件的功能。
二、选择题
1、需求分析最终结果是产生(B)。
A、项目开发计划B、需求规格说明书
C、设计说明书D、可行性分析报告
2、数据流图(DFD)是(A)方法中用于表示系统的逻辑模型的一种图形工具。
A、SAB、SDC、SPD、SC
C、结构化数据系统D、对象
6、在数据词典中,以下哪一项表示允许重复0至任意次(A)。
A、{}B、0{}C、0{}nD、{}n
7、以下数据流图符号中哪一个表示加工(B)。
A、B、C、D、
8、软件开发的需求活动,其主要任务是(D)。
A、给出软件解决方案B、给出系统模块结构
C、定义模块算法D、定义需求并建立系统模型
专业ห้องสมุดไป่ตู้”01”...”99”注:专业代号2位数字
班级=”01”...”99”注:班级代号2位数字
学分=0..99
2、某录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算出标准分,并将其存入考生分数文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江南大学现代远程教育第三阶段测试卷
考试科目:《软件工程》第6章至第8章(总分100分)
时间:90分钟
______________学习中心(教学点)批次:层次:
专业:学号:身份证号:
姓名:得分:
一、单选题(每小题1分,共计20分)
1. 在黑盒测试中,着重检查输入条件组合的方法是()
A.等价类划分法 B.边界值分析法 C.错误推测法 D.因果图法2. McCabe复杂性度量又称()
A.代码行度量B.环路度量 C.程序量度量 D.功能性度量3. 成功的测试是指运行测试用例后()
A.未发现程序错误 B.发现了程序错误
C.证明程序正确 D.改正了程序错误
4. 不属于白盒测试的技术是()
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.文档 B.数据 C.编码 D.设计
10. 程序设计语言的心理特性在语言中表现不应包括()
A.歧义性 B.简洁性C.保密性 D.传统性
11 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()
A.系统功能 B.局部数据结构
C.重要的执行路径 D.错误处理
12. 程序设计语言的工程特性其中之一表现在()
A.软件的可重用性 B.数据结构的描述性
C.抽象类型的描述性 D.数据库的易操作性
13. 测试的关键问题是()
A.如何组织软件评审 B.如何选择测试用例
C.如何验证程序的正确性 D.如何采用综合策略
14. 集成测试主要是为了发现哪个阶段的错误?()
A.需求分析B.概要设计 C.详细设计 D.编码
15. 程序设计语言的技术特性不应包括()
A.数据结构的描述性 B.抽象类型的描述性
C.数据库的易操作性 D.软件的可移植性
16. 软件测试的目的是()
A.试验性运行软件B.发现软件错误
C.证明软件正确 D.找出软件中全部错误
17. 与设计测试用例无关的文档是()
A.项目开发计划 B.需求规格说明书
C.设计说明书 D.源程序
18. 下列几种逻辑覆盖标准中,查错能力最强的是()
A.语句覆盖 B.判定覆盖 C.条件覆盖 D.条件组合覆盖19.软件测试中,白盒法是通过分析程序的什么来设计测试用例的?()
A.应用范围B.内部逻辑 C.功能 D.输入数据
20.软件维护的困难主要原因是()
A.费用低 B人员少
C.开发方法的缺陷 D.维护难
二、名词解释(每小题2分,共计12分)
1. 编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。
2. 驱动(驱动程序)指调用被测试的单元(模块)的虚拟主程序)
3. 存根(存根程序)指被测试的单元(模块)调用的其他模块的虚拟子程序
4. 调试或称纠错,它是排除(诊断和改正)程序中存在的错误过程
5. 测试是查找和发现程序中存在的错误的过程
6. 穷举(穷举测试)就是把程序所有可能的执行路径都检查一遍的测试
三、简答题(每小题4分,共计32分)
1.软件测试的目标?
测试的目标(G.Myers规则):
(1) 测试是为了发现程序中的错误而执行程序的过程;
(2) 好的测试方案是极可能发现迄今尚未发现错误的测试方案;
(3) 成功的测试是发现至今为止尚未发现错误的测试.
2.软件测试的步骤?
软件测试的步骤:
(1) 模块测试—单元测试
(2) 子系统测试—局部“集成测试”
(3) 系统测试—全局“集成测试”
(4) 验收测试—由用户参加,利用实际数据进行的系统测试
(5) 平行测试—试运行
3.什么是软件可靠性?
软件可靠性是指程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。
4.什么是软件的可用性?
软件可用性是指程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。
5.什么是改正性维护?
改正性维护是指发现错误(问题)且诊断和改正错误的过程。
(占维护活动的50%∼60%)。
6.什么是适应性维护?
适应性维护是指为了适应软硬件环境的变化而进行的修改软件的活动 (占维护活动的17%∼20%)。
7.什么是完善性维护?
完善性维护是指为了满足在使用软件的过程中用户提出的新要求(增加新功能/修改已有功能/提出一般性的改进意见)而进行的修改软件的活动。
(占维护活动的18%∼25%)。
8.什么是预防性维护?
预防性维护是指为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件的活动。
(占4%)
四、综合应用题(1~4小题7分,5小题8分,共计36分)
1.设有如下流程图,试构造其程序图且计算它的McCabe复杂度。
1. 解:
①程序图:
② McCabe复杂度:V(G)=判断个数+1=3+1=4
2.设有如下流程图,试构造其程序图且计算它的McCabe复杂度。
解:
①程序图:
② McCabe复杂度:V(G)=判断个数+1=3+1=4
3. 设有如下流程图,试构造其程序图且计算它的McCabe复杂度。
2.
3. 解:
①程序图:
② McCabe复杂度:V(G)=判断个数+1=4+1=5 (2分)。