【知识点详解】
1. 软件工程:软件工程是一门综合性的学科,涉及软件的开发、维护和管理。在本补考卷中,主要考察了需求分析、测试方法、模块独立性、软件开发模型等多个软件工程的重要概念。
2. 需求分析:需求分析是软件开发的初始阶段,其目的是理解用户的需求并转化为明确的规格说明。需求分析的结果通常以软件规格说明书的形式呈现,描述了目标系统的逻辑模型。
3. 测试方法:测试是验证软件是否满足需求的过程。成功的测试不一定是未发现错误,而是能够发现并证明程序的错误。题中提到了边界值分析法,这是一种常见的测试策略,用于测试输入或输出值的边界条件。
4. 模块独立性:模块独立性是衡量模块设计好坏的标准,理想情况是低耦合(模块间交互少)和高内聚(模块内部元素紧密相关)。
5. 数据流图:数据流图是结构化分析方法的一部分,用于描述系统功能的流程,通常包括数据流、处理(加工)、数据存储和外部实体。
6. 模块扇出数:模块扇出数指的是一个模块调用的下层模块数量,它是模块复杂度的度量之一。
7. 面向对象编程:面向对象编程(OOP)以类和对象为中心,类是具有同类数据和相同操作的对象集合的定义。
8. 边界值分析法:测试中,边界值分析法关注边界条件,如题目中提到的月收入免税的例子,1500元是边界值。
9. 瀑布模型:瀑布模型是一种传统的软件开发模型,其缺点在于需求一旦确定很难变更,不利于应对需求的动态变化。
10. 系统设计阶段:该阶段的目标是将逻辑模型转换为物理实施方案,包括架构设计、详细设计等。
11. Halstead 源代码度量:Halstead度量是评估程序复杂度的一种方法,操作数是指源代码中的变量、常量和运算符。根据题目中的代码,操作数数量为6个。
12. 软件质量保证活动:软件质量保证(SQA)包括多种活动,如SCI(Software Configuration Identification)等,目的是确保软件质量符合预定标准。
13. 软件质量难以把握的原因:软件是无形的逻辑实体,其质量受需求不明确、软件配置管理等因素影响。
14. 面向对象关系:在面向对象编程中,类与类之间的关系可以表现为继承(实现抽象属性和行为的复用)和聚集(对象的组合)。
15. UML视图:统一建模语言(UML)提供了多种视图,如类图用于静态结构建模,时序图用于动态行为建模,活动图可以有多个起点和终点。
【计算题知识点】:
- 三点估算期望值计算
- 风险预期值计算
- 人月生产力计算
- 基于历史数据的软件开发工作量估算模型构建
- 对象点法(OPM)用于软件规模估算
这些计算题涉及到项目管理和成本估算,以及软件度量和复杂度分析。在实际工作中,这些计算方法对于预测项目进度、成本和资源需求至关重要。