族谱网 头条 人物百科

软件

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:522
转发:0
评论:0
编程语言以最低级的角度来看,可执行文件中包括了针对特定微处理器(一般会是CPU)的机器码,机器码包括了一连串二进制的数值,使处理器从目前的状态变换到下一个状态。例如指令可能会修改电脑内一特定位置中的数值,其效果是用户无法直接观测到的,指令也可能让屏幕上显示特定数据,这种状态变换是用户可以看到的。处理器会依照顺序处理收到的指令,不过处理器的处理也可能受到中断,或是因为流程控制指令而改变其要处理的指令。机器码是许多二进制的数值,不方便工程师阅读及开发程序,因此有汇编语言,将机器码转换为人可以看懂的助记符。不过现在多半的软件是用高级语言撰写,比较类似自然语言,对人类而言比机器码或汇编语言要简单,方便人类使用。高级语言一般会用直译或编译的方式,将软件的源代码转换为机器码。源代码是指以编程语言所撰写的一系列人类可阅读的电脑指令,以实现出软件的行为和功能。软件分类一個說明電腦中作業系統及應用軟體層次的...

编程语言

以最低级的角度来看,可执行文件中包括了针对特定微处理器(一般会是CPU)的机器码,机器码包括了一连串二进制的数值,使处理器从目前的状态变换到下一个状态。例如指令可能会修改电脑内一特定位置中的数值,其效果是用户无法直接观测到的,指令也可能让屏幕上显示特定数据,这种状态变换是用户可以看到的。处理器会依照顺序处理收到的指令,不过处理器的处理也可能受到中断,或是因为流程控制指令而改变其要处理的指令。

机器码是许多二进制的数值,不方便工程师阅读及开发程序,因此有汇编语言,将机器码转换为人可以看懂的助记符。不过现在多半的软件是用高级语言撰写,比较类似自然语言,对人类而言比机器码或汇编语言要简单,方便人类使用 。高级语言一般会用直译或编译的方式,将软件的源代码转换为机器码。

源代码是指以编程语言所撰写的一系列人类可阅读的电脑指令,以实现出软件的行为和功能。

软件分类

软件

一個說明電腦中作業系統及應用軟體層次的示意圖,圖中的箭頭表示資訊流動方向。

软件的分类方式有很多种,可以依软件的目的分为以下几种:

系统软件

系统软件负责管理计算机系统中各种独立的硬件,使得它们可以协调工作,提供基本的功能,并为正在运行的应用软件提供平台 。系统软件使得计算机用户和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。而各个硬件工作的细节则由驱动程序处理。

一般来说,系统软件包括操作系统(例如BeOS、BSD、DOS、Linux、Mac OS、OS X、iOS、OS/2、QNX、Unix、Windows等)和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,操作系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。

应用软件

应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。

较常见的有

文字处理软件如WPS Office、Microsoft Office、LibreOffice、Google Docs

信息管理软件如Oracle Database数据库、SQL Server数据库

辅助设计软件如CATIA、NX、AutoCAD

程序设计软件

实时控制软件

教育与娱乐软件

图形图像软件如Adobe Photoshop、CorelDRAW、painter、GIMP、MAYA、Softimage、3DS MAX、Blender、xsi、lightwave、cineme 4d、Houdini、Krita

后期合成软件如Adobe After Effects、combustion、digital fusion、shake、flame

网页浏览软件如Internet Explorer、Firefox、Chrome、Safari、Opera、Konqueror

网络通信软件如ICQ、Windows Live Messenger、UUcall、Skype、Yahoo! Messenger、QQ、AOL Instant Messenger

影音播放软件如MPlayer、RealPlayer、GOM Player、WMP、暴风影音、风雷影音

音乐播放软件如Winamp、Foobar2000、千千静听、酷我音乐、酷狗音乐

下载管理软件如Orbit、IDM、迅雷、快车、QQ旋风

电子邮件客户端如Windows Live Mail、Outlook Express、Foxmail、ThunderBird、Dreammail、KMail

信息安全软件如360安全卫士、360杀毒、德国小红伞、卡巴斯基、PC-cillin、诺顿杀毒、BitDefender、瑞星杀毒、金山毒霸、PSA密码管理软件

虚拟机软件如VMware、VirtualBox、Microsoft Virtual PC

输入法软件如谷歌拼音输入法

恶意软件

