软件范文10篇

时间:2023-04-03 23:24:40

软件

软件范文篇1

地址:_________

邮编:_________

电话:_________

传真:_________

许可方:_________(简称乙方)

地址:_________

邮编:_________

电话:_________

传真:_________

乙方授予甲方软件产品的使用权,双方在平等互利的基础上,遵循老实信用的原则,通过友好协商达成如下使用协议:

一、软件产品

乙方许可甲方使用的软件产品:_________

二、质量标准

乙方保证所许可的软件产品符合中华人民共和国有关法律、法规规定及所附文档的功能说明。

三、软件版权及使用权

本合同许可的是软件使用权,许可使用的软件产品版权属公司所有,并受《中华人民共和国著作权法》和其他有关法律、法规的保护。

甲方按本合同条款规定支付合同书上所列软件产品的全部软件使用许可费,乙方授予甲方上述软件产品的合法使用权。

四、软件使用许可费

甲方向乙方支付的软件使用许可费总计为_________元(大写:_________元整)。

五、付款

甲方按下述付款期限付款。如甲方以现金支付或未将款项支付至乙方银行指定账户,导致乙方未收到软件使用许可费,视同甲方未支付。

甲方于软件交付日向乙方支付_________元,从合同签订之日起计算一个月内向乙方支付_________元,从合同签订之日起计算三个月内向乙方支付_________元。

六、交货地点、方式

1、交货地点:甲方公司操作部所在地

2、交货方式:乙方上门安装。

七、限制规定

1、乙方许可甲方使用的软件产品,只限于甲方本身使用,未经乙方书面同意,甲方不得将协议项下的权利或信息转让给任何第三方,包括甲方的关联公司。

2、未经_________公司书面授权,甲方不得将授予的软件使用权进行出租、销售、转让或非存档目的的拷贝及其他商业用途。

3、未经_________公司书面授权,甲方不得对软件产品进行修改、反编译、反汇编或其他任何反向工程。

八、服务

1、本软件用户享有终身服务,服务内容为解决用户使用软件过程中由于软件自身出现的问题或操作不当等问题提供电话咨询服务。

2、如甲方因操作不当需乙方进行上门服务,则服务收费标准为_________元/人/天。

九、软件非保证范围

乙方所许可使用的软件产品,因下述原因引发的软件问题不在本保证的范围内:

1、甲方使用的第三方软件产品出错。

2、硬件或网络出错。

3、甲方使用非正版系统软件和数据库等。

十、权利保留

在甲方完全履行其合同义务之前,乙方应当保留对本合同及其附件下标的物(包括但不限于光盘及文档)的所有权利。

十一、违约责任

按《中华人民共和国合同法》有关规定,任何一方违反本合同规定,造成本合同不能执行,须向另一方支付违约金,违约金金额为本合同金额的20%。

十二、商业秘密

除非得到另一方的书面许可,甲、乙双方均不得将本合同中的内容及在本合同执行过程中获得的对方的商业信息向任何第三方泄露。

十三、解决纠纷方式

所有由本合同产生的争议,双方应当友好协商解决。如不能通过友好协商解决争议,任何一方均可将此争议提交仲裁机构仲裁。

十四、本合同一式_________份,甲方持_________份,乙方持_________份,经双方签字盖章后即行生效。

十五、其他未尽事宜可另行起草附件。

甲方(盖章):_________乙方(盖章):_________

代表(签字):_________代表(签字):_________

开户行:_________开户行:_________

软件范文篇2

时间过的真快,一眨眼时间我在科技实习三个多月了。回顾这三个多月在公司的工作生活,我感到很庆幸和满意。庆幸的是我比其它一部分同学多了三个月在软件公司工作的经历,这使我毕业后能够更好更快地适应软件公司的工作生活和节奏。满意的是公司为我提供了良好的工作学习环境,我刚到公司不久公司就为我提供了电脑和相应的座位,当我在学习C#过程中遇到不懂问题的时候,同事都会毫不吝啬的为我讲解,让我感受到公司团结向上的氛围,软件公司最重要的也就是这种团队合作的精神。

在这三个多月的时间中,我进一步学习了编程语言C#,面向对象编程以前在学校的学习没有真正自己实践,是在老师带领下完成的项目。现在我对C#有了基本的认识,也具备了用C#开发Windows应用程序和Web应用程序的能力。现在我再去理解.NET,C#,我发现它们真的是很强大,它的强大也体现在方便的集成开发环境。NET是个强大的新平台,而C#则是该平台下最佳的开发语言。在思想认知上面也得到了很大提高,上班了,不能像在学校那样随心所欲,天大的事有父母顶着,自己不用操心。现在走上社会,就是大人了,应该有责任心,对自己的言行负责。工作中,我也严格要求自己,每天早早到公司,为同事开机,打扫卫生。和同事和睦相处,不迟到,不早退。对自己编码能力还不是太满意,有待进一步提高。现在通过学习,总觉得自己学得不够好,要用到的知识时感觉头脑一片空白,很后悔当初在学校为什么不多学一点,多练一点。后悔也没用,只能自己努力。灰心时给自己打气,哭过之后擦干眼泪,继续工作。整个的实习过程是紧张而愉快的,我的工作态度和成效也得到了总经理和同事们的一致称赞。作为我在踏出社会之前的为数不多的几次实践中,这次的实践的确给予了我很多。

今后,我将继续保持认真负责的工作态度,高尚的思想觉悟,进一步完善和充实自己,争取在以后的学习中更好的完善自己,在以后的实践中更好的运用去自己的知识,做一个合格的大学生,将来做一名对社会有用的人。零距离的与社会接触,更能使我将书中的所学与社会需求紧密的联系起来,进一步的锻炼我的意志,提高我的专业水平以及个人素质。同时又进一步的让我懂得交流。所以与其是一次生产实习不如说是一次检阅,一次考验——是社会对我们多年在学校所学的检阅,是对我们个人综合素质和能力的考验。面对明日的挑战,也许很坎坷很困难,但是满怀信心的我绝不退缩。因为这是一片广阔无垠的天宇。

软件范文篇3

Internet的高速发展给现代生活带来巨大的变化,信息革命不仅影响着生活的方方面面,也给各个社会行业带来很多新变化。软件工程是是一门年轻的学科,并且已经在软件发展的过程中承担了重要作用,如何立足于现有条件,面对新机遇,新挑战成长壮大不仅对于软件行业有重要意义,对于整个信息产业也有十分重要的意义。本文将站在软件开发者和研究者的立场,分析Internet下的软件工程,文中的观点是Internet不仅给软件工程的发展带来很多新的机遇,新的便利,同时也给软件工程的发展带来了新的挑战,下文将从这两方面进行分析。

2Internet对于软件工程发展的推动

Internet的迅速发展给对软件工程有很多积极的影响,大致可以归结为如下几个方面。

2.1技术交流软件开发的流程大致可以分为产品需求、开发和测试3个环节,其中各个环节是由不同的人来负责的。软件项目人员用于相互之间的通信交流通常要大量时间,准确和及时的技术经验交流对于维护项目组之间的进度同步以及允许对于精通核心技术的个人在需要时充分发挥其作用都是十分必要的。比如开放软件社区一个潜移默化的规则是技术交流应该以帖子的形式在论坛相关板块中进行,另外,开放软件项目通常要在技术的精确细节和项目管理决策方面得到支持。很多软件项目的失败是由于经验不足或者技术积累不够,并且很多相似项目重蹈覆辙,Internet给技术人员提供了方便的交流手段,可以快速地传播新技术及相关问题的解决方案,并且同时相关技术陷阱可能发生的地方,避免相同的错误重复出现。

