软 件 工 程 导 论
张海藩
清华大学出版社
第三版
计算机软件
? 程序设计语言
? 数据结构
? 人机交互
? 程序设计方法论
? 软件工程
各章节主要内容
? 第一章 软件危机与软件工程
? 第二章 可行性研究(重点)
? 第三章 需求分析(重点)
? 第四章 总体设计(重点)
? 第五章 详细设计(重点)
? 第六章 编码
? 第七章 测试
? 第八章 维护
? 第九章 面向对象方法学引论
? 第十章 面向对象分析
? 第十一章 面向对象设计
? 第十二章 面向对象实现
? 第十三章 管理技术
第一章 软件危机与软件工程
? 软件危机
? 软件工程
? 技术审查和管理复审
软件危机
? 1.1.2 产生软件危机的原因
? 1.1.3 解决软件危机的途径
软 件 危 机
?软件危机的表现
? 对软件开发成本和进度的估计常常很不准确,
? 用户对, 已完成的, 软件系统不满意的现象经常发生,
? 软件产品的质量往往靠不住,
? 软件常常是不可维护的,
? 软件通常没有适当的文档资料,
? 软件成本在计算机系统总成本中所占的比例逐年上升,
? 软件开发生产率提高的速度,远远跟不上计算机应用迅速普
及深入的趋势,
产 生 原 因 以 及 解 决 途 径
? 产生软件危机原因
? 软件本身的特点
? 软件开发与维护的方法不正确
概念,软件生命周期
?解决软件危机的途径
? 技术措施
? 组织管理措施
软件工程
? 1.2.1 软件工程的基本原理
? 1.2.2 软件工程的传统途径
? 1.2.3 生命周期各阶段的基本任务
? 1.2.4 瀑布模型
软 件 工 程
? 七条基本原理
? 软件工程的传统途径
? 现代软件工程的定义
? Boehm,运用现代科学技术知识来设计并构造计算机程
序及为开发、运行和维护这些程序所必需的相关文件
资料
? IEEE,软件工程是开发、运行、维护和修复软件的系
统方法
? Fritz Bauer,建立并使用完善的工程化原则,以较经
济的手段获得能在实际机器上有效运行的可靠软件的
一系列方法
生命周期各阶段的基本任务
? 瀑布模型
制定计划
? 确定要开发软件系统的总目标
? 给出功能、性能、可靠性以及接口等方面
的要求
? 完成该软件任务的可行性研究
? 估计可利用的资源 (计算机硬件,软件,人
力等 )、成本、效益、开发进度
? 制定出完成开发任务的实施计划,连同可行
性研究报告,提交管理部门审查
需求分析和定义
? 对待开发软件提出的需求进行分析并给出
详细的定义
? 编写软件需求说明书或系统功能说明书及
初步的系统用户手册
? 提交管理机构评审
软件设计
? 概要设计
? 把各项需求转换成软件的体系结构。结构中每一组
成部分都是意义明确的模块,每个模块都和某些需
求相对应
? 详细设计
? 对每个模块要完成的工作进行具体的描述,为源程
序编写打下基础
? 编写设计说明书,提交评审。
程序编写
? 把软件设计转换成计算机可以接受的程序
代码,即写成以某一种特定程序设计语言
表示的“源程序清单”
? 写出的程序应当是结构良好、清晰易读的,
且与设计相一致的
软件测试
? 单元测试
? 查找各模块在功能和结构上存在的问题并加以纠正
? 组装测试
? 将已测试过的模块按一定顺序组装起来
? 按规定的各项需求,逐项进行有效性测试,决定
已开发的软件是否合格,能否交付用户使用
运行/维护
? 改正性维护
? 运行中发现了软件中的错误需要修正
? 适应性维护
? 为了适应变化了的软件工作环境,需做适当变更
? 完善性维护
? 为了增强软件的功能需做变更
瀑布模型的特点
? 阶段间具有顺序性和依赖性
? 两重含义
? 推迟实现的观点
? 质量保证的观点
? 两个重要做法
技术审查和管理复审
? 1.3.1 进行审查和复审的必要性
? 1.3.2 技术审查的标准和方法
技术审查和管理复审
? 必要性
? 技术审查的标准和方法
? 准备
? 简要介绍情况
? 阅读被审查的文档
? 开审计会
? 返工
? 复查
软件工程实验
?
? 通过软件项目管理实践,使学生加深 对软
件工程,软件管理基本概念的理解,具备
基本的软件工程技能
? winword,visio,power designer,source
safe,rose五个软件。
? 实验说明:一共 12题, 分为两类:独立题与合作
题 。 前 6题为独立题
? 大作业, 等于 6次小作业 。
? 建议分为 4个小组, 分别负责, 房屋设计,,, 材
料供应库存,,, 建筑施工, 4个子系统 。
? 各个小组一个组长, 负责协调组员, 且负责与他
小组的协作 。 每个小组以 3~ 5人为宜 。 每个小组
控制人数在 10人以下 。
? 大作业以小组形式提交作业结果 。 每个小组大作
业基础得分一致, 组长有另外的 5分, 可以分配给
包括自己在内的小组成员, 以奖励组员努力工作 。
? 教学站 5人以下的, 可以从中选择一个子系统作为
本次大作业, 建议选题为, 材料供应库存子系统,
? 教学站 5~ 10人的, 可以从中选择两个子系统作为
本次大作业, 建议选题为, 材料供应库存子系统,
与, 建筑施工,
? 教学站 10~ 15人的, 可以从中选择三个子系统作
为本次大作业, 建议选题为, 材料供应库存子系
统, 与, 建筑施工,,, 财务管理,
? 教学站 15人以上的, 必须全部选四个部分的内容 。
?