根据给定文件的信息,我们可以从中提炼出多个与软件工程相关的知识点。下面将详细解析这些知识点。 ### 一、名词解释 #### 1. 软件生存周期模型 软件生存周期模型是描述软件开发过程中各个阶段如何进行的一种框架。它为软件开发提供了一个有序的方法论,确保了项目的顺利进行。常见的软件生存周期模型包括瀑布模型、增量模型、螺旋模型等。这些模型不仅定义了从需求分析到最终交付的不同阶段,还明确了每个阶段的任务和目标。 #### 2. 数据字典 DD 数据字典是一种用于定义数据流图中的各个组成部分的具体含义的工具。它提供了关于系统中数据元素的一致且无歧义的定义,包括数据项、数据结构、数据存储和数据流等内容的详细描述。数据字典对于软件开发至关重要,因为它确保了项目团队对数据的理解一致,有助于减少后期的修改和冲突。 #### 3. 内聚性 内聚性是衡量模块独立性的指标之一,表示一个模块内部各个元素之间的联系紧密程度。高内聚意味着模块内部的元素紧密相关,这样可以提高模块的可读性和可维护性。内聚性分为几种类型,包括偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚和功能内聚等。 #### 4. JSP 方法 JSP(Jackson System Development)方法是一种面向数据结构的设计方法,它定义了一套基于输入和输出数据结构映射为软件过程描述的规则。这种方法强调了数据结构的重要性,并通过一系列规则将数据结构转换为程序结构,从而实现软件设计的自动化。 #### 5. 多态性 多态性是面向对象编程的一个核心特性,指的是相同的操作或函数、过程可以作用于多种类型的对象上,并产生不同的结果。多态性增强了代码的灵活性和扩展性,使得程序员能够更加高效地编写和维护代码。 ### 二、填空题 #### 1. 软件配置管理 在软件开发过程中会产生大量的文档和代码,**软件配置管理**(SCM)能够帮助团队管理和跟踪这些变化,确保版本的一致性和可追溯性。 #### 2. 容错功能 具备**容错功能**的软件能够在一定程度上自动检测和纠正自身的错误,从而提高了系统的稳定性和可靠性。 #### 3. 11个软件质量特性 McCall 提出的软件质量模型包括了11个软件质量特性,它们涵盖了功能性、可靠性、可用性等多个方面,是评估软件质量的重要参考。 #### 4. 可移植性 除了可理解性、可测试性、可修改性、可靠性、可使用性和效率之外,**可移植性**也是软件可维护性度量的重要质量特性之一,它关注的是软件能否容易地从一个环境移植到另一个环境。 #### 5. 输出结果 为了验证软件是否按照预期工作,测试用例应该包含**输入数据**和预期的**输出结果**两个部分。 #### 6. 歧义性 程序设计语言的**心理特性**主要关注其易读性、简洁性、传统性等方面,其中**歧义性**是指语言的表达方式是否存在多重解释的可能性。 #### 7. 模块 **软件结构**是基于模块构建的控制层次结构,模块是软件的基本构成单元,能够独立完成特定功能。 #### 8. 实例化 使用类创建对象的过程被称为**实例化**,在这个过程中,类的模板被用来创建具体的对象实例。 #### 9. 形式语言 **结构化语言**是一种介于自然语言和形式语言之间的半形式语言,它采用了一些形式化的语法来增强语言的结构清晰性。 #### 10. F/(1+(n*i)) 若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P可以通过公式计算得出:\[P = \frac{F}{(1+n*i)}\]。 ### 三、简答题 #### 1. 容错技术的主要手段 容错技术的主要手段包括: - **结构冗余**:静态冗余、动态冗余和混合冗余。 - **信息冗余**:添加额外的信息来检测或纠正错误。 - **时间冗余**:重复执行任务以确保正确性。 #### 2. 对软件测试的目的 G.J.Myers认为软件测试的目的包括: - 验证软件是否满足规定的功能和性能需求。 - 发现软件中存在的缺陷和错误。 - 评估软件的质量和可靠性。 #### 3. 程序编码的要求 程序编码的工程特性要求包括: - 易读性:代码应当易于理解和维护。 - 可靠性:代码需要稳定可靠,避免出现意外错误。 - 可维护性:代码应当易于修改和扩展。 - 效率:代码的执行效率要高,资源消耗要少。 #### 4. 模块的内聚性类型 模块的内聚性类型有: - **偶然内聚**:模块中的元素之间几乎没有任何关系。 - **逻辑内聚**:模块执行一组逻辑上相似但实际操作不同的任务。 - **时间内聚**:模块中的所有处理元素都必须在同一时间内完成。 - **通信内聚**:模块中的所有处理元素都涉及到共同的数据。 - **顺序内聚**:模块中的处理元素必须按照指定的顺序执行。 - **功能内聚**:模块的所有处理元素都紧密相关,实现一个单一的功能。 以上知识点覆盖了软件工程领域的一些基础概念和技术细节,对于学习和掌握软件工程知识非常有帮助。
- 粉丝: 1457
- 资源: 7530
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助