2.2跨地域软件开发项目中的版本控制通常很多软件项目是大型的,需要几个几十个甚至成百上千人的参与,这些开发人员在地域上很有可能是分散的,甚至可能相隔千里,这些人员之间的协调合作就变的十分重。比如项目中的一个文件也许几个模块都需要关联,并且各个模块的开发人员都可能会对这个文件进行开发,如何保证各个模块中的对这个文件引用的一致性就需要用到软件项目的版本控制。常用的版本控制软件有SVN,CVS等软件,拿SVN来说,会有一个专门的SVN服务器,每个人在开发的时候都需要从SVN服务器上把最新的代码checkout出来,并且用branch进行开发,这时候他的开发不会影响到其他人的代码,开发完成后需要合并到trunk上,合并的过程需要处理冲突,通过这样的版本控制器和Internet的结合,开发人员可以分散在不同的地区,只要有Internet连接,就可以实现完美的版本控制。由图1可以看出,client1到clientn对应的是现实中的一个个的开发人员,他们可以不在一起,甚至可以不认识,但是却可以通力合作,每一个人都和SVN服务相连,每个人把自己的最新代码提交上去,别人开发的时候下载一份最新的代码,在其基础之上进行开发。

2.3构件复用软件工程的发展方向是构件化,提供构件的复用率可以显著提升软件的开发速度和质量,Internet的发展给了构件复用极大的支持,可以通过在相关的技术社区或搜索引擎查找到需要的构件,避免重复造成的悲剧。在软件开发过程中,遇到一个新功能和新需求,首先不要想着自己去开发,而是去查找是不是已有相关的构件或类似的软件库,一般来说,第三方提供的构件或库都是经过实践检验的,功能和性能都比较有保证,多多使用现有构件,不仅可以加快项目进度,通常还可以降低开发成本,比如在互联网软件开发过程中经常用到的jquery库,提供了一些很方便的js函数和浏览器兼容性的解决方案。

2.4进度管理任何软件项目都需要有需求、执行、控制、运营几个步骤。一般来说小型项目的团队成员比较少,可能在空间上会都在一起,但对于大型项目,通常需要进行一些外部合作,需要几个公司协同开发,有时甚至同一个公司的团队成员在地理上都相距很远,这时候的进度管理就需要Internet的支持,常见的基于Internet的进度管理是依靠管理平台或邮件,通过两种途径对于每个项目成员分配TO-DO列表,并且实时追踪TO-DO列表的完成情况并且更新,另外需要设置里程碑列表来标记项目的关键时期和关键点。

2.5质量保证Internet的发展催生了开源软件项目的发展,开源软件项目自出现到现在取得了十分辉煌的成就,主要体现在起软件质量上,这也是开源软件项目相比于传统封闭的软件开发最大的优势。开源软件的质量保证主要基于3点,一是开发人员可以在Internet上根据自己的兴趣和知识寻找相关的项目;二是很多开发人员自己同时也是需求人员和测试人员;第三点是所有项目过程中的技术交流和程序逻辑都是公开的,把代码呈现在更多人的视野中,可以接受更为严格的检验。此外,由于Internet上的用户来自社会的各个领域和阶层,不同的背景和知识早就了更高的质量。

3Internet环境下软件工程所表现出的问题

在Internet给软件工程带来极大便利的同时,附带而来的很多问题同样需要引起足够的重视,正确对待和处理这些问题有重要意义。这些问题主要表现在如下几个方面。

3.1安全问题自从互联网诞生之日起,安全问题就一直伴随左右,各种各样的病毒及其变种,各种各样的攻击手段都令人防不胜防,凡是与Internet相关的东西都不得不重视安全问题,软件工程也不例外,如何防止流传于网上的相关项目信息被恶意人员窃取,以及如何建立防护措施,是软件工程在Internet环境中需要引起高度重视的一个问题。Internet环境下的软件工程由于其相对开放性,安全问题更为严重,新的安全问题主要有两个来源,一是开发人员在自己写的代码中留后门;二是由于开发人员技术原因导致。有关统计显示,互联网上有超过70%的攻击是由于人为原因造成的,在当前,由于很多软件项目的组成人员不仅仅通过Internet联系,在开发项目过程中,由于金钱利益、个人情感、自律性等问题一些开发人员可能会在自己的代码中留下某种后门,当软件投入使用后,通过这些后门可以对软件或服务器进行各种各样的攻击,带来严重后果,与传统软件不同的是,由于开发人员的分散性和虚拟性,导致管理很困难,这个问题比较难避免。另外,现实中很难保证开发人员的技术水平都达标,有些新手提交的代码可能是存在明显漏洞的,当软件投入使用之后,存在的漏洞很有可能被攻击者利用。所以,在新的形势下,软件工程不仅要面对传统的安全问题,还要面对新的安全问题。

3.2需求和开发之间的矛盾这个问题常见的有两种情况,一种是新技术和新理念的发展和现有标准之间的矛盾,另一种是新的标准和现有技术之间的矛盾,造成这种局面的原因之一是Internet的迅猛发展总会提出一些新的需求或者发现一些新的缺陷,如何制定出能够普遍适用、合理的持久的标准或者如何在新技术出现的时候既能满足新需求又能兼容既有标准是我们需要努力的。目前Internet的高速发展使得互联网的入口浏览器的竞争愈发激烈,很多的软件项目都是Web项目,需要浏览器的支持,就目前来说,兼容浏览器也是一项十分繁杂的工作。在开发过程中,经常可以见到这样的情况,产品最初提出的需求开发还在进行中,由于Internet上出现了新的产品或者新的特性需求,导致产品不断修改需求,但这时开发人员还在按照之前的需求版本进行工作,如果这时抛弃之前的版本,将导致人力和物力的损失,并且对开发人员的情绪都是较大的伤害,如果不改变,还按原来的版本开发,则开发出来的产品很有可能是过时的或者不符合市场需求的产品,所以说需求和开发之间存在着永恒的矛盾,如今Internet下这个矛盾又被加剧了。解决这个矛盾的理想情况是开发人员把各个功能模块化,构件化,由需求方按照自己的需求“组装”软件,但此种情况需要需求方有较强的软件方面的知识,现实中往往比较难以实现。

3.3逆向工程和再工程问题逆向工程和再工程对于一个具体的软件项目来说是一个比较长期的问题,逆向工程是根据效果倒推程序的一个过程,而再工程则是由于原项目不能满足现有需求而进行必要的重构,软件行业是一个人员流动性很高的行业,一个软件项目开发完成后团队可能就会解散了,这还是传统方式的工作模式,如果是类似于开源软件之类的软件项目,项目的很多关键信息比较计划、排期、文档管理都是依赖于Internet的话,那么软件后期的逆向工程和再工程难度会成倍增加,因为目前的很多项目由于进度限定等因素,导致很多开发人员只是完成了相关功能就必须进行下一步的开发,没有多余的时间写项目文档甚至代码注释,在这种情况下产生的代码让除开发者之外的人看起来是相当痛苦的,所以当原开发人员不能提供支持的时候,整个项目的重构将变得十分困难,有时甚至导致逆向工程,造成极大的资源消耗。

3.4体系结构体系结构对于软件来说就相当于地基对于高楼大厦,地基的质量决定了楼可以盖多高,而体系结构的好坏则直接决定了软件项目的性能和扩展性,目前很多基于Internet的软件项目其实内容本身也是与Internet相关的,比如处于整个互联网产业链顶端的搜索引擎,搜索引擎的项目直接与Internet相关,再互联网初期的时候整个互联网上的网页数量也就是千万量级,短短几年就达到亿的量级,而现在更是达到惊人的千亿量级,信息的爆炸性增长使得很多软件项目的性能急剧下降,瓶颈很多情况下都在体系结构,如果体系结构在项目初始便设计的具有前瞻性,后续的性能改进会相对容易,否则,则会不断改进甚至推翻整个软件构件重新设计,如果是后种情况,那么带来的后果将是灾难性的。

软件范文篇4

随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。我公司是西安一家中型软件企业,在公司中已经实行了项目管理制度,软件项目管理是整个项目管理中的一个重要组成部分。

从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。

软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。

二、软件项目管理的组织模式

软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组。

公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。

1、项目管理委员会

项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:

(1)依照项目管理相关制度,管理项目;

(2)监督项目管理相关制度的执行;

(3)对项目立项、项目撤消进行决策;

(4)任命项目管理小组组长、项目评审委员会主任、项目组组长.

2、项目管理小组

项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下:

(1)草拟项目管理的各项制度;

(2)组织项目阶段评审;

(3)保存项目过程中的相关文件和数据;

(4)为优化项目管理提出建议。

3、项目评审小组

项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:

(1)对项目可行性报告进行评审;

(2)对市场计划和阶段报告进行评审;

(3)对开发计划和阶段报告进行评审;

