【软件工程】是一门涉及软件开发全过程的学科,旨在提高软件的质量、生产效率以及可维护性。本题目的内容涵盖了软件工程多个方面的知识点。
在类层次结构中,只有单重继承的类层次结构被称为**树型层次结构**(C选项)。这种结构中,一个类可以有一个父类,而其他类则作为子类继承其特性。
**Jackson方法**(A选项)是一种面向数据结构的设计方法,它根据数据结构来指导程序结构的构建,以简化设计过程。
在软件的可维护性特性中,**可修改性和可理解性**(A选项)通常是相互矛盾的。提高可修改性可能使代码更复杂,影响可理解性;而为了提高可理解性,可能会牺牲一定的可修改性。
**系统流程图**(A选项)常用于描述可行性分析中的当前运行系统,展示系统当前的实际操作流程。
在详细设计阶段,常用的工具有**结构化程序设计**(如PADC选项),它强调的是程序的易读性(A选项),而不是规模、效率或语言的先进性。
软件详细设计的主要任务是确定每个模块的**算法和使用的数据结构**(A选项),这是实现功能的关键。
**集成测试**(A选项)是一种将软件组装成系统的技术,它测试不同模块间的交互和整合。
为了提高模块的独立性,模块内部最好是**功能内聚**(C选项),这意味着每个模块只负责单一且完整的功能。
**甘特图**(C选项)可以表示子任务的并行和串行关系,但它不能显示任务之间的复杂关系或依赖关系,也不能标识关键任务。
软件需求分析的任务包括**问题分析**(A选项)、**系统设计**(B选项)、**需求描述**(C选项)和**需求评审**(D选项),这些步骤确保需求的准确性和完整性。
需求评审标准通常包含**正确性**(A选项)、**无歧义性**(B选项)、**完全性**(C选项)和**可验证性**(D选项),确保需求清晰且可执行。
系统的逻辑模型由**数据流图**(A选项)、**E-R图**(B选项)、**数据字典**(C选项)等组成,这些工具帮助描述系统的功能和数据关系。
**逻辑覆盖**(A选项-语句覆盖,B选项-判定覆盖,C选项-条件覆盖,D选项-基本路径覆盖)是软件测试中的概念,它们衡量代码被测试的程度。
结构化设计方法的两种设计策略是**变换分析设计**(A选项)和**事务分析设计**(C选项),分别处理数据流和事务处理类型的系统。
**概要设计**(D选项-分解)是在需求分析基础上,通过分解将系统分解成模块,确定功能实现。
技术可行性研究主要包括**风险分析**(A选项)、**资源分析**(B选项)、**效益分析**(C选项)和**技术分析**(D选项),评估项目实施的可能性。
计算机软件包括**程序**(A选项)、**规程**(B选项)、**规则**(C选项)以及**文档和数据**(D选项)。
**集成测试**(A选项-渐增式测试,B选项-非渐增式测试)是测试不同模块如何协同工作,而**单元测试**(C选项)和**静态测试**(D选项)是针对单个模块的测试。
模块的内聚性类型包括**偶然内聚**(A选项)、**逻辑内聚**(B选项)、**时间内聚**(C选项)和**通信内聚**(D选项),其中功能内聚被认为是最高级别的内聚。
盒图(Blok Diagram)可以表示模块之间的关系,但不擅长展现模块的层次结构。
软件测试是软件质量的关键步骤,它是对软件所有阶段的复审,包括规格说明、设计和编码(B选项-正确)。
如果软件的功能和性能满足用户期望,那么软件被认为是**有效**的(B选项-正确)。
CASE工具的**平台集成**意味着工具可以在多种硬件/操作系统上运行(B选项-正确)。
瀑布模型的缺点之一是文档驱动,用户只能通过文档了解产品(B选项-正确)。
类是具有相似或相同性质的对象的抽象(B选项-正确),是面向对象编程的基础。
数据耦合(A选项)是低耦合,而非高耦合,它允许模块间通过数据交换进行通信。
程序设计语言的特性和编码风格确实会影响软件的可靠性和可维护性(B选项-正确)。
回归测试是为了确保修改不会引入新的错误(B选项-正确)。
计算机软件不仅包括程序,也包括规程、规则、文档和数据(B选项-错误)。
在面向对象编程中,**组合**(B选项-正确)是子类继承基类数据和方法的机制。
软件不存在类似硬件的老化问题(B选项-正确)。
软件可修改性是指可以修改系统,但并不一定会增加复杂性(B选项-正确)。
结构冗余是为了错误检测和纠正,需要额外的信息(B选项-正确)。
需求分析的方法包括SD法(结构化开发)、OOA(面向对象分析)和HIPO(层次化输入/处理/输出)等(B选项-正确)。
继承具有传递性,如果类C继承类B,类B继承类A,那么类C也会继承类A(B选项-错误)。
软件测试是自顶向下的,而开发可能是自底向上或相反顺序(B选项-正确)。
冗余附加技术涉及检测和纠正错误所需的技术和资源(B选项-正确)。
Prolog语言不适合作为科学工程计算的语言(B选项-正确),它更适合逻辑编程。
类是对对象的抽象,包含属性和行为,以及创建对象的说明(B选项-正确)。
这些知识点涵盖了软件工程的基本概念、设计原则、测试方法和系统分析等多个方面,对于理解和实践软件开发过程至关重要。