软件工程

邵丽丽

目录

  • 1 第1讲 软件工程学概述
    • 1.1 软件危机
    • 1.2 软件工程
    • 1.3 软件生命周期
    • 1.4 软件过程
  • 2 第2讲 可行性研究
    • 2.1 可行性研究的任务及过程
    • 2.2 可行性研究的工具
      • 2.2.1 系统流程图
      • 2.2.2 数据流图
      • 2.2.3 数据字典
    • 2.3 成本效益分析
  • 3 第3讲 需求分析
    • 3.1 需求分析的任务
    • 3.2 获取需求的方法
    • 3.3 需求建模
      • 3.3.1 分析建模
      • 3.3.2 状态转换图
      • 3.3.3 其他图形工具
    • 3.4 验证软件需求
  • 4 第4讲 总体设计
    • 4.1 设计过程
    • 4.2 设计原理
    • 4.3 启发式规则
    • 4.4 描述软件结构的图形工具
    • 4.5 面向数据流的设计方法
  • 5 第5讲 详细设计
    • 5.1 结构化程序设计
    • 5.2 过程设计的工具
    • 5.3 面向数据结构的设计方法
    • 5.4 程序复杂程度的定量度量
  • 6 实现
    • 6.1 软件测试基础
    • 6.2 软件测试步骤
      • 6.2.1 单元测试
      • 6.2.2 集成测试
      • 6.2.3 确认测试
    • 6.3 软件测试技术
      • 6.3.1 白盒测试技术
      • 6.3.2 黑盒测试技术
    • 6.4 调试
    • 6.5 软件可靠性
  • 7 第7讲 软件维护
    • 7.1 软件维护的定义、过程、可维护性
    • 7.2 预防性维护
    • 7.3 软件再工程过程
  • 8 第8讲 面向对象方法学概述
    • 8.1 OOM概述
    • 8.2 面向对象的概念
    • 8.3 面向对象建模
      • 8.3.1 对象模型
      • 8.3.2 功能模型
  • 9 第9讲 面向对象分析
    • 9.1 OOA的基本过程
    • 9.2 需求概述及建模
      • 9.2.1 建立对象模型
      • 9.2.2 建立动态模型
      • 9.2.3 建立功能模型
  • 10 第10讲 面向对象设计
    • 10.1 面向对象设计的准则
    • 10.2 软件重用
    • 10.3 系统分解
  • 11 第11讲 面向对象实现
    • 11.1 面向对象的测试策略
    • 11.2 设计测试用例
  • 12 实验教学
    • 12.1 实验1 可行性研究报告
    • 12.2 实验2 需求分析报告
    • 12.3 实验3 总体设计报告
    • 12.4 实验4 详细设计报告
    • 12.5 实验5 编程实现
    • 12.6 实验6 测试
    • 12.7 实验7 面向对象分析报告
    • 12.8 实验8 面向对象设计报告
    • 12.9 实验选题集
软件再工程过程

软件维护使软件的可维护性下降,束缚新软件的开发。同时,待维护的软件又常常是业务的关键,废弃它们重新开发不仅十分可惜,而且风险较大。软件维护的此类问题引出了软件再工程。

本节课主要介绍了库存目录分析、文档重构、逆向工程、代码重构、数据重构、正向工程等软件再工程技术。