(4)项目结束时,对项目总结报告进行评审。

4、软件产品项目组

软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。

三、软件项目管理的内容

从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。

根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、软件质量管理、软件风险管理及开发人员管理四方面内容导入软件开发的整个阶段。

在八十年代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则。它们是:

(1)用分阶段的生命周期计划严格管理;

(2)坚持进行阶段评审;

(3)实行严格的产品控制;

(4)采用现代程序设计技术;

(5)结果应能够清楚地审查;

(6)开发小组地人员应该少而精;

(7)承认不断改进软件工程实践地必要性。

软件范文篇5

根据《中华人民共和国经济合同法》的要求,甲方委托乙方为中山市中小学校购置、安装多媒体电脑室。经甲乙双方充分协商一致,签订本合同。

一、电脑的品牌、型号、配置和金额:

1、多媒体电脑室套,货款总额为人民币拾万仟佰拾元整(¥元)详细见《预算表》。

2、详细电脑设备品牌型号配置见附件一《硬件配置性能表》。

二、多媒体电脑室系统基本功能见附件二《系统功能说明书》

三、质量保证及售后维护服务

1、乙方提供的必须是全新的电脑设备,该电脑设备必须符合国家检测标准和产品出厂标准。工程质量必须保证符合国家的质量标准及合同的要求,要按照确定的图纸施工,要用全新的材料,不得以次充好或擅自更改指定的材料或设备。

2、乙方应随电脑设备向甲方交付电脑设备的说明书及随机相关的资料。在履约过程中,乙方必须遵守国家的有关法律法规,并接受甲方的检查,如实提供检查所需提交的材料,不得拒绝。

3、乙方要按照《中山市中小学教学用计算机设备售后服务合同》的要求,提供快捷、良好的售后服务。

四、工期及验收:

1、甲方准备工作:安装输入电源线路连接到电脑室,电源线直径不小于10mm2,地线要求接地良好,并于签定本合同后三个工作日前完工。

2、乙方工期:签定本合同后第五个工作日前安装电源和网络线路;签定本合同后第十个工作日前安装电脑台和稳压电源;签定本合同后第十五个工作日前安装调试电脑并完工。

3、验收办法:由甲方组织镇区教办、学校等有关技术人员,按本合同的配置标准和性能要求见附件三《硬件软件验收表》,对乙方所安装的多媒体电脑室进行验收。

4、验收日期:由完工后的十个工作日内进行。

五、付款方式:

1、甲方在签定本合同后第三个工作日内向乙方支付货款总额50%的预付款。

2、在验收合格后五个工作日内向乙方支付余下货款总额50%。

六、违约责任

1、甲方无正当理由拒收电脑设备的,甲方向乙方偿付合同总值30%的违约金。

2、乙方无正当理由不能交付电脑设备的,乙方向甲方偿付合同总值30%的违约金。

3、甲方逾期付款的,甲方向乙方每日支付欠款总额0.5%的违约金。

4、乙方逾期交付电脑设备的,乙方向甲方每日偿付合同总值0.5%的违约金。

七、其他

1、因电脑质量问题发生争议,由合同签订所在地的技术质量监督部门进行鉴定,该鉴定结论是终结性的,供需双方应当接受。

2、合同发生争议产生的诉讼,由合同签订所在地人民法院管辖。

3、本合同一式四份,甲乙双方、中山市教育局电教站和镇区教办各执一份,均具同等法律效力。

相关的合同范本

·买卖合同的定义(什么是买卖合同)·英文版买卖合同·标准商品买卖合同

·货物买卖合同·车辆汽车买卖合同·水果买卖合同

甲方:乙方:鉴印单位:

地址:地址:地址:

电话:电话:电话:

软件范文篇6

关键词:软件无线电软件通信结构CORBAIDL域描述体

伴随蜂窝无线个人通信系统服务的快速发展,产生了很多无线通信标准,如GSM、IS95、IS54/136、PDC等。这些空中接口对不同的应用和服务都有各自约定的波段、调制解调机制、编解码方式、复合接人技术和协议。可以预见,在不久的将来,无线电通信系统必将把各种无线接入网集成到一个通用系统结构中,通过一个硬件平台实现多种标准和服务。二十世纪90年代初开始,无线电的服务正从长期依赖的硬导线连接向软件无线电演进。

1基本思想

软件无线电SDR(SoftwareDefinedRadio)为以软件方式实现各种空中接口,提供灵活的无线通信方式以便于实现灵活的传输机制、协议和应用。图1所示为多模式(多个性)的SDR系统的功能模块及标准接口点约定,其中无线电节点指基站或移动终端。多模式技术要求可在一个以上的信道RF频带上接人,在图1中为信道集。

图1

一个软件定义的个性包括RF频带、信道集、空中接口波形及相关功能。RF/信道接人模块提供多个信号通道及跨越多个RF频段的RF频率变换。IF处理模块包括滤波、进一步频率变换、空/时分集处理、波束成形及相关功能。多模式无线电产生多个空中接口波形,波形在调制解调器模块确定。信息安全(INFOSEC)功能在无线应用中越来越重要,该模块主要实现传输安全、身份认证及保护隐私等功能。调制解调器输出的编码信道比特流在INFOSEC被称为黑色(密文)比特流,经由INFOSEC变换为红色(明文)比特流。然后通过协议栈加以处理,产生网络比特或源比特。网络比特依从网络协议通过网络接口接人到远程源;源比特则通过源解码器接到本地源。图1中发展支持部分的功能是支持软件目标的下载及新技术插入[1]。

SDR的基本宗旨是利用数字信号处理技术代替现在主要的模拟信号处理。通过智能天线、宽带RF器件、宽带模数转换器(ADC)及数模转换器(DAC),利用通用可编程处理器实现IF、基带及比特流处理。因为用可重新编程的软件代替了硬件模拟电路,通过动态分配射频、中频、ADC、DPS硬件和算法,并将软件对象分配到硬件组件中,使得软件无线电可以在线改变自己的特性。支持软件无线电可重新配置的技术有:

(1)可通过重载微程序进行重新配置的可编程门阵列(FPGA);

(2)可通过重载代码在指令存储区进行重新配置的通用处理器。

图2

这些软硬相关的微程序和代码的仓库运行在系统某处的通用处理器,它包含带有文件系统访问FPGA和处理器的操作系统。这个通用处理器通常也包含与外部信号处理子系统进行通信的接口,例如用户接口或者临近的监控站。

2SDR的软件通信体系结构

军用联合策略无线电系统(JTRS)定义的软件通信体系结构SCA(SoftwareCommunicationArchitecture)规范经历了Steps2A和Steps2B两期的修正改进。当前版本Version2.2是2001年11月30日在JTRS网站上的,被软件无线电论坛(SDRForum)作为SDR的标准。

SCA不是一个实现方面的结构,而是要建立一种为JTPS软件无线电开发而与实现无关的框架。SCA规范包括一篇阐述软件通信体系结构的主要文档和相关附录文档。附录文档有JTRS定义的应用环境描述体(AEP)以及域描述体(DomainProfile),描述体包含协议信息。SCA规范的附录文档还包括波形配置的应用程序接口(API)、服务定义API、安全性说明、RationalUML文档,以及配置管理文档。

2.1系统结构

图2为SDR系统软件结构和模块接口示意图,其中CORBAORB&Services模块和OperatingSystem模块使用现有商用产品。该软件结构的特点是:最大程度地利用了商用产品和协议;通过开放式分层结构将核心应用程序和非核心应用程序从底层硬件独立出来;通过通用对象请求结构(CORBA)提供了一种分布式处理环境,从而达到软件应用程序的可移植性、重用性和伸缩性。按比特流分段,系统分为黑色总线(密文传输)、信息安全(INFOSEC)和红色总线(明文传输)三个子段。这些子段在物理上是相互隔开的,从而保证黑/红之间的隔离和INFOSEC的完整性。参照OSI的七层模型,系统主要实现物理层、MAC层和部分逻辑链路层的任务,然后通过I/O模块与外界进行数据交互。

