软工重点的答案

合集下载

软件工程问答题答案(仅供参考)(精品)

软件工程问答题答案(仅供参考)(精品)

软件工程问答题答案(仅供参考)(精品)软件工程问答题答案(仅供参考)(精品)软件工程是指通过计算机科学与工程学的原理、方法和工具来开发和维护软件的一门学科。

在软件工程领域,存在着许多关键问题和常见的问答题。

本文将为你提供一些常见软件工程问答题的答案,希望能够帮助你更好地理解和应用软件工程的知识。

1. 什么是软件需求工程?软件需求工程是软件工程中的一个重要领域,它关注的是对用户需求进行分析、规范和管理,以便于软件系统的开发和交付。

软件需求工程包括可行性研究、需求获取、需求分析、需求规格说明和需求验证等过程。

2. 请解释软件配置管理是什么?软件配置管理是指通过管理软件系统中的各种配置项和配置变更,以确保软件系统的正确、完整和可追踪。

它包括配置项识别、变更控制、版本控制、配置库管理等活动,旨在提高软件开发和维护过程的可控性和可靠性。

3. 请介绍软件测试的目的和重要性。

软件测试的目的是发现软件系统中的错误、缺陷和潜在问题,以便在软件交付之前进行修复和改进。

软件测试的重要性在于可以提高软件系统的质量和可靠性,降低软件使用过程中的风险和损失。

4. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。

它描述了软件系统中各个组件之间的关系和交互,以及软件系统的总体设计原则和理念。

软件架构可以帮助团队成员理解和沟通软件系统的设计和实现。

5. 请解释敏捷开发方法。

敏捷开发方法是一种以迭代、循环和适应性为核心的软件开发方法。

它强调团队合作、快速反馈和不断改进,在不断变化的需求环境下能够更加灵活地开发和交付高质量的软件系统。

6. 请介绍软件项目管理的过程和技术。

软件项目管理包括项目计划、项目组织、项目监控和项目交付等过程。

它涉及到时间管理、成本管理、风险管理、质量管理等技术和工具,以确保软件项目能够按时、按量和按质完成。

7. 请解释软件工程中的代码重构。

代码重构是指在不改变软件系统外部行为的前提下,通过对代码的重新组织和调整来改进软件系统的内部质量和可理解性。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题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. 软件工程的目标是开发出零缺陷的软件。

软件工程复习重点答案

软件工程复习重点答案

软件工程复习重点一、选择题1、软件工程三要素是指( B )P8A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法2、瀑布模型本质上是一种( A )。

P23A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。

P79A、数据流B、数据流图C、数据库D、数据结构4、概要设计的任务是设计系统的( B物理模型)P70A、逻辑模型B、物理模型C、概念模型D、程序流程图5、描述软件结构的工具有( A模块结构图)A、模块结构图B、PAD图C、数据流程图D、程序6、进行需求分析可以使用多种工具,但( C )是不适用的。

A、数据流程图B、判定表C、PAD图(详细设计)D、数据字典7、可行性研究要进行的需求分析和设计应该是(C )。

A、详细的B、全面的C、简化的、压缩的D、彻底的8、软件生命周期由( C )三个时期组成。

A、概要设计、详细设计和系统实现B、可行性分析、系统设计和编码C、定义、开发和运行维护D、分析、设计和测试9、以下( D )不是模块。

对象是一个实体A、过程B、程序C、函数D、对象10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。

A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78A、扇入数B、扇出数C、宽度D、作用域12、下列工具哪一个是需求分析阶段常用工具?( D )A、PADB、PFDC、N-SD、DFD数据流程图需求分析常用的是数据流程图和数据字典13、为了提高测试的效率,应该( D)A、随机地选取测试数据B、取一切可能的输入数据作为测试数据库C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据14、成功的测试是指( B发现程序的错误)A、运行测试实例后未发现错误项B、发现程序的错误C、证明程序正确D、改正程序的错误15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。

(附答案)软件工程重点大题

