软件工程

邵丽丽

目录

  • 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 实验选题集
软件危机
  • 1 课程概述
  • 2 开篇词--你为什么...

大家好,很高兴和大家一起学习“软件工程”这门课程。

软件工程:Software Engineering

软件工程、数据结构、数据库原理、操作系统、编译原理这5门课程是计算机软件专业非常重要的5门专业课。

软件工程也是很多高校的考研课,如中国海洋大学、大连海事大学等,其软件专业,仅考软件工程、数据结构这两门专业课。

那那么重要的一门课,主要学习哪些内容呢?首先看教材,选用清华大学出版社出版的《软件工程导论》。


软件工程,顾名思义,这是一门工程学科,主要学习软件在开发的思想、方法、流程、以及在每个阶段使用的工具等等。

本书内容共分为4个部分:

1.第1章 软件工程学概述

2.第2章——第8章  传统的软件工程方法学

3.第9章——第12章 面向对象方法学

4.第13章 软件项目管理

本门课程重在学习软件工程的技术,因此第4部分“软件项目管理”课上不再学习,课下感兴趣同学们自学。

学习完该门课程后,应达到的知识目标为:

1.掌握软件工程的基础知识和理论,对软件工程学有一个全貌的了解;

2.熟悉软件项目开发和维护的一般过程;

3.熟练掌握软件需求分析、设计、编码和测试等阶段的主要思想和技术方法;

4.通过学习,特别是通过课程设计,真正运用和深刻体会软件工程的思想方法,转变对软件开发的认识:从个人的单纯编程活动转移到进行系统分析与设计方面上来。

5.转变思维定式:程序员—— 系统工程师

应达到的能力目标:

1.能够编写软件工程过程中的各种文档;

2.能够对软件需求分析、设计运用工具进行建模;

3.能根据设计结果选用合适的语言编程实现

4.能简单测试实现的模块的功能和性能

应养成的综合素质:

职业素养:职业道德、业务素质、诚信、沟通与合作等

研究素质:科学思维和态度、抽象思维、强烈好奇心和研究兴趣

社会素质:团队合作能力、社会和职业道德、诚信意识等

文化素质:文化与文学艺术修养、人文社科与经济管理管理知识等

第一章:软件工程学概述。本章包括4个知识点,要求大家了解软件工程的学科背景,掌握软件工程这个学科的定义,灵活理解并掌握软件生命周期理论,理解软件过程。

首先看软件危机是如何产生的,及软件工程这门学科是如何诞生的。