系统由操作环境(OperatingEnvironment)、应用程序、逻辑设备和通用软件规则构成。OE包括核心框架(CF)、中间件(如CORBA的对象请求ORB)和操作系统,其中ORB必须支持minimumCORBA(最小CORBA)规范。CORBA的扩展服务,如命名服务、日志服务、事件服务和标准事件等也作为中间件的一部分。

2.2核心框架IDL与应用程序接口(APl)

核心框架CF(CoreFramework)由一组开放式软件接口和描述体构成,定义了嵌入式通信系统中的应用程序组件的配置信息、管理机制及相互通信方式。CF接口通过IDL进行定义,分为下面几类:

(1)基本应用程序接口,包括端口(Port)、生命周期、属性集、资源工厂和资源等;

(2)框架控制接口,包括应用程序、应用程序工厂、域管理器;设备和设备管理器;

(3)框架服务接口,包括文件、文件系统、文件管理器。

SCA规范的附录C以RationalUML的表达方式详细描述了各类接口之间的关系。这些以IDL定义的接口以及这些接口的继承类也就形成了应用程序的接口(API),被波形应用程序引用。CF利用CORBA结构进行消息传递。标准的API对于应用程序的灵活使用和设备的替换使用都很重要,同时也可以保证服务提供者和用户无需考虑开发和使用时操作环境(OE)和编程语言的不同。

2.3应用程序环境描述体(ApplicationEnvironmentProfile)

SCA应用程序环境描述体(AEP)基于POSIX实时应用程序支持标准(IEEEStd1003.13—1998),支持波形的可移植性、结构的伸缩性以及商用服务期限。图2中的OperatingSystem要求POSIX兼容的实时操作系统(OS)应提供AEP指定的功能和选项。CORBA对象请求ORB、CF框架控制接口、框架服务接口和硬件设备驱动在访问OS提供的AEP服务时不受限制,而应用程序访问OS的这些服务时受限制,需要通过CF访问文件系统。SCA规范附录B详细说明了与AEP相关的标准。

2.4域描述体(DomainProfile)

SDR设备的目的是建立一个可重新配置的平台,这个平台可运行不同供应商提供的软件组件支持用户需要的服务,硬件设备和软件组件构成了一个SCA的系统域。SCA规范要求可移植的软件组件提供通用信息,清楚地定义硬件设备和软件组件的信息和交付格式,包括组件的位置、标识、属性、性能及相互间的关系,这些信息称为域描述体。域管理器就是利用域描述体的组件配置信息来启动、初始化和维护SCA兼容的系统中安装的应用程序。

对象管理组织OMG(ObjectManagementGroup)制定的CORBA组件规范定义了面向对象的框架中软件组件的交付配置过程,交付格式采用扩展标记语言XML。SCA规范关于域描述体的约定遵循CORBA组件模型原理,域描述体使用文档类型定义(DTD)格式,文档后缀为“.dtd”。SCA规范定义的DTD文档有以下几类,开发过程中还可以增加自己的DTD文档。

(1)ProfileDescriptor:为SAD、SPD或DCD实例提供完整的文档名,通过CF接口的“Profile”属性进行访问。

(2)SoftwareAssemblyDescriptor(SAD):描述应用程序/波形的软件配置特性和组件的连接特性。

(3)SoftwarePackageDescriptor(SPD):确定一个软件组件的实现情况,如处理器类型、操作系统、执行代码类型和文件名等。

(4)SoftwareComponentDescriptor(SCD):描述CORBA软件组件及其接口。

(5)DevicePackageDescriptor(DPD):用于确定制造商的信息。

(6)DeviceConfigurationDescriptor(DCD):指明组件如何在最初时启动一个设备并找到域管理器。

(7)PropertiesDescriptorFile(PRF):描述软件包或设备包的属性。

SCA规范附录D详细说明了有关的DTD文档。下面以DCD类型文档为例说明这类文档的用途和使用方法。DCD类型文档引用的DTD文件名为“deviceconfiguration.+SCA版本号+.dtd”,如deviceconfiguration.2.1.dtd。根据它产生的XML文档实例通常以“_DCD.xml”为扩展名,如NodeI_DCD.xml。XML文档在第二个有效行指出引用的DTD文档,XML解析器根据指定的DTD文档来验证XML文档的有效性。

2.5安全结构(SeeurityArchitecture)

在军用系统中,有专门的组织定义、维护和研究安全措施方面的问题。随着工商部门对保守企业秘密要求的不断提高,安全性功能不再只是针对JTRS的需求,信息安全(INFOSEC)处理器的重要性也在不断提高。利用可编程的INFOSEC器件,可实现软件定义的INFOSEC。SCA的体系结构也采用了可编程的信息安全模块。

3参考案例

3.1典型的SDR收发器子系统

典型的SDR收发器应包括以下三个组成部分:

(1)RF接口模块:信号下行传输时,RF模拟信号需要经过频率变换和A/D转换,形成宽带中频数字信号;信号上行传输时反之。本模块负责实现变频、模数、数模转换,这里不采用可运行OS和ORB的嵌入式处理器。

(2)通道化和预处理模块:本模块由多个FPGA和一个控制这些FPGA的处理器构成。信号下行传输时,将中频数字信号经过数字下变频(DDC)得到窄带基带信号,上行传输时反之,数字下变频和上变频(DUC)均通过FPGA实现。每个FPGA必须有它自己的逻辑设备,代表传输模块的逻辑设备必须放在本模块的嵌入式处理器上,以便其它SCA设备和应用程序访问本模块。设备管理器和设备驱动以及支持软件也必须运行在这个嵌入式处理器上。需要注意的是,通过CORBA总线,处理器可以运行任何CF组件,不论这些组件在系统何处实例化。

(3)基带处理模块:该模块对基带数据进行调制/解调和位流处理得到用户数据。负载数据(Payload)通过Ethernet送出收发器子系统。

所有的处理器都必须运行一个操作系统(OS)和对象请求(ORB)。波形应用程序运行在通用处理器上。

3.2SDR-3000软件无线电收发器

经过Step2A和Step2B两期的研发,Boeing、Harris、Motorola等公司各自开发出了自己的SDR产品。SDR-3000是加拿大SpectrumSignalProcessing公司FlexComm平台的最新产品。该产品支持上百个同步收发的信道,每个信道包含一个独立的空中接口协议。FlexCommSDR-3000平台几乎支持所有天线接口标准,适合于联合战术无线业务(JTRS)、机载通信站点(CAN),以及各种蜂窝标准的软件无线电系统开发与使用。其优越性在于:在已有硬件的基础上,可通过无线或网络安装新的升级版本、新的应用程序和波形,支持现场更换;已配置系统不需要进行额外的硬件投资即可提供新的业务和能力,可节省很大的成本。

FlexCommSDR-3000是一种模块化的软件无线电收发器结构,由三块板组成,系统模块接口如图3所示。从天线获得的射频信号经转换模块得到中频数字信号,并通过基于RapidIO的高速串行总线被送到软件I/O模块;在这里执行通道化功能、数字下变频DDC和其它预处理,然后经过串行总线传送到基带处理模块;数据收发器子系统得到的负载数据最后经嵌入式CompactPCI分组交换背板的Ethernet总线送到外部子系统。

图4为SDR-3000的软件结构示意图。其中VSI/Pro是MPI软件公司提供的矢量信号图像处理标准库。该车兼容VSIPL嵌入式API标准,包括各种通用处理函牧,如FIY、FIR滤波器。quicWave是基于VSI/Pro开发的车,用于开发波形组件。quicComm库用于支持板级功能函数,如处理器间的通信、可编程的FPGA和PowerPC的启动及某些I/O操作等。

SDR-3000的硬件和软件都支持SCA,实际应用中可以选择是否采用这种系统架构。目前,FlexCommSDR—3000系列产品并没有包含SCA核心框架(CF)的服务功能,但收发器子系统可以通过CORBA总线(通过Ethernet总线传输)访问运行在系统中其它子系统的CF服务。

3.3PC上的参考实现模型

软件范文篇7

关键词:软件工程;软件危机;软件开发

一、现代化软件与传统软件相比的优点