(附答案)软件工程重点大题
4.结构化程序设计的特点是什么?为什么要采用结构化程序设计?
答:结构程序设计的概念最早是由E. W. Dijkstra提出来的,他指出:“可以从高级语言中取消GOTO语句,程序质量与程序中所包含的GOTO语句的数量成反比”。并指出结构程序设计并非简单的取消GOTO语句,而是创立一种新的程序设计思想、方法和风格,以显著提高软件生产率和质量。
●需求分析与规格说明(明确系统的规格和要求);
●设计(包括概要设计和详细设计,将系统分解为模块);
●编程(用程序语言实现每个模块,简单容易);
●测试(发现并改正错误,分为模块测试、集成测试和系统联调三级);
●运行维护(扩充功能、纠错等)。
5.如何画分层数据流图?有哪些基本原则?
答:总的原则是:至顶而下,逐层分解(画分层数据流图)。逐层分解的画法可以控制每一层的复杂度。
答:以集中式的仓库模型为例。其主要优点:
(1)数据由某个子系统产生,并且被存储到仓库中,以便为另外一些子系统共享;
(2)由于中央集中控制的缘故,共享数据能得到有效的管理,各子系统之间不需要通过复杂的机制来传递共享数据;
(3)一个子系统不必关心其他的子系统是怎么使用它产生的数据;
(4)所有的子系统都拥有一致的基于中央数据仓库的数据视图。如果新子系统也采用相同的规范,则将它集成于系统中是容易的。
模块是由边界元素限定的相邻的程序元素的序列,而且有一个总体标志符来代表它。
所谓模块化,即是将一个大任务分成若干个较小的任务,较小的任务又细分为更小的任务,直到更小的任务只能解决功能单一的任务为止,一个小任务称为一个模块。各个模块可以分别由不同的人编写和调试。把大任务逐步分解成小任务的过程可以称为是“自顶向下,逐步细化”的过程。
数据结构的复杂性。要根据不同语言构造数据结构类型的能力选取合适的语言。C++、Java这样的高级语言显然比汇编语言的表达能力要强。

软件工程知识点答案

软件工程知识点答案

⒈计算机软件开展的3个时期及其特点2.软件工程的定义软件工程的定义:采用工程的概念、原理、技术和法来方案、开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术法结合起来,以较经济的手段获得能在实际机器上运行的可靠软件的一系列法。

软件工程=工程技术+管理技术+技术法3.软件开发法的模型4.软件危机定义:是计算机软件在它的开发和维护过程中所遇到的一系列重问题5.软件危机主要包含问题:⑴如开发软件,怎样满足对软件日益增长的需求;⑵如维护数量不断膨胀的已有软件。

6.软件危机的原因:⑴客观:软件本身特点〔软件的规模庞大、复杂性高〕⑵主观:不正确的开发法,软件开发和维护有多错误的认识和作法。

〔无视需求分析;软件开发=程序编写;轻视软件维护〕7.软件危机的特征:软件价格在整个工程投入中的比例不断升高软件开发本钱重超标软件开发期大大超过规定日期软件质量难于保证软件修改,维护困难失败的根本原因在于:开发人员写出的东西达不到用户要求〔人的问题技术问题〕8.软件工程的原理:⒈用分阶段的生命期方案格管理不成功的软件工程中有一半左右是由于方案不造成的。

⒉坚持进展阶段评审软件的质量保证工作不能等到编码阶段完毕之后再进展。

⒊实行格的产品控制在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。

⒋采用现代程序设计技术采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。

⒌结果应能清楚地审查根据软件开发工程的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。

⒍开发小组的人员应该少而精⒎成认不断改进软件工程实践的必要性不仅要积极主动地采纳新的软件技术,而且要注意不断总结经历。

9.软件生命期:软件定义,软件开发和运行维护10.常用的软件生存期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发〔RAD 〕模型。

11.软件过程分类及各类容:根本过程:生命期原动力支持过程:辅助根本过程执行组织过程:建立控制和改进生命期过程12. 软件过程的构造:建立一个公共过程框架,其中定义了少量可用于所有软件工程的框架活动给出各个活动的任务集合,使得框架活动能够活动能够适合于工程的特点和工程组的需求保护伞活动,如软件质量保证等,它们独立于任一个框架活动并将贯穿于整个过程13.软件工程包括三要素:法、工具和过程。

软件工程复习题(带答案)

软件工程复习题(带答案)

软件工程复习题(带答案)软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。

A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。

《软件工程》复习题及答案

