程序(program)
按照事务先设计的功能和性能要求执行的指令序列
数据(data)
程序能正常操纵信息的数据结构
文档(document)
与程序开发、维护和使用相关的图文资料
软件危机(software crisis )
在计算机软件的开发和维护过程中遇到的一系列严重问题
软件危机的表现
(1)对软件开发成本和进度的估计常常很不准确 成功率
(2)用户对“已完成的”软件系统不满意的现象经常发生
(3)软件产品的质量往往靠不住
(4)软件常常是不可维护的
(5)软件通常没有适当的文档资料
(6)软件成本在计算机系统成本中所占的比例逐年上升 成本比例
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
软件的特点
(1)软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性
(2)软件的生产与硬件不同,在它的开发过程中没有明显的制造过程
(3)在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题,但会产生退化
消除软件危机的途径
(1)正确认识计算机软件
(2)充分认识到软件开发是一种组织良好、管理严密、各类人员协同工作的工程项目
(3)推广使用在实践中总结出来的开发软件的成功的技术和方法
(4)开发和使用更好的软件工具