传统软件开发程序比较复杂,并且开发效率不高,会耗费软件开发员大量的时间和精力,开发出的软件常有失败无法正常应用的现象。软件开发需要一整套完整的开发系统,制作演化模型、增量模型等各种模型来实现对软件功能的期望,不过,在传统的软件开发中,模型与工程可能不完全匹配将会导致开发出的软件不能满足功能要求,从而宣告开发失败。现代软件开发应用的系统是www系统,这种系统的优点主要是可以更好的满足用户的多样化需求,并且更新速度较快,可以跟得上当代社会的发展,在配套设施上也比较完备,从开发到应用以及后期的维护过程,都可以完美的衔接。由于当前科技水平比较发达,很多开发步骤都可以借助科技来实现,因此软件开发也不需要耗费过多的时间,并且通过对于数据和信息的分析,会更加突出每一款软件的特点。现代化的软件,对于信息量的储存和整合做得更加好,并且在视觉和听觉方面做出了很大的改进,使用户在应用软件过程中可以得到更好的感官享受,内容也更加新颖和多样化,现代化的软件将艺术与科学完美结合。

二、软件危机

当前计算机软件应用越来越普遍,开发出越来越多大型的复杂的软件,这些软件虽然促进了社会的发展和进步,但是由于科学技术发展的速度无法跟得上软件的更新速度,很多高新技术还没有应用到软件中,但是人们对于硬件的需求不断增加,这就是软件和硬件之间产生了不能相互适应的矛盾,这种矛盾现象称之为软件危机。(一)软件开发成本呈现出上涨趋势。随着计算机技术的普遍应用,不只是从事计算机行业的人员可以接触到计算机技术,普通的民众也可以接触到计算机技术,因此越来越具有市场化,对于软件开发而言,技术问题已不再是主要问题,经济成本变成了软件开发主要考虑的因素。与软件相对应的硬件设施也处于不断更新状态,并且当前生产力发展迅速,并且又有科学技术作为保障,生产效率得到了极大地提高,相应的生产成本也随着降低,但是,用于软件开发的成本却没有下降的痕迹,反而逐渐上涨,这就使得软件和硬件做开发无法成功接轨,在一定程度上制约了软件开发。(二)软件开发技术提升困难。软件工程是一项极其复杂的程序和系统,不仅是对于软件结构还是逻辑关系、数据模型都有非常高的要求,并且要求开发人员具备非常强硬的计算机操作水平,市场上的计算机人才也呈现出供不应求的状态,但是市场对于软件开发的需求却在不断增加,这也就使得软件开发技术提升困难。(三)开发的软件质量较差。软件开发大多依靠开发员的个人创意和理念,但是由于软件开发员可能会缺乏软件工程理念,并且每一个开发员的习惯不同,一个开发员开发出来的软件可能具有相同的特点,并且,很多开发员为了迎合用户的要求,失去了对于软件的硬性要求,这样的软件很可能会出现故障,可能会造成用户的经济损失,甚至造成更严重的后果,在软件开发过程中,一项必不可少的程序便是软件维护,软件维护不仅能够保障,软件能够正常的运行还可以在软件出现故障时及时止损,但是就目前而言,软件维护工作十分不到位。

三、软件开发工程流程

(1)软件开发工程会用到很多模型,每个模型都具有其独特的作用,每一个模型也有自己的要求,比如,应用软件工程流程模型之前首先要知道这一软件都开发需要多久,然后,该模型会根据开发周期的长短来自动生成工程流程,应用项目管理模型则必须要明确项目管理有哪些流程,在这一项目管理中应用了哪些管理方法,将工程流程模型和项目管理模型整合在一起,所形成的模型是组织公共模型,具备了两者的共同优点,同时也需要满足两者的需求。(2)软件开发是一项非常精细化的过程,因此应该做好细节化处理,对于软件产品的应用和维修等内容都应该具备详细的说明,这也就需要开发人员严格按照开发流程,并且严格按照设计标准,合理配备人员和资源,为软件开发提供保障。

四、软件工程项目管理分析

由于软件开发需要大量的资金支出,所以,合理控制成本和降低成本也是软件开发的一项重要内容,对于软件开发而言,不仅要使软件具有强大的功能,过硬的质量,还应该最大化的降低成本,这也就需要企业在管理工作方面做出优化,建立合理的资源配置系统,强化软件工程理念,不断促进软件创新。软件项目管理会应用到计算机中许多程序,比如我们经常用到的浏览器和服务器,主要工作原理是将浏览器作为客户端,利用网络中大量的信息和数据分析等来设计网站和软件,随着信息技术的不断发展,社会中计算机,专业的人才不断增加,软件设计流程不断优化,软件开发工程呈现出非常光明的前景。

五、软件研制技术管理分析

软件开发系统可以分为多个模块,这些模块相互联系,密不可分,并且相互依赖,无论哪一个模块出现问题或进行调整,其他模块必然会受到相应的影响,因此我们可以通过对模块进行更新,从而提升软件的功能和使用感。但是这种思路当前可操作性不强,无法普遍应用于软件开发工程中,对于当前软件开发工程,最主要的依然是严格把控工程管理流程,做好质量把关和软件创新等工作。

六、结束语

当前正处于经济飞速发展的阶段,对于软件开发的需求与日俱增,并且软件开发的市场竞争十分激烈,这就使得企业不得不提升自身的综合实力和核心竞争力,引进更多专业化的人才,设计开发出更加复杂、功能更加强大的软件,促进在建工程技术的发展和壮大。

参考文献

[1]张朋.软件工程技术在系统软件开发中的应用[J].电子测试,2017(13):129-130+111.

软件范文篇8

美国是世界上最大的软件生产国,拥有规模各异的软件公司8万多个,其软件业的年增长率为18%。世界500强软件公司前10位中的8个公司总部都设在美国。美国的软件产业主要以3个部分组成:1.以商业销售或租赁为目的,设计和生产软件产品的公司;2.开发因特网和电子商务技术,提供网上信息和服务的公司;3.专为计算机提供软件服务的公司。美国软件产品主要分为系统基础设施软件(占23%)、应用软件(占51%)、软件开发工具(占26%)三大类:

1、系统基础设施软件,包括操作系统等软件,1999年的增长率达到12%,共计460亿美元。预计到2003年,每年平均增长率将达到15%,销售额将达到800亿美元。主要是IBM、微软、ComputerAssociates和惠普4家公司,占据了这个市场的主要份额(高达48%)。

2、应用软件,包括公司和个人用途的软件,1999年的增长率达到14.7%,共计620亿美元。预计到2003年,年均增长率将达到15.1%,销售额将达到1255亿美元。

Unix和32比特的视窗平台占据了该市场的主要份额,分别达到207亿和239亿美元。对视窗应用软件的需求仍呈上涨趋势,预计到2003年,其软件销售额将会突破600亿美元。而Unix系统也将达到350亿美元。

3、软件开发工具促进了计算机程序的设计、开发以及软件程序的应用。从1998年到2003年,它的年平均增长率将保持在14%的水平;1999年的年销售额为354亿美元。另据美国商务部今年的一份报告,在过去的5年里,软件产业平均增长速度是美国GDP增长速度的3倍,软件从业人员工资是全国平均水平的两倍。在过去4年里,其平均就业增长率为13%,IT领域有1/3劳动力受雇于软件行业,全美软件人员人均年薪68,900美元,且年增长率保持在8%。

蓬勃发展的软件产业需要大批技术人才,而美国软件人才供不应求。为此,许多软件公司在海外建立分公司,吸纳当地高级软件专家。他们利用印度、爱尔兰、以色列等国软件人才英语好,技术强,劳务成本低等条件,广揽人才,扩大公司业务,取得了丰厚的利润。为了进一步吸引软件人才,美国国会于1998年立法,临时放开了H-1B签证的上限,即在2000年财政年度,发放115,000个H-1B签证,而到2001财年,发放107,500个,2002财年,恢复到原来的限额即每年签发65,000个签证。

软件产业创新节奏快已成为该领域一大突出特点。在这个竞争极为激烈的领域,要取得成功必须具备在极短的周期内不断推出新一代产品的能力,而要做到这一点就离不开源源不断的研发投入的支持。美国研发投入最多的10家公司中的5家是IT和软件公司。

1998年,美国软件工业在研发方面的投入是41亿美元,在工业领域中排行第8。但若以研究资金投入密度和研发投入占总收入的比例来说,软件产业排行第3。软件产业平均研发投入是11%,其它产业平均研发投入是7%。

