首页 > 编程知识 正文

软件工程概念的出现源自软件危机,软件工程是为了解决软件危机而产生的

时间:2023-05-03 22:58:28 阅读:200260 作者:2222

1.1软件危机与软件工程的起源 1.1.1 计算机系统的发展历程

早期(20世纪60年代中期以前):
1.规模较小,为每个具体应用而专门编写;
2.个体化软件开发方法:程序的编写者和使用者往往是同一个(或同一组)人;
3.程序编写起来相当容易,没有系统化的方法,没有任何管理;
4.个体化的软件环境,过程模糊,只有程序清单没有其他文档资料保存下来。
第二代(20世纪60年代中期到70年代中期):
1.人—机交互的新概念:多道程序、多用户系统;
2.实时系统,进程控制:能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行;
3.第一代数据库管理系统的出现—在线存储技术。
4.软件作坊,使用产品软件:基本上仍然沿用早期形成的个体化软件开发方法。
软件危机的出现

1.1.2 软件危机介绍

软件危机是指在计算机软件的开发和维护过程中所遇到的一洗脸严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的。实际上,几乎所有软件都不同程度地存在这些问题。
软件危机包含两方面的问题:
1.如何开发软件,以满足对软件日益增长的需求;
2.如何维护数量不断膨胀的已有软件。

软件危机的特征表现
1.对软件开发成本进度的估计常常很不准确。
2.用户对“已完成的”软件系统不满意的现象进场发生。
3.软件产品的质量往往靠不住。
4.软件常常是不可维护的。(可重用的软件)。
5.软件通常没有适当的文档资料。
6.软件成本在计算机系统总成本中所占的比例逐年上升。
7.软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。(供不应求
8. …

软件危机的主要特征
1.软件开发的周期大大超过规定日期;
2.软件开发成本严重超标;
3.软件质量难于保证。

1.1.3 产生软件危机的原因

在软件开发和维护的过程中存在这么多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

1.客观原因:软件本身的特点
① 逻辑部件:管理和控制软件开发工程相当困难,较难维护。
② 规模庞大:代码长度不正比程序复杂程度。

2.主观原因:软件开发与维护的方法不正确
软件专业人员错误的认识,没有认识代软件的生命周期,采用错误的方法和技术,忽视软件需求分析的重要性,认为软件开发就是编写程序使之运行。(对用户要求没有完整准确的认识就匆忙着手编写程序)

生命周期:软件从定义、开发、使用和维护,直达最终别废弃的时期。

注意
1.必须清除只重视程序而忽视软件配置其余成分的糊涂观念
2.做好软件定义时期的工作,是降低软件成本提高软件质量的关键
3.严重的问题是,在软件开发的不同阶段进行修改需要付出的代价是很不相同的,轻视维护是一个最大的错误。维护是极端艰巨复制的工作,需要花费很大代价。统计数据表明。实际上用于软件维护的费用占软件总费用的55%~70%。软件工程学的一个重要目标就是提高软件的可维护性,减少软件维护的代价。

1.1.4 消除软件危机的途径

首先对计算机软件有一个正确的认识:
软件不等于程序
软件 = 程序 + 数据 + 相关文档
程序: 能够完成预定功能和性能的可执行的指令序列。
数据: 使程序能够适当地处理信息的数据结构。
相关文档: 开发、使用和维护程序所需要的图文资料。
== 软件:==计算机程序方法。相关的文档资料以及在计算机上运行程序所必需的数据。
其次是必须充分认识到软件开发不是个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。

1.技术措施
使用更好的软件技术、开发工具。
2.组织管理措施
① 创造良好的组织、严密的管理与协调工作的机制软件开发不是某个个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
② 摆脱软件危机的主要出路是,按工程化的原则和方法组织软件的开发工作。
③ 强调文档的重要性。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。