### 《软件工程》期末考试知识点解析 #### 一、填空题解析 1. **软件生存周期**:这是指软件从构思、设计、实现、测试直到最终退役的整个过程。通常包括以下几个阶段: - **问题定义**:明确软件需要解决的问题。 - **可行性研究**:评估软件项目的可行性和价值。 - **需求分析**:确定软件的具体功能需求和技术需求。 - **设计编码**:基于需求分析的结果,设计软件架构并编写代码。 - **测试**:确保软件满足预定的功能和技术需求。 - **运行与维护**:软件正式投入使用后的持续支持和服务。 2. **软件分类**:根据软件的功能,可以将其划分为三大类: - **系统软件**:支持计算机的基本操作,如操作系统、设备驱动程序等。 - **支撑软件**:辅助软件开发和维护的工具,如编译器、调试器等。 - **应用软件**:针对特定任务或领域的软件,如办公软件、图形处理软件等。 3. **可行性研究**:这是在项目启动前进行的一项重要评估工作,主要考虑以下几个方面: - **经济可行性**:项目的成本与预期收益之间的比较。 - **技术可行性**:现有技术是否能够实现项目目标。 - **法律可行性**:项目是否符合相关的法律法规要求。 - **抉择**:基于上述分析做出是否继续项目的决定。 4. **用户界面设计**:在用户界面设计中,最重要的目标是提高其**可使用性**,即确保用户能够高效、准确地完成任务,同时获得良好的用户体验。 5. **软件概要设计方法**:软件设计阶段的主要方法包括: - **结构化设计方法**:基于数据流图来构建模块结构。 - **Jackson方法**:以数据结构为基础来构建模块。 - **面向对象设计方法**:围绕对象、类、继承和通信等概念来进行设计。 6. **逻辑模型构成**:软件的逻辑模型通常由**数据流图**和**数据字典**两部分组成。数据流图展示了系统中的数据流向和处理过程,而数据字典则详细定义了数据流图中的各个元素。 7. **软件测试方法**:主要包括两种类型: - **分析方法**(通常指的是白盒测试):基于对代码内部结构的理解来进行测试。 - **非分析方法**(通常指的是黑盒测试):仅关注输入和输出结果,不考虑内部实现细节。 8. **单元测试**:单元测试主要是为了验证单个模块的行为是否符合预期,通常以**白盒测试**为主,辅助以**黑盒测试**。 9. **成本估计方法**:主要有三种类型: - **自底向上估计**:从最小的工作单元开始估算,然后汇总至整个项目。 - **自顶向下估计**:先估计整个项目的成本,再分解至各工作单元。 - **算法模型估计**:使用数学模型来预测成本。 #### 二、单项选择题解析 1. **软件生存周期阶段**:正确答案是**C**,软件生存周期的三大阶段包括计划阶段、开发阶段和维护阶段,而不包含编码阶段。 2. **需求分析**:正确答案是**A**,需求分析是软件开发的基础,它定义了软件应该具备的功能和性能指标。 3. **原型化方法**:正确答案是**B**,原型化方法需要完整的生命周期管理,而不是仅仅依赖于明确的需求定义。 4. **软件维护类型**:正确答案是**A**,改正性维护是指修复在软件运行过程中发现的新错误的过程。 5. **软件错误的存在**:正确答案是**A**,在实际运行的软件中存在错误并不是不可理解的现象,而是正常的。 #### 三、多项选择题解析 1. **白盒测试方法**:正确答案是**AE**,基本路径测试和逻辑覆盖测试属于白盒测试方法。 2. **内容耦合**:正确答案是**ABC**,内容耦合是指一个模块直接访问另一个模块的内部数据、一个模块有多个入口或一个模块不通过正常入口进入另一个模块的情况。 3. **度量效益方法**:正确答案是**ABC**,度量软件项目的效益通常涉及货币的时间价值、投资回收期和收入等因素。 4. **数据流图绘制方法**:正确答案是**ACD**,绘制数据流图通常采用自顶向下的方式,并且是分层绘制,逐步求精。 5. **软件设计图形工具**:正确答案是**ACD**,常用的软件设计图形工具包括结构图、IPO图和层次图。 #### 四、判断题解析 1. **总体设计原则**:错误(N),在总体设计时应减少模块间的耦合,增强模块独立性。 2. **系统结构图与流程图的区别**:错误(N),虽然系统结构图可以展示模块结构,但它并不是流程图。 3. **黑盒测试案例设计**:错误(N),黑盒测试案例的设计依据是软件的功能规格说明而非内部逻辑。 4. **程序调试难度**:正确(Y),找到错误往往比修复错误更困难。 5. **面向对象设计方法**:正确(Y),面向对象设计方法是一种重要的软件设计方法。 6. **软件测试的有效性**:错误(N),即使测试没有发现错误,也不能证明软件完全正确。 7. **快速原型模型**:正确(Y),快速原型模型有助于更好地理解和适应用户需求的变化。 8. **设计原则**:正确(Y),遵循良好的设计原则有助于创建高内聚、低耦合的软件系统。 9. **集成测试执行者**:错误(N),集成测试通常由开发团队进行,而不是用户。 10. **软件危机的原因**:错误(N),软件危机不仅仅是由于硬件问题引起的,还包括软件开发过程中的各种挑战。 通过以上解析,我们可以看到,《软件工程》课程涵盖了软件从构思到实现再到维护的全过程,包括软件设计的原则、方法以及软件测试的技术等。这些知识点对于理解软件开发流程及其背后的理论基础至关重要。
- 粉丝: 1403
- 资源: 7530
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助