《软件工程》复习题及答案
软件工程复习题
第一部分
一、选择题:
1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生
2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品
3.瀑布模型存在的问题是(B)。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
数据流图的基本符号的意思:
1.矩形表示数据的外部实体;
2.圆角的矩形表示变换数据的处理逻辑;
3.少右面的边矩形表示数据的存储;
4.箭头表示数据流。
8.什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。
作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。
32.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的(C)上。
A.配置项B.程序C.基线D.过程
33.在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。
A.耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合
二、简答题
1.什么是软件工程?软件工程的目标是什么?
A、1%B、20%C、8%D、50%
13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》
B.《中华人民共和国计算机信息系统安全保护条例》
C.《中华人民共和国著作权法》
D.《计算机病毒防治管理办法》

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件。

对2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。

错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。

错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。

错6、软件配置管理是一组标识、组织和控制修改源程序的活动。

错7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。

错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

对9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。

对10、面向对象的分析是面向计算机系统建立软件系统的对象模型。

错11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A 软件过程B 软件测试C 软件生存周期D 软件工程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。

A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。

A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。

A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的B 人为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。

A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

《软件工程》-经典考试例题复习题,重点知识点(含答案)

《软件工程》-经典考试例题复习题,重点知识点(含答案)

1.某旅馆的电话服务如下:可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888,552中任意一个号码。

分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据流条目的定义即组成。

电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。