恶意软件是发展到危害和破坏计算机的计算机软件,因此,恶意软件是不受欢迎的。恶意软件与计算机相关的犯罪相关系,尽管一些恶意程序可能被设计为用于恶作剧。

软件相关主题

软件架构

用户常会看到一些程序设计者不会注意的事物。使用现代通用型电脑(相对于嵌入式系统、类比电脑或超级电脑)的用户常会用以下三层的软件架构来进行不同的任务:系统平台、应用程序及用户软件。

系统平台:系统平台包括固件、驱动程序、操作系统,可能也包括图形用户界面,其目的是让用户可以和电脑和其周边交互。系统平台常会随着电脑一起提供,一般而言在个人电脑上,可以更换其系统平台。

应用软件:应用软件也就是大部分用户认为的软件,常见的例子包括办公室套件及游戏等。应用软件一般会和硬件分开来贩售,偶尔会和硬件一起贩售。应用软件多半是独立于系统平台的软件,只是在设计时仍会针对某些特定的系统平台开发,有些人则将像编辑器、数据库等“系统软件”也视为是应用软件。

用户撰写的软件: 终端用户开发 ( 英语 : End-user development ) 目的是让软件匹配用户等特定的需求,一般包括电子表格及文字处理器的范本或宏,甚至连邮件的过滤器也可以视为是一种用户撰写的软件。依照用户撰写的软件集成到默认应用软件的程度不同,其他用户可能不会知道哪些是应用软件原有的机能,哪些是用户扩充的机能。

软件运行

软件在加载到电脑的数据存贮器(例如硬盘或内存)后,电脑就可以运行该软件。“运行”指的是将指令集由软件移到电脑硬件中,硬件会处理指令集对应的机器码。每一个指令都会让电脑运行特定的动作,包括搬移数据、运行运算或是改变控制流程。

数据搬移一般会由内存的一个位置移到另一个位置,有时数据搬移会用到中央处理器中允许较快速数据处理的寄存器。大量的数据搬移会用去不少的系统资源,因此有时会用“指针”来处理数据。运行运算的范围很广,简单的可以包括将某位置的数据加一,复杂的可能包括许多数据及对应的处理。

软件的运行多半是一个指令接一个指令的循序进行,但有时会需要改变软件中指令运行的顺序,例如有可以使某一段程序运行数次的循环,或是依特定条件运行两段程序中的一段的分支指令,甚至是可以运行子程序,运行完成后再回到原来程序,而有些语言也支持无条件的跳跃指令。

软件可以以许多不同的方式运作,包括可执行文件、源代码、脚本及 电脑配置 ( 英语 : computer configuration ) 。

质量及可靠度

软件的质量有一定的重要性,尤其在像Microsoft Office、Microsoft Windows及Linux等商用软件或系统软件更是如此。若软件无法正确运行,可能会删除用户工作的成果,使电脑死机或是出现其他无预期的情形,这类情形称为程序错误,俗称bug。软件也会受到 软件退化 ( 英语 : software aging ) 的影响,也就是因为许多未发现的程序错误造成的性能退化。借由软件测试可以找出并消除许多的程序错误,不过软件测试很少可以完全消除程序错误。很多大型的软件公司,例如微软、Novell及太阳微系统等,会有专门的软件测试部门,其主要工作就是测试软件。软件可以用单元测试、回归测试及其他方式进行测试。测试可能用人工进行,若是大型的程序,更常见的是用电脑自动测试。像NASA就针对其操作系统及其通信程序有特别严谨的测试流程。

使用许可

不同的软件一般都有对应的软件授权,软件的用户必须在同意所使用软件的许可证的情况下才能够合法的使用软件。从另一方面来讲,特定软件的许可条款也不能够与法律相抵触。

依据许可方式的不同,大致可将软件区分为几类:

专属软件:此类授权通常不允许用户随意的复制、研究、修改或散布该软件。违反此类授权通常会有严重的法律责任。传统的商业软件公司会采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护。

自由软件:此类授权正好与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用,仅给予些许的其它限制。以Linux、Firefox和OpenOffice可做为此类软件的代表。

共享软件:通常可免费的获取并使用其试用版,但在功能或使用期间上受到限制。开发者会鼓励用户付费以获取功能完整的商业版本。

免费软件:可免费的获取和散布,但并不提供源码,也无法修改。

公共软件:原作者已放弃权利,著作权过期,或作者已不可考的软件。使用上无任何限制。

专利

