软件工程试题(卷)(附答案解析)
- 格式:doc
- 大小:60.50 KB
- 文档页数:7
软件工程试卷(附答案)1.软件生命周期模型有多种,其中不属于软件生命周期模型的是(C)功能模型。
2.下列说法错误的是(C)瀑布模型和增量模型都属于整体开发模型。
3.可行性分析中,系统流程图用于描述(A)当前运行系统。
4.研究软硬件资源的有效性是进行(A)技术可行性研究的一方面。
5.数据字典中,一般不包括下列选项中的(D)源点与终点条目。
6.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。
7.通过(B)功能分解可以完成数据流图的细化。
8.对软件进行分解,是为了(C)降低模块的复杂程度,并降低模块间接口的复杂程度。
9.为了提高模块的独立性,模块内部最好是(C)功能内聚。
10.在软件结构设计完成后,对于下列说法,正确的是(C)一个模块的扇出太多,说明该模块过分复杂,缺少中间层。
11.在软件开发过程中,以下说法正确的是(B)N-S图不可能任意转移控制,符合结构化原则。
A.软件开发过程是线性的B.软件开发过程是迭代的C.软件开发过程是风险驱动的D.软件开发过程是需求驱动的3、软件需求分析的主要任务是(ABC)。
A.确定用户需求B.建立系统模型C.规定系统功能D.编写程序代码4、以下属于软件设计阶段的活动是(BCD)。
A.编写用户手册B.确定模块划分C.设计系统结构D.选择数据结构和算法5、软件测试的主要目的是(ABD)。
A.发现软件缺陷B.提高软件质量C.证明软件正确性D.评估软件可靠性6、软件维护的主要种类有(ABC)。
A.纠错性维护B.适应性维护C.完善性维护D.重构性维护7、以下属于软件过程改进的方法是(ACD)。
A.引入新的开发方法B.增加人员数量C.培训人员D.引入新的工具和技术8、以下属于软件质量特性的是(ABCD)。
A.可靠性B.可维护性C.可用性D.可重用性9、软件工程的基本原则包括(ABCD)。
A.逐步求精B.分阶段进行C.严格控制D.重视质量10、以下属于软件开发生命周期模型的是(ABCD)。
软件工程考试试题(含答案)软件工程考试试题(含答案)1. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。
传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。
优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。
敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。
优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。
1.2 什么是需求工程?请简述需求工程的过程和方法。
需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。
它的目标是建立对用户需求的准确和完整的理解。
需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。
2. 需求分析:对需求进行分析、整理,形成需求的详细描述。
3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。
4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。
需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。
- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。
- 文献研究法:通过研究现有的相关文档来获取需求信息。
- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。
2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。
算法设计:1. 将整数数组按照从小到大的顺序进行排序。
2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。
- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。
软件工程考试题及答案一、选择题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. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
软件工程考试题带答案软件工程考试题一、单项选择题(每题5分,共30分)1.软件需求分析的主要目标是:A. 发现并修正软件中的错误B. 确定软件系统的功能和性能需求C. 编写软件代码D. 打印和发布软件答案:B2. 下列哪个是软件生命周期模型?A. 瀑布模型B. 微服务架构C. 敏捷开发D. 协同开发答案:A3. 软件设计阶段的主要目标是:A. 开发详细的测试计划B. 创建软件的体系结构和模块设计C. 编写和调试软件代码D. 验收和发布软件答案:B4. 软件测试的主要目的是:A. 发现并修复软件错误B. 确保软件系统符合质量标准C. 完成软件系统的开发D. 验收和发布软件答案:B5. 下列哪个是软件项目管理过程中的常用工具?A. 甘特图B. 数据流图C. 类图D. 鱼骨图答案:A6. 下列哪个是软件配置管理的主要目标?A. 确保软件开发过程的质量B. 管理软件中不同部分的变更C. 编写和调试软件代码D. 验收和发布软件答案:B二、简答题(每题10分,共20分)1. 简要解释软件工程的概念。
答:软件工程是一门研究和应用工程原理、方法和工具来开发和维护高质量软件的学科。
它注重应用系统性的、规范化的方法来开发和维护软件,以提高软件的质量、效率和可维护性。
2. 请简述瀑布模型的基本原理。
答:瀑布模型是软件开发过程中最早也是最广泛使用的模型之一。
它基于线性顺序的开发过程,将软件开发划分为需求分析、设计、开发、测试和运行维护等不同阶段,每个阶段按照顺序进行。
三、案例分析题(40分)某公司正在开发一个电商网站,你作为软件工程师参与其中。
请回答以下问题:1. 在需求分析阶段,你应该做些什么?答:在需求分析阶段,我应该与客户沟通,了解他们的需求和期望。
我将分析和记录客户的功能和性能需求,制定需求规格说明书,并与团队成员一起进行需求评审,确保需求的准确性和完整性。
2. 在设计阶段,你应该做些什么?答:在设计阶段,我将设计软件系统的体系结构和模块设计。
软件工程期末考试题[含答案解析]一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。
( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。
全国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》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
软件工程试题含答案一、单项选择题(每题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分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤。
1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件设计方法。
A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法。
一、选择题: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套)《软件工程》试题及参考答案(第1套)一、单项选择题1. 软件工程的最终目标是:A. 提高软件开发效率B. 提高软件质量C. 提高软件维护效率D. 以上都是答案:D2. 下列哪项不属于软件需求分析的主要活动?A. 软件设计B. 需求获取和建模C. 需求验证和确认D. 需求管理答案:A3. 以下哪项不是构建阶段的主要活动?A. 编码B. 软件测试C. 软件集成D. 软件配置管理答案:D4. 下列哪个过程不属于软件项目管理过程?A. 需求管理B. 配置管理C. 软件测试D. 质量管理答案:C5. 下列哪个模型强调在系统开发的初期确定并冻结需求?A. 瀑布模型B. 快速原型模型C. V模型D. 增量模型答案:A二、多项选择题1. 软件过程模型的主要作用是:A. 规范软件开发的过程B. 定义软件开发的阶段C. 明确软件开发的任务分工D. 以上都是答案:D2. 软件生命周期是指:A. 软件的设计阶段B. 软件的测试阶段C. 软件的开发到维护的整个过程D. 软件的发布与用户反馈过程答案:C3. 软件测试的主要目标是:A. 寻找并修复软件中的错误B. 确保软件满足用户需求C. 提高软件的可靠性和质量D. 以上都是答案:D4. 下列哪个工具不属于软件配置管理工具?A. 版本控制工具B. 缺陷跟踪工具C. 自动化构建工具D. 可行性分析工具答案:D5. 下列哪个项目风险类型是与技术因素相关的?A. 市场竞争风险B. 技术风险C. 经济风险D. 法律风险答案:B三、简答题1. 请简要描述瀑布模型的开发流程。
瀑布模型的开发流程包括以下几个阶段:1) 需求分析阶段:收集用户需求,并进行详细的需求分析和建模。
2) 系统设计阶段:根据需求分析得到的系统需求,进行整体设计和详细设计。
3) 编码和单元测试阶段:将设计好的系统转化为可执行代码,并进行单元测试,验证代码的正确性。
4) 集成测试阶段:将各个模块进行集成,测试整个系统的功能和性能。
软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。
截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。
A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。
A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。
A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。
A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。
A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。
软件工程题库(含答案)一、单选题(共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. 以上都是答案:D2. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件测试中,黑盒测试的主要依据是()。
A. 程序内部逻辑B. 程序外部功能C. 程序设计文档D. 用户操作手册答案:B4. 软件开发过程中,需求变更可能导致()。
A. 项目延期B. 成本增加C. 质量下降D. 以上都是答案:D5. 面向对象分析与设计的主要概念不包括()。
A. 对象B. 类C. 模块D. 继承答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的基本原则?()A. 系统性原则B. 可维护性原则C. 可测试性原则D. 可扩展性原则答案:ABCD2. 软件项目管理包括以下哪些方面?()A. 时间管理B. 成本管理C. 风险管理D. 质量管理答案:ABCD3. 软件测试的目的是()。
A. 发现软件中的缺陷B. 验证软件是否满足需求C. 确保软件的可靠性D. 提高软件的性能答案:ABC三、简答题(每题5分,共20分)1. 简述软件生命周期的各个阶段。
答案:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。
2. 什么是软件危机?它主要表现在哪些方面?答案:软件危机是指在软件开发过程中出现的一系列问题,如成本超支、进度延误、质量低下等。
3. 请解释什么是软件重构。
答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整,以提高其可理解性和可维护性。
4. 什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作、客户反馈和对变化的响应。
四、计算题(每题10分,共20分)1. 假设一个软件项目的开发周期为18个月,预计成本为1000万元。
软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。
答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。
答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。
答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。
答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。
答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。
答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。
其优点包括:- 易于管理:模块化使得软件更容易理解和维护。
- 可重用性:模块可以在不同的项目中重复使用。
- 并行开发:模块化允许多个团队并行开发不同的模块。
- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。
12. 解释什么是软件的可维护性,并说明其重要性。
软件工程试卷及参考答案试卷(一)一、单项选择题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图)为()提供了有力的工具。
《软件工程导论》测试题(参考答案)(本试卷答卷时间为60分钟)学号:______________ 组别:____________、选择(每题2分,共20 分)1 .瀑布模型的存在冋题是( B )A .用户容易参与开发B .缺乏灵活性C .用户与开发者易沟通D .适用可变需求2 .程序的三种基本控制结构是( B )A .过程、子程序和分程序B .顺序、选择和重复C .递归、堆栈和队列D .调用、返回和转移3 .在详细设计阶段,经常采用的工具有( A )A. PADB. SAC. SC4 .详细设计的结果基本决定了最终程序的( C )A. 代码的规模 B .运行速度C.质量5. 结构化程序设计主要强调的是( D )A. 程序的规模D . DFDD .可维护性B. 程序的效率C. 程序设计语言的先进性D. 程序易读性6 .需求分析阶段的任务是确定( D )A. 软件开发方法B. 软件开发工具C. 软件开发费D . 软件系统的功能7.在E-R模型中,包含以下基本成分(C )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作8 .设函数C (X)定义问题X的复杂程序,函数E ( X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C (P1 ) >C ( P2)显然E (P1 ) >E ( P2),则得出结论 E( P1+P2 ) >E ( P1 ) +E ( P2)就是:( A )A .模块化的根据B .逐步求精的根据C.抽象的根据 D •信息隐藏和局部化的根据9 .面向数据流的设计方法把( D )映射成软件结构。
A •数据流B •系统结构C •控制结构D .信息流10.聚程度最低的是( A )聚A.偶然B.过程C.顺序D.时间、填空题(每空2分,共8分)。
1 .软件结构是以—模块为基础而组成的一种控制层次结构。
2 .在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、定树。
一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节3.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。
A.数据流B.数据存储C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、通过(B )可以完成数据流图的细化。
A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。
A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块部最好是(C)。
A.逻辑聚B.时间聚C.功能聚D.通信聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。
A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层11、在软件开发过程中,以下说确的是(B)。
A.程序流程图是逐步求精的好工具B.N-S图不可能任意转移控制,符合结构化原则C.判定表是一种通用的设计工具D.程序流程图和N-S图都不易表达模块的层次结构12、面向数据结构的设计方法(Jackson方法)是进行(B)的形式化的方法。
A.系统设计B.详细设计C.软件设计D.编码13、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)A.说明B.方法C.过程D.类型14、以下说法错误的是(D)A.对象具有很强的表达能力和描述功能B.对象是人们要进行研究的任何事务C.对象是封装的基本单位D.类封装比对象封装更具体、更细致15、以下说确的是(B)A.功能模型不包括对象模型中值的约束条件B.功能模型说明对象模型中操作的含义C.功能模型说明动态模型中约束的含义D.功能模型说明对象模型中动作的意义16、以下说法错误的是(D)A.面向对象方法不仅支持过程抽象,而且支持数据抽象B.某些面向对象的程序设计语言还支持参数化抽象C.信息隐蔽通过对象的封装性来实现D.在面向对象方法中,类是最基本的模块17、以下说法错误的是(A)A.多态性防止了程序相互依赖性而带来的变动影响B.多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果C.多态性与继承性相结合使软件具有更广泛的重用性和可扩充性D.封装性是保证软件部件具有优良的模块性的基础18、软件可维护性的特征中相互矛盾的是(C)。
A.可修改性和可理解性B.可测试性和可理解性C.效率和可修改性D.可理解性和可读性19、以下说确的是(C)。
A.组装结构可用来描述现实世界中的一般的抽象关系B.分类结构可用来描述现实世界中的类的组成的抽象关系C.面向对象的继承性是子类自动共享父类数据结构和方法的机制D.面向对象的唯一性是指将具有一致性的数据结构(属性)和行为(操作)的对象抽象成类20、以下说法错误的是(A)A.面向对象分析与面向对象设计的行医没有明显区别B.在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的C.面向对象分析和面向对象设计活动一个多次迭代的过程D.从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程一、多项选择题(每题2分,共20分)1、软件危机产生的主要原因是(AE )。
A.软件本身的特点B.用户使用不当C.硬件可靠性差D.对软件的错误认识E.缺乏好的开发方法和手段2、以下说法中正确的是(BCD)。
A.快速原型思想是在研究概要设计阶段的方法和技术中产生的B.探索型和实验型快速原型采用的是抛弃策略C.演化型快速原型采用附加策略D.快速原型是利用原型辅助软件开发的一种新思想3、下列叙述中,(ABD)是不正确的。
A.软件系统中所有的信息流都可以认为是事物流B.软件系统中所有的信息流都可以认为是变换流C.事务分析和变换分析的设计步骤是基本相似的D.事务分析和变换分析的设计步骤完全不同4、在程序的描述和分析中,下列哪个不是用以指明数据来源、数据流向和数据处理的辅助图形(ACD)。
A.瀑布模型B.数据流图C.数据结构图D.业务图5、软件维护是保证软件正常、有效的重要手段,而软件的下述特性中(ABCD)有利于软件的维护。
A.可测试性B.可理解性C.可修改性D.可移植性6、软件需求规格说明书的容包括对(ACD)的描述。
A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能7、下列说确的是(ACD)。
A.变换型的DFD是由输入、变换(或称处理)和输出三部分组成B.变换型数据处理的工作过程一般分为三步:处理数据、变换数据和再处理数据C.变换输入端的数据流为系统的逻辑输入,它将外部形式的数据变换成部形式,送给主加工。
D.变换输出端为逻辑输出,它把主加工产生的数据的部形式转换成外部形式后物理输出。
8、以下说确的是(ABC)。
A.面向对象方法不仅支持过程抽象,而且支持数据抽象B.某些面向对象的程序设计语言还支持参数化抽象C.信息隐藏通过对象的封装性来实现D.在面向对象方法中,类是最基本的模块9、在程序设计过程中,要为程序调试做好准备,主要体现在(ABC)。
A.采用模块化、结构化的设计方法设计程序B.编写程序时要为调试提供足够的灵活性C.根据程序调试的需要,要选择并安排适当的中间结果输出和必要的断点D.以上答案都不正确10、对象间的关系可以有哪几种关系(BCD)。
A.一对多关系B.一般-特殊关系C.整体-部分关系D.二、填空题(每空1分,共15分)1.快速原型的思想是在研究______需求分析_____的方法和技术中产生的。
2. _____可行性研究_____的目的就是用最小的代价在尽可能短的时间确定该软件项目是否能够开发,是否值得去开发。
3.经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。
将这些共同的理解进行整理,最后形成文档_____需求规格说明书______.4.两个模块通过全程变量相互作用,这种耦合方式称为_____公共耦合______。
5.再详细设计阶段,除了对模块的算法进行设计,还应对模块的_____数据结构_____进行设计。
6.子类自动共享父类的属性和操作的机制称为_____继承_____。
7.在UML语言中,利用_____用例图_____来对需求分析中的问题进行描述。
8.对象抽象是_____类_____,类的具体化就是_____对象_____。
9.用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值围,则可以确定一个合理等价类和_____两个不合理等价类_____。
10.用黑盒技术设计测试用例的方法有_____等价类划分_____、_____边界值分析_____、_____错误推测_____和_____因果图_____。
11.在单元测试中,测试一个模块时,需要设计_____驱动模块_____。
三、简答题(每题6分,共24分)1、测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?单元测试:集中检测软件设计的最小单元——模块。
通常,单元测试和编码属于软件过程的同一个阶段。
在编写出源程序代码并通过了编译程序的语法检查之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块部的错误。
可以应用人工测试和计算机测试这样两种不同类型的测试方法,完成单元测试工作。
这两种测试方法各有所长,互相补充。
通常,单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行。
集成测试:是测试和组装软件的系统化技术,例如,子系统测试即是在把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题(系统测试与此类似)。
例如,数据穿过接口时可能丢失;一个模块对另一个模块可能由于疏忽而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有问题等等。
不幸的是,可能发生的接口问题多得不胜枚举。
确认测试:也称为验收测试,它的目标是验证软件的有效性。
上面这句话中使用了确认(validation)和验证(verification)这样两个不同的术语,为了避免混淆,首先扼要地解释一下这两个术语的含义。
通常,验证指的是保证软件正确地实现了某个特定要求的一系列活动,而确认指的是为了保证软件确实满足了用需求而进行的一系列活动。
2.为什么说类构件是目前比较理想的可重用软构建?它有哪些重用方式?面向对象技术中的“ 软件重用。
面向对象技术中的“类”,是比较理想的可重用的软构件,不妨称之为类构件,可重用的软构件,不妨称之为类构件,在上一小节中讲述的构件组装模型,就是利用类构件来构造应用程讲述的构件组装模型,序。
可重用的软构件应具备的特点 1. 可重用的软构件应具备的特点模块独立性强 (1) 模块独立性强 (2) 具有高度可塑性具有高度可塑性接口清晰、简明、可靠 (3) 接口清晰、简明、可靠 2. 类构件的重用方式类构件的重用方式实例重用 (1) 实例重用继承重用 (2) 继承重用面向对象方法特有的继承性,面向对象方法特有的继承性,提供了一种对已有的类构件进行裁剪的机制。
的类构件进行裁剪的机制。
当已有的类构件不能通过实例重用完全满足当前系统需求时,实例重用完全满足当前系统需求时,继承重用提供了一种安全地修改已有类构件,一种安全地修改已有类构件,以便在当前系统中重用的手段多态重用 (3) 多态重用利用多态性不仅可以使对象的对外接口更加一般基类与派生类的许多对外接口是相同的) 化(基类与派生类的许多对外接口是相同的),从而降低了消息连接的复杂程度,低了消息连接的复杂程度,而且还提供了一种简便可靠的软构件组合机制,系统运行时,靠的软构件组合机制,系统运行时,根据接收消息的对象类型,由多态性机制启动正确的方法,对象类型,由多态性机制启动正确的方法,去响应一个一般化的消息,从而简化了消息界面和软构件连接3.简述功能模型、对象模型、动态模型三种模型之间的关系。