软件工程学概述
软件工程学的一个重要目标就是提高软件的可维护性,减少软件维护的代价。
软件=程序+数据+文档
1.1软件危机
定义:软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含两方面问题:
1、如何开发软件,以满足对软件日益增长的需求;
2、如何维护数量不断膨胀的已有软件。
软件危机的典型表现:
对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生
软件产品的质量往往靠不住
软件常常是不可维护的
软件通常没有适合的文档材料
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势
产生软件危机的原因:
一方面与软件本身的特点有关
另一方面也和软件开发和维护的方法不正确有关。
消除软件危机的途径:(课本P4)
1.2软件工程
软件工程是指导计算机软件开发和维护的一门工程学科。
典型定义:
1、软件工程是为了经济的获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。
2、软件工程是a.把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件b.研究a中提到的途径。
本质特性:
软件工程关注于大型程序的构造
软件工程的中心课题是控制复杂性
软件经常变化
软件开发的效率非常重要
和谐的合作是开发软件的关键
软件必须有效的支持他的用户
在软件工程领域中通常由具有一种文化背景的人替具有另一种文化