有些国家可以申请软件专利,有些国家不行,而是用著作权的观点保护软件 。不过在软件产业中,软件专利是个争议性高的议题,各方人士有不同的立场。 软件专利争议 ( 英语 : Software patent debate ) 的主要争议点是在软件专利中,受保护不得复制的部分是其算法还是其用到的技术。

软件开发

软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程,其中可能可能包括研究、新的开发工作、修改、复用、重新设计(再工程)、维护,或者任何最终获得软件产品的其他活动 。

软件开发过程是指软件从起始到完成过程中如何进行计划、控制和监控的模型。有以下不同的几种:

瀑布模型:依需求分析,设计,实现,测试 (确认), 集成,和维护这样的步骤依序进行。

迭代式开发:将开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。在每一次迭代中进行需求分析、设计、实现与测试。

敏捷软件开发:应对快速变化需求的软件开发方式,强调设计师团队与业务专家之间的协作、面对面的沟通、频繁交付软件版本、适应变化的代码编写等特点。

极限编程:敏捷软件开发的一种,引入基本价值、原则、方法等概念来达到降低变更成本的目的,其的主要目快速应用程序开发

快速应用程序开发,以最小幅度的规划并迅速地将原形完成的软件发展方法论,其软件开发的规划是和撰写软件本身交错同时进行。

螺旋模型:兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格监控,并且加入了其他模型不具备的 风险分析 ( 英语 : risk analysis ) ,使软件在无法排除重大风险时有机会停止,以减小损失。

编程工具

编程工具软件是指软件开发人员用来创建,调试,维护,或以其他方式支持的软件程序或应用程序的形式。软件由一种或多种编程语言所写成。现在存在有很多种编程语言,并且每种都具有至少一种编写的方式,其中包括它自己的一套编程工具。这些工具包含相对独立自足的程序,如编译器,调试器,解释器,链接器和文本编辑器,可以结合共同完成一个任务,很像一个人可以使用多个手握工具来固定一个物理对象。这套工具也有可能是一个集成开发环境(IDE ) ,它结合了许多这种工具或它们的全部功能。无论是通过调用程序员等有关人士的工具,或通过以一种新的方式重新实现它们的功能,IDE可以做到这一点。几乎所有的编程语言为编写提供了使用单独的工具,而不是一个IDE,因为有些程序员由于各种原因不喜欢使用IDE,或是因为IDE通常需要更长的时间才能发展形成一个可接受的标准,而不是一个个人工具。事实上,最初,新的编程语言通常不会有提供他们​​的IDE 。

产业及组织

软件产业是由许多软件公司及程序设计者所组成的产业,其性质较类似服务业。由于其产业特性,毛利率较其他产业要高 。软件产业的获利相当高,像微软的创始人比尔·盖茨就因为销售Microsoft Windows及Microsoft Office而数次成为美国首富 。不过随着时代的变化,软件产业的分工及专业化也越来越细。例如电子游戏产业及办公室软件都属于软件产业,而两者就有不少的差异。

有许多非营利的软件组织,例如自由软件基金会、GNU计划及Mozilla基金会。像万维网联盟(W3C)及互联网工程任务组(IETF)等组织发展许多软件标准,因此不同的软件可以借由这些标准互相沟通,这种标准包括例如XML、HTML、HTTP及FTP等。

其他著名的软件公司有Google、Novell、SAP、Symantec、Adobe Systems、Corel,不过其中也有许多小公司有一些创新的产品。

外部链接

参见

计算

计算机

计算机科学

计算机程序设计

程序设计语言

源代码

软件工程

算法

信息业

数据结构

软件开发过程

软件开发工具

软件优化

数字图像处理

计算机图形学

办公自动化

计算机网络

数据库

电子表格

密码学

Wiki

博客

操作系统

软件许可证

开放源代码

自由软件

专属软件

鸦片软体

免费软体

绿色软件

计算机软件列表

软件生命周期

软件版本周期


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱

相关资料