除了少数几个国际大型软件公司之外,美国软件公司占据了世界(包括美国国内)2/3以上的软件市场。软件产品在美国的出口份额中也占有一定的比例。美国软件生产公司在1997年的贸易顺差达130亿美元。由于世界许多国家的政府和企业都在增加软件方面的预算,美国软件公司计划扩大国际销售量。

一般来说,美国政府并没有为本国软件产业的发展提供特殊的倾斜政策。而软件产品生存、发展主要依赖于企业自身的R&D投入。为保持R&D投入,美国软件企业从美国政府那里争取到了"永久性研发税优惠"。美国国内税收法第41部分中规定的"研究与试验税优惠"为美国公司在税收年实际的研究支出提供了20%的税收减免。

二、日本软件业概况

日本官方一直把软件业作为信息服务的一部分进行分类。日本是全球第二大软件生产国和消费国,其1998年的软件产值约570亿美元,占其全国信息服务业年产值(916亿美元)的62%左右。该国有软件企业约3700个,从业人员33万人。同年,日本软件出口额仅0.82亿美元,而进口则为55.62亿美元,其中进口基础软件、应用软件和特种软件分别为31.35亿美元、18.57亿美元和5.69亿美元。此外,日本的软件进口主要来自美国,其次为欧洲,各为50.84亿美元和2.74亿美元。据分析,形成这种出口额远小于进口额局面的原因是:日本使用非英语语言,通用软件出口受到极大限制;信息产业结构中重视硬件生产,相当数额的软件依赖于进口;日本企业大规模生产领域使用的诸如自控等特种软件,大多数企业都自己开发,而且为了生产技术的保密,不愿对外出售等。

迄今,日本政府尚无专门制定发展软件业的政策、计划或措施。今年3月,由日本著名大学、大企业以及政府有关部门和民间学术机构联合组成的"信息通信产业技术战略讨论委员会"出台了题为“信息通信产业技术战略”研究报告,其中就软件产业的发展方向提出了若干建议:

1.研究开发高效率、高稳定软件技术

随着数字革命的兴起,信息通信系统和网络将支撑经济社会的多个部分,系统的稳定性,可靠性和保密性至为重要。为此,需开发在不可预见的恶劣环境下也能够使系统或网络稳定工作的软件,如软件本身能自动生成免疫功能、在访问数量突然集中的恶劣使用环境下也能稳定地工作,部分故障不波及全体,从而不导致全系统瘫痪等。

系统的使用者需要适应不同用途且具有高稳定性和高可靠性软件,因此应有高效评价软件的稳定性、可靠性方法、软件修补方法以及评价软件开发技术的方法等。

2.操作系统技术

目前的操作系统绝大部分仅驱动计算机的应用软件,不能驱动网络机器,今后必须开发能适用网络时代的通用操作系统。随着网络化的发展,多个计算机和家用电器、移动通信机相互联结形成

3.信息检索技术

个人或团体向网络发送的信息,无论数量和质量都向多样化、分散化发展,因此需要高效信息访问技术及超越现有检索方式的按照信息内容检索和适应通信环境的检索技术。不具备专业知识的老年人或儿童也能够高效率地获得信息而且可防止用户个人隐私信息不向网络扩散,但又能自动收集、整理信息的技术。每个用户的联网环境不同,应建立考虑用户联网环境的信息检索技术,为此需进行包括自然语言处理技术在内的高级软件的研发。

4.信息存储技术

建设通过网络传输包括动画、声音在内的任何信息的电子书店、电子图书馆,信息存储技术是必不可少的。今后,信息除了新闻、书本之外还将有利用信息通信技术的新型服务、新的教育方法和教材等对网络利用方面的需求。因此需要开发支持这些技术的软件,可在全世界随处利用已存储信息的技术、流通信息的通用站台。

5、其他软件技术

大容量数据压缩技术、XML技术、版权管理技术、图像识别技术、语言理解技术、大量数据计算技术等都需要相应的软件支持。

三、英国软件业概况

英国软件业产值规模世界第三,1999年产值为377.46亿美元,约占GDP的1.2%,当年软件出口约16.2亿美元,软件企业65000个,就业人员35万人。

表1英国软件业1997----1999年概览

年度产值(亿美元)企业数(个)软件人员(人)

1997259.254,218240,000

1998341.6*57,000290,000

1999377.46*65,000350,000

注:*为预计值

英国软件业的基础研究工作主要在大学和政府研究所进行。英国现有综合性大学约150所,其中设有计算机工程或信息工程系统的大学有近120所。在从事软件基础研究的队伍中,人员分为3个档次,但研究工作主要依靠有博士学位、富有创新能力的高层次软件研究人员,而软件开发工作大部分由软件公司和大学进行。另外,还有一部分人是根据市场的特殊需求以合同制形式进行单独开发活动,这部分人大都具有很强的专业技能。据了解,英国软件业的强项领域主要包括:

1.银行、金融和会计

2.操作系统,特别是移动通信操作服务系统

3.零售业

4.通信

5.水、电、气等公共服务业

6.旅游、休闲与游戏

7.教育

8.医疗

9.开发用工具

英国政府对软件业的发展未提出过什么政策和计划,也没有向中小软件企业实施专门的倾斜政策,这是因为现有的支持中小企业的鼓励性计划和措施已经为所有的中小企业在减税、贷款等方面提供了良好的发展环境。当然,政府也不是什么都不管,例如,它支持建立了"英国软件行业网络"和"英国电信办公室"这两个促进软件业发展的行业性组织。通过这两个组织,将各自分散的软件同行聚集在一起,共同探讨如何获取风险资金、怎样加强企业技术创新能力,共同开拓国外市场以及消除有碍企业发展的办法等等。

四、法国软件业概况

与美国相比,法国政府比较重视软件的研究与开发工作,并将软件课题多次列为国家关键技术项目,促使法国软件业发展较快。1990-1997年法国软件产业的年平均增长率为10.8%。1997年,法国有8679家从事软件研发和生产企业,从业员工66967人。当年软件行业销售额约为66亿美元,法国软件公司规模一般都不大,除了前5位大公司从业人员均超过千人,80%的公司其雇员均不超过10人,但进入软件领域人员的专业水准要求很高,通常一个软件公司,高级软件专业人员占公司职工人数的52%,中层专业人员占27%,企业主管占3.5%。法国的软件业主要集中在大巴黎地区(占近57%的各类软件人员)和罗纳-阿尔卑斯地区(占12%),另外在航空、电信、电子等尖端产业所在地也占有相当的比例,因为这些产业领域非常需要特殊的软件,如计算机辅助设计和制造软件以及网络管理软件。

近几年,随着法国家庭拥有微机的增多,这不仅大大促进了日常办公软件(文件处理、预算管理)的销售,而且特别激励了娱乐软件(教育、文化、游戏等)的销售。而企业的软件需求更趋向于特殊软件产品的发展,如各种定制软件,以及用于因特网和网络(内联网和外联网)的漫游软件或各种数据安全保护软件。法国社会的许多职业必须掌握一种或多种特殊软件,如会计、审核、农户饲养和轮作管理、医院病人和处方管理等。面对各行各业对软件的需求,法国政府一方面开启技术移民的大门,从国外吸引包括软件人才在内的信息技术人才,另一方面则在政府实施的信息社会行动计划和科研优先领域中增加投入,促进软件业的研究与发展。五、德国软件业概况

1999年,德国标准软件产品(系统软件、数据库和应用软件)的销售额为154亿美元(257亿马克),与上年相比增长了10.4%。近年来,标准软件市场一直保持着强劲的增长势头,特别是应用软件的销售额增长最快。据预测,德国今年标准软件市场增长率为9.8%,而且今后几年其增长率仍然保持在这个数量级。1999年,软件出口额达74亿美元。

据统计,德国大约有4万余人在标准软件企业工作。截至1999年底,在德国40余家大中型软件企业中,有3.85万从业人员,与1998年相比增长了20%。德国的软件企业数目和从业人员与各国相比都很少,但其企业生产率却非常高。人均销售额通常是衡量企业生产率的最重要标志之一。据统计,德国40余家大中型标准软件公司1998年人均销售额为43.2万马克,共中10家销售额最大的公司人均销售额为94万马克。

