软件工程期末考试综合整理

合集下载

软件工程期末考试试题

软件工程期末考试试题

软件工程期末考试试题软件工程期末考试试题软件工程作为一门重要的学科,是现代信息技术领域中不可或缺的一部分。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等等。

软件工程的发展使得软件开发过程更加规范化和可控,从而提高了软件质量和开发效率。

在软件工程的学习过程中,期末考试是一个重要的评估方式,下面将给出一些典型的软件工程期末考试试题。

1. 什么是软件工程?简要介绍软件工程的定义和主要目标。

2. 请解释软件开发生命周期,并描述其中的各个阶段。

3. 请解释需求分析的重要性,并列举常用的需求获取技术。

4. 什么是软件设计?请描述常用的软件设计原则和模式。

5. 请解释软件测试的目的和重要性,并介绍常用的软件测试方法。

6. 什么是软件维护?请列举常见的软件维护活动。

7. 请解释软件配置管理的概念,并描述常用的配置管理工具。

8. 请解释软件质量保证的概念,并介绍常用的质量保证技术。

9. 请解释软件项目管理的概念,并描述常用的项目管理方法。

10. 请列举常见的软件开发团队角色,并描述各个角色的职责。

以上是一些典型的软件工程期末考试试题,涵盖了软件工程的各个方面。

在考试中,学生需要对软件工程的基本概念、原理和方法有一定的了解,并能够应用到实际问题中。

此外,考试还注重学生的分析和解决问题的能力,要求学生能够灵活运用所学知识解决实际的软件开发和管理问题。

软件工程是一个不断发展和演变的学科,随着技术的不断进步和应用领域的拓展,软件工程的研究和实践也在不断深入。

期末考试试题的设计旨在培养学生的综合能力和创新思维,使他们能够适应和应对不断变化的软件开发环境。

总之,软件工程期末考试试题既考察了学生对于软件工程基本概念和原理的理解,也注重了学生的分析和解决问题的能力。

通过认真学习和准备,相信每位学生都能够在期末考试中取得好成绩,并为将来的软件开发和管理工作打下坚实的基础。

软件工程期末考试简答题汇总

软件工程期末考试简答题汇总

1什么是软件工程?基本原理有哪些?软件工程是指导计算机软件开发和维护的工程学科。

用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审查、开发小组人员少而精、并不断改进方法。

2成本_效益分析可用哪些指标进行度量?(写出公式)可用投资回收期、纯收入、投资回收率指标,通过P=F/(1+i)n计算求得。

3什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。

用符号描绘信息在系统中流动的情况,源点、终点、处理、数据存储、数据流。

4非渐增式测试与渐增式测试有什么区别?两种都用于集成测试。

渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。

非渐增式先分别测每个模块,再把所有模块按设计要求放在一起结合成所要的程序。

5试从基本符号和设计方法分析HC图与JACKSON图异同点答:HC图是面向DFD,而JACKSON图是面向数据结构的。

符号省略。

6软件测试的目的是什么?测试的目的是为了发现错误.7结构化程序设计的思想是什么?答:自上而下,逐步求精8请解释极限编程和自适应软件开发,并说明其异同?答:极限编程和自适应软件开发都属于敏捷过程模型。

极限编程是应用最广泛的敏捷过程(2分)。

按照计划、设计、编码和测试四个框架活动组织。

极限编程建议一系列新颖和有力的技术,保证敏捷团队创建能力体现客户指定优先级特征和功能的频繁软件开发(2分)。

自适应软件开发强调人的合作和团队的组织,按思考、协作和学习的三个框架活动组织,其使用迭代过程。

该过程由自适应循环计划、相对严格的需求收集方法和一个迭代开发循环构成(2分)。

9需求工程的起始阶段,需求工程师的主要工作是?答:需求工程的起始阶段,工程师的主要工作为:1)建立基本的问题需求(2分)2)定义最重要的项目约束以及陈述主要的特征和功能(2分)3)与共利益的各方建立基本的谅解(2分)10请画出“在餐厅使用信用卡付费”这一活动的完整用例图?11分析说明结构化分析和面向对象分析的区别?答:分析建模的目标是创建各种表现形式,以描述软件信息、功能和行为的需求(2分)。

软件工程复习资料整理

