软件工程考试试卷答案
一.选择题1、TURBO C是(D)软件·A、系统软件B、人工智能C、事务软件D、应用软件.2、计算机辅助软件工程,简称(D)A、SAB、SDC、SCD、CASE'3、在数据流图中,O(椭圆)代表(C)A、源点B、终点C、处理D、模块、4、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)A、松散B、紧密C、无法判断D、相等、5、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以(C)维护所占维护量最小。
A、纠错性维护B、代码维护C、预防性维护D、文档维护、6、软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)A、编码阶段B、软件开发全过程C、软件定义阶段D、软件设计阶段.7、软件测试方法,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑.8、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要(D)A、软件结构B、软件过程C、软件模型D、软件模块、9、软件文档不仅是软件开发各阶段的重要依据,而且与影响软件的(B)A、可理解性B、可维护性C、可扩展性D、可移植性.10、在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)A、维护时期B、计划时期C、运行时期D、开发时期,11、系统定义明确之后,应对系统的可行性进行研究。
可行性研究应包括(A)A. 软件环境可行性、技术可行性、经济可行性、社会可行性B. 经济可行性、技术可行性、操作可行性C. 经济可行性、社会可行性、系统可行性D. 经济可行性、实用性、社会可行性12、(C),则说明模块的独立性越强A、耦合越强B、扇入数越高C、耦合越弱D、扇入数越低13、面向数据结构的设计方法(JACKSON方法)是进行(B )的形式化的方法A.系统设计B、详细设计C、软件设计D、编码14、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。
A、松散B、紧密C、无法判断D、相等.15、软件测试的目的是(C)A.评价软件的质量B.发现软件的错误.C.找出软件的所有错误D.证明软件是正确的.16、结构化设计方法是面向(A )的设计。
A.数据流B.数据编码C.数据库D.数据结构17、在编程安全方面,一般来说无法做到(B)A、避开错误B、完美无缺,绝无错误C、冗余D、涉及防错程序,18、数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的序是(B)A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记.。
19、需求分析最终结果是产生(B)A.项目开发计划B需求规格说明书C.设计说明书D.可行性分析报告20、对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A.结合B.隐藏 C.封装 D.抽象二.概念回答1.软件危机答:第一种回答:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
第二种回答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
2.数据流图答:第一种回答:一种用于进一步总结现有的系统,并着重描绘系统所完成的功能而不是系统的物理实现方案。
第二种回答:从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
3.IPO图答:第一种回答:一种用于描述输入数据、对数据的处理和输出数据之间关系的图形工具第二种回答:IPO图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。
4.集成测试答:第一种回答:在每个模块完成单元测试以后,需要按照设计时确定的结构图,把模块连接起来,进行测试,这种测试成为集成测试。
第二种回答:在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行测试称为集成测试。
5.软件工程答:第一种回答:软件工程是将系统化的、规范化的、可度量的途径应用于软件的开发、运行和维护的过程,即将工程化应用于软件的方法的研究。
第二种回答:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
第三种回答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
6.可行性研究答:第一种回答:可行性研究是整个软件工程的第一个步骤,用于描述问题和定义问题,然后根据定义阶段的工作去确定问题是否值得去解决。
第二种回答:可行性研究是指在调查的基础上,通过从技术可行性、经济可行性、操作可行性、社会可行性四个角度进行分析,对各种项目的综合评价。
7.模块化答:第一种回答:模块化是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集合起来组成一个整体,可以完成指定的功能的一种方式。
第二种回答:模块化是一种处理复杂系统分解为更好的可管理模块的方式。
可以用来分割,组织和打包软件。
每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
8.结构化程序设计答:第一种回答:结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。
结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。
采用自顶向下、逐步求精及模块化的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。
结构化程序设计主要强调的是程序的易读性。
第二种回答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。
结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述工具:1系统流程图2数据流程图3数据字典4IPO图5层次方框图6实体—关系图7状态—变迁图三.简单题1.什么是软件工程基本原理有哪些2.答:第一种回答:软件工程是将系统化的、规范化的、可度量的途径应用于软件的开发、运行和维护的过程,即将工程化应用于软件的方法的研究。
基本原理:1用分阶段的生存周期计划严格管理开发过程2坚持进行阶段评审。
3实行严格的产品控制。
4采用现代程序设计技术。
5明确的规定开发小组的责任和产品标准。
6开发小组的人员应少而精。
7承认不断改进软件工程实践的必要性第二种回答:软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件。
其主要目标如下:1实现预期的软件功能,达到较好的软件性能,满足用户的需求。
2增强软件过程的可见性和可控性,保证软件的质量3 提高软件的可维护性,降低维护费用。
4 提高软件开发生产率,及时交付使用5.合理预算开发成本,付出较低的开发费用3.非渐增式测试与渐增式测试有什么区别?答:第一种回答:渐增式测试:可以较早发现模块间的接口错误、出现的错误往往跟最新加入的模块有关、在不断集成的过程中使模块不断在新的条件下受到新的检测,测试更彻底,但较非渐增式测试费时。
非渐增式测试由于最后才组装,因此错误发现得晚、发现错误后难以诊断定位,但可以同时并行测试所有模块,能充分利用人力。
第二种回答:非渐增式测试方法需要编写的测试用例较多,工作量较大;渐增式测试方法开销小。
渐增式测试方法发现模块间接口错误早;而非渐增式测试方法晚。
非渐增式测试方法发现错误,较难诊断;而使用渐增式测试方法,如果发生错误则往往和最近加进来的那个模块有关。
渐增式测试方法测试更彻底渐增式测试方法需要较多的机器时间使用非渐增式测试方法,可以并行测试。
4.简述在编码风格上需要注意的几个问题5.答:1)节简化2)模块化3)简单化4)结构化5)文档化6)格式化6.什么是数据流图其中的基本符号各表示什么含义7.答:数据流图就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法.数据流图的基本符号的意思:1.矩形表示数据的外部实体;2.圆角的矩形表示变换数据的处理逻辑;3.少右面的边矩形表示数据的存储;4.箭头表示数据流.8.何为白盒测试?它适应哪些测试?答:第一种回答:白盒测试也叫结构测试,测试者需要了解被测程序的内部结构。
白盒测试通常根据覆盖准则设计测试用例,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖。
白盒测试适用与单元测试、集成测试、系统测试第二种回答:白盒测试是去研究里面的源代码和程序结构,白盒法测试法把测试对象看作一个打开的盒子,测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
白盒测试适用与单元测试、集成测试、系统测试9.如何理解模块独立性10.答:第一种回答:如果两个模块互相独立,那么对其中一个模块进行编码、测试或修改时可以完全不考虑另一个模块对它的影响。
一般采用两个准则度量模块独立性。
即模块间的耦合和模块的内聚。
低耦合高内聚。
第二种回答:模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
每个模块完成一个相对独立的子宫内,并且与其他模块间的接口简单。
若一个模块只具有单一的功能,且与其他模块没有太多的联系,则称此模块具有模块独立性。
11.模块间的耦合有哪几种形式各有什么特征12.答:耦合分为七类:内容耦合:如果一个模块直接参考另一个模块的内容,则这两个模块是内容耦合。
公共耦合:如果多个模块都访问同一个公共数据环境,则称它们是公共耦合。
外部耦合:如果两个模块都访问同一个全局简单变量而不是同一全局数据结构,而且,不是通过参数表传递该全局变量的信息,则这两个模块属于外部耦合。
控制耦合:如果模块A向模块B传递一个控制信息,则称这两个模块是控制耦合的。
数据结构耦合:当一个模块调用另一个模块时传递了整个数据结构,这两个模块之间具有数据结构耦合。
数据耦合:如果两个模块传递的是数据项,则这两个模块是数据耦合。
软件工程师考试题及答案
软件工程师考试题及答案1. 以下哪个选项是面向对象编程的核心概念?A. 函数B. 过程C. 封装D. 模块化答案:C2. 在数据库设计中,为了提高数据的一致性和减少数据冗余,通常采用哪种范式?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF范式答案:C3. 在软件开发过程中,哪种测试是在软件开发周期的早期阶段进行的,目的是验证软件需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:D4. 以下哪个算法是用于解决图论中的最短路径问题?A. 快速排序B. 深度优先搜索C. 迪杰斯特拉算法D. 堆排序答案:C5. 在敏捷开发方法中,以下哪个实践是用于促进团队成员之间的沟通和协作?A. 持续集成B. 代码审查C. 每日站立会议D. 功能驱动开发答案:C6. 在编程语言中,多态性允许什么?A. 一个类继承多个父类B. 一个方法有多个不同的实现C. 一个变量可以存储不同类型的数据D. 一个接口有多个不同的实现答案:B7. 在软件工程中,软件维护的哪个阶段涉及到对现有代码的改进,以提高性能或增加新功能?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:C8. 在关系数据库中,哪个SQL命令用于从数据库中检索数据?A. INSERTB. UPDATEC. DELETED. SELECT答案:D9. 在软件开发中,设计模式是什么?A. 一组最佳实践B. 一组预先定义的软件架构解决方案C. 一组编程语言的集合D. 一组软件测试工具答案:B10. 在Web开发中,以下哪个技术用于在客户端和服务器端之间进行数据交换?A. AJAXB. SOAPC. RESTD. 以上都是答案:D。
《软件工程》期末试卷(3套含答案)
《软件工程》期末试卷(一)(满分100分)考试时间:120分钟(可根据具体情况适当调整)1.单项选择题(每题2分,共20分)(1)以下哪一项不属于软件工程三要素()。
A.过程B. 方法C. 工具D. 计划(2)以下哪一项不属于软件管理过程()。
A. ISO9000B. CMMC. IEEED. 软件企业文化(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. 包含关系、扩展关系2.填空题(每题2分,共20分)(1)需求分析员参与客户需求调研,撰写________________。
(2)_______________是软件策划的核心、重点与难点。
(3)软件由程序、数据和______________组成。
(4)______________是软件设计的基础,______________是软件开发的核心。
(5)需求分析分为两个阶段,_______________阶段和需求规约阶段。
(6)对象图的组成元素包括对象和______________。
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题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、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )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、纠正性维护B、适应性维护C、完善性维护D、预防性维护7、只有单重继承的类层次结构是( )层次结构。
A、网状型B、星型C、树型D、环型8、下列属于维护阶段的文档是( )A、软件规格说明B、用户操作手册C、软件问题报告D、软件测试分析报告9、不适合作为科学工程计算的语言是( )A、PascalB、CC、FortranD、 Prolog10、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。
A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性11、中级结构性成本模型COCOMO是一个( )A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型12、PAD图为()提供了有力的工具。
A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件13、下列关于JSP方法不正确的说法是( )A、JSP方法主要用于规模不大的数据处理系统B、JSP方法不明确的划分软件概要设计和详细设计的两个阶段C、JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D、JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段14、在详细设计阶段,经常采用的工具有()A、PADB、SAC、SCD、DFD15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B、恢复测试C、验收测试D、单元测试16、盒图(N-S图)为()提供了有力的工具。
软件工程考试试卷答案
软件工程考试试卷答案一.选择题1、TURBO C是(D)软件·A、系统软件B、人工智能C、事务软件D、应用软件.2、计算机辅助软件工程,简称(D)A、SAB、SDC、SCD、CASE'3、在数据流图中,O(椭圆)代表(C)A、源点B、终点C、处理D、模块、4、模块聚度越高,说明模块各成分彼此结合的程度越(B)A、松散B、紧密C、无法判断D、相等、5、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以( C)维护所占维护量最小。
A、纠错性维护B、代码维护C、预防性维护D、文档维护、6、软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)A、编码阶段B、软件开发全过程C、软件定义阶段D、软件设计阶段.7、软件测试方法,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)A、结构合理性B、软件外部功能C、程序正确性D、程序部逻輯.8、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要(D)A、软件结构B、软件过程C、软件模型D、软件模块、9、软件文档不仅是软件开发各阶段的重要依据,而且与影响软件的(B)A、可理解性B、可维护性C、可扩展性D、可移植性.10、在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)A、维护时期B、计划时期C、运行时期D、开发时期,11、系统定义明确之后,应对系统的可行性进行研究。
可行性研究应包括(A)A. 软件环境可行性、技术可行性、经济可行性、社会可行性B. 经济可行性、技术可行性、操作可行性C. 经济可行性、社会可行性、系统可行性D. 经济可行性、实用性、社会可行性12、(C),则说明模块的独立性越强A、耦合越强B、扇入数越高C、耦合越弱D、扇入数越低13、面向数据结构的设计方法(JACKSON方法)是进行(B )的形式化的方法A.系统设计B、详细设计C、软件设计D、编码14、模块聚度越高,说明模块各成分彼此结合的程度越(B)。
软件工程考试题及答案
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
软件工程考试题及答案
软件工程考试题及答案一、选择题1. 下列哪项不是软件工程的基本特征?A. 系统性B. 统一性C. 可度量性D. 个别性答案:D2. 谁提出了软件生命周期模型的概念?A. RoyceB. BrooksC. BoehmD. Yourdon答案:A3. 下列哪个模型是一种迭代的模型?A. 瀑布模型B. 原型模型C. 增量模型D. 螺旋模型答案:D4. 软件测试的目的是什么?A. 证明程序是正确的B. 发现程序中的错误C. 验证程序的正确性D. 保证程序可靠性答案:B5. 下列哪项不是软件配置管理的任务?A. 识别软件配置项B. 控制软件配置项的变更C. 维护软件配置项的单位标识D. 确认软件配置项是否软件错误答案:D二、问答题1. 请简要说明软件质量保证的概念及作用。
答案:软件质量保证是确保软件产品达到预期质量水平的所有活动的总称。
它包括制定质量政策、计划和目标,制定和实施过程、标准和检查措施等。
软件质量保证的主要作用是确保软件产品在交付给用户之前达到预期的标准,提高软件开发过程的效率和质量。
2. 请简要介绍软件配置管理的基本概念和主要任务。
答案:软件配置管理是控制软件产品变化和构建组合软件的过程。
它包括软件配置项的识别、版本控制、变更控制、状态报告等任务。
主要任务包括识别软件配置项和管理它们的变更,保持软件产品的相互间的一致性和交付版本的可跟踪性。
3. 请分析软件测试中的黑盒测试和白盒测试的区别。
答案:黑盒测试是根据软件的需求规格进行测试,测试者不需要了解软件的内部结构和实现细节,只关注软件的功能和接口。
白盒测试是基于对软件内部结构和代码的了解进行测试,测试者可以根据代码的逻辑路径和执行情况设计测试用例。
黑盒测试更关注软件的功能是否符合需求,白盒测试更关注软件的代码逻辑和执行路径是否正确。
三、综合题1. 请简要描述软件生命周期模型的特点及常见的几种模型,并比较它们之间的优缺点。
答案:软件生命周期模型是描述软件开发过程中不同阶段顺序和关系的模型。
软件工程期末试卷十套含答案
软件工程期末试题一单项选择题1.瀑布模型的存在问题是BA.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 CA.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是 BA.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是DA.程序模块化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.为了提高软件的可维护性,在编码阶段应注意 DA.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为BA.p﹡1+i﹡n B.p﹡i+1nC.p﹡1+i﹡n D.p﹡i+n12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示;动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是A ;A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作C 于对象的统一体中;A. 结合B. 隐藏C. 封装D. 抽象14. 软件详细设计的主要任务是确定每个模块的 A ;A. 算法和使用的数据结构B. 外部接口C. 功能D. 编程15. 软件结构图中,模块框之间若有直线连接,表示它们之间存在 A ;A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系16. 需求分析最终结果是产生B ;A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告17. 在详细设计阶段,经常采用的工具有A ;A. PADB. SAC. SCD. DFD18.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 CA.教正性维护B.适应性维护C.完善性维护D.预防性维护20.为了提高软件的可维护性,在编码阶段应注意 DA.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格1.面向对象开发方法包括OOA、OOD和OOP三部分;2.效益分有形效益和无形效益两种;有形效益可用纯收入、货币时间的价值、投资回收期等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较;3.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构语言和专用语言三类; 设计题已知有如下的伪代码程序:STARTI:=1;WHILE i:<=n-1 DOmin:=Ai;j:=i+1;WHILEj<=n DOIF min>AjTHENBLOCKtemp:=min;min:=Aj;Aj:=temp;ENDBLOCKENDIF;j:=j+1;ENDDOi:=i+1;ENDDOSTOP软件工程期末试题二一, 判断题正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.×PAD图在设置了五种基本控制结构后,还允许递归调用. × 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.×当验收测试通过,软件开发就完成了.×完成测试作业后,为了缩短源程序的长度应删除程序中的注解.×系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.×在程序调试时,找出错误的位置和性质比改正该错误更难.√以对象,类,继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一.√二,单项选择题每小题2分,共10分试判断下列叙述中,哪个些是正确的Da,软件系统中所有的信息流都可以认为是事务流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详细设计的结果基本决定了最终程序的CA,代码的规模 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 setValueint i {age=i; }public void setValueString s {name=s; }4、什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.2分数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.3分5、简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方法的测试有什么不同答案:1二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.2因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中像传统的增殖式组装那样常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷三2004年下半年期末考试开放教育本科计算机科学与技术专业软件工程试题B2005年1月一、填空题每空1分,共20分1.软件生存周期一般可分为__________、可行性研究、__________、设计编码、__________、运行与维护阶段;2.IPO图由__________、__________和__________三个框组成;3.软件=__________+__________;4.软件测试的方法有__________和__________即黑盒法;5.Jackson图除了可以表达程序结构外,还可以表达__________;6.详细设计的工具有图形工具、__________和__________;7.__________和__________共同构成系统的逻辑模型;8.成本估计方法主要有__________、__________和算法模型估计三种类型;9.在需求分析阶段常用的图形工具有__________、__________、__________三种;答案:填空题每空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、J ackson方法和LCPWanier逻辑构造方法B、结构化设计方法SDC、面向对象设计方法OODD、快速原型法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方法也是一种面向数据结构的设计方法,其逻辑更严格;2.PAD图在设置了五种基本控制结构后,还允许递归调用;3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目;4.当验收测试通过,软件开发就完成了;5.完成测试作业后,为了缩短源程序的长度应删除程序中的注解;6.在进行总体设计时应加强模块间的联系;7.系统结构图是精确表达程序结构的图形表示法;因此,有时也可以将系统结构图当作系统流程图使用;8.用黑盒法测试时,测试用例是根据程序内部逻辑设计的;9.在程序调试时,找出错误的位置和性质比改正该错误更难;10.以对象、类、继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一;答:1—5:√√×××6—10:×××√√五、简答题每题5分,共20分1.什么是软件危机为什么会产生软件危机答:软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关;2.什么是软件的生存周期包括哪几个部分答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程;它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等;3.什么是黑盒测试法答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息;4.耦合性和内聚性有几种类型其耦合度、内聚强度的顺序如何答:低:非直接耦合→数据耦合→标记耦合→控制耦合→外部耦合→公共耦合→内容耦合:高强:功能内聚→信息内聚→通信内聚→过程内聚→时间内聚→逻辑内聚→巧合内聚:弱六、分析设计题共20分1.8分假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元;3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率;投资回收期:3+3000-2407.15/3044.09-2407.15=3.93投资回收率为r3000=1000/1+r+1000/1+r2+1000/1+r3+1000/1+r4+1000/1+r5解得r=20%2.求一组数组中的最大数, 数组表示为An ,n=1,2……n的自然数;12分1)请画出程序流程图4分2)请画出该算法的N-S图4分3)请用PAD图来表示该算法4分答:121.4分3软件工程期末试卷四一、简答题25%, 每小题5分:1.请简要说明需求分析的三个层次包括那些主要内容;软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求;业务需求反映了组织机构或客户对系统、产品高层次的目标要求;用户需求文档描述了用户使用产品必须要完成的任务;功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求;2.为什么要设计独立性强的模块以及如何判断模块的独立性第一3分,耦合1分,内聚1分模块独立性强,则:1系统容易开发2系统可靠性高3系统容易维护判断模块独立性的基本原则:“耦合小,内聚大”3.若现有类已经进行了彻底的测试,为什么必须对从现有类中实例化的子类进行重新测试使用的场景:3分. 2分因为父类和子类的运行环境是不同的;另外,如果是多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误;4.要开发质量“非常好”的软件,请从软件工程的角度分析其利与弊;利:3分;弊:2分利:容易维护,用户比较满意弊:成本高,周期长5、采用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式,请说明这两种划分所得子系统的特点;c/s:3分,p2p:2分水平划分系统的p2p:每个字系统可以调用任意其他子系统,比c/s复杂,可能死锁;垂直划分c/s:客户端调用服务器端,服务器提供服务,并返回结果;客户端需要知道服务器的接口,而服务器不必知道客户端接口;二、应用题45%,1-3每小题10分,4小题15分1.公司计划采用新技术开发一款新的软件产品,希望尽快占领市场,假设你是项目经理,你会选择哪种软件过程模型为什么选模型:5分;原因:5分选用模型:可采用增量模型/增量+ 原形/螺旋模型等等;但如果采用快速开发则不太适宜;分析原因:技术相对比较新,而且需要快速占领市场,所以应短期内出现产品的原形或者是可用的子系统;2.请根据下面的任务安排表,画出任务网络图、甘特图、标识关键路径和阶段里程碑位置;任务网络图:甘特图任务网络图3分 甘特图3分 标识关键路径2分 阶段里程碑位置2分;3.设有一个程序,读入三个整数,代表三角形的三条边;输出表明三角形是不规则的、等腰的或等边的;请采用黑盒的等价类划分方法,设计一组测试用例; 不规则:3 4 5等腰:3 3 4 等边:3 3 3 其他:1 9 2不规则的3分时间3.13.63.113.163.213.263.30活动需求分析 测试计划 概要设计 测试方案设计详细设计编码 产品测试 文档整理等腰3分 等边3分 其他1分4.设计一个简化的网上个人银行查询系统,用户可以通过Internet 查询自己帐户的收支明细、余额和修改密码; 一采用结构化方法:7分1请画出E-R 图2分DFD 图的第0层和第1层;3分 2)编写两个关键词条的数据字典;2分E-R 图DFD 图第0层输入命令: 查询帐户明细 查询帐户余额 修改密码数据字典:名称:帐号别名:无何处使用/如何使用:登陆帐户时需要输入描述:帐户的唯一标识,每个帐户对应一个帐号帐号= 12个数字名称:帐户密码别名:无何处使用/如何使用:登陆帐户时输入;修改密码时输入,修改成功后保存到帐户数据库描述:密码=6个字母二采用面向对象方法:8分1请画出系统的用例图;2分2)识别出系统的主要类2分User、Account、DetailItem主要要包括用户、帐户、收支明细等类;并画其中的二个类图包含主要属性和操作;2分3画一个UML时序图,描述一次通过网上银行查询余额的具体交互;2分软件工程期末试卷五一、填空题1.软件开发模型有瀑布模型、螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型;2.可行性研究一般可以从经济可行性、技术可行性、运行可行性、法律可行性和开发可行性等方面来研究;3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为F/1+i n;4.数据流图的基本符号包括数据输入的源点和数据输出的汇点加工数据流数据存储文件5.Jackson图除了可以表达程序结构外,还可以表达数据结构,它首先要分析数据结构,并用适当的工具来描述;6.详细设计的工具有图形工具、表格工具和语言工具;7.IPO图由输入、处理和输出三个框组成;这个图的特点是能够直观的显示三者之间的关系;8.面向对象技术是一整套关于如何看待软件系统和现实世界的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学;面向对象方法是一种运用对象、类、继承、封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法;二、单项选择题1.下列 A 属于系统软件;A.WINDOWS 2000B.WordC.FlashD.3D MAX2.下列哪个图是N-S图的构件 C ;A. B.C.D.3.对于螺旋模型,下列 D ;A. 制定计划B. 实施工程C. 风险分析D. 程序编码三、多项选择题1.软件危机可以表现为ABCD ;A.产品不符合用户的需要B.软件产品的质量差C.软件的可维护性差D.软件的价格昂贵2.Jackson图中一般可能包括ABCD ;A.表头B.表体C.表名D.字段名3.关于内容耦合的描述正确的是AD ;A、内容耦合是最高程度的耦合B、应该尽量使用内容耦合C、高级语言一般设计成允许内容耦合的形式D、如果一个模块有多个入口,可能发生内容耦合4.下列属于不标准的书写格式BCD ;A、书写时适当使用空格分隔B、一行写入多条语句C、嵌套结构不使用分层缩进的写法D、程序中不加注释四、判断题正确的在括号内打上“√”,错误的打上“”1.软件生存周期是从软件开始开发到开发结束的整个时期;×2.系统流程图是一个典型的描述逻辑系统的传统工具; ×3.数据流图和数据字典共同构成系统的逻辑模型; √4.扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4; √5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度; ×6.程序运行过程中出现错误叫做容错; ×7.软件测试的目的是证明程序没有错误; ×8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程;×五、问答题1.什么是软件生存周期;答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程;2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么;答:系统流程图是描述物理系统的传统工具;它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件程序、文件、数据库、表格、人工过程等;系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程;3.为什么数据流图要分层答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的;为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系;4.软件的质量反应为哪些方面的问题答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量;在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件;如果不遵守这些开发准则,软件质量就得不到保证;往往会有一些隐含的需求没有明确地提出来;如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证;软件质量是各种特性的复杂组合;它随着应用的不同而不同,随着用户提出的质量要求不同而不同;软件工程期末试卷六软件工程导论试题一.选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护;八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 C;A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大C ;A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标A ;A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于C ;A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是CA、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 BA、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法CA、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高BA、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的BA、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成AA、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为AA、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是 CA、分析阶段B、设计阶段C、编码阶段D、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的信息流动情况;解析系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况;22.成本效益分析的目的是从经济角度评价开发一个项目是否可行;解析成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行; 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先策略;解析渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块;它从。
软件工程考试试题 含答案
软件工程考试试题含答案软件工程考试试题含答案一. 选择题1. 下列不属于软件工程方法论的是:A. 瀑布模型B. 敏捷开发C. 融合开发D. 增量开发答案:C. 融合开发2. 哪个不是软件需求工程的阶段?A. 需求收集和分析B. 需求规格说明书编写C. 需求确认和验证D. 需求修复和更新答案:D. 需求修复和更新3. 软件开发生命周期中不包含以下哪个阶段?A. 需求分析B. 软件设计C. 软件测试D. 软件维护答案:C. 软件测试4. 下列哪个是软件开发项目管理的基本约束?A. 时间B. 人员C. 质量D. 成本答案:D. 成本5. 使用UML建模时,哪个图标不属于结构图?A. 类图B. 对象图C. 时序图D. 包图答案:C. 时序图二. 填空题1. 软件工程的目标是提高软件的质量和________。
答案:生产效率2. 软件需求可以分为________和________两类。
答案:功能需求,非功能需求3. 软件设计的核心目标是________。
答案:满足需求4. 软件测试的目的是发现________。
答案:缺陷和错误5. 软件维护分为________和________两个主要类别。
答案:正确性维护,适应性维护三. 简答题1. 请简要介绍敏捷开发方法。
答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。
其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。
敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。
2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?答案:软件需求工程是研究软件需求获取、分析、规格化和验证等过程的学科。
软件需求工程是软件开发的关键环节,因为它直接关系到软件最终能否满足用户的期望和需求。
缺乏有效的需求工程将导致软件质量下降、进度延误、成本增加等问题。
3. 请简述UML类图的作用和主要元素。
答案:UML类图用于展示软件系统中的类、对象及其之间的关系。
国开电大本科《软件工程》期末考试试题及答案
国开电大本科《软件工程》期末考试试题及答案一、选择题(每题2分,共20分)1. 软件工程的三要素是:_______A. 软件开发、软件维护、软件管理B. 软件设计、软件编码、软件测试C. 软件需求分析、软件设计、软件开发D. 软件开发、软件项目管理、软件维护答案:B2. 下面哪个不是软件工程的七个基本活动之一?_______A. 软件规格说明B. 软件设计和实现C. 软件验证D. 软件部署答案:D3. 面向对象方法中,下面哪个不是三大基本特征之一?_______A. 封装B. 继承C. 多态D. 模块化答案:D4. 软件需求分析的主要目的是:_______A. 确定软件的功能和性能要求B. 设计软件的结构C. 编写软件的测试用例D. 确定软件的开发计划答案:A5. 下面哪个不属于软件测试的级别?_______A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D二、填空题(每题2分,共20分)6. 软件生命周期是指软件从_______到_______的全过程。
答案:需求分析、软件退役7. 结构化分析方法主要包括数据流图(DFD)、_______和_______。
答案:实体关系图(ER图)、状态转换图(STD)8. 在软件设计中,设计模式是一种_______的解决方案,它可以解决软件设计中的常见问题。
答案:通用9. 软件编码阶段的主要任务是编写_______和_______。
答案:源代码、文档10. 软件测试的目的是_______,而不是证明软件是正确的。
答案:发现错误三、简答题(每题5分,共25分)11. 简述软件工程的定义及其目标。
答案:软件工程是一门应用计算机科学、数学及管理科学的方法、技术和工具,来定义、开发和维护软件的学科。
软件工程的目标是提高软件的生产率、提高软件的质量、降低软件的成本。
12. 简述面向对象方法的特点。
答案:面向对象方法具有以下特点:(1)封装:将数据和操作数据的方法封装在一起,形成一个对象。
