首页 理论教育 软件定义与软件特点

软件定义与软件特点

时间:2023-02-28 理论教育 版权反馈
【摘要】:国际标准中对计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。软件在开发、生产、维护和使用等方面与计算机硬件相比存在明显的差异。深入理解软件的定义需要了解软件的特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。应用软件是为解决特定领域的应用而开发的软件。如计划进度管理工具软件、过程控制工具软件、质量管理及配置管理工具软件等。

3.1.1 软件定义与软件特点

计算机软件(Software)是计算机系统与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。数据是使程序能正常操纵信息的数据结构。文档是与程序开发、维护和使用有关的图文资料。可见,软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的与软件开发、运行、维护、使用等有关的文档。

国际标准(GB)中对计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

软件在开发、生产、维护和使用等方面与计算机硬件相比存在明显的差异。深入理解软件的定义需要了解软件的特点:

①软件是一种逻辑实体,而不是物理实体,具有抽象性。软件的这个特点使它与其他工程对象有着明显的差异。人们可以把它记录在纸上或存储在介质上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。

②软件的生产与硬件不同,它没有明显的制作过程。一旦研制开发成功,可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下功夫。

③软件在运行、使用期间不存在磨损、老化问题。软件虽然在生存周期后期不会因为磨损而老化,但为了适应硬件、环境以及需求的变化要进行修改,而这些修改又会不可避免的引入错误,导致软件失效率升高,从而使得软件退化。

④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题。

⑤软件复杂性高,成本昂贵。软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其他领域的专门知识。软件开发需要投入大量、高强度的脑力劳动,成本高,风险大。

⑥软件开发涉及诸多的社会因素。许多软件的开发和运行涉及软件用户的机构设置、体制问题以及管理方式等,甚至涉及到人们的观念和心理,软件知识产权及法律等问题。

软件根据应用目标的不同,是多种多样的。软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。应用软件是为解决特定领域的应用而开发的软件。例如,事务处理软件、工程与科学计算软件、实时处理软件、嵌入式软件、人工智能软件等应用性质不同的各种软件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。如操作系统、编译程序、汇编程序、网络软件、数据库管理系统等。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件、设计工具软件、编码工具软件、测试工具软件、维护工具软件等,也包括辅助管理人员控制开发进程和项目管理的工具软件。如计划进度管理工具软件、过程控制工具软件、质量管理及配置管理工具软件等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