软件工程复习资料整理

《软件工程》试题参考答案(1)卷一、单向选择题(四选一、每小题3分,共18分)1、需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审。

2、当模块中包含复杂的条件组合,只有( A)能够清晰地表达出各种动作之间的对应关系。

0802A.判定表和判定树C.流程图3、以下不属于逻辑覆盖的是(D)。

1402A.语句覆盖C.条件覆盖B.盒图D 关系图B.判定覆盖D.基本路径4、为适应软件运行环境的变化而修改软件的活动称为( B)。

1501A.纠错性维护B.适应性维护C.改善性维护 D 预防性维护二、填空题(每空2分,共18分)1. 软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。

01012. 高级语言:独立于机器,面向过程或面向(对象)01013. 软件项目管理的范围主要集中于 3 个P 上,即:People 人员、Problem 问题和(过程)。

02014. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。

15045. 在公式V(G) = E – N + 2 中: E 为程序图G 中边的总数;N 为程序图中结点的总数。

V(G)又称为图 G 的环形(复杂度)0204。

6. 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。

03037. 为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。

12048. 文档是一种数据媒体和其上所记录的(数据)。

0101三、判断题(每小题2分,共24分,错误打X、正确打√)1. 用户对软件需求的描述不准确,往往是产生软件危机的原因之一。

(√)01022. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。

(√)02063. 目前的绝大多数软件都不适合于快速原型技术。

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结

第一章第二章第三章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。

3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。

