1 第一章 概述 1
IEEE为软件下的定义是:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据的完整集合 2
程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列
文档是软件开发活动的记录,主要供人们阅读,既可用于专业人员和用户之间的通信和交流,也可以用于软件开发过程的管理和运行阶段的维护
软件的特点: ·软件是一种逻辑产品,无法看到软件本身的形态
·软件产品的生产主要是开发研制,没有明显的制造过程
·软件产品在使用过程中,不存在磨损、消耗、老化等问题
·软件产品的开发主要是脑力活动,还未完全摆脱手工开发方式,大部分产品是“定做的”,生产效率低
·软件产品的成本昂贵,软件费用不断增加
·软件对硬件和环境有不同程度的依赖性
·软件是复杂的
软件的分类: ·传统意义上从计算机系统角度看,软件分为两大类:系统软件和应用软件
·从计算机软件用途来划分三类,大致分为服务类、维护类和操作管理类
软件危机(重点): ·如何开发软件以满足软件日益增长的需求 ·如何维护数量不断增长的已有软件
软件危机表现形式: ·对软件开发成本和研制进度的估计常常很不精确
·“已完成”的软件不能满足用户的要求
·软件产品质量差,可靠性得不到保证
·软件产品可维护性差 ·软件成本在计算机系统总成本中所占的比例逐年上升
·软件开发生产率提高的速度远远跟不上计算机应用速度普及深入的趋势
产生软件危机的原因 ·软件是计算机系统中的逻辑部件
·软件开发的管理困难
·软件开发费用不断增加,维护费用急剧上升 ·软件开发技术落后
·生产方式落后 ·开发工具落后,生产效率缓慢 9
解决软件危机途径 ·对计算机软件有正确认识,清除“软件是程序”的错误观念 ·使用好的开发技术和方法,并且要不断研究探索更好更有效的技术和