(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。

(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。

或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。

人们往往根据天气情况决定出门时的行装。

天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。

如果天气要下雨,出门时带上雨伞;如果天气变冷,4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。

最新软件工程考试题库(含答案和解析)

最新软件工程考试题库(含答案和解析)

最新软件工程考试题库(含答案和解析)一、选择题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. 软件测试的目的是______、______和______。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。

1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。

1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。

1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。

2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。

软工重点的答案

软工重点的答案

1.什么是软件工程?构成软件工程的主要要素是什么?影响软件工程技术进步的动力是什么?1将系统的、规范的、可量化的方法应用于软件开发、运行、维护的过程2.包括1中的方法的研究人、过程、项目、方法和工具、软件制品、硬件能力、软件技术、社会需求和科学技术水平2.阐述软件的正确性、可用性、可靠性、有效性、安全性、可维护性、可移植性和可复用性的概念,并指明这些概念的重要性。

正确性:软件满足需求规约和用户目标的程度可用性:软件操作的学习和为程序输入数据的难易程度,学习和使用软件的难易程度,包括操作软件、为软件输入数据、解释软件、输出结果等。

可靠性:软件完成预期功能,成功运行的概率有效性:软件系统利用计算机的时间资源和空间资源完成系统功能的能力可维护性:软件制品交付给用户后,可以对它进行修改,以便改正潜伏的缺陷、改进性能和其他属性,是软件制品适应环境的变化可移植性:将软件安装在不同的计算机系统或平台的难易程度安全性:控制或保护程序和数据不受破坏的机制,以防止程序或数据受到意外或蓄意的存取、修改、使用、泄密、毁坏等可复用性:概念或功能相对独立的一个或一组相关模块定义为一个软构件,软构件可以在多种场合应用的程度成为构件的可复用性3.阐述通用软件开发过程的五项活动,分析通用软件开发过程的优点。

通用软件过程模型用“沟通、策划、建模、构建、部署” 5项活动构建软件过程模型。

在软件项目管理等普适性活动的支持下进行软件开发,增强了软件的开发能力、突出了软件工程特色,具有较大的灵活性和适应性。

4.研究图2.1(课本60,61页)所示的面对对象的迭代式软件开发过程,描述在立项,初始,细化,构造和移交阶段分别可能使用哪些UML图形机制,为什么?初始阶段:用例图描述软件需求;活动图表示业务处理过程;交互图表示用例内部实现过程细化阶段:包图、构件图和部署图表示软件体系结构构造阶段:类图交互图活动图状态图构件图表示软件详细设计模型移交阶段:部署图5.以下陈述哪些是有效的用户需求?请说明理由。

软件工程题库及答案

软件工程题库及答案

一、选择题软件(2)1.在软件开发的各种资源中,( D )是最重要的资源。

A 开发工具B 方法C 硬件环境D 人员2.软件的复杂性是(A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的B 人为的C 可消除的D 不可降低的3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D )。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.软件是一种(B )产品。

A、有形B、逻辑C、物质D、消耗软件危机(1)5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )A.软件危机B.软件工程C.程序设计革命D.结构化程序设计7.3:以下哪一项不是软件危机的表现形式( C )(A)成本高(B)生产率低(C) 技术发展快(D)质量得不到保证8.4:“软件危机”产生的主要原因是( A )。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。

A 开发B 使用C维护D更新软件工程(2)10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生的基础。

(A) 运筹学(B) 工程学(C) 软件学(D) 数学11.2.在软件工程时期,决定软件质量的主要因素是( A )A.管理水平 B.个人程序技术C.小组技术水平 D.硬件的发展12. 3. 软件管理工作涉及到的直接对象不包括( B )。

A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目13. 4. 软件工程方法学有三个要素,它们是(A )A.方法、工具和过程B.质量、进度和成本C.顺序、分支和循环D.入口、过程、出口生命周期及模型(5)14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维护等几个阶段。

软件工程考试试题及答案

软件工程考试试题及答案

软件工程考试试题及答案一、单选题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. 简述软件生命周期模型中的瀑布模型。

答案:瀑布模型是软件生命周期模型中最早的模型之一。

它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。

软件工程题库(含答案)

软件工程题库(含答案)

软件工程题库(含答案)一、单选题(共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)

一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A. 软件工程B. 软件周期C. 软件危机D. 软件产生2. 研究开发所需要的成本和资源是属于可行性研究中的 ( ) 研究的一方面。

A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性3. 模块的内聚性最高的是 ( )A. 逻辑内聚B. 时间内聚C. 偶然内聚D. 功能内聚4. 在 SD 方法中全面指导模块划分的最重要的原则是 ( )A. 程序模块化B. 模块高内聚C. 模块低耦合D. 模块独立性5. 软件详细设计主要采用的方法是 ( )A. 模块设计B. 结构化设计C.PDL 语言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. 分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 ( ) 。

A. 描绘了系统的实现细节B. 表明了被开发系统的范围以及它和周围环境的数据交换关系C. 描绘了系统的抽象D. 描绘了软件实现的作者和绘制的时间12. 软件需求分析应确定的是用户对软件的 ( ) 。

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

1.1
什么是软件工程?构成软件工程的主要要素是什么?影响软件工程技术进步的动力是什么?
①将系统的、规范的、可量化的方法应用于软件开发、运行、维护的过程
②包括①中的方法的研究
五要素:人、过程、项目、方法和工具、软件制品(红色字为方法学)
硬件能力、软件技术、社会需求和科学技术水平
1.2
阐述软件的正确性、可用性、可靠性、有效性、安全性、可维护性、可移植性和可复用性的概念,并指明这些概念的重要性。

正确性,软件满足需求规约和用户目标的程度
可用性,学习和使用软件的难易程度,包括操作软件、为软件输入数据、解释软件
输出结果等。

可靠性软件完成预期功能,成功运行的概率
有效性软件系统利用计算机的时间资源和空间资源完成系统功能的能力
1.10
阐述通用软件开发过程的五项活动,分析通用软件开发过程的优点。

通用软件过程模型用“沟通、策划、建模、构建、部署” 5项活动构建软件过程模型。

在软件项目管理等普适性活动的支持下进行软件开发,增强了软件的开发能力、突出了软件工程特色,具有较大的灵活性和适应性。

2.4
研究图2.1(课本60,61页)所示的面对对象的迭代式软件开发过程,描述在立项,初始,细化,构造和移交阶段分别可能使用哪些UML图形机制,为什么?
初始阶段
用例图描述软件需求
活动图表示业务处理过程
交互图表示用例内部实现过程
细化阶段
包图、构件图和部署图表示软件体系结构
构造阶段
类图交互图活动图状态图构件图
表示软件详细设计模型
移交阶段
部署图
3.1
以下陈述哪些是有效的用户需求?请说明理由。

答案:
⑴目标软件应该用java语言实现。

⑵软件系统必须在5秒内响应并处理外部事件
⑶目标软件应该由一些特定的模块构成。

⑷当目标软件与用户交互时,必须使用某些特定的菜单和对话框。

其中⑵,⑶,⑷项是用户的有效需求。

⑵是用户对系统性能的需求;⑶是用户对系统功能的需求;
⑷是用户对系统使用界面的需求。

而⑴是程序设计对计算机语言的需求,应该由系统设计人员提出,所以不是用户的有效需求。

3.2
下述语句哪些属于不精确的用户需求?对不精确的需求描述,给出相应的需求分析对策。

答案:
⑴系统应表现出良好的响应速度。

⑵系统必须用菜单驱动。

⑶在数据录入画面,应该有25个按钮。

⑷系统运行时占用的内存不得超过128KB。

⑸电梯应平稳运行
⑹即使系统崩溃,也不能损坏用户数据。

其中⑴,⑸,⑹是不精确的用户需求。

⑴应该指出:哪个功能要有速度响应要求,具体的数据是什么?⑸平稳运行的具体定义是什么?例如上升时具体要求抖动的参数不大于多少等等;⑹没有说明应该采取什么具体措施保护数据。

P74 3.1
构成需求工程过程的工作流
需求工程策划--需求获取--需求分析--需求规范化--需求验证--总结
用例驱动的需求获取过程(主要步骤)
1.定义软件问题
2.创建框架用例
3.精化用例
4.评审用例模型
需求分析的任务
需求分析的任务是在需求获取阶段的输出制品的基础上,获得对软件需求更深入、更完整的理解,并且将软件需求表示为面向软件设计人员、易于修改和维护的分析模型
用例驱动的需求分析过程的主要活动(P134)
(1)需求优先级分析
(2)用例分析
(3)分析模型评审
(4)为辅助需求分析而构建快速原型
P134
6.9软件设计应遵循哪些原则
抽象与逐步求精
强内聚及松耦合
信息隐藏及关注点分离
P172 6.4
构成软件设计过程的工作流
设计策划--体系结构设计--人机交互设计--详细设计--设计整合与验证--总结
P190 193
用户界面设计过程的主要活动P227
1.用户分析,任务分析及建模
2.概念设计
3.界面流设计
4.界面精化
详细设计过程的主要活动P239
1.用例设计
2.子系统设计
3.构件设计
4.类设计
5.数据模型设计
6.设计整合与验证
9.3 在面向对象的设计模型中,如何检查类图与顺序图之间的一致性?
首先把类图和顺序图形式化为本体,然后将规则法中定义的一致性规则转换为本体操作,通过在转换得到的本体上实施这些操作实现一致性检查。

12.3简述软件测试的任务和原则
任务
检查软件是否满足需求规约,并在软件制品交付前尽可能发现软件中潜伏的缺陷,减轻交付后软件改正性维护的开销。

原则
1.测试是一个持续进行的过程,而不是一个阶段。

2.测试一定有计划,受控制,并提供足够的时间和资源
3.测试应当分优先级
4.测试应当有重点
5.测试不是为了证明程序的正确性,而是为了证明不能工作
6.测试是不可能穷尽的,当测试充分性满足时就可以停止测试
7.测试是开发的朋友,不是开发的敌人
8.测试人员应公正地测试,如实地记录和报告缺陷
9.测试自动化能解决一部分问题,但不是全部。

10.测试不能仅仅包括功能性验证,还应包括性能、可靠性、可维护性和安全性等方面的验证
12.5何谓测试用例?一般包括哪些内容?
为测试设计的输入数据称为测试用例。

生成输入数据、程序执行条件、测试步骤和预期的输出
12.22“确认测试”应由谁完成,软件开发人员还是软件用户?说明理由。

答案:“确认测试”应由软件用户来完成,“确认测试”的目的是测试系统是否达到用户对功能的需求,性能的需求以及使用的需求,所以,“确认测试”应该主要由用户来完成。

12.24α测试与β测试有何差别?
答案:α测试是系统开发者进行的测试,用户不参与,主要是进行系统各项技术性能的测试;β测试是用户的测试,通常开发人员不在场,主要是对系统使用功能的测试。

α测试是指软件开发公司组织内部人员模拟各类用户行为对即将面市的软件制品进行测试,试图发现缺陷并改正。

β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。

软件维护的分类
纠错性维护、完善性维护、适应性维护、预防性维护
13.7为何要进行软件逆向工程
在软件开发过程中使用逆向工程,因有全部开发文档和开发环境的支持,速度快、效率高,软件制品的质量能得到很好的保障。

13.8软件重构可能包括哪几个层次的工作
文档重构、重组、逆向工程、再工程。

试述用户界面设计应考虑的因素。

答:(1)可实用性。

要求使用简单,用户界面中所用术语的标准化和一致性,具有help功能。

快速的系统响应和低的系统成本,具有容错能力。

(2)灵活性。

考虑用户的特点,能力,知识水平;提供不同的系统响应时间,提供根据用户需求制定和修改界面,
(3)界面的复杂性与可靠性
14.画图题
类图,状态图,用例图,顺序图。

15.基本路径测试
步骤:标号--合并--画图--计算基本路径条数--分析
建立程序流图--确定基本路径集合--为基本路径设计测试用例。

相关文档
最新文档