展开
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 修谱软件中在线修谱软件有哪些?
俗语说:木有本,水有源。寻根问祖,追本溯源,乃为人之本。族谱作为中华民族的三大文献(国史,地志,族谱)之一,属珍贵的人文资料,对于历史学、民俗学、人口学、社会学和经济学的深入研究,均有其不可替代的独特功能。然而,传统修谱,工程浩大,头绪纷繁,耗资甚巨。包括不少民间族老在内,人们普遍意识到:现代社会,人口流动性加大,民间宗族力量弱化,以往修谱模式实施将日益艰难,族谱文化很可能面临难以为继的窘况。随着网络和信息化的发展,查修家谱也开始顺应这一新形式,由以往的纸质家谱开始向数字化家谱过渡。数字化就是将人类生活各个领域的各种信息转变为可以度量的数字、数据,再以这些数字、数据建立起适当的数字化模型,把它们转变为一系列二进制代码,引入计算机内部,进行统一处理的过程。族谱实质上也是一种传媒手段,现代社会已经进入数字电子时代,家谱也应与时俱进,实现数字化,采用计算机技术,将传统的平面纸质谱牒文字、图像、语...
· 修谱软件中在线修谱软件有哪些?
俗语说:木有本,水有源。寻根问祖,追本溯源,乃为人之本。族谱作为中华民族的三大文献(国史,地志,族谱)之一,属珍贵的人文资料,对于历史学、民俗学、人口学、社会学和经济学的深入研究,均有其不可替代的独特功能。然而,传统修谱,工程浩大,头绪纷繁,耗资甚巨。包括不少民间族老在内,人们普遍意识到:现代社会,人口流动性加大,民间宗族力量弱化,以往修谱模式实施将日益艰难,族谱文化很可能面临难以为继的窘况。随着网络和信息化的发展,查修家谱也开始顺应这一新形式,由以往的纸质家谱开始向数字化家谱过渡。数字化就是将人类生活各个领域的各种信息转变为可以度量的数字、数据,再以这些数字、数据建立起适当的数字化模型,把它们转变为一系列二进制代码,引入计算机内部,进行统一处理的过程。族谱实质上也是一种传媒手段,现代社会已经进入数字电子时代,家谱也应与时俱进,实现数字化,采用计算机技术,将传统的平面纸质谱牒文字、图像、语...
· 免费软件
判断准则软件授权免费软件以免费方式给予授权,可能是不限时间可用全部功能;或是仅具备部分基本功能,但同时提供有全部功能的商业版;亦或是共享软件。与自由软件准许使用者使用、复制、散布、修改并创作该软件著作之衍生作品,或撷取软件源码等不同,免费软件作者通常会限制软件仅能以特定方式使用,例如仅供个人使用、仅供私下使用、非商业使用、不得以此牟利、仅用于学术用途、仅用于教育用途、仅供慈善团体或人道主义团体使用、不得用于军事用途、用于公家机关,或各种限制的任何形式组合,举例来说,授权形式可能是“私人使用免费,不得用于商业用途”。软件授权也可能施予其他使用限制,例如限制在网络上使用、限制在服务器上使用、限制与某些软件或某种硬件结合使用、禁止在网络上散布软件,仅能提供作者网站链接、不得未经作者同意便散布软件、限制复本拷贝数目等等。与其他软件授权形式之关联免费软件不应与自由软件或自由及开放源代码软件混为一谈。...
· 软件测试
测试的进程Alpha测试Alpha测试通常是阶段性的开发完成后所开始进行,一直持续到进入Beta测试阶段前的阶段。Alpha测试是一种验证测试,在模拟的环境中以模拟的数据来运行。在这个阶段中,通常是在开发单位由开发人员与测试的测试人员,以模拟或实际操作性的方式进行验证测试。Beta测试在系统测试中通常先进行Alpha测试以验证信息系统匹配用户以及设计需求所期望的功能。当Alpha阶段完成后,开发过程进入到Beta阶段,由公众参与的测试的阶段。Beta测试可称为确认测试,在一个真实的环境中以实际的数据来运行测试,以确认性能,系统运行有效率,系统撤消与备份作业正常,通过测试让信息系统日后可以更趋完善。封测与公测封闭测试(ClosedBeta,常简作封测或CB)是软件或服务等产品在开发完成后、将公开上市前的测试过程。相对于公开测试,封闭测试的主要用途是测试软件的功能和检查程序错误等等,因此通常只...
· 软件包
对于Linux、BSD系统在Linux、BSD系统中,软件包主要以两种形式出现:二进制包以及源代码包。二进制包rpm:传统的redhatlinux二进制包。deb:debian系列的二进制包。Autopackage源码包管理源代码包则主要适用于自由软件的安装,用户需要自己编译它们。portage:gentoo的包管理工具。对于Windows系统在Windows中,软件包大多数以安装程序的方式出现,可以将软件安装在制定的目录中,也有直接使用压缩工具打包的,解压缩之后便可运行。

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信