8.3.1 软件
2025年09月21日
8.3.1 软件
《IEEE Standard Glossary of Software Engineering Terminology》给出了有关软件的如下定义:软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。其中:①计算机程序是计算机设备可以接受的一系列指令和说明,为计算机执行提供所需的功能和性能;②数据是事实、概念或指令的结构化表示,能够被计算机设备接受、理解或处理;③文档是描述程序研制过程、方法及使用的图文材料。
软件的特点
(1)软件是一种逻辑实体,而不是物理实体,具有抽象性;
(2)软件的生产与硬件不同,它没有明显的制作过程;
(3)软件在运行、使用期间不存在磨损、老化问题;但为了适应硬件、环境以及需求的变化要进行修改,会导致一些错误的引入,导致软件失效率升高,从而使得软件退化;
(4)软件的开发、运行对计算机系统具有依赖性,受到计算机系统的限制,这导致了软件移植的问题;
(5)软件复杂性高,成本昂贵。软件开发需要投入大量、高强度的脑力劳动,成本高,风险大;
(6)软件开发涉及诸多的社会因素。许多软件的开发和运行涉及软件用户的机构设置,体制问题以及管理方式等,甚至涉及人们的观念和心理,软件知识产权及法律等问题。