目前包括软件业在内的信息产业已成为德国最重要的支柱产业之一,德国1999年共有170万人从事信息产业,从业人员比1998年增加9%,而整个软件业及其服务业的从业人员增加11%。即使如此,德国目前还短缺7.5万名信息技术专家。

为了缓和人才短缺,德国政府支持工业界的要求,通过了"绿卡计划",其主要内容包括:今后三年内接收非欧盟国家2万名软件专家;专家年薪至少10万马克,在德国工作期限最多为5年,该项规定于今年8月初实施。除引进人才外,德国政府加大培养本国信息技术专家的力度,政府与企业界联手今年提供4万个培训岗位,至2003年至少再增加2万个培训岗位。此外,施罗德总理呼吁在今后5年内与州政府共同提供1亿马克,扩大高等院校信息技术专业招生人数。

六、意大利软件业概况

意大利的软件业在经济与合作发展组织各成员中规模较小,据统计,1999年该国软件业产值约合33亿美元,占当年GDP的0.3%,年增长率为10.8%;现有软件企业42020个,从业人员20.68万人。

当前,意大利软件市场的主要目标是发展应用系统的集成产品和决策数据系统的数据处理产品,特别是面向WEB战略的基础产品。1999系统软件市场主要表现为与因特网技术有关的系统软件和与电子商务有关的系统软件发展较快,开发目标主要是提高软件的可靠性和安全性。应用软件仍呈快速发展态势,主要发展方向包括企业资源规划系统、供应链管理系统、客户关系管理系统以及CAD/CAE/CAM系统等方面。

虽然软件业一直处于稳定增长的趋势,但占总数93.4%的企业人数均少于10人。由于规模小,使得意大利的软件企业无法进行大规模的研发投资,从而影响其产品的改进,无法形成规模经济。所以多年来该国的软件业一直处于一种"手工作坊"式的生产方式。最近,软件企业加快了上市的步伐,预计这将会促进软件业的发展。妨碍该国软件业快速发展的另一因素是缺乏训练有素的软件人员。据估计,该国1999年缺少6.87万合格人员,2000年缺少11.3万人,特别是软件开发和应用技术人员。

为了促进包括软件产业在内整个信息产业的发展,根据意大利信息通信产业发展政策指南的决定,将进一步简化政府管理部门的工作程序,下放权力,为企业提供更好的服务;为中小型企业提供便利的信贷条件和风险资金,支持产业的研发,示范和推广项目;支持意大利企业与国外企业联合,走向国际化。指南指出,随着信息技术的发展,软件的开发与应用变得越发重要,因此应修订现有的包括软件业在内的信息通信技术发展的优惠政策,提供企业发展的优惠资金;支持企业配置和更新设备,如规定将配置计算机软件的投入作为企业购置生产设备对待,享受优惠税收政策;简化审批程序,充分利用工业部主管的技术创新基金和大学科研部主管的应用研究基金加大对企业新产品开发的支持力度;对面向创新和研发的企业,减免税收,支持企业再投资;利用出口信贷和提供担保金支持企业产品出口。采取减免税政策鼓励软件企业的布局转向欠发达地区;按照欧盟的统一要求,加快企业折旧过程,降低包括软件在内的信息技术产品的增值税税率。

注:1、由于OECD尚无各国软件业生产和出口统计数字,而且美国产业普查每5年才进行一次,故此表是根据各国相关部门、行业协会等多方数据编制而成。2、德国软件企业仅指大中型企业。

七、加拿大软件业概况

据加拿大政府1998年的调查报告,该国1997年软件业产值95.17亿美元,占当年GDP2%,而且自1995年起,软件产业年增长率达20%。全国拥有16216个软件企业,从业人员17.37万人。

该国软件企业绝大多数属小企业,91%的企业雇员不到10人且营业额少于17.24万美元。全国前100位软件公司的产值占全国软件产值的71%,且占全行业雇员总数的47%。从地理分布看,该国软件企业的71%集中在安大略省和魁北克省。

由于众多软件企业都属小企业,因此发展战略合作伙伴关系在其经营策略中扮演了重要的角色。软件企业中有销售联盟关系的占35%,有产品开发联盟关系的为17%,市场联盟的16%,以及研发联盟关系的有13%。战略结盟的伙伴主要是同行业内的企业,此外还有信息技术产品制造商和产品分销商。

软件范文篇9

关键词:软件项目管理;项目预测模型;能力成熟度模型集成

随着我国跨入“互联网+”时代,信息软件在民用航空、智能交通、金融管理、电子政务、工业制造、人工智能等领域得到广泛推广和普及。目前,随着软件处理的数据量增大,功能组成更加庞大多变,软件项目的需求分析、系统设计、软件研发和测试等工作的复杂度持续增加,传统的软件项目管理模式难以满足快速发展的需求,因此人们引入了GJB5000A、CMMI、敏捷开发等项目管理模式,进一步提升软件项目管理水平和软件可靠性。究竟CMMI告诉了组织应该做些什么,但如何做,如何有效实施,却要靠组织根据自己的实际情况进行探索和实践[1]。

1软件项目管理特点

软件项目开发采用特定的开发方法、工具和语言,将各种知识、技能、手段、技术应用到项目开发中,以期满足客户的要求和期望。软件项目管理更侧重以人为中心,导致软件开发质量存在层次性和不稳定性。软件开发技术应用广泛、需求变化较快、技术创新迅速,知识密集度高,同时要求组织的岗位职责明确、软件开发过程规范、技术决策正确、管理方法使用合理等制度有效地支撑项目开发。项目团队、上级主管、客户、费用、销售、支持部门、相关产品等相关的要素相互配合达成“项目按期交付”,所以项目的成功需要优秀的项目管理[2]。对此,软件工程领域专家提出了时间周期管理、文档质量管理、成熟度管理等方法,以提升软件项目管理效率。但是受到软件规模、约束条件、执行力和资源的限制,以软件过程改进为主线的基础上建立起规范化和制度化的软件项目管理模式显得尤为必要。

2基于CMMI的软件研发项目管理

CMMI合理的内核的确有助于提高软件开发的效率和软件产品的质量[3]。CMMI项目管理方法是全面管理软件项目中的每一个环节,提供软件开发特征和参考模型,重点关注软件质量、进度、成本,为软件项目管理提供最佳实践[4]。它集成了软件工程和系统工程的项目管理模式,减少了文档丢失、需求不完整、测试计划混乱等现象,避免软件无效返工,保障软件项目高效率、高可靠的完成。参照CMMI模型的实践和指导,围绕各行业软件类型特点和项目的执行规范,企业建立了以研发管理和关键过程监控为主的双重项目管理体制,开展项目量化管理和持续改进,严控软件开发过程和工作产品的质量,保障软件项目研发按照工程化标准执行。应用CMMI技术指导软件项目进行全生命周期过程管理,改进和提升软件项目的研发能力,更深层次地控制项目的研发周期、开发成本。CMMI可构建新型的成熟度管理模型,将软件项目开发过程产生的所有文档和资源统一到成熟度架构下,实现对项目计划管理、需求分析、技术解决、配置管理、评审、系统设计、测试和软件开发文档的一体化管理,减少工作产品的重复性和不一致性,增加项目管理的透明性和指导性,克服软件开发管理中的困难[5]。尤其CMMI在软件项目管理中实施了差距分析、过程分析、量化管理和组织优化等举措,将无章变有序、定性变定量、发散变集成,提高研发成本的可控性,提升软件开发的内部控制力度。软件项目管理引入CMMI的目标是实现开发配置的集成化、可控化管理;解决软件需求分析、架构设计、程序开发和系统测试存在的薄弱环节,利用适应的方法降低软件开发周期,提高项目管理水平。作为一家软件企业,新产品的和推广要求快速且高效,需要配套建设完善的项目管理管理制度和优秀的项目研发机制。当前我们基于已有产品的开发经验和管理实践,依托CMMI技术强化管理软件开发过程,建立了软件开发全生命周期一站式管理的管理框架,并配置相应业务管控工作流和软件过程管理规范加以实施控制,重点促进软件项目进度、质量、成本三方面得到显著提升。项目管理主要工作流涉及范围包括:售前管理、项目监控、开发管理质量管理等四大部分,项目管理工作流运行模式如图1所示。软件项目管理的初衷是运用CMMI、PMBOX等先进的项目管理与软件研发过程控制理念,通过信息化技术,秉持快速集成、持续改进的原则,构建高效、协同、精益、安全的软件研发管理信息化平台;实际运转的是结合软件开发的管理实践,建立以软件开发生命周期为核心,以项目管理过程、软件工程过程为主线,以组织资产库为支撑,以支持工具为辅助的整体软件项目管理运行架构。通过持续建设组织资产库并提供软件开发和过程管理工具、项目规范、模板、经验教训、知识、历史数据等支持,经过公司自用的软件研发管理平台进行人机交互和项目管理,有效地保证软件过程管理的质量和工作效率。