(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。

他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。

5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。

软件工程期末考知识点归纳(自制)

软件工程期末考知识点归纳(自制)

需求分析工具,任务,内容需求分析也称为需求工程,是一个非常重要而有很复杂的,需要交替进行,反复迭代的过程。

需求分析过程通过执行初步沟通、需求导出、分析与精化、可行性研究、协商和沟通、规格说明、验证和变更管理八个不同的活动来完成。

非形式技术主要包括会谈、调查表和场景技术,用于获取用户需求和系统需求。

排错调试(debug)又称排错或纠错调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,进行改正调试工作:对错误进行定位并分析原因,即诊断;对于错误部分重新编码以改正错误;重新测试软件项目管理计划的重要方面项目是指一系列独特的、复杂的并相互关联的活动。

项目参数包括项目范围、质量、成本、时间、资源。

项目三维管理:时间维:即把整个项目的生命周期划分为若干个阶段,从而进行阶段管理。

知识维:即针对项目生命周期的各个不同阶段,采用和研究不同的管理技术方法。

保障维:即对项目人力、财力、物力、信息等后勤保障管理。

特点项目管理是一项比较复杂的工作项目管理具有创造性项目管理的对象是项目或被当作项目来处理的作业项目负责人(或项目经理)在项目管理中起着非常重要的作用项目管理需要集权领导和建立专门的项目组织项目管理的方法、工具和手段具有先进性、开放性五个阶段启动阶段:用户提出需求,开发人员进行需求分析,确定可行性,编写项目实施计划。

计划阶段:创建项目范围文档和项目计划,项目范围详细描述项目范围。

实施阶段:实施阶段意味着项目正在进一步设计、编码、测试,小组成员正在创造项目需要的可交付产品。

控制阶段:项目经理开始监督小组成员的工作,将项目的进度、任务和预算控制在正常的范围内。

收尾阶段:项目负责人和用户批准和签署项目,交付产品。

项目的收尾阶段标志着项目的正式结束。

测试目标,执行过程没找到Sa(结构化分析)结果结构化分析方法是一种自顶向下,逐步分解的面向数据和数据流的建模方法。

结构化分析(SA,Structured Analysis)方法是20世纪70年代,由E.Yourdon等人倡导的一种适用于大型数据处理系统的、面向数据流的需求分析方法。

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结

第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显着特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。

3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。

(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。

他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。

5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。

软件工程期末复习要点归纳总结

第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。

3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。

(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。

他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。

5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。

软件工程期末试卷10套(带答案)

软件工程期末试卷10套(带答案)软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是(B)A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是(B)A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是(D)A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是(B)。

A.评价软件的质量B.发现软件的错误C.找出软件的所有错误D.证明软件是正确的6.在设计测试用例时,(A)是用得最多的一种黑盒测试方法。

A.等价类划分B.边界值分析C.因果图D.判定表7.需求分析最终结果是产生(B)。

A.项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告8.Jackson图中,模块框之间若有直线连接,表示它们之间存在(B)。

A.调用关系B.组成关系C.链接关系D.顺序执行关系9.软件详细设计的主要任务是确定每个模块的(C)。

A.功能B.外部接口C.算法和使用的数据结构D.编程10.为了提高软件的可维护性,在编码阶段应注意(D)A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A)。

A.状态图B.数据流图C.系统结构图D.时序图13.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。

软件工程期末知识总结

软件工程期末知识总结软件工程是一门研究如何以系统性的方法构建和维护软件的学科。

在软件工程的学习中,我们主要学习了软件开发的各个阶段、软件开发方法和工具,以及软件质量保证与测试等相关知识。

下面将对这些知识进行总结。

一、软件开发的各个阶段1. 需求分析阶段:需求分析是软件开发的第一步,主要目的是明确用户的需求和期望。

通过与用户交流,分析用户需求,确定软件的功能和约束条件,最终形成需求规格说明书。

2. 设计阶段:设计阶段是对需求进行进一步细化和明确,形成软件的架构和设计方案。

主要包括高层设计和详细设计两个阶段。

高层设计是确定软件的总体框架和结构,而详细设计则是对高层设计进行进一步细化和完善,明确具体的实现细节。

3. 编码阶段:编码是将设计阶段得到的软件设计方案翻译成具体的代码的过程。

在编码过程中,要遵循一定的编码规范和编码标准,以保证代码的可读性和可维护性。

4. 测试阶段:测试是对软件进行验证和确认的过程。

测试过程主要分为单元测试、集成测试和系统测试三个层次。

单元测试是对软件中的最小单元进行测试,集成测试是对已经通过单元测试的模块进行组合测试,系统测试是对整个系统进行全面测试。

5. 部署和维护阶段:在软件开发完成后,需要进行部署和安装。

部署是将软件安装到用户的计算机或服务器上,并进行配置和初始化。

维护是在软件部署后,对软件进行监控、修复和更新,以保证软件的正常运行和改进。

二、软件开发方法和工具1. 瀑布模型:瀑布模型是一种传统的软件开发方法,采用线性的开发流程,依次进行需求分析、设计、编码、测试和维护等阶段。

瀑布模型适用于需求稳定和明确的项目。

2. 敏捷开发:敏捷开发是一种迭代和增量的开发方法,强调灵活性和快速响应。

敏捷开发主要包括Scrum、XP和Kanban等方法。

敏捷开发适用于需求不确定和频繁变化的项目。

3. UML:UML是一种用于软件建模和设计的标准化方法。

UML提供了一系列的通用图形符号和建模语言,便于进行软件设计和文档化。

《软件工程》期末试复习

《软件工程》期末复习一、填空题二、选择题三、简答题1.什么是软件生存周期。

其各阶段的任务是什么?答:软件生存周期:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。

软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。

2、可行性研究报告的主要内容有哪些?答:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。

(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。

(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。

(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。

(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。

(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

3、什么是软件危机?软件危机的表现是什么?其产生的原因是什么?解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

考试试题及参考答案 一、单向选择题(四选一、每小题3分,共18分) 1、软件的发展经历了(D)个发展阶段。0102 A. 一 B. 二 C. 三 D. 四 2、需求分析的任务不包括(B)。0401 A. 问题分析 B. 系统设计 C. 需求描述 D. 需求评审。 3、一个软件的宽度是指其控制的(C)。0801 A. 模块数 B. 层数 C. 跨度 D. 厚度 4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。 0802 A. 判定表和判定树 B. 盒图 C. 流程图 D. 关系图 5、以下不属于逻辑覆盖的是(D)。1402 A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 基本路径 6、为适应软件运行环境的变化而修改软件的活动称为(B)。1501 A. 纠错性维护 B. 适应性维护 C. 改善性维护 D. 预防性维护 二、填空题(每空2分,共18分) 1. 软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。0101 2. 高级语言:独立于机器,面向过程或面向(对象)0101 3. 软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。0201 4. 人机界面的风格第一代界面是命令和(询问)方式。1202 5. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。1504 6. 在公式V(G)= E – N + 2中:E为程序图G中边的总数; N 为程序图中结点的总数。V(G)又称为图G的环形(复杂度)0204。 7. 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。0303 8. 为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。1204 9. 文档是一种数据媒体和其上所记录的(数据)。0101 三、判断题(每小题2分,共24分,错误打X、正确打√) 1. 用户对软件需求的描述不精确,往往是产生软件危机的原因之一。(√)0102 2. 目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。(√)0206 3. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(√)0206 4. 目前的绝大多数软件都不适合于快速原型技术。(X)0402 5. 面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:企事业的信息管理系统;系统软件(如操作系统)等。(√)10001 6. 缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)0102 7. 通常紧致性好的语言一致性就好。(X)1301 8. 测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)1401 9. 数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容。(√)1204 10. 软件也会磨损和老化。(X)0101 11. 完善性维护是提高或完善软件的性能。(√)0101 12. McCabe建议模块规模应满足:V(G)≤20。(X)0204 四、简答题(每小题4分,共20分) 1、程序设计语言的三种类型和特点是什么?0101 1) 机器语言、汇编语言:依赖于机器,面向机器 2) 高级语言:独立于机器,面向过程或面向对象 3) 面向问题语言:独立于机器,非过程式语言(4GL) (2分) 2、软件危机 是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。0101 3、软件项目的质量管理——制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。0201 4、好的编程风格应遵循哪四条规则?1304 1)节简化 2)模块化 3)简单化 4)文档化 5、软件测试中按照错误的性质和范围进行分类可分为:“功能错误”及其它哪些错误? 1401 1) 系统错误 2) 加工错误(算法错误) 3) 数据错误 4) 代码错误 五、综合题(每小题10分,共20分) 1、选择语言时要考虑的因素有:项目的应用领域、项目中算法、计算的复杂性和其余哪些内容?1301 答: 1)项目中数据结构的复杂性 2)用户的性能需求 3)软件运行的环境 4)软件开发人员开发水平 5)可用的编译器和交叉编译器 2、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。0201 解: 1.软件开发的生产率P为: P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM 2.开发每行代码的平均成本C为: C = S / L = 168000美元 / 12100LOC=13.9美元/LOC 3.代码出错率EQR为: EQR = N / L = 29个/12.1KLOC=2.4个/KLOC 4.软件的文档率D为: D = Pd / L = 365页 / 12.1KLOC = 30页/ KLOC

