首页 > 试题广场 >

程序和软件有何不同?

[问答题]

1、概念不同。

应用程序(application software或 application Program)是计算机软件的主要分类之一,是指为针对用户的某种特殊应用目的所撰写的软件。

应用程序在分类上也比较多,系统应用程序,桌面应用程序,驱动应用程序,网络应用程序,手机应用程序,物联网应用程序等。

根据《软件工程:实践者的研究方法》中的定义,软件(software)是一系列按照特定顺序组织的计算机数据和指令,是计算机中的非有形部分。计算机中的有形部分称为硬件,由计算机的外壳及各零件及电路所组成。

软件由一个或多个应用程序组合而成,分类上有编程语言、系统软件、恶意软件,嵌入式软件,游戏软件,应用软件和介于这两者之间的中间件。    

系统软件就是常见的操作系统,Windows,Mac OS,Linux都是操作系统软件。

应用软件是需要运行在操作系统上的软件,比如常见的文档处理软件,图像处理软件,编程软件等。

恶意软件会故意造成隐私或机密数据外泄、系统损害(包括但不限于系统崩溃等)、数据丢失等故障及信息安全问题。

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。

软件包括所有在计算机运行的程序,和其架构无关,例如可执行文件、库及脚本语言都属于软件。软件不分架构,有其共通的特性。 

应用程序只是软件的一部分,而软件的概念及其广泛,不是只有应用程序。

2、功能不同

软件由多个应用程序组合而成,功能及其复杂,比如常见的office 软件,能做表格,做PPT,处理文档等功能。

而应用程序功能比较单一,只能处理一类工作。PPT只能用来处理幻灯片,没有办法处理复杂表格,想要录制音频需要调用office软件包里录制音频的应用程序。

3、开发难度不同。

软件的开发难度要比应用程序大得多,由于需要多个应用程序配合,而且需要在不同的操作系统平台上发布,都是用不同的编程语言混合开发而成 。

软件对性能有一定的要求,很少选择性能比较差的脚本语言开发,一般都是使用C++,Java这类编译型语言开发。

但编译型语言的问题是,有的语言设计不合理,历史积累,不够成熟等原因,造成开发起来较繁琐,调试比较困难,开发时间较长。因此一个功能完整的软件开发起来通常需要几年才能完成。

最常见的游戏软件就是如此,很多游戏软件的游戏引擎都是C++,C#这种编译型语言开发(有现成的也需要二次开发),也是整个游戏的灵魂,开发难度也是最大的。

而游戏的动作,事件等则选择LUA,JavaScript或者Python这些脚本语言开发。很多游戏大作都是跨平台的,开发周期最少的都在1年以上。

应用程序的功能相对比较单一,遇到的业务场景也不会很复杂。通常开发一个功能完善的应用程序,只需要几个月时间,复杂的应用程序最多1-2年就能完成。

应用程序通常对性能的需求没有软件那么大,很多解释型的脚本语言也可以开发。开发一个移动端手机应用程序(web应用程序),功能不算很复杂,开发周期都不长。通常一个完整的web应用程序,会分为客户端和服务端两部分。

发表于 2020-03-14 10:23:42 回复(0)
软件=程序+文档+数据
发表于 2018-11-08 19:05:28 回复(0)
程序是指为了实现某项或几个任务运行在计算机操作系统之上的计算机程序;软件是包含有程序及其相关文档或者附属文件的集合。
发表于 2018-10-27 10:49:19 回复(0)