软件(中国大陆及香港用语,台湾称作软体,英文:software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体,例如入户安检软件、管线巡检软件等。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。
完整的计算机系统由两部分组成,即计算机的硬件系统和软件系统。
计算机软件(computer software)指计算机系统中除硬件以外的所有事物,一般包括计算机程序、程序说明以及其他资料等。
软件的正确含义应该是:
(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
(2)程序能够满意地处理信息的数据结构。
(3)描述程序功能需求以及程序如何操作和使用所要求的文档。
软件具有与硬件不同的特点:
(1)表现形式不同
硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。
(2)生产方式不同
软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
(3)要求不同
硬件产品允许有误差,而软件产品却不允许有误差。
(4)维护不同
硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。