软件工程备考简答题总结
2021-05-29

此版本复习提纲仅适用于 江苏大学陈雷老师班

第一章 软件工程概述

  • 软件的特点

    • 无法观察物理形态
    • 在软件的开发过程、工程管理过程中渗透了大量的脑力劳动
    • 无磨损、老化
    • 需要在特定的计算机系统环境下运行
    • 有复用性
  • 软件工程的提出目的是:

    • 解决软件危机带来的诸多弊端
      • 控制开发成本在预期范围内
      • 交付满足用户需求的软件
      • 软件的功能可靠
      • 软件的品质优秀
      • 控制软件的开发时间
      • 软件易于维护
  • 目标、过程、原则

    • 目标:低成本、高品质、及时交付软件
    • 过程:基本过程、支持过程、组织过程
    • 原则:
      • 适宜的开发泛型
      • 适宜的设计方法
      • 高品质的工程支持
      • 开发过程的管理

第二章 开发模型

  • 四种开发模型的对比

    • 瀑布模型
      • 顺序执行、不可回退
    • 快速原型模型
      • 快速获取用户的需求
    • 增量模型
      • 产品灵活可以变更需求
    • 螺旋模型
      • 在 快速原型模型 和 增量模型的基础上 添加了 风险管理
  • XP模型

    • 客户参与、适应变化、测试驱动、以代码为核心
  • 敏捷思想的核心价值观

    • 注重个人和交互
    • 注重能工作的软件
    • 提高客户的参与程度
    • 以积极的心态响应需求变化

第三章 需求分析

  • 结构化的具体步骤如下:

    • 建立当前系统的具体模型
    • 生成当前系统的逻辑模型
    • 建立目标系统的逻辑模型
  • 需求分析的过程:

    • 需求获取:调查软件需求
    • 需求分析:分析建模、对现实世界进行抽象
    • 需求说明:编写需求文档
    • 需求验证:需求评审
  • 人们对事物的认识是不断深化的,因此需求迭代是一个过程。

    • 这种迭代存在风险,会使上一次迭代因为需求不足而被推翻
    • 软件分析师应意识到迭代中风险的必然性。积极面对需求变更
  • 评审的作用

    • 作用:为了尽早消除需求中的错误,确保需求说明的准确、完整
    • 必要性:需求说明书中都是自然语言,需要确定语言的准确
  • 数据流图的作用

    • 抽象的表示系统和软件
    • 从信息加工的角度,自顶向下、逐步求精的表示功能细节
    • 提供了功能建模的机制 、 信息流建模的机制
    • 建立起系统或软件的功能模型

第四章 软件设计

  • 软件设计

    • 输入:需求规格说明书
    • 输出:设计规格说明书
    • 目标:需求模型转设计模型
    • 过程:层层分解、逐步求精
  • 软件设计是对软件需求进行:

    • 数据设计
    • 体系结构设计
    • 接口设计
    • 构件设计
    • 部署设计
  • 软件设计优化的准则如下:

    • 相关的各部分放到一起、不相关的不放到一起
    • 模块的大小要适中
    • 模块的接口简明扼要
    • 作用范围在控制范围内
    • 软件的深度、宽度、扇入扇出要适当
    • 单入口、单出口
    • 可预测模块的划分

第五章 测试

  • 测试和调试的不同

    • 测试:尽可能发现错误
    • 调试:尽可能修复错误
  • 静态测试和动态测试的不同

    • 静态测试:人工审计、仔细阅读文档、检查软件的执行情况是否与设计规格说明书一致
    • 动态测试:依赖软件的执行、测试用例来判断是否符合设计规格说明书
  • 软件测试分为:

    • 单元测试
    • 集成测试
    • 系统测试
    • 验收测试
  • 每一个测试活动有5个过程:

    • 测试计划制定、测试设计、测试样例生成、测试实施、测试报告

第七章 需求分析方法

  • 类的外部关联有3中关系

    • 关联
    • 继承
    • 依赖
  • 事件跟踪图

    • 表示事件顺序和事件和对象的关系
    • 时间从上到下递增

第十一章 软件项目管理方法

  • 软件项目管理和软件工程的区别和关系:

    • 目标相同:都是围绕软件产品开发的管理
    • 作用不同:软件工程是软件开发的方法论,软件项目管理是生产管理形式。
    • 关联:软件项目管理是软件工程的载体
  • 度量方法

    • 代码行度量
    • 功能点度量

第十三章 软件配置

  • 风险识别3步:

    • 资料收集
    • 估计项目风险形式
    • 识别风险
  • 软件质量:

    • 提供的软件产品满足用户的明确和隐含需求的能力特性总和。
  • 软件配置管理中的基本单元:软件配置项

    • 软件的文档、程序、数据进行整合
      • 以利于软件的定义、标识、跟踪、管理,使其成为受控的软件版本产品
      • 这一过程成为软件配置管理

第十四章 软件维护

  • 软件维护的工作程序与软件开发的工作程序相仿

    • 维护的需求分析
    • 维护的设计
    • 修改程序代码
    • 维护后的测试
    • 维护后的试运行
    • 维护后的正式运行
    • 维护过程的评审和审计
  • 面向缺陷维护的内容

    • 该产品正常运行,但是个别地方存在缺陷。
    • 用户不满意,克服缺陷的方法是修改程序。
    • 修改程序而不修改结构
  • 文档是指记录数据的媒体和数据本身。

    • 永久性
    • 描述人工可读的东西
    • 表述活动、需求、过程或结果的描述、定义、规定或认证。
    • 规定了实现的细节。