《软件工程》试题及参考答案

一、单向选择题(四选一、每小题3分,共18分) 1、对在数据流图中每一个命令的图形元素均给以定义是(B)0501 A、条目定义 B、数据字典 C、数据定义 D、数据说明 2、软件的可行性研究中不包括(D)0302 A、法律可行性 B、技术可行性 C、经济可行性 D、政治可行性 3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。1501 A. 纠错性维护 B. 适应性维护 C. 改善性维护 D. 预防性维护 4、人机界面的风格大致经过了(B)代的演变。1202 三 四 五 六 5、以下不属于白盒测试技术的是(D)1402 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。1501 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1. 文档(document)—一种数据媒体和其上所记录的(数据)。0101 2. 机器语言、汇编语言:依赖于机器,面向(机器)0101 3. 软件有效性(efficiency),指软件系统的时间和(空间)效率。0103 4. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。0103 5. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。0103 6. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。0402 7. 一个软件的深度是指其控制的(层数)。0801 8. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。1301 9. 软件维护是软件生命周期的(最后)一个阶段。1501 三、判断题(每小题2分,共24分,错误打X、正确打√) 1. 缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一。(√)0102 2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)0206 3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(√)0402 4. 快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(√)0402 5. 流程图也称为程序(框图)是最常用的一种表示法。(√)0802 6. 面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(√)1001 7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)1201 8. 数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)1204 9. 用穷举测试是较现实的测试方法。(X)1401 10、编码时应尽可能使用全局变量(X)1302 11、重视程序结构的设计,能使程序具有较好的层次结构(√)1301 12、程序中的注解越少越好( X )。1302 四、简答题(每小题4分,共20分) 1、计算机软件——与计算机系统操作有关的程序、规程、 规则及任何与之有关的文档和数据。0101 2、需求分析的任务是什么?0103 需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。 3、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。0201

相关文档
最新文档