导语:如何才能写好一篇软件开发与定制,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
Abstract:ThispaperprovidesinstructionsonbuildingaMan-hourquotasystembasedonAccessdatabase,referstostructure,piping,electrical,instrument,telecommunication,mechanical,HVAC,security,insulation,outfitting,painting,scaffolding,whichcombineswiththecharacteristicofproductionrealityofoffshoreengineering.
关键词:海洋工程;工时定额;Access数据库
Keywords:offshoreengineering;man-hourquota;Accessdatabase
0引言
任何一个企业,都要按照市场经济规律,建立符合自身要求的成本核算体系,编制和拥有自己的工时定额,作为参与市场竞争的计价依据。同时还要确定科学的计价方法和完善的信息数据库,并将其作为企业管理和发展的重要内容。
蓬莱PL19-3项目是中国海洋石油与康菲石油合作开发的最大的海上油田,包含六个生产平台一个中心立管平台以及“蓬勃号”FPSO,蓬莱PL19-3连接调试项目组在对连接调试工时定额体系成功使用的基础上,结合海洋工程项目的实际情况,开发了一套适用于海洋工程的工时定额体系,并利用Access数据库工具开发形成了工时估算系统。
1定额数据库结构设计
本定额依据现行的工程施工及验收规范、安全技术操作规程和现行劳动保护法律、法规、国家设计规范、各种类型具有代表性的标准图集、施工图纸、企业技术与管理水平、工程施工组织方案、工程具体结构和难易程度状况、以及采用新工艺、新技术、新材料、新方法的情况等,根据项目的特殊性和技术含量等因素采用现场观察测定法和类比法,进行工时定额的编制。它具有以下几个特点:
1.1包含两个基础工时定额数据库,以满足用户不同的需求。包含粗估工时定额、精算工时定额两个基础工时定额数据库,在进行施工管理及分包、投标,车间工时管理等活动时用户可以根据自己的需求来选择其中一种或两种交叉使用,来进行工时估算。
另外,数据库中对每一个定额数据所包括的工作步骤、程序及未包括的工作情况都有详细的备注说明。例如精算工时定额结构专业组对栏杆每米8.2人工时中不包含载荷试验部分。
1.3海上系数的应用。由于海上石油行业的特殊性,决定了大量的工作需要在海上完成。海上施工时,由于施工条件限制增加了相应的施工难度,故需要相应的海上施工系数作为修正。通过对几个平台各专业计划工时与实际工时的比较及分析各专业的特点,定额中对不同的专业确定了不同的海上施工系数。所有的标准工时定额数据均以陆地的施工作为标准,故陆地系数默认为1.0。
2工时估算系统计算原理
对应两个基础工时定额数据库,本估算系统包含两种计算模式。粗估计算模式指各专业以一个或几个关键要素为参数来计算整个专业工时;精算计算模式指各专业按照施工的各个步骤分别计算相应的工时,从而比较准确地计算整个专业工时。计算原理为:
计算工时=定额所对应的工时*数量*施工地点系数*人工系数*综合系数
人工系数是考虑人员的经验和不同工机具的装备水平应用可以直接影响施工的效率,故需要根据施工人员的经验,不同经验的人员配比以及不用水平机具情况等因素自主调整系数。综合系数是考虑所有的标准工时定额估算数据均以适宜施工的气候条件为基础,故需要根据施工所在区域的气候因素(如高温、低温、大风等影响施工的因素)自主调整系数。同时在考虑利润因素时,可以在投标和分包时确定系数来实现。
3工时估算系统软件设计
为提高工程项目中查找和使用定额数据的效率,方便定额数据的维护,项目组在工时定额数据库的基础上开发了工时估算系统。
关键词:软件成本估算;估算方法;应用
中图分类号:TP311.52
1软件成本估算的基本方法与步骤
图1软件成本估算用例图
1.2软件成本估算的步骤。在采用软件成本估算方法对软件开发项目进行估算的过程中主要的步骤包括如下几个方面,首先是确定软件的需求,建立起估算的目标,计划好需要的数据与资源。其次就是做出详细的估算,采用多个独立方法对软件项目进行估算。最后就是估算的跟进、调整以及修改等。
2软件成本估算在网络电视系统中的应用
2.2软件成本估算方法的选择与组合。在对网络电视平台系统进行软件估算的过程中,需要根据其特点来选择最适合的估算方法,一般网络电视平台系统在开发与维护中,都需要依靠专业人士的意见,并且其中的大部分功能模块都需要在软件公司提供的商业模块中进行选择。因此最好是采用专家估算、算法估算与类比估算这三种估算方法,来对网络电视平台软件开发与软件维护的成本估算。并且为了得到更为准确的估算结果,需要根据这三种估算方法的不同特点,在不同的时期进行估算。
2.3软件规模估算。在对网络电视系统软件的开发与维护估算中,对软件规模的估算是一个难点。根据网络电视平台软件系统的功能可以将其开发模式分为三种类型。第一种是直接用现成模块,其中包括用户管理、统计管理等。第二种是对已有商业模块进行改编,其中包括内容管理功能、Web服务系统等。第三种是因运营需要产生的新定制开发,比如内容提供管理。具体的估算过程包括新定制模块的软件规模确定、改编模块的软件规模确定这两个方面。
2.4工作量估算。软件开发的工作量估算是软件成本估算方法中最重要的工作,因为整个软件系统都是由同一家软件开发公司来完成的,因此可以用同一组比例因子来代表整个软件开发项目,但是在整个软件开发中各个模块的开发要求与特点都不一样,因此必须要对每个软件模块进行估算。具体的工作量估算工作主要包括以下这几个步骤,分别是比例因子的确定、驱动因子与工作量乘数的确定以及结果分析。其中在驱动因子与工作量乘数的确定过程中,还包括了新定制开发软件的工作量乘数确定、改编软件的工作量乘数确定。而结果分析中,主要就是估算网络电视平台软件开发的总工作量以及其开发进度,同时还可以对新定制开发软件的工作量与开发进度评估结果,模块的具体工作量乘数如表1所示。
表1“内容提供商管理”模块具体的工作量乘数
驱动因子对应乘数取值因素
RELY:要求的软件可靠性很高涉及内容商经济结算
DATA:数据库规模标称数据量不大,但结构复杂
COLX:产品复杂性高考虑节目、用户与提供商多线管理
DOCU:匹配生命周期需求标称可以参照其他模块的通用做法
RUSE:可复用开发高由技术小组决定
PVOL:平台易变性低平台一旦建立,变化性不大
SITE:多点开发高有较好的交流工具
TOOL:软件工具使用标称按通用情况考虑
SCED:要求的开发进度标称按通用情况考虑
3结束语
参考文献:
[1]BoehmBW,AbtsC,ChulaniS.Softwaredevelopmentcostestimationapproaches―Asurvey.AnnalsofSoftwareEngineering,2010(10).
[2]李明树,何梅,杨达.软件成本估算方法及应用[J].软件学报,2009(07).
关键词:软构件;软件开发;方法
一、构件的定义
构件,简单来讲就是软件系统中的单个元素,它具有很多的特性,包括独立性,可替换性,多次使用性等等;构件也是可以很准确就会被认知的实体,当软件重复使用的时候。软件具有自身的性质,独立性以及可重复实用性,所以构件可以借助这样的特征来进行软件的开发,并且可以通过构件提供的特定窗口进行信息的互换等等。在进行基于软构件的软件开发过程中,为了保证软件开发的质量,构件之间的信息交换一般都会通过标准的接口来进行。
二、软件开发形式
(一)软件定制。对于软件定制主要是为了能够达到功能拓展的目的。其主要是指基于软构件的软件开发,利用事前明确功能以及编制好的构件或者是面向构件。并且软件对于构件功能需求的不同,也可以通过构件版本的选择来实现。
(二)构架独立。在进行软构件的软件开发中,为了可以能够让构件出现问题时能够及时维修,并且能够做到维护的简易化,所以需要将构件进行分解,也就是构件独立[1]。
(三)统一接口。在进行软件开发的过程中,往往会受到很多方面的限制,比如说是硬件设备上的限制,或者是空间上面的限制,为了能够有效的突破这种限制,需要将接口通过统一,其主要是指软件可以通过指定的接口实现跨平台的交互。
三、构件模型分析
(一)OMG组织。对于OMG组织来讲,自身就具有一些特点,包括支持性较高,系统平台相对独立,整个的模型比较完整,效率高。在OMG组织中,有基于开放平台的对象体系CORBA,同时其的计算机技术对于大多数厂家来讲也是很受追捧的一部分。
(二)SUN。Java是SUN中的一项技术,这项技术对于具有语言开发的功能,并且其的使用范围广,能够满足对于不同的业务的需求,最重要的一点就是简化构件服务器。
(三)Microsoft。Microsoft中的COM构件模型,其构件技术在实际的应用过程中是非常广泛的。它具有很多自身的优点,包括能够实现模型间的相互交流以及操作,并且由于自身的构件接口是标准接口,能够有效的用远程技术。
四、基于软构件的软件开发流程分析
(一)整体框架设计。在进行框架设计之前,需要对所要达到的功能以及效果进行分析,通过分析对比找出与设计软件功能需求相同的地方,然后将功能构件从系统中进行分解,最后再将开发软件的系统进行优化。
(二)构件库建立。为了保证软件在开发时的效率,需要进行软件库的建立。软件库的建立就是为了使构件能够更好的服务于软件开发,将构件进行统一的管理,并且构件库的建立对于软件的反复使用起到了支持,保护等作用。
(三)获取构件。当进行需要分析之后,需要将满足要求的构件挑选出来。选出来之后,需要根据实际的应用情况进行一些简要的修改,修改完善之后将其安装到待开发的软件系统中。构件的获取主要是包括以下几个途径来进行。首先可以在以往使用过的构件中按照实际的进行挑选,其次合用利用当前开发新的系统功能模式对构件进行开发,最后可以通过购买的途径来进行构件的获取。
(四)构件的调整。当获取构件之后,为了能够使构件更好的服务于软件的开发,需要根据实际的情况来进行适当的调整,使其符合相应的设计规则。当进行调整的时候,主要使用的是三种调整方法,有白盒法,黑盒法以及灰盒法。白盒法主要通过对构件源码的修改来进行调整的。调整之后,使构件之间的摩擦减少。但是这种调整方法也有自身的缺点,就是调整过后会影响其的使用特性,对以后的维护造成一定的困扰。对于黑盒法以及灰盒法来讲,主要利用的是对源码进行保留直接进行扩展的方法。
(五)构件的组装。构件能够发挥自身的作用,必须要与群体构件结合才能发挥作用。为了能够更好的进行软件的开发,需要对构件进行适当的合乎实际的调整,并且将构件与构件之间的接口连接在一起,或者是将构件与开发的元素连接在一起。
小结
对于软件的开发来讲,开发过程是一项复杂的过程。设计人员需要有足够强的理论知识以及实际应用能力。在进行基于软构件的软件设计的过程中,设计人员需要有严谨的思路。本文主要对软件开发流畅做简要介绍,希望读者对其有简单的了解。
参考文献
我国金融电子业的发展和进步使得银行软件行业进入到了一个关键时期。银行之间激烈的竞争关系使得银行对于软件的的要求越来越高,国外优秀的同类软件也在不断的参与着国内市场的竞争。巨大的市场压力迫使软件开发商放弃了传统模式的手工作坊的开发方式,转而采取更加先进的技术和方法来提高软件开发的质量,以保证企业的可持续发展和进步。
关键词:
银行;软件开发;CMM;开发方法;改进
银行软件的开发过程的改进方法直接影响到银行业的进步和发展,对银行信息化水平的提高尤其重要。银行软件项目是由技术、过程和人才三个方面共同完成的,银行软件项目的开发和改进方法离不开以上三个要素的参与,只有提高银行软件的开发质量和工作效率才能吸引创造更多地利润,提高客户的满意度。
一、银行软件的开发方法和改进方式
3、重视对人才的培养工作不论是以产品化为核心的银行软件开发方式还是以CMM为核心的开发方式,这些方案的实施基础是有足够的技术人员来进行操作,对于软件企业来说人才来说专业的技术人员可以分为单一的技术型、纯业务型和管理者三种,他们各自倾向于自身领域中知识的学习和管理,目前我国的软件企业内存在着管理缺乏的现象,更是在业务型人才的培养上十分薄弱,这对软件的开发和推广以及后期的维护和管理是十分不利的,软件从性能上可以看成是一种针对其他行业发展的服务,缺乏业合格的管理人员和业务人员的软件企业无法开发出优质的软件系统的。从银行软件的角度来说,业务人员是最重要的组成部门,因为银行业的主要工作就是以业务为主,本身也具备相对复杂的程序,只有技术丰富银行软件人员才能做好银行软件的开发工作。
二、结束语
银行软件的开发和改进方法主要就是包括对技术、应用过程和人才的培养上,这三个是相互关联的相互影响的,如果其中一个方面有缺失必然会相应其他方面的进步和发展,造成资源地浪费,因此在对银行软件的开发和改进中要注意对这三个方面齐头并进,避免造成短板效应,才能真正提升银行软件的质量和效率。
[1]侯晓靓.基于CMMI的软件项目风险管理研究[D].北京邮电大学,2012-11-12.
[2]张健.基于FPA方法的某银行软件开发项目的工作量估算研究[D].中国科学院大学(工程管理与信息技术学院),2015-07-23.
[3]王峤.银行业软件项目全生命周期的质量度量指标体系研究[D].山东大学,2014-10-03.
关键词:软件开发;技术方向;模型求解;理解认识
一、软件开发技术发展史
第一代:早期专业服务公司(1949年~1959年)小结:第一批独立于卖主的软件公司是为个人客户开发定制解决方案的专业软件服务公司。第二代:早期软件产品公司(1959年~1969年)小结:在第一批独立软件服务公司成立10年后,第一批软件产品出现了。它们被专门开发出来重复销售给一个以上的客户。第三代:强大的企业解决方案提供商的出现(1969~1981)小结:IBM给软件与硬件分别定价的决定再次证实了软件业的独立性。第四代:客户大众市场软件(1981年~1994年)小结:个人计算机的出现建立了一种全新的软件:基于个人计算机的大众市场提交了它们的产品。[1]
二、软件开发的认识
软件产品以定制生产为主。硬件产品的生产技术和工艺已经成熟,可以做到标准化、系列化成批生产,不论哪个厂家生产的产品,用户买来都可以集成、组装和替换使用。尽管软件产品复用是软件界孜孜不倦追求的目标,在某些局部范围内几家领军软件企业也建立了一些软件组件复用的技术标准。
三、对软件开发技术方向的理解
软件开发过程当中,遵循一定的流程,主要包括系统分析、系统测试以及系统的维护等几个阶段。一是系统分析。系统分析包括软件需求,系统可行性分析就是通过需求调查来确定此系统是否具有可行性。二是系统测试。系统测试的目的不是验证软件的正确性,而是以较小的代价发现尽可能多的错误。测试从需求阶段开始,此后与整个开发过程并行,换句话说,伴随着开发过程的每一个阶段,都有一个重要的测试活动,它是预期内按时交付高质量的软件的保证。
1.软件工程软件开发技术方向为何而生
谈到这个问题不得不提的就是软件危机,软件危机(SoftwareCrisis)是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。为解决软件危机,软件开发专家们提出软件工程这一理念,并且在实践中不断探索它的原理、技术和方法。在这里面人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科─软件工程学。软件工程思想产生于1968年,经过了近40年的发展,已经取得了很多成就,各种大型项目不断被开发出来。但遗憾的是离软件工程的最终目标“摆脱手工生产软件的状况,逐步实现软件研制和维护的自动化”还有很大距离,所以要不断地培养软件工程的人才。
还有一个原因就是:大家都知道现在很多国家软件产业已经是支柱产业,中国同样也要发展软件产业,这不仅是经济的需要,也是科学技术、国防等方面的必须。目前中国的软件业发展状况与国外还有很大差距,在国外动辄就有上万人的软件工程项目,但是在中国很少见。所以中国软件业的发展任重而道远,在国内软件业的发展中软件人才是关键。
2.软件开发技术方向
用软件工程的思想理解,应该把1中的内容看作是需求分析,这很重要。只有知道需求,我们才知道做什么。我们应该是管理人们做软件的。那我们要学习什么呢,学会项目管理,架构设计,并且是大型项目的管理和架构设计,这才是软件工程专业培养的根本目标。为实现这个目标,我们应该按照“技术+管理”,“理论+实践”学习。要做软件项目的管理,我们必须懂软件技术,而且是很懂,才能管理好软件项目,所以也要注重技术的学习。在软件开发中经验很是重要,尤其像项目经理,软件架构师这样的人,所以我们要注重实践。
希望通过学习我们能够真正理解软件工程思想的真谛,并用于实践中去,转化为生产力,为国家的发展、社会的进步做出贡献。
[1]何艳.中国软件企业发展战略研究[D].上海:华东师范大学,2005.
pt42
专业:机械工程
工作:软件开发
软件作品:博客备份工具、网页净化器、窗口净化器、淘宝一箩筐等
软件小档案:博客备份工具
软件性质:免费软件开发语言:python、c
支持平台:Windows2000/XP/2003/Vista/7
下载地址:/
仅用三年软件已过百
联系到pt42后,我的第一问题就是,他究竟开发了多少个工具软件。他竟然还没数过,只要觉得有用,自己能写的,他就写出来。截止到2009年12月25日,他一共公开了25个软件,再加上自己个人用的、定制的,已经超过了100个,绝对是开发软件的大户,更令人吃惊的是,他曾两天就开发了一个软件。而说到最上心的,花费心血最多还要数他开发的第一个软件――博客备份工具,那是他在2007年为解决同学的博客保存需求而编写的。近期,他正在参加淘宝的TOP大赛,等取得TOP合作伙伴资格,他就可以做个买家工具了。
小提示
他是一个很低调的人,一直坚持用自己的网名。pt42中,pt指的是名字的缩写。而42呢就有一层意思了。它源于电影《银河系漫游指南》中虚构的一个生命、宇宙以及一切的答案――42。
只要饿不死我就写下去
对于软件开发者来说,最耗费精力的不是开发,而是后期的维护。我们可以想象一下,pt42身后背着100个软件,担子会有多重啊!在与他聊天中,他对记者感慨道:“有一天,找家公司把软件转让出去,我就解脱了。”话虽这么说,他还是日复一日地为软件做着更新,而且有一新想法,他还会编写新软件。这些软件,就好比他自己的孩子,哪个发现Bug了,哪个需要更新功能了,他都个个照顾到。
百里挑一,给博客上个意外保险
在pt42开发的软件中,博客备份工具是他最用心的,也是本次读者点将的软件。小白就从他的手里讨来了最好的用法。例如你有一个博客,担心丢失,想自己保存下来,那么使用Blog_Backup(下载地址:/)就可以了。
英特尔在软件领域成功地扮演了一回平台领导的角色.。将开源与移动互联网结合,英特尔于2007年7月启动的Moblin项目已经开花结果。如果说Moblin1.0还只是稚嫩的孩子,那么日前的Moblin2.0则已足够健壮,可以承担起面向MID、上网本/上网机、车载以及支撑数字医疗等垂直行业应用的重任。移动互联网时代的来临,催生了移动设备联网的巨大市场,Moblin的出现也就成为这一软件生态系统中的核心,进而为ISV,尤其是LinuxOSV带来了新的发展机遇。
Moblin两年初长成
据了解,目前Moblinv2.0已经在网站提供下载,中科红旗、中标软件、Novell等15家OSV宣布提供基于Moblinv2.0平台的移动版Linux操作系统,OEM、ODM等设备提供商正与其进行密切合作,进行操作系统的固化与定制化,预计到今年年底或明年年初,将有大量基于Moblin的移动设备上市。而ISV的应用开发与迁移工作也于2008年上半年Moblinv1.0上市时就开始了,目前已积累了大量应用,并且还在持续高速增加。Moblin如同一块磁石,市场的引力吸引了大量应用开发者,他们的热情被极大地激发出来。
英特尔为何牵头
凌动是伴随互联网延伸而出现的,各种移动设备、嵌入式设备、智能家电等,最终都将实现互联互通,MID、上网本都是这样的产品形态。“传统的应用在台式机和笔记本电脑上已经运行得很好了。但移动设备所需的应用并不一样,最大的不同在于让用户可以随时随地在互联网上运行应用。这种不同就需要我们推出Moblin平台,让所有合作伙伴可以在这个平台上开发一系列适于移动平台,有丰富互联网体验的应用。”何淑芬说。
不仅如此,Moblin也将与凌动一道进入嵌入式领域。ISV开发的软件不只可以在MID等移动设备上运行,将来也可以在不同的嵌入式设备上运行,比如数字医疗、智能交通等,这些设备上需要的很多应用也可以通过Moblin平台来开发。何淑芬表示:“今年4月,英特尔已经将Moblin项目交给Linux基金会管理。由非营利组织管理,可以让这个社区环境更加充满活力,并且表明英特尔绝不做专有技术,拥抱开放的态度。”
辟出成长的蓝海
从实际的操作模式来看,英特尔将该项目开放在开发人员社区,将软件厂商共同要做的部分工作抽象出来,形成一个层。一方面,Moblin作为基于凌动处理器的开源软件堆栈,可为开发人员提供创新平台,开发人员可以通过协作创建全新应用和服务,充分发挥Moblin的功能优势;另一方面,该社区将创建和提高基于凌动的开源平台所需的核心技术,LinuxOSV可以使用核心技术,根据自己的专长,创建面向不同应用领域,如上网本、MID和其他类型设备的Linux发行版。
为了确保Moblin在开放的同时也具有很好的兼容性,英特尔定义了标准和工具,开发人员可以采用Moblin软件开发套件(SDK)创建针对Moblin兼容平台优化的软件组件和应用,使OSV和ISV可以更轻松地支持与不同厂商提供的基于Moblin的Linux发行版相兼容的组件。
竞争的底气何在
可用于移动设备的操作系统其实并不鲜见,Moblin面临着很多竞争对手,其差异性究竟体现在哪里开源、定制化和目标明确是关键因素,代码和免费资源是Moblin社区的显著优势。同时,设备厂商与软件厂商合作后推出个性化产品最终要实现的是让用户能选出适合自己的应用,定制化的优势就因此表现出来了。此外,Moblin专为移动互联网开发,无论是应用,还是能耗控制都是量身定制的。值得一提的是,相比大多数移动Linux技术都只适用于手机平台,Moblin的应用范围要宽泛得多,囊括了大量消费电子设备。
Moblin覆盖了广泛的Linux/x86软件生态系统。x86架构是很多Linux和开源软件开发人员的理想平台。由于Moblin基于已经验证的Linux技术,因此大多数软件组件可以直接为其所用,而无需进行任何改造――只需安装二进制组件即可运行。对于具备GUI组件且需面向新型设备进行优化的软件组件,迁移至Moblin技术不失为一条出路,因为这样可以避免重新编写。
[关键词]基于构件;软件开发;技术应用
“在线学习支持服务平台”是对学生远程学习进行教学辅导。经过多年对远程教育模式的探索,确立了成熟的远程教育教学模式――利用先进的网络数字信息技术,为广大的学生提供开放的教育平台和最优秀的教育资源,突出个性、学生自主学习的教学。
“在线学习支持服务平台”是一个综合性的在线式基于WEB的远程教学平台,存储着核心信息数据,提供网上课程、信息、查询、BBS、VOD视频点播等教学服务,该系统的开发技术主要集软件复用、企业级应用程序开发于一体的“基于构件的软件开发”。系统运行于WINDOWSSERVER2000。用SQLSERVER2000为后台数据库,用ASP+IIS5.0来架构网站。
由于COM组件既可以被嵌入动态WEB面面,还可以在LAN或桌面环境的VB、VC等应用中使用。另外该组件之间是彼此独立的。当应用需求发生变更时,可能需要更换中间层的个别COM组件,但并不影响其他组件的继续使用。组件具有若干对外接口(属性和方法)。可以根据不同的应用需求,有选择地使用不同的接口。即使不再使用某些接口时,COM接口本身仍然可继续使用。同一COM组件可以在不同的应用环境中重复使用。因此,结合我们的实际情况,我们现有的各级软件系统都是基于微软Windows系统列平台,且开发人员对COM组件技术也较熟悉,对开发语言VB6也很熟悉,因此我们确定使用微软的COM组件技术来开发该平台。
该平台采用B/S结构进行设计,把整个系统分为三个层:数据库层,应用逻辑层,用户界面层。用户界面是浏览器(如IE等),并通过ASP语言来实现同应用逻辑层构件交互。应用逻辑层负责事务处理。应用逻辑层主要通过使用COM组件方式来实现,数据库层用SQLSERVER实现。
在该平台的开发过程中,我们主要设计和实现了以下一些COM组件:
2.查询和提交信息组件。我们主要定制COM组件QuerySys.dll进行查询和提交信息处理。该组件主要完成两个功能:一是供学生用于查询学生成绩和查询课程信息;二是提交学生注册信息。
该组件具有两个接口,每个接口代表组件的某个属性或方法。如果学生的请求是查询功能(QueryInfo方法),则将查询信息请求做出相应的处理,并将查询结果集返回给学生。如果学生的请求是提交注册信息(Submitinfo方法),则将提交信息请求做出相应处理,并将信息提交返回给用户。
3.连接组件。我们主要定制COM组件Conector.dll,该组件主要完成与数据库的连接。该组件具有一个接口,那就是确定数据源,以便自动连接后台数据库。
4.错误处理组件。我们主要定制COM组件Cerror.dll,该组件主要确定错误类集,该组件具有一个接口,主要是输出错误信息,方便用户排错。
我们把编译好的组件,将其在MST中注册,并将其分布在服务器上,这样就可以在设计平台过程中进行调用这些组件了。在本系统中,我们通过以下几种方式把组件集成到系统中来:
一是连接集成,即我们将组件直接嵌入ASP主页中,即在ASP脚本中通过SET对象名=Server.CreateObject(“类名”)来引用,使此二进制组件可以运行于服务器端。
二是容器集成,即如果一个组件需要调用另一个组件时,就在需调用的组件中引用另一个组件的方法。例如在使用查询和提交信息组件时就需要先调用连接组件。
关键词:云计算数字图书馆云服务平台基础设施即服务平台即服务软件即服务
按照用户服务需求和服务商云服务提供方式划分,云计算服务可分为IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)三种服务模式。云计算环境下,数字图书馆读者阅读需求、数字资源管理与应用方式、图书馆用户服务模式、读者阅读IT环境特点与传统条件下有较大不同。因此,从云图书馆建设与用户阅读需求出发,选择正确的读者云服务模式与云应用平台构建方法,是提高图书馆云阅读服务保障力和读者云阅读活动满意度的关键[1]。
1图书馆读者云服务平台架构与平台构建需求
随着云计算技术的发展,读者云阅读需求和图书馆云服务保障模式有了很大变化。传统的统一平台一体化保障模式,因较高的云服务平台基础设施建设投入和较低的平台运营、管理、服务效率,已不适应云计算环境下读者云阅读服务要求。
云计算环境下,如何依据不同用户需求和云服务模式应用特点搭建云服务平台,为不同用户提供云基础设施资源服务、云应用软件开发平台服务、图书馆管理与读者云阅读应用软件服务,是关系图书馆云服务平台基础设施架构科学性与云平台读者服务方式有效性的重要问题。
1.1IaaS(基础设施即服务)平台架构
IaaS是指通过网络将云数据中心IT基础设施(服务器、计算资源、存储资源、网络资源、数据库、内存、I/O设备等)、IT基础资源,依据用户资源请求弹付给用户使用,并由云服务商负责IaaS平台的管理、维护和升级,用户依据资源使用量支付相应费用的云服务模式。
在IaaS平台的管理与运营中,云服务提供商利用虚拟化技术将基础设施资源划分为一个大的资源池统一管理,具有统一管理、灵活调度、动态迁移、计费度量的特点。从IaaS平台结构与服务功能划分,IaaS平台可划分为基础设施资源池和用户服务业务管理平台两部分(见图1)。
[图1云图书馆IaaS系统平台功能结构图][服务管理][流程管理][计费管理][用户管理]
[资源调度管理][接口管理][虚拟化自
动部署][模板管理][资源分配与
使用监控][资源生命
周期管理][虚拟服务器][计算资源][存储资源][网络资源][内存资源][I/O设备][\&\&][基础设施资源池][虚拟化资源管理平台][用户服务业务管理平台]
基础设施资源池是IaaS云服务平台的底层结构,由虚拟服务器、计算资源、存储资源、网络资源、内存资源、I/O设备组成,为用户提供虚拟化的基础设施资源。IaaS管理平台主要由虚拟化资源管理平台和用户服务业务管理平台组成。虚拟化资源管理平台由资源调度管理、接口管理、虚拟化自动部署、资源生命周期管理、资源分配与使用监控、模板管理等模块组成,负责将物理资源和虚拟化资源划分为统一资源池进行调度和管理,确保对IaaS资源的安全、高效、快速、经济管理。用户服务业务管理平台主要由用户服务管理、服务流程管理、计费管理和用户管理模块组成,负责将资源虚拟化封装成各种云服务模式按需分配给用户,确保IaaS服务具有较高的安全性、效率和用户使用满意度[2]。
IaaS云服务模式将基础设施资源虚拟、抽象化后作为服务提供给用户,为用户提供了动态、灵活、智能、自动化的资源供给服务方式。依据云数据中心资源总量、已分配量、用户需求、资源使用效率实际进行管理与调度,在提高服务保障能力和资源管理效率的同时降低了使用成本,实现了面向用户的标准化服务。
1.2PaaS(软件即服务)平台架构
PaaS平台是建于IaaS云服务平台之上的智能化应用软件开发平台,是将图书馆软件开发环境整体以基础平台方式呈现给用户的一种服务模式。基于IaaS云平台服务,开发人员不需要管理云系统底层计算、网络、存储平台的基础架构,也不需要购买开发活动所需的硬件和软件,可通过支付较低费用给云服务提供商,以租用PaaS平台云服务的方式完成开展服务所需软件和系统的应用设计、应用开发、应用测试和应用托管等活动,完成云阅读应用与服务活动的创建、测试和部署。
图书馆管理员、应用程序开发者是PaaS平台的主要用户。PaaS平台基于IaaS云服务模式的支持,降低了SaaS对云基础设施资源的应用要求,具有安全、可靠、易扩展、高性能和可管理的优点,为软件开发者提供了标准化、可定制、可部署、个性化的图书馆应用、管理软件集成开发环境。同时,在提高软件开发效率的前提下,支持多用户共享平台共同进行软件编写、测试和部署,减少了软件开发前期成本投入并缩短了研发周期,所开发的应用软件具有多元化、可扩展、易兼容和支持二次开发的优点,确保云服务系统平台易于功能扩展和服务升级[3]。
1软件开发管理系统概述
软件开发管理系统可通过加强生产计划、改进软件开发过程,解决企业管理、项目管理、软件工程一体化管理,并通过研发或整合等手段,为广大软件企业提供一站式服务。软件开发管理系统主要包括项目管理、软件自动化管理和企业管理三大功能,项目管理主要体现为配置管理,软件自动化管理包括设计管理、需求管理以及测试自动化,企业管理则涉及到客户管理、合同管理、过程管理等内容[1]。
2浅析软件开发管理系统的多元化设计目标及其特征
多元化的软件开发管理系统能够实现软件开发管理测试自动化,把软件开发管理方法论和ERP(企业资源规划)思想有机结合起来,从而起到了一种强化软件开发管理效能的作用。
2.1软件开发管理系统的多元化设计的目标
软件开发管理系统的多元化设计的目标围绕着系统需求管理、过程管理、项目管理、配置管理以及设计管理等内容展开。软件开发管理系统的多元化设计,主要涉及到软件工程、项目管理以及企业管理三条主线,在项目管理和企业管理结合过程中,软件工程起到的是辅助作用,主要为软件开发管理实施过程的优化提供有效途径,为软件开发企业的规模化生产提供技术支持。基于软件开发管理的特点,进行多元化设计,能够满足不同规模、多种类型的软件企业的开发需求。
2.2软件开发管理系统的多元化设计的特征
3软件开发管理系统的多元化设计所依托的核心技术与基本框架
3.1研发软件开发管理系统所需的技术支撑
软件开发管理系统的研发,尤其是多元化设计,需要一定的技术支撑。其一是基于SOA技术,运用该技术可实现对系统的分解,并能够对服务进行重新编排,利用该技术进行多元化设计,促使软件开发管理系统的功能和规模有所扩展,从而解决了系统面临的可扩展性和灵活性的问题;其二是基于Webservices技术,该技术主要是对SOA进行辅助。
以扩展系统的兼容性,实现SOA架构的构建;其三是XML技术,运用该技术规范Web服务,为系统的建立提供标准,借助该技术的自描述功能,能够更好地发挥系统间数据转换的作用;其四是基于RUI技术,作为一种富用户界面,其在外观上与应用程序界面并无显著差别,但是借助其服务功能。
可实现系统架构的人机交互功能,降低系统使用难度,使人机界面更便于操作;其五是基于J2EE标准,该标准用于设计系统的分布式结构,有助于保持系统基础软件运行方面的独立性,增强系统基础软件部署方面的灵活性,并能够降低系统运行和维护的成本[3]。
3.2基于多元化设计方案的软件开发管理系统及其生命周期
软件开发管理信息系统的多元化设计方案包括开发技术支持、数据库设计、安全性设计和运行环境设计四方面内容:首先,采用B/S网络结构模式,这种开发技术是目前的主流技术,无需安装客户端软件,为软件开发项目提供了更具模块化的设计方式;
其次,数据库设计,建议采用大型数据库,在设计中应力求逻辑关系简单,简化连接操作程序,确保系统数据表的完整性和整体运行性能;再次,安全性设计,系统在具备开放性的同时,其安全也更容易受到威胁,为此,应对用户进行分层分级管理,通过加密、权限访问等防护手段来增强系统的安全性;最后,运行环境设计,保证客户端和软硬件的先进性,以及应用程序和数据库服务器的良好性能,创建良好的系统运行环境,提高其生命周期。
3.3在多元化设计内容基础上的软件开发管理系统的架构及其功能
在多元化设计内容基础上的软件开发管理系统的架构,共分为四个层次,从上至下依次为交互层、应用层、支撑层和基础设施层,交互层即用户,基础设施层即信息,应用层即系统的核心部分,主要包括项目管理功能模块、软件功能自动化模块和企业管理功能模块,此外,应用层还需要一些支撑组件,支撑层就是由这些组建构成,软件开发管理系统的多元化设计,其功能内容集中体现在应用层的三大功能模块中[4]。
对于项目管理功能,根据项目计划模型和实际需求,通过过程管理和条目化任务设置,实现项目审核、预览、等功能,并完成配置管理;对于软件自动化管理功能,根据系统开发原型和文档生成模型,定制设计模式和范例,对设计状态及文档质量进行管理,实现设计化零为整的转换,并利用各技术路线,实现测试自动化;对于企业管理功能,根据企业需要和合同信息,对软件过程定义,对标准子系统和标准模块进行设置,对客户信息进行综合分析和跟踪管理,使系统的自动回访和自动报警功能得以实现。