3软件开发改进与实践

公司业务涉及航空管理、智能交通、软件信息与服务、大数据等领域及相关行业,主要项目管理实践概括为以下几类:

3.1大型系统类软件

大型系统类软件,如航空管制、自动化系统、高级场面引导、ADS-B等类型软件。这类软件系统的研发周期较长,系统安全属性要求高,研究领域的专业性较强,开发难度较大,研究开发人员综合素质要求偏高。在市场前景和用户要求的驱动下,传统的软件管理模式已不能较好满足开发和发展需要;为此,在软件项目管理信息化运行模式基础上,根据专业划分区别管控开发过程和质量,采用CMMI的软件工程管理模式,集中在软件开发、系统测试、联调等关键过程进行管理和改进,按系统属性和研究专业领域区分管控研发质量,实行开发和测试迭代推进,通过项目组和公司两级高强度系统测试,软件系统准入可靠性试运行验证阶段。开发过程重点在系统时序控制、进程排序、模型预测与决策、算法与优化、通信、协同运行机制、异常处置和存储等专业领域进行管控和优化平行开展安全和性能测试,既能满足用户方严格的使用要求,又能提高开发效率和质量。

3.2人机交互型软件

人机交互型软件,如电子政务、智能交通、安监管理等类型软件这类软件主要特点是通过端点用户和服务端完成信息传递和数据处理,并输出相应的数据、通信信号、图像、视频等内容,必要时需要用户进行手工操作。此类型项目有着需求变化多端,用户参与程度高低不一,计划变更频次高,资源调配频繁,人力成本投入高等特点,从而对项目交付提出了更高的要求;经过大量的研制总结,深入研究了CMMI模型中开发管理的相关实践,结合敏捷开发特点以及推广应用了试点项目的成功经验,对于人工交互型软件采取原型开发和迭代开发两种相结合的管理模式,按客户需求深度定制和研发项目;关键过程控制集中在需求分析和开发进度方面,通过条目化软件需求,按计划统筹分配开发任务,配置自动化测试工具,并辅以完善的持续集成管理方式,确保软件运行的高效和友好。

3.3数据处理型软件

数据处理型软件,如智慧城市、工商管理、信用平台等大数据处理软件,此类软件涉及数据分析、数据计算、数据融合、数据交换、数据存储等,对数据处理的质量和安全要求较高;在人机交互型软件项目管理模式下,此类软件仍存在开发过程不稳定,缺陷爆发量较高、返工量较大等问题,开发质量和进度不能达到预期的效果。按照解决关键问题和逐步扩展改进的原则,在CMMIDev1.3模型的高成熟度理论指导下,建立了项目定量管理的模式,经过大量的项目关键过程改进和部署应用,设置了软件过程性能基线和量化改进的运行机制,制定了一套度量和分析方法,通过识别重要影响程度的关键过程和子过程,开展有目的度量数据的采集,运用统计技术对历史数据进行分析和验证,建立适宜合理的项目预测模型,实施对目标实现可能性的预测和管理。同时在严格控制各阶段开发版本和评审力度的基础上,集中力量改进数据算法、数据分发、数据处理、数据存储等关键过程的研发质量,通过精细化地管理软件开发过程,可视化地动态管理项目的开发计划和进度,达到了降低研发成本和提高软件质量的效果,也为后期持续改进积累了历史数据和实践经验。数据处理型软件项目量化改进流程如图2所示。

4结论

从各种实践中,科学合理的应用CMMI模型指导软件开发,尤其在软件研制、系统集成、系统联调、测试等方面需要不断地思考新的管理路径,尝试新的技术,并且吸取历史项目的开发经验进行改革,最终实现降本增效的目的。

5结束语

综上所述,以公司的软件项目开发管理为基本研究对象,立足于软件开发和项目管理存在的实际问题,结合CMMI模型实践和指导,整合管理资源和技术力量,以商业目标为驱动力,发挥过程改进全员参与的优势;重点解决关键过程存在的问题,减少软件开发返工,缩短软件研发周期,持续优化软件开发过程,改进技术和管理弱项。打造高效运转的项目管理流程和过程改进机制,并为用户提供高质量的产品和服务。

参考文献

[1]庄晓,张义珍,欧鹏,苗恒轩,夏远.基于CMMI框架下持续改进的软件过程体系[J].计算机应用与软件,2013,30(01):186-189.

[2]罗云模,谢志敏等.CMMI软件过程改进与评估[M].北京:电子工业出版社,2004.

[3]霍艳霞.CMMI5级管理实践之软件测试与质量控制[J].中国电子商情(基础电子),2014(04):44-46+48.

[4]林锐.CMMI和集成化软件研发管理[M].电子工业出版社,2008.

软件范文篇10

一、软件的概念

系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。但是系统软件并不针对某一特定应用领域。而应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。

二、软件的度量

任何工程项目都必须采用定量的描述手段,软件工程项日也例外。例如,不能定量地描述软件工程项目的规模就无法估算软件项目的成本以及所需的人力和时间,而这个问题是软件项目管理人员和客户都非常关心的。软件工程的定量描述离不开度量、测量、估算等3个基本方面。度量具有数字特征,软件工程范围内的度量是软件产品、软件开发过程或资源简单属性的定量描述。如程序规模、操作符个数、程序中错误的个数等。测量和估算是简单属性度量的函数,如软件成本、软件质量等。测量用于事后或实时状态。他涉及测量的方法、过程、工具和数值结果。估算是对软件产品、过程、资源进行预测,可以采用经验公式,也可以参考历史资料。估算一般用于签订合同、立项、制订工作计划等。这里的产品指软件开发过程生成的文档和程序,例如规格说明、设计文档、源代码及测试策略文档等。

过程指与软件有关的活动,如软件开发计划、开发活动、管理活动等。软件开发资源指软件开发过程中需要的各种支持,如人力、经费、硬件环境等。软件工程的产品、过程、资源都具有外部属性和内部属性。外部属性体现了产品、过程、资源与环境的关系,如成本、效益、程序员的生产率以及软件产品的可靠性、可用性、可维护性、可移植性等。软件项目管理人员和顾客非常关心产品、过程和资源的外部属性,因此外部属性也可以说是面向管理者和用户的属性。软件的内部属性指软件产品、过程和资源本身的属性,如软件产品的结构、模块化程度、复杂性、程序长度等。软件外部属性在软件开发过程中很难测量和控制,但它是由软件的内部属性决定的。

因此,人们不得不研究软件的内部属性及与外部属性之间的关系,并试图通过软件内部属性度量解决软件某些外部属性的度量问题,进而逐步建立软件工程度量系统。该系统的软件度量分为两类,第一类包括面向规模的度量、面向功能的度量和面向人的度量,第二类包括生产率度量、质量度量和技术度量。软件测量又分为直接测量和间接测量两种,不依赖于其他属性的简单属性可以直接测量,如程序代码行数、操作符的个数。设计一个或若干个其他属性的软件要数、准则或属性,需要采用间接测量,如软件复杂性、模块性。间接测量必须建立一定的测量方法或模型。在基于计算机的系统中,软件开发成本占总成本的比例很大。在软件项目立项和软件项目管理工作中,客户和项目管理人员都非常重视软件项目的成本估算。然而,由于软件是逻辑产品,成本估算涉及人、技术、环境、政策等多种因素,因此,在项目完成之前,很难精确的估算出项目的开销。为了实现软件项目估算,实践中开发了大量的软件项目自动估算工具,用以支持软件工作量或成本估算。