计算机的软件和程序是一回事吗

计算机的软件和程序是一回事吗,第1张

计算机软件是计算机系统中程序和文档的总称。程序是对计算任务的处理对象和处理规则的描述,文档是为了便于了解程序所需的说明性的资料,如设计说明书、用户指南等等。程序必须装入计算机内才能工作,文档一般是给人看的,不一定要装入机器。

在科技飞速发展的21世纪,计算机在工作和生活上都给我们带来了很大的便利。计算机软件和程序是我们经常会提到的两个词,那你知道它们到底是什么,又有什么关系吗?下面我们就来说一说。

详细内容01

我们经常提到“软件”和“程序”这两个词,例如我获得了一个新“软件”,我编的程序还要调试,某一绘图软件功能很强,某个绘图程序在我的计算机上不能启动,等等。这就涉及“软件”和“程序”这两个概念。

02

任何以计算机作为处理工具的任务都是计算任务,程序的处理对象是数据(如数字、文字、图形、图像、声音等等)或信息(以数据作载体,具有确定的含义内容)。处理规则是用来处理数据或信息的动作和步骤,如算术运算、逻辑运算、关系运算、函数运算以及顺序、判断、循环等各种动作和步骤。程序是程序设计中最基本的概念,也是软件中最基本的概念。程序是软件的主要组成部分,又是软件的研究对象,程序的质量决定了软件的质量,程序装入机器后的实际工作过程称为程序的执行。衡量程序的质量,除对程序结构进行静态考察外,还必须考察其执行过程。

03

计算机软件是计算机系统中程序和文档的总称。程序是对计算任务的处理对象和处理规则的描述,文档是为了便于了解程序所需的说明性的资料,如设计说明书、用户指南(使用手册)等等。程序必须装入计算机内才能工作,文档一般是给人看的,不一定要装入机器。

04

软件一词来源于程序。到了20世纪60年代初期,人们逐渐认识到和程序有关的文档的重要性,软件一词便出现了。

05

软件是用户与计算机硬件的接口界面。要使用计算机,就必须编制程序,必须有软件。用户主要是通过软件与计算机打交道。软件按功能可分为系统软件、支撑软件、应用软件三类,它们构成计算机系统中的软件总体,在不同的层次和场合发挥自己的功能。

软件和程序有时候其实分别不大,大部分软件都只有一个程序,比如一个exe文件。

程序通常指的是软件执行过程,比如读取一个文件,处理以后写到另一个文件里,称之为程序。而可以运行这个指令序列的东西称之为软件。

1、概念不同。

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

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

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

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

系统软件就是常见的 *** 作系统,Windows,MacOS,Linux都是 *** 作系统软件。

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

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

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

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

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

2、功能不同

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

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

3、开发难度不同。

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

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

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

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

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

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

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

客户端软件技术选型上,常用ReactNative或者flutter(IOS有自己的一套UI),服务端软件一般常用C++、Java、PHP、Python、Ruby等编程语言开发,通常都会同时在安卓和IOS平台上发布。

参考资料来源:百度百科——应用软件 

参考资料来源:(美) Rosger S Pressman著,《软件工程:实践者的研究方法(原书第六版)》第一章


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12016857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存