《软件工程》是一门涉及计算机科学、工程和数学原理,用于设计、开发、维护和评估基于计算机系统的学科。在线作业中的题目涵盖了软件工程的核心概念,包括模块间的耦合性、内聚性、软件质量属性、系统建模以及软件生命周期的不同阶段。
1. 耦合性(Coupling)是衡量软件系统结构中各模块间相互联系紧密程度的标准。它是模块间互相依赖的程度,较高的耦合性意味着模块间关系复杂,不利于系统的维护和扩展。选项C正确。
2. 可适应性(Adaptability)是指软件在不同系统约束下满足用户需求的能力。选项B正确,其他选项如可修改性(Modifiability)、可维护性(Maintainability)、可验证性(Verifiability)虽然也是软件质量的重要属性,但在这里不符合题意。
3. 数据流图(Data Flow Diagram, DFD)是一种常用的系统建模工具,用于描述数据在系统中的流动和处理过程。选项C正确,E-R图用于数据库设计,IPO图(Input-Process-Output)用于描述系统输入、处理和输出,盒图(N-S Box Diagram)用于结构化程序设计。
4. 统计数据显示,软件测试通常占据软件开发总工作量的很大一部分,有时高达80%。选项D正确,体现了测试工作的重要性。
5. 计算机系统工程(Computer System Engineering)是指运用工程、科学和数学的原则与方法来研发基于计算机的系统,选项C正确。其他选项如计算机辅助教学(CAI)、计算机辅助工程(CAE)、计算机辅助设计(CAD)属于计算机应用领域。
6. 功能内聚(Functional Cohesion)是模块内聚性的最高级别,表示模块的所有成分都紧密协作完成单一的功能。选项D正确。
7. 需求分析的最终成果是产生需求规格说明书(Requirements Specification),它详细描述了用户的需求。选项B正确。
8. IDEF0图是一种流程建模工具,用于展示系统的功能性,即“做什么”。选项D正确。
9. 需求建模技术(Requirement Modeling Techniques)如统一建模语言(UML)等,用于逐步细化、完善和统一用户需求。选项B正确。
10. 面向对象的开发方法,如统一过程(Unified Process),通常采用喷泉模型(Fountain Model),它强调迭代和增量开发。选项B正确。
多选题部分涉及了设计方法、设计原则、测试技术、项目管理等多个方面,例如Jackson方法、程序结构表达、黑盒测试、软件项目管理对象、编码原则等,这些都是软件工程实践中必不可少的知识点。
判断题则检验了对基本概念的理解,如模块化、消息传递、高级语言与汇编语言的特性、程序可测试性和封装等。正确的理解这些基本概念对于软件工程师来说至关重要。
这份在线作业涵盖的软件工程知识点广泛,包括软件质量、系统建模、设计原则、测试技术、项目管理和编程规范等,都是理解和实践软件工程不可或缺的部分。通过这样的作业,学生可以深入理解软件工程的理论和实践,提升其在实际开发中的能力。