2.1软件的特性
软件的概念:
错误观点:软件就是程序,软件开发就是编写程序
软件是计算机系统中硬件相互依存的另一部分,它是包括程序,数据以及相关文档的完整集合
程序是按事先设计的功能和性能要求执行的指令序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料
形态特性:软件是无形的,不可见的逻辑实体,度量常规的几何尺寸,物理性质和化学成分对它却是毫无意义的。
智能特性:软件是复杂的智力产品,他的开发凝聚了人们的大量脑力劳动,它本身也体现了知识实践经验和人类的智慧,具有一定的智能。它可以帮助我们解决复杂的计算,分析,判断和决策的问题。
开发特征:尽量已经有了一些工具(也是软件)来辅助软件开发工作,但到目前为止尚未实现自动化。软件开发中依然包含了相当分量的个体劳动,使得这一大规模知识型工作充满了个人行为和个人因素。
质量特征:软件是由人编写的,由于开发特征存在,所以不存在完全没有缺陷的软件
生产特征:与硬件或传统的制造业产品的生产不同,软件一旦设计出来,如果需要提供多个用户,它的复制十分简单,其成本也极为有限
管理特性:由于上面的特性存在,所以软件过程中的管理显的更为重要,相比传统行业,也更为独特
环境特征:软件的开发和运行都离不开相关的计算机系统环境,包括支持它的开发和运行的相关硬件和软件,软件对于计算机系统的环境有着不可摆脱的依赖性
维护特性:软件投入使用以后需要进行维护,但这种维护与传统产业产品的维护概念有些很大的差别,维护体现在升级,优化,功能更新等方面,甚至可以全盘重构
废弃特性:与硬件不同,软件并不是由于被“用坏”而被废弃的
应用特性:软件的应用极为广泛,如今它已进入国民经济和国防的各个领域,现已成为信息产业,先进制造业和现代服务业的核心,占据了无可取代的地位