Software
软件(*及香港用语,*作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。
中文名:软件
外文名:Software
应用类别:系统软件、应用软件等
开发语言:Java、C/C++、Basic等
1、定义
软件,拼音为Ruǎnjiàn,国标中对软件的定义为:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
其它定义:
1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。
2.程序能够满意地处理信息的数据结构。
3.描述程序功能需求以及程序如何操作和使用所要求的文档。
以开发语言作为描述语言,可以认为:
软件=程序+数据+文档
2、相关概念
开发流程
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
软件开发流程即Softwaredevelopmentprocess。
软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
1相关系统分析员和用户初步了解需求,然后列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。
2系统分析员深入了解和分析需求,根据自己的经验和需求做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。
3系统分析员和用户再次确认需求。
4系统分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。
5系统分析员把写好的概要设计文档给程序员,程序员根据所例出的功能一个一个的编写。
6测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。
软件工程师
一般指从事软件开发职业的人。软件工程师10余年来一直占据高薪职业排行榜的前列,作为高科技行业的代表,技术含量很高,职位的争夺也异常激烈。软件开发是一个系统的过程,需要经过市场需求分析、软件代码编写、软件测试、软件维护等程序。软件开发工程师在整个过程中扮演着非常重要的角色,主要从事根据需求开发项目软件工作。
法律保护
计算机软件作为一种知识产品,其要获得法律保护,必须具备以下必要条件:
(一)原创性。即软件应该是开发者独立设计、独立编制的编码组合。
(二)可感知性。受保护的软件须固定在某种有形物体上,通过客观手段表达出来并为人们所知悉。
(三)可再现性。即把软件转载在有形物体上的可能性。
著作权归属
根据《计算机软件保护条例》第10条的规定,计算机软件著作权归属软件开发者。因此,确定计算机著作权归属的一般原则是“谁开发谁享有著作权”。软件开发者指实际组织进行开发工作,提供工作条件完成软件开发,并对软件承担责任的法人或者非法人单位,以及依靠自己具有的条件完成软件开发,并对软件承担责任的公民。
载体
软件的载体可以是硬盘、光盘、U盘、软盘等数据存储设备。
使用许可
不同的软件一般都有对应的软件授权,软件的使用者必须在同意所使用软件的许可证的情况下才能够合法的使用软件。
依据许可方式的不同,大致可将软件区分为几类:
专属软件、*软件、共享软件、免费软件、公共软件。
3、特点
1、无形的,没有物理形态,只能通过运行状况来了解功能、特性、和质量
2、软件渗透了大量的脑力劳动,人的逻辑思维、智能活动和技术水平是软件产品的关键
3、软件不会像硬件一样老化磨损,但存在缺陷维护和技术更新
4、软件的开发和运行必须依赖于特定的计算机系统环境,对于硬件有依赖性,为了减少依赖,开发中提出了软件的可移植性
5、软件具有可复用性,软件开发出来很容易被复制,从而形成多个副本
4、分类
软件的分类
网络软件、应用软件、教学软件、行业软件、游戏娱乐软件、图形处理软件、编程软件、安全软件
各种软件中,以行业软件运用范围最广,具体包括酒店餐饮软件、美容健身软件、进销存软件、会员管理软件、收银软件等各种行业软件,像思迅、中顶等都是行业中的佼佼者。
应用类别
按应用范围划分,一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。
系统软件
系统软件为计算机使用提供最基本的功能,可分为操作系统和支撑软件,其中操作系统是最基本的软件。
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
1.操作系统是一管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让使用者与系统交互的操作接口。
2.支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境(SDE)。它主要包括环境数据库、各种接口软件和工具组。著名的软件开发环境有IBM公司的WebSphere,微软公司的等。
包括一系列基本的工具(比如编译器、数据库管理、存储器格式化、文件系统管理、用户身份验证、驱动管理、网络连接等方面的工具)。
应用软件
系统软件并不针对某一特定应用领域,而应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。
如今智能手机得到了极大的普及,运行在手机上的应用软件简称手机软件。所谓手机软件就是可以安装在手机上的软件,完善原始系统的不足与个性化。随着科技的发展,手机的功能也越来越多,越来越强大。不是像过去的那么简单死板,发展到了可以和掌上电脑相媲美。手机软件与电脑一样,下载手机软件时还要考虑你购买这一款手机所安装的系统来决定要下相对应的软件。手机主流系统有以下:WindowsPhone、Symbian、iOS、Android。
授权类别
不同的软件一般都有对应的软件授权,软件的用户必须在同意所使用软件的许可证的情况下才能够合法的使用软件。从另一方面来讲,特定软件的许可条款也不能够与法律相违背。
依据许可方式的不同,大致可将软件区分为几类:
专属软件:此类授权通常不允许用户随意的复制、研究、修改或散布该软件。违反此类授权通常会有严重的法律责任。传统的商业软件公司会采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护。
*软件:此类授权正好与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户*使用,仅给予些许的其它限制。以Linux、Firefox和OpenOffice可做为此类软件的代表。
共享软件:通常可免费的取得并使用其试用版,但在功能或使用期间上受到限制。开发者会鼓励用户付费以取得功能完整的商业版本。根据共享软件作者的授权,用户可以从各种渠道免费得到它的拷贝,也可以*传播它。
免费软件:可免费取得和转载,但并不提供源码,也无法修改。
公共软件:原作者已放弃权利,著作权过期,或作者已经不可考究的软件。使用上无任何限制。
5、生命周期
软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。
问题定义就是确定开发任务到底“要解决的问题是什么”,系统分析员通过对用户的访问调查,最后得出一份双方都满意的关于问题性质、工程目标和规模的书面报告。
可行性分析就是分析上一个阶段所确定的问题到底“可行吗”,系统分析员对系统要进行更进一步的分析,更准确、更具体地确定工程规模与目标,论证在经济上和技术上是否可行,从而在理解工作范围和代价的基础上,做出软件计划。
需求分析即使对用户要求进行具体分析,明确“目标系统要做什么”,把用户对软件系统的全部要求以需求说明书的形式表达出来。
总体设计就是把软件的功能转化为所需要的体系结构,也就是决定系统的模块结构,并给出模块的相互调用关系、模块间传达的数据及每个模块的功能说明。
详细设计就是决定模块内部的算法与数据结构,也是明确“怎么样具体实现这个系统”。
编码就是选取适合的程序设计语言对每个模板进行编码,并进行模块调试。
测试就是通过各种类型的测试使软件达到预定的要求。
维护就是软件交付给用户使用后,对软件不断查错、纠错和修改,使系统持久地满足用户的需求。
软件的生命周期也可以分为3个大的阶段,分别是计划阶段、开发阶段和维护阶段。
6、我国软件产业市场运行现状分析
前瞻产业研究院发布的《中国软件行业市场前瞻与投资战略规划分析报告》数据显示,2012年1-11月,我国软件产业总体保持平稳增长,实现软件业务收入2.19万亿元,同比增长27.3%,增速比1-10月提高1.5个百分点,比电子信息制造业高15个百分点,但低于2011年同期5.5个百分点。其中11月完成收入2377亿元,同比增长41.4%,达前11个月最高水平。
2012年以来,信息技术服务业比重不断加大,前11个月信息技术服务收入比重达到51%,增速达27.2%。其中,集成电路设计在有利的产业政策带动下增长步伐加快,1-11月实现收入678亿元,同比增长34%,高出2011年同期10.4个百分点;数据处理和运营服务持续高速增长,实现收入3788亿元,同比增长34.3%。在工业形势企稳向好、两化融合蓬勃发展的带动下,嵌入式系统软件增速逐步加快,1-11月实现收入3558亿元,同比增长35.5%,高出2011年同期3.8个百分点;软件产品收入继续保持23.8%的平稳增速。
1-11月,软件业实现出口310.7亿美元,同比增长12.8%,增速分别低于2011年和2010年同期4.2和14.1个百分点,低于全行业14.5个百分点。分月来看,软件出口波动反复特征明显,继10月反弹后,11月增速再次下调至15.3%,低于10月12.5个百分点。其中,外包服务实现出口73.3亿美元,同比增长39.3%,增速高于2011年同期4.7个百分点。
软件行业按业务类型划分,可分为产品型(偏软/偏硬)、项目型、服务型、平台型。A股软件公司业务大多覆盖多种类型。国内软件行业由于起步相对较晚,基础软件市场基本上掌握在国外IT巨头手中,国内软件产品发展受限,主要集中在行业应用领域。相对而言,更多的软件公司从事系统集成即项目型业务或IT服务业务。由于项目型业务产品复用率较低,产能受人力等因素制约,毛利率相对较低,收入波动大,而服务型业务客户粘性强,可持续营销,许多软件公司都纷纷加强或转型介入此类业务,优化业务结构,提升盈利能力。总体而言,软件行业受益于产业转型升级及政策明显倾斜扶持的宏观背景,其在经济中的重要性将逐步提升,但由于软件行业下游行业广泛,需求情况各异,因此具体到公司个股,分化严重。
智研咨询建议从以下维度来分析,寻找投资机会:软件行业作为战略性新兴产业的生力军,政策红利不断,热点频出。智慧城市、信息消费、系统集成特一级资质、宽带中国、移动互联网、电子商务、信息安全、互联网金融等等,不断为整个行业注入美好预期,激发想象空间。但真正在近期能落到实处,给上市公司带来实实在在的业绩增长的,主要还是智慧城市、宽带中国、信息安全等相关投资。我们认为,智慧城市主要包括民生信息化(含医疗信息化及社保信息化)、智能交通及平安城市、智慧教育、智能环保、数字城管、食品溯源、智能建筑、应急指挥等等。其中前三个方向既是居民生活中最迫切需要解决的问题,同时又能充分满足*执政管理的需求,投入回收模式较为清晰,预计投资占比较大。
作为信息产业,软件行业具有明显的传真机效应(如果只有你有传真机,那它就是废物。但是,这个世界上每多一台传真机,每个人手里的传真机就越有价值。这就是网络的逻辑,也叫做收益递增定律),这个定律和传统的基于均衡交易的经济学理论界人相反。客户群、合作伙伴和经验及口碑的积累都有强烈的示范效应和网络效应,学习成本及转移成本都进一步增强了客户的粘性,大部分软件公司尤其是项目和服务型,其收入主要来源于老客户,新客户开发成本相对较高,技术优势固然重要,但相对容易超越,而客户群、项目及品牌口碑的积累需要时间的沉淀,壁垒相对较高,更容易形成较深的护城河。因此,软件行业马太效应明显,市场地位领先的企业发展更为有利。优质的客户IT支出稳定,粘性强,支付能力强,违约风险小,可持续营销空间大,且相关项目可带来较好的示范效应和口碑,有利于开发新客户。而优质的合作伙伴则可带来丰富的渠道、技术、客户资源等,协同效应明显。
广泛而优质的客户及合作伙伴资源都需要耗费时间和精力去培育和沉淀,网络越庞大,抗风险能力和正反馈效应越强,市场地位越巩固,护城河也越深。
7、开发语言
O语言
O语言是一款中文计算机语言(或称套装:O汇编语言、O中间语言、O高级语言)
Java语言
作为跨平台的语言,可以运行在Windows和Unix/Linux下面,长期成为用户的首选。自JDK6.0以来,整体性能得到了极大的提高,市场使用率超过20%。可能已经达到了其鼎盛时期了,不知道后面能维持多长时间。
C/C++语言
以上2个作为传统的语言,一直在效率第一的领域发挥着极大的影响力。像Java这类的语言,其核心都是用C/C++写的。在高并发和实时处理,工控等领域更是首选。
习语言
习语言即中文版的C语言
Basic
美国计算机科学家约翰·凯梅尼和托马斯·库尔茨于1959年研制的一种“初学者通用符号指令代码”,简称BASIC。由于BASIC语言易学易用,它很快就成为流行的计算机语言之一。
php
同样是跨平台的脚本语言,在网站编程上成为了大家的首选,支持PHP的主机非常便宜,PHP+Linux+MySQL+Apache的组合简单有效。
Perl
脚本语言的先驱,其优秀的文本处理能力,特别是正则表达式,成为了以后许多基于网站开发语言(比如php,java,C#)的这方面的基础。
Python
是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。
这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。
基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
C#
是微软公司发布的一种面向对象的、运行于NETFramework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员AndersHejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面,与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
Javascript
Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
Ruby
一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人*(まつもとゆきひろ,英译:YukihiroMatsumoto,外号matz)开发,遵守GPL协议和RubyLicense。Ruby的作者认为Ruby>(Smalltalk+Perl)/2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。
Fortran
在科学计算软件领域,Fortran曾经是最主要的编程语言。比较有代表性的有Fortran77、WatcomFortran、NDPFortran等。
objectivec
这是一种运行在苹果公司的macosx,iOS操作系统上的语言。这两种操作系统的上层图形环境,应用程序编程框架都是使用该语言实现的。随著iPhone,iPad的流行,这种语言也开始在全世界流行。
Pascal
Pascal是一种计算机通用的高级程序设计语言。Pascal的取名是为了纪念十七世纪法国著名哲学家和数学家BlaisePascal。它由瑞士NiklausWirth教授于六十年代末设计并创立。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。
8、其他信息
绿色软件
“绿色软件”这个名词,它出现的时间大约是在21世纪的最初几年,正是流氓软件开始兴风作浪及Windows优化大师、超级兔子等系统优化软件盛行的时期。在当时那种背景环境下,饱受流氓软件荼毒的用户把“绿色软件”定义为“不会在用户的计算机上留下难以清除的冗余信息的软件”,原因是一如爱好环保般不弃置污染物,所以冠上“绿色”之名。这是绿色软件最初的定义。
时下流行的绿色软件概念
之后随着绿色软件的概念逐渐完善,它有了较为严格的标准,包括以下几点:
(1)不对注册表进行任何操作
(2)不对系统敏感区进行操作,一般包括系统分区根目录、系统目录(windows目录)、程序目录(ProgramFiles)、用户帐户专用目录。
(3)不向除自身所在目录外的其它目录进行任何写入操作。
(4)不需要安装和卸载操作,删除程序所在目录即可彻底删除该软件。
绿色软件可分为狭义和广义两种,完全符合以上标准的就是狭义的绿色,也称为纯绿色软件,是指软件对系统几乎没有任何改变,除了软件的安装目录,不往注册表、系统文件夹等任何地方写入任何信息(或只在开始菜单中添加简单的快捷方式),卸载软件只需要直接删除安装目录即可,类似于以前的大多数DOS程序。狭义的绿色软件最为理想,但现在完全符合这种定义的软件已经越来越少了,以著名的Foxmail为例,它虽然符合以上几个标准,但是,如果用户需要将它设置为系统默认邮件收发软件时,它就必然要对系统设置进行修改。
广义的绿色软件则不需要专门的安装程序,对系统的改变比较少,手工就可以完成操作,比如拷贝几个动态库、导入注册表或者可以借助于批处理等脚本即可直接完成,像某些绿色软件目录中存在的“绿化.bat”程序就是安装时的批处理脚本。但很多这种广义的绿色软件,实际上只是将安装和卸载操作做得更透明一些,并不能达到真正意义上的绿色,软件运行时所产生的冗余信息,仍然不在它的管理范围之内。这类软件,通常称之为“伪绿色软件”。
逐步向便携式软件靠拢的绿色软件
便携软件(PortableSoft、PortableApplication)是指可以放在可移动设备并能够运行在任意其他Windows系统下的应用程序。便携软件可直接从可移动设备上启动,同时加载个人自定义配置,就像运行在自己的电脑上一样;在断开设备后,不在电脑上留下任何个人数据。
运行情况
数据指出,前八个月共实现软件业务收入1.94万亿元,同比增长24.1%,增速低于去年同期2.1个百分点,比1-7月提高0.3个百分点。
下半年以来,软件出口增长低迷态势有所转变,1-8月实现出口额254亿美元,同比增长19%,增速高出上半年8.7个百分点,高出去年同期6.5个百分点。其中嵌入式系统软件出口增长19.6%,高出去年同期14.8个百分点;外包服务完成出口额57亿美元,同比增长19.7%,增速比1-7月提高了2.3个百分点,但仍低于去年同期5.6个百分点。
1-8月,西部地区完成软件业务收入2107亿元,同比增长28.5%,高出全国水平4.4个百分点,其中重庆、陕西保持30%以上增长。中部地区完成软件业务收入742亿元,同比增长25.2%,增速高于去年同期10.8个百分点。东部和东北地区分别完成软件业务收入14550和2018亿元,同比增长23.3%和24.7%,增速低于去年同期3.1和0.9个百分点。
数据显示,我国软件和信息技术服务业持续稳中有落态势,全行业效益持续好转,人员和工资总额保持稳定。软件业实现利润2126亿元,同比增长25.5%。工信部预计,受三、四季度项目加速完工规律影响,收入增速将有所提高。
4G梦工场
4G梦工场是湖北首家4G软件工程师人才实训基地,由武汉四维创意教育科技有限公司公司承办,2009年12月学校正式启动,致力于打造中国高端3G应用开发领域集技术培训、项目辅导、创业孵化为一体的服务品牌。致力于培养3G前端应用开发工程师、iPhone软件应用开发工程师、Android开发工程师、J2ME开发工程师、WindowsMobile开发工程师、Symbian初级、中级、高级开发工程师。
上一篇: 李圣杰
下一篇: 路易斯·费尔南多·佩雷拉·达·席尔瓦