软件(按照特定顺序组织的计算机数据和指令的集合)_百度百科


本站和网页 https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6/12053 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

软件(按照特定顺序组织的计算机数据和指令的集合)_百度百科
百度首页
网页
新闻
贴吧
知道
网盘
图片
视频
地图
文库
百科
进入词条
全站搜索
帮助
清除历史记录关闭
近期有不法分子冒充百度百科官方人员,以删除词条为由威胁并敲诈相关企业。在此严正声明:百度百科是免费编辑平台,绝不存在收费代编服务,请勿上当受骗!详情>>
首页
历史上的今天
百科冷知识
图解百科
秒懂百科
懂啦
秒懂本尊答
秒懂大师说
秒懂看瓦特
秒懂五千年
秒懂全视界
特色百科
数字博物馆
非遗百科
恐龙百科
多肉百科
艺术百科
科学百科
用户
蝌蚪团
热词团
百科校园
分类达人
百科任务
百科商城
知识专题
权威合作
合作模式
常见问题
联系方式
下载百科APP
个人中心
软件是一个多义词,请在下列义项上选择浏览(共3个义项)
展开
收起
添加义项
▪按照特定顺序组织的计算机数据和指令的集合
▪中国电子学会主办国际期刊
▪2008年武汉大学出版社出版的图书
软件
[ruǎn jiàn]
播报
编辑
锁定
讨论
上传视频
特型编辑
按照特定顺序组织的计算机数据和指令的集合
收藏
查看我的收藏
有用+1
已投票
本词条由“科普中国”科学百科词条编写与应用工作项目
审核
软件(中国大陆及香港用语,台湾称作软体,英文:software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。
中文名
软件
外文名
software
应用类别
系统软件、应用软件等
开发语言
Java、C/C++、Basic、python等
汉语拼音
ruǎn jiàn
注 音
ㄖㄨㄢˇ。ㄊㄧˇ
目录
定义
特点
分类
应用类别
授权类别
相关概念
开发流程
软件工程师
法律保护
著作权归属
载体
使用许可
生命周期
软件过程模型
常见的模型
开发语言
O语言
Java语言
易语言(E语言)
C/C++语言
习语言
Basic
PHP
Perl
Python
C#
JavaScript
Ruby
Fortran
Objective C
Pascal
Swift
统计数据
产业技术问题
软件定义
编辑
播报
软件,拼音为ruǎn jiàn,国标中对软件的定义为:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。其它定义:1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。2.程序能够满意地处理信息的数据结构。3.描述程序功能需求以及程序如何操作和使用所要求的文档。以开发语言作为描述语言,可以认为:软件=程序+数据+文档
软件特点
编辑
播报
1、无形的,没有物理形态,只能通过运行状况来了解功能、特性和质量2、软件渗透了大量的脑力劳动,人的逻辑思维、智能活动和技术水平是软件产品的关键3、软件不会像硬件一样老化磨损,但存在缺陷维护和技术更新4、软件的开发和运行必须依赖于特定的计算机系统环境,对于硬件有依赖性,为了减少依赖,开发中提出了软件的可移植性5、软件具有可复用性,软件开发出来很容易被复制,从而形成多个副本
软件分类
编辑
播报
软件应用类别
按应用范围划分,一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。系统软件系统软件为计算机使用提供最基本的功能,可分为操作系统和支撑软件,其中操作系统是最基本的软件。系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。1.操作系统是一管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让使用者与系统交互的操作接口。2.支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境(SDE)。它主要包括环境数据库、各种接口软件和工具组。著名的软件开发环境有IBM公司的Web Sphere,微软公司的等。包括一系列基本的工具(比如编译器、数据库管理、存储器格式化、文件系统管理、用户身份验证、驱动管理、网络连接等方面的工具)。应用软件系统软件并不针对某一特定应用领域,而应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。如今智能手机得到了极大的普及,运行在手机上的应用软件简称手机软件。所谓手机软件就是可以安装在手机上的软件,完善原始系统的不足与个性化。随着科技的发展,手机的功能也越来越多,越来越强大。不是像过去的那么简单死板,发展到了可以和掌上电脑相媲美。手机软件与电脑一样,下载手机软件时还要考虑你购买这一款手机所安装的系统来决定要下相对应的软件。手机主流系统有以下:Windows Phone、Symbian、iOS、Android。
软件授权类别
不同的软件一般都有对应的软件授权,软件的用户必须在同意所使用软件的许可证的情况下才能够合法的使用软件。从另一方面来讲,特定软件的许可条款也不能够与法律相违背。依据许可方式的不同,大致可将软件区分为几类:专属软件:此类授权通常不允许用户随意的复制、研究、修改或散布该软件。违反此类授权通常会有严重的法律责任。传统的商业软件公司会采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护。自由软件:此类授权正好与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用,仅给予些许的其它限制。以Linux、Firefox 和OpenOffice 可做为此类软件的代表。共享软件:通常可免费的取得并使用其试用版,但在功能或使用期间上受到限制。开发者会鼓励用户付费以取得功能完整的商业版本。根据共享软件作者的授权,用户可以从各种渠道免费得到它的拷贝,也可以自由传播它。免费软件:可免费取得和转载,但并不提供源码,也无法修改。公共软件:原作者已放弃权利,著作权过期,或作者已经不可考究的软件。使用上无任何限制。
软件相关概念
编辑
播报
软件开发流程
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件开发流程即Software development process。软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。1 相关系统分析员和用户初步了解需求,然后列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。2 系统分析员深入了解和分析需求,根据自己的经验和需求做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。3 系统分析员和用户再次确认需求。4 系统分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。5 系统分析员把写好的概要设计文档给程序员,程序员根据所例出的功能一个一个的编写。6 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。
软件软件工程师
一般指从事软件开发职业的人。软件工程师10余年来一直占据高薪职业排行榜的前列,作为高科技行业的代表,技术含量很高,职位的争夺也异常激烈。软件开发是一个系统的过程,需要经过市场需求分析、软件代码编写、软件测试、软件维护等程序。软件开发工程师在整个过程中扮演着非常重要的角色,主要从事根据需求开发项目软件工作。
软件法律保护
计算机软件作为一种知识产品,其要获得法律保护,必须具备以下必要条件:(一)原创性。即软件应该是开发者独立设计、独立编制的编码组合。(二)可感知性。受保护的软件须固定在某种有形物体上,通过客观手段表达出来并为人们所知悉。(三)可再现性。即把软件转载在有形物体上的可能性。
软件著作权归属
根据《计算机软件保护条例》第10条的规定,计算机软件著作权归属软件开发者。因此,确定计算机著作权归属的一般原则是“谁开发谁享有著作权”。软件开发者指实际组织进行开发工作,提供工作条件完成软件开发,并对软件承担责任的法人或者非法人单位,以及依靠自己具有的条件完成软件开发,并对软件承担责任的公民。
软件载体
软件的载体可以是硬盘、光盘、U盘、软盘等数据存储设备。
软件使用许可
不同的软件一般都有对应的软件授权,软件的使用者必须在同意所使用软件的许可证的情况下才能够合法的使用软件。依据许可方式的不同,大致可将软件区分为几类:专属软件、自由软件、共享软件、免费软件、公共软件。
软件生命周期
编辑
播报
软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。问题定义就是确定开发任务到底“要解决的问题是什么”,系统分析员通过对用户的访问调查,最后得出一份双方都满意的关于问题性质、工程目标和规模的书面报告。可行性分析就是分析上一个阶段所确定的问题到底“可行吗”,系统分析员对系统要进行更进一步的分析,更准确、更具体地确定工程规模与目标,论证在经济上和技术上是否可行,从而在理解工作范围和代价的基础上,做出软件计划。需求分析即使对用户要求进行具体分析,明确“目标系统要做什么”,把用户对软件系统的全部要求以需求说明书的形式表达出来。总体设计就是把软件的功能转化为所需要的体系结构,也就是决定系统的模块结构,并给出模块的相互调用关系、模块间传达的数据及每个模块的功能说明。详细设计就是决定模块内部的算法与数据结构,也是明确“怎么样具体实现这个系统”。编码就是选取适合的程序设计语言对每个模板进行编码,并进行模块调试。测试就是通过各种类型的测试使软件达到预定的要求。维护就是软件交付给用户使用后,对软件不断查错、纠错和修改,使系统持久地满足用户的需求。软件的生命周期也可以分为3个大的阶段,分别是计划阶段、开发阶段和维护阶段。
软件软件过程模型
软件生命周期模型也称为软件过程模型,反映软件生存周期各个阶段的工作如何组织、衔接,常用的有瀑布模型、原型模型、螺旋模型、增量模型、喷泉模型,还有建造-修补模型、MSF过程模型、快速原型模型。
[1]
软件常见的模型
瀑布模型有时也称为V模型,它是一种线型顺序模型,是项目自始至终按照一定顺序的步骤从需求分析进展到系统测试直到提交用户使用,它提供了一种结构化的、自顶向下的软件开发方法,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,以判定是否可以开始下一阶段工作,各阶段相互独立、不重叠。瀑布模型是所有软件生命周期模型的基础。
[1]
原型+瀑布模型原型模型本身是一个迭代的模型,是为了解决在产品开发的早期阶段存在的不确定性、二义性和不完整性等问题,通过建立原型使开发者进一步确定其应开发的产品,使开发者的想象更具体化,也更易于被客户所理解。原型只是真实系统的一部分或一个模型,完全可能不完成任何有用的事情,通常包括抛弃型和进化型两种,抛弃型指原型建立、分析之后要扔掉,整个系统重新分析和设计;进化型则是对需求的定义较清楚的情形,原型建立之后要保留,作为系逐渐增加的基础,采用进化型一定要重视软件设计的系统性和完整性,并且在质量要求方面没有捷径,因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。原型建立确认需求之后采用瀑布模型的方式完成项目开发。
[1]
增量模型与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。一些大型系统往往需要很多年才能完成或者客户急于实现系统,各子系统往往采用增量开发的模式,先实现核心的产品,即实现基本的需求,但很多补充的特性(其中一些是已知的,另外一些是未知的)在下一期发布。增量模型强调每一个增量均发布一个可操作产品,每个增量构建仍然遵循设计-编码-测试的瀑布模型。
[1]
迭代模型早在20世纪50年代末期,软件领域中就出现了迭代模型。最早的迭代过程可能被描述为“分段模型”。迭代,包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。所有的阶段(需求及其它)都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。
[1]
软件开发语言
编辑
播报
软件O语言
O语言是一款中文计算机语言(或称套装:O汇编语言、O中间语言、O高级语言)
软件Java语言
作为跨平台的语言,可以运行在Windows和Unix/Linux下面,长期成为用户的首选。自JDK6.0以来,整体性能得到了极大的提高,市场使用率超过20%。可能已经达到了其鼎盛时期了,不知道后面能维持多长时间。
软件易语言(E语言)
易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言。易语言降低了广大电脑用户编程的门槛,尤其是根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入Windows程序编写的大门。
[2]
软件C/C++语言
以上2个作为传统的语言,一直在效率第一的领域发挥着极大的影响力。像Java这类的语言,其核心都是用C/C++写的。在高并发和实时处理,工控等领域更是首选。
软件习语言
习语言即中文版的C语言
软件Basic
美国计算机科学家约翰·凯梅尼和托马斯·库尔茨于1959年研制的一种“初学者通用符号指令代码”,简称BASIC。由于BASIC语言易学易用,它很快就成为流行的计算机语言之一。
软件PHP
同样是跨平台的脚本语言,在网站编程上成为了大家的首选,支持PHP的主机非常便宜,PHP+Linux+MySQL+Apache的组合简单有效。
软件Perl
脚本语言的先驱,其优秀的文本处理能力,特别是正则表达式,成为了以后许多基于网站开发语言(比如PHP,Java,C#)的这方面的基础。
软件Python
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
软件C#
C#是微软公司发布的一种面向对象的、运行于NET Framework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面,与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET Windows网络框架的主角。
软件JavaScript
JavaScript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
软件Ruby
一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为Ruby > (Smalltalk + Perl) / 2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。
软件Fortran
在科学计算软件领域,Fortran曾经是最主要的编程语言。比较有代表性的有Fortran 77、Watcom Fortran、NDP Fortran等。
软件Objective C
这是一种运行在苹果公司的Mac OS X,iOS操作系统上的语言。这两种操作系统的上层图形环境,应用程序编程框架都是使用该语言实现的。随著iPhone,iPad的流行,这种语言也开始在全世界流行。
软件Pascal
Pascal是一种计算机通用的高级程序设计语言。Pascal的取名是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。
软件Swift
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。
软件统计数据
编辑
播报
《中华人民共和国2021年国民经济和社会发展统计公报》显示:2021年,全年软件和信息技术服务业完成软件业务收入94994亿元,按可比口径计算,比上年增长17.7%。
[3]
软件产业技术问题
编辑
播报
2022年6月27日,在第二十四届中国科协年会闭幕式上,中国科协隆重发布10个对产业发展具有引领作用的产业技术问题,其中包括“ 如何发展自主可控的工业设计软件 ”。
[4]
zhua曲子白渡白颗
百度百科内容由网友共同编辑,如您发现自己的词条内容不准确或不完善,欢迎使用本人词条编辑服务(免费)参与修正。立即前往>>
词条图册
更多图册
分享你的世界
查看更多
好书推荐-《软件性能测试、分析与调优实践之路》
这是一本融合了研发和测试在一起的关于性能调优实践的图书,非常适合软件测试和研发工程师去品读。
陌上花开syxwyb
国产软件的「硬替代」与「软着陆」之辨
作者 | 曾响铃
曾响铃
鲲鹏计划创作者,作家,虎啸奖评委《商界》《商界评论》《销售与市场》等近十家杂志特约撰稿人,优质科技领域创作者
工具软件价值分化,Adobe、万兴科技、猎豹移动们为何不同命?
文|智能相对论
智能相对论
鲲鹏计划获奖作者
软件正在吞噬汽车!
今年以来,新能源车板块的焦点似乎正在转移。
君临
财经领域创作者
现在下载一款软件,可能比十年前难多了
在当代互联网上冲浪,你需要很多技巧,其中之一就是知道该如何下载软件。
爱范儿
广州爱范儿科技股份有限公司官方帐号
30款App违规收集个人信息被通报,你安装过以下软件吗?
App专项治理工作组公告显示,探探、人人、趣店等30款App因违反《网络安全法》关于收集使用个人信息的规定,被通报整改。 早就应该这样了,现在这APP也不知道什么时候就安装上,也不知道什么时候就去更改你的系统,有的APP还会自动读取你的短信信息,真是太可怕了,
小鱼子酱
软件开发陷高成本、低效率怪圈,飞算全自动软件开发平台或可破局
产业互联网时代,各行各业都将数字化,带来蓬勃的软件开发需求。飞算全自动软件工程平台的诞生,最直接地无疑是给中小软件开发企业提供了降本增效的利器,让它们可以为更多客户提供出色的软件开发服务。
磐石之心
小程序:以微信为轴心“号令诸侯”
微信小程序,巩固了微信生态的最后一块空白,形成了苹果App Store一般的闭环生态,从而形成微信为轴心的操作系统,以平台“号令诸侯”。
倪卫涛
作家
仅因过量下载论文,他被政府指控13项重罪
编译器的热销让他们尝到了螃蟹的鲜美,豪取 18万 授权金。年后的一个晚上,他不堪检方的从严起诉,26岁自缢而终。一次虽有不当但无恶意的行为,却面临最高35年监禁和100万罚款的指控。亚伦面临着FBI对其刑事盗窃的指控。亚伦下载论文的现场
TA说
从口号到行动,“软件业再出发”一步一脚印
对于长沙而言,人才引进或许不是目的,集聚智慧、创新创造,除了留住人才,自身也能对人才产生吸附、孵化人才才是目标,让人才在产业发展中发挥价值、获得价值才能形成人人向往的产业生态,从而带动城市更好的发展,此时,“长沙软件业再出发”的意义也将达到一个新的高度。
智能相对论
鲲鹏计划获奖作者
什么是真正的软件革命?
有时候,幕后工作会比台前的明星更加重要。然而,真正的工作却发生在幕后的大数据中心里面,这些大数据中心支持着所有将我们的移动和其它计算服务带到现实生活的服务和应用。
电脑报
电脑报官方帐号,
周末福利大放送!分享四款iOS免费影视app下载
文|明美无限 周末愉快的时间总是过的那么快,明天上班党又要步入紧张而又忙碌的工作当中。今天关注明美无限的果粉们又有福利了,明美无限就在今天继续分享四款iOS版免费版app供大家享受,别忘了在明美无限公众号回复相对应的关键词吧! 一.花样影视 花样影视(又
wsmmwx
参考资料
软件生命周期模型概述及使用准则
.新浪专栏[引用日期2015-01-21]
易语言 4.0 Beta 6 发布
.cnBeta软件新闻.2005-06-07[引用日期2014-09-29]
中华人民共和国2021年国民经济和社会发展统计公报
.国家统计局[引用日期2022-03-02]
中国科协发布2022重大科学问题、工程技术难题和产业技术问题
.澎湃网[引用日期2022-06-28]
图集
软件的概述图(1张)
V百科往期回顾
权威合作编辑
“科普中国”科学百科词条编写与应用工作项目
“科普中国”是为我国科普信息化建设塑造的全...
什么是权威编辑
资源提供
中国电子学会
中国电子学会(Chinese Instit...
提供资源类型:内容
什么是资源合作
词条统计
浏览次数:次
编辑次数:311次历史版本
最近更新:
小浪花朵朵开
(2022-06-28)
定义
特点
分类
应用类别
授权类别
相关概念
开发流程
软件工程师
法律保护
著作权归属
载体
使用许可
生命周期
软件过程模型
常见的模型
开发语言
O语言
Java语言
易语言(E语言)
C/C++语言
习语言
Basic
PHP
Perl
Python
C#
JavaScript
Ruby
Fortran
Objective C
Pascal
Swift
统计数据
产业技术问题
为您推荐广告
新手上路
成长任务
编辑入门
编辑规则
本人编辑
我有疑问
内容质疑
在线客服
官方贴吧
意见反馈
投诉建议
举报不良信息
未通过词条申诉
投诉侵权信息
封禁查询与解封
©2022 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号
京公网安备11000002000001号
进入词条
清除历史记录关闭
播报
编辑
讨论
收藏
登录
扫码下载百科APP
领取50财富值奖励
分享到微信朋友圈
打开微信“扫一扫”即可将网页分享至朋友圈
选择朗读音色
00:00
00:00