时间:2023-05-23 16:37:49
导言:作为写作爱好者,不可错过为您精心挑选的10篇软件开发与定制,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
关键词: 海洋工程;工时定额;Access 数据库
Key words: offshore engineering;man-hour quota;Access data base
中图分类号:P75 文献标识码:A 文章编号:1006-4311(2012)21-0058-02
0 引言
任何一个企业,都要按照市场经济规律,建立符合自身要求的成本核算体系,编制和拥有自己的工时定额,作为参与市场竞争的计价依据。同时还要确定科学的计价方法和完善的信息数据库,并将其作为企业管理和发展的重要内容。
蓬莱PL 19-3项目是中国海洋石油与康菲石油合作开发的最大的海上油田,包含六个生产平台一个中心立管平台以及“蓬勃号”FPSO,蓬莱 PL 19-3 连接调试项目组在对连接调试工时定额体系成功使用的基础上,结合海洋工程项目的实际情况,开发了一套适用于海洋工程的工时定额体系,并利用Access数据库工具开发形成了工时估算系统。
1 定额数据库结构设计
本定额依据现行的工程施工及验收规范、安全技术操作规程和现行劳动保护法律、法规、国家设计规范、各种类型具有代表性的标准图集、施工图纸、企业技术与管理水平、工程施工组织方案、工程具体结构和难易程度状况、以及采用新工艺、新技术、新材料、新方法的情况等,根据项目的特殊性和技术含量等因素采用现场观察测定法和类比法,进行工时定额的编制。它具有以下几个特点:
1.1 包含两个基础工时定额数据库,以满足用户不同的需求。包含粗估工时定额、精算工时定额两个基础工时定额数据库,在进行施工管理及分包、投标,车间工时管理等活动时用户可以根据自己的需求来选择其中一种或两种交叉使用,来进行工时估算。
1.2 覆盖专业全面,分类合理。根据海洋工程的性质,本系统首先按专业进行划分,分为结构、配管、电气、仪表、通讯、机械、暖通空调、安全、保温、舾装、涂装、脚手架、检验等专业。根据施工顺序的相同性及作业要素的类似性,每个专业分为不同的作业,然后每个作业分为不同的规格,从而对应完成此项规格的作业需要消耗的时间。下面以精算工时定额结构专业为例,通过框架图(图1)的形式对本定额数据库结构进行表述。
另外,数据库中对每一个定额数据所包括的工作步骤、程序及未包括的工作情况都有详细的备注说明。例如精算工时定额结构专业组对栏杆每米8.2人工时中不包含载荷试验部分。
1.3 海上系数的应用。由于海上石油行业的特殊性,决定了大量的工作需要在海上完成。海上施工时,由于施工条件限制增加了相应的施工难度,故需要相应的海上施工系数作为修正。通过对几个平台各专业计划工时与实际工时的比较及分析各专业的特点,定额中对不同的专业确定了不同的海上施工系数。所有的标准工时定额数据均以陆地的施工作为标准,故陆地系数默认为1.0。
2 工时估算系统计算原理
对应两个基础工时定额数据库,本估算系统包含两种计算模式。粗估计算模式指各专业以一个或几个关键要素为参数来计算整个专业工时;精算计算模式指各专业按照施工的各个步骤分别计算相应的工时,从而比较准确地计算整个专业工时。计算原理为:
计算工时=定额所对应的工时*数量*施工地点系数*人工系数*综合系数
人工系数是考虑人员的经验和不同工机具的装备水平应用可以直接影响施工的效率,故需要根据施工人员的经验,不同经验的人员配比以及不用水平机具情况等因素自主调整系数。综合系数是考虑所有的标准工时定额估算数据均以适宜施工的气候条件为基础,故需要根据施工所在区域的气候因素(如高温、低温、大风等影响施工的因素)自主调整系数。同时在考虑利润因素时,可以在投标和分包时确定系数来实现。
3 工时估算系统软件设计
如今应当说是一个高科技时代,人们的生活似乎被各种各样的高新科技所包围,无论是我们习以为常的网购还是离我们看似遥远的全自动化生产线无不显露着科技的风尚。人类已经进入了一个智能化的时代,因而各种专业化的软件需求量也就越来越大,每个不同的企业或者部门对于软件的需求也是不同的,定制软件看似容易实际上其操作起来难度是极大的,而针对定制软件开发最好的开发手段就应当说敏捷开发,这是一种将一个定制软件拆分成数个乃是数十个甚至成百上千个小项目进行软件开发的方式,其尤其适用于大规模定制软件的开发。
1 大规模定制软件的必要性
首先我们要对大规模定制的定义进行明确,大规模定制指的是大规模定制是指对定制的产品和服务进行个别的大规模生产,这种生产模式是把大规模生产与定制生产的优势有机地结合起来,这种生产方式一方面不会由于个性化定制而让企业的利益受到影响,另一方面也不会由于大规模的生产而忽视了软件定制的个性化,应当说这一种双赢的生产方式。对于企业而言其采用大规模定制能够在最大程度上降低生产成本而保证产品质量,对于客户而言其能够以较低的价格而获得质量优良且具有个性化定制色彩的产品,因此这是双方都乐见其成的。从大趋势来看大规模定制已经是大势所趋,同样也是工业3.0-的重要组成部分,因此我们必须对其给予一定的重视。
2 敏捷开发
大规模定制的_是一种极为有效的生产方式,不过这种大规模软件定制想要真正的实现是需要一定前提的,这个前提就是采用更加有效的产方式从而完全实现产品大规模生产与个性化定制并存。这个方式就是敏捷开发,敏捷开发将一个软件的开发转化为了数个乃至数十个不同的小项目,每一个项目都负责了软件的一部分,有的负责的可能是软件的界面,有的则负责开发软件的菜单,有的则负责软件的核心运算公式,在这数十个项目全部完成后再将其整合起来就成为一个大型的成品软件。例如同样是财务软件,可能企业需要侧重的是利润、库存等方面,而机关事业单位所需要的更多的是收入与支出的合理性,两者的需求不同因此不可能使用同一种软件,但是除了侧重之外其他的部分缺失完全相同的,因此如果采用传统的软件开发方式则必然需要反复开发两套软件来满足不同客户的需求,而敏捷开发只需要开发一套软件,而对于二者不同的需求只需要在开发其个性化部分就能够在降低开发成本的同时满足用户的个性化定制需求应当说这是解决大规模定制软件开发的最好方式。
3 敏捷开发的各个阶段
敏捷开发虽然对于大规模定制软件十分有利但是其真正操作起来却需要诸多方面的配合才能够真正实现敏捷开发,因此我们应当对敏捷开发的各个关键环节进行了解。
3.1 敏捷开发的起始阶段
敏捷开发与传统的软件开发不同,传统的软件开发几乎只需要开发部门一个部门在了解客户需求后进行软件的开发,而敏捷开发则不然其在软件开发的前期就需要企业当中不同部门的人员进行配合其中包括了软件设计师、程序编写员、营销人员、财务人员,而在企业外部其还需要客户的配合,这样做能够使得其各方面的问题能够在开发初期就被提出从而被解决,使得软件的基本框架被完全确定只有这样才能在软件开发过程中采用模块化的方式进行开发。
3.2 敏捷开发的开发阶段
在对客户意图以及软件设计师进行了充分沟通并确定了软件方案之后,就需要将软件拆分成数个乃至数十个小型开发项目,这些开发项目有些是软件的基础有些则是客户个性化定制部分,首先来说基础开发部分,其必须注重这部分程序的通用性,即其不能单纯地只能应用在一款软件上而是应当能够被未来多种不同的软件进行利用,这些通用程序一般包括了软件的数据输出、输入、导入导出程序以及各类软件的菜单和工具栏等等,只有确保了基础程序的通用性才能够成为大规模定制软件的开发基础。另一部分则是个性化定制部分,在这一部分最为注重的应当是充分满足客户对于软件的个性化需求。
3.3 敏捷开发的完成阶段
敏捷开发其本身实际上就是讲程序分为了多个不同的模块,在最终的完成阶段则是需要编程人员将开发完成的各类模块化程序进行汇总和有效地连接和融合从而使得其成为一个个不同的软件,这种模式与传统一气呵成的开发模式不同,其开发方式更加灵活便捷,许多软件模块都是通用的只需要在通用模块的基础上将个性化模块进行开发并且融入到整个软件当中就能够彻底完成个性化定制的软件。
4 结束语
大规模软件定制是时展的需要,其在软件开发领域的应用能够在最大程度上降低软件开发的成本并且提高软件开发的效率应当说这是极为可喜的事情,不过我们必须清楚地意识到大规模软件定制其本身必须是一敏捷开发为前提的,因此我们必须对敏捷开发这种软件开发模式进行深入的研究从而使得我们能够更好的掌握这种开发方式来支持大规模软件定制。
参考文献
[1]罗昱.浅谈大规模定制的软件开发模式[J].电子制作,2013(14):72-72.
1、 引言
随着信息技术的迅猛发展,“以电子政务带动信息化”已成为带动国民经济和社会信息化的一项基本策略。推进政务信息化、推广电子政务系统,不仅可以提高政务工作的效率,使政务工作更好地为居民和企业服务, 还可以使民众更好地参与各项决策活动,推动国家或地区的整体发展。而对于涉及众多业务对象的政府人事部门来说,想要实现公共人事管理,向公众提供高效、便捷的服务,人事行政手段的现代化和信息化迫在眉睫,电子政务系统的规划与实施的重要性与迫切性显得更加突出。
背景项目在规划与建设过程中,结合当地的经济发展水平,以及对人才的迫切需求,形成以业务需求为核心,以信息资源整合为基础,以服务社会为目的的人事人才服务管理理念,着力打造先进、实用、持久的人事部门电子政务系统,为解决软件开发过程中存在的复用性低、开发效率低下、业务与技术的高耦合度等问题,引入基础平台作为业务系统开发的技术框架,软件开发人员只需要集中精力处理底层功能复用问题,统一为各业务子系统扩展各种通用功能与接口,而由专门的定制开发人员根据接口规范,设置接口属性,处理各业务系统的业务逻辑,达到各业务子系统的建设目的。
2、 软件开发平台
软件开发平台是基于功能强大的开发平台之上生成的一个面向业务人员使用的工具,即:业务定制/开发基础平台,它以通用技术架构(如MVC)为基础,集成了常用工具、二次开发包、基础解决方案等内容。在软件的平台化和配置化的开发过程中,软件开发平台被定义为:软件开发平台=通用业务组件层+应用支撑层,即:通过业务组件实现软件的共性功能,而通过应用支撑层,将组成应用的业务组件整合在一起,显示给用户。软件开发平台的引入可以大幅缩减编码率,使开发者有更多时间关注客户需求。业务人员用简单易用的业务平台来完成一些基本的功能,技术人员用底层的平台来完成复杂多变的特性。如此,业务设计人员不需要考虑技术实现问题,而将注意力集中于业务逻辑上,通过设计更加有效的业务流程来提高客户的满意度;而软件开发人员则着眼于系统性能的提高和接口功能的扩展,为业务实现提供灵活、高效的实现途径。
3、 业务基础平台的总体设计
人事部门电子政务系统几乎涵盖了全市机关及企事业单位的所有人事业务,包括专业技术人员的职称评审、继续教育等,以及机关事业单位的单位及人员管理;涉及的用户包括:单位、个人、各级各类人事业务主管部门等。在项目建设过程中,为解决采用传统的“手工作业”方式独立开发、各自为战的情况下,可能存在的无法快速响应用户频繁的需求变化,开发质量难以保证,项目的开发周期长,学习与维护成本高昂,系统的可扩展性、可维护性与灵活性低等风险,引入了软件开发平台的思想,将业务系统的业务逻辑与技术平台相分离,开发过程采用模块化和构件化的开发思想,尽可能通过抽象公共模块与复用构件实现软件的重用,并通过使用分层次的开发方法,使系统对数据库的操作与业务处理逻辑分离,便于扩展与维护。本平台的架构图如图1所示:
图1 平台总体架构图
平台采用分层架构模式,其中:
* 表现层:通过业务系统展现、收集信息。因为平台采用所见即所得的处理方式,因此,对于系统管理员来说,可以随时调整应用系统的相关配置;而二次定制开发人员可根据平台提供的辅助工具,即时修改定制并查看结果;对于用户展示的功能,则永远保持最新状态。
* 业务层:用于处理应用系统的业务逻辑。通过配置底层平台提供的相关组件的开发接口,并接收由表现层输入的采集信息及交互控制,将完整的业务逻辑处理结果输送到表现层。
* 数据层:平台统一提供的数据访问接口,用于处理数据存储/数据转换及数据封装等功能。
* 资源层:数据存储中心,用于存储数据或提供与其它数据资源系统的连接,数据资源类型可以是数据库、外部系统或文件系统。
4、 业务基础平台的应用设计
业务系统及其功能模块的开发,主要是基于平台进行二次定制开发,其中,业务功能模块可以由开发人员进行自主开发,也可以由平台提供的定制开发工具进行构建。基于平台构建的业务功能模块采用参数法构建,如图2所示:
图2业务系统功能模块构建方案
业务系统功能模块的构建过程主要是通过平台定制开发工具将系统或者模块的各种参数保存在数据库中。用户通过身份认证、登录业务系统后,权限控制层根据用户的功能模块访问权限,读取数据库中该模块的配置信息,并最终将该功能模块展现到系统界面,从而完成模块与数据库的各种交互操作。
在业务基础平台与业务系统之间共分为四个层次,包括:定制开发层、业务组件层、功能模块层以及业务系统层。其中:在定制开发层,开发人员根据逻辑需求,在页面上拖拽、挂接由平台封装好的、特定逻辑与实现模型的业务组件,并设置其属性,从而完成该业务模块所提供的功能;在业务组件层,平台统一解析挂接在页面上的组件,完成相应的功能;在功能模块层,通过在页面挂接的组件的处理,实现与用户的交互,完成数据处理工作;业务系统层,由所有的功能模块按照层次关系整合在一起,最终形成业务系统。在整个业务系统的实现过程中,由于平台实现了对业务组件的封装,开发人员只需按照组件的接口规范,设置属性即可完成相应的业务逻辑处理。
5、 结论
电子政务是当前信息科学领域的一门重要学科,而软件开发平台又是当前软件开发模式的一种趋势。将业务基础平台构筑为人事部门电子政务系统的业务基础平台,一方面,充分利用软件复用思想,通过组件化、平台化与配置化的开发方式,为基于平台进行二次定制开发奠定了强有力的技术支撑;另一方面将业务与技术相分离,技术人员通过开发、维护底层平台来完成复杂多变的特性,大幅缩减了编码率,降低了开发难度与成本;而业务定制人员只需要关注业务需求的变化,并通过简单易用的平台定制工具即可轻松实现需求,应对变化与改革,从而降低了业务系统的开发难度,提高了业务的实现效率。
参考文献:
中图分类号:TP311.52
在我国科学技术飞速发展的过程中,软件开发是一项非常重要的科学技术,软件开发企业对软件开发过程中的成本控制与开发量的估算非常看重。在上世纪60年代的时候,就已经开始对软件成本控制以及开发量估算等相关问题进行了研究,但是在那个时期通常都是采用定量经济学的决策方法应用到软件评估中,这种方法虽然能够让决策问题变得简单,也能够便捷的执行定量计划与项目控制。但是这种方法在实际工程应用中很难将软件项目开发的一些客观外部因素考虑进去。而软件成本估算技术却能够很好帮助软件开发企业评估软件的开发成本以及项目进度,并且能将客观外部因素考虑进去,因此对软件估算方法在实际工程中的应用进行研究有很重要的意义。
1 软件成本估算的基本方法与步骤
1.1 软件成本估算的基本方法。如今,软件成本的估算方法有很多种,本文主要介绍一些最基本的估算方法。第一种是专家估算,这种方法是将整个软件开发工作按照功能进行分类,然后一直细分到个功能模块,同时对软件开发需要的具体工作进行详细划分,之后就是一直细分到主要功能模块必须的工作,最后就能够根据经验计算出各个功能模块的开发,所需要的人力以及时间。第二种是类比估算,这种方法是根据曾经类似的项目作为参考,然后根据类比方法来预测正在开发项目的成本及其进度。第三种是算法模型,这种软件成本估算方法有很多种形式,比如线性模型、分析模型、复合模型以及表格模型等[1]。这种方法要先找到影响软件开发成本的因子,并进一步判定它对工作量产生的影响程度,最终得出最好的模型算法表达式,这样就能够对软件开发成本给予准确的估算,如图1所示,为软件成本估算的基本用例图。
图1 软件成本估算用例图
1.2 软件成本估算的步骤。在采用软件成本估算方法对软件开发项目进行估算的过程中主要的步骤包括如下几个方面,首先是确定软件的需求,建立起估算的目标,计划好需要的数据与资源。其次就是做出详细的估算,采用多个独立方法对软件项目进行估算。最后就是估算的跟进、调整以及修改等。
2 软件成本估算在网络电视系统中的应用
2.1 确定软件的需要。随着我国网络技术的发展,如今我国的网络电视平台系统随着客户与市场的需要,软件系统需要不断的进行升级与更新,因此采用软件成本估算方法对软件平台进行成本估算,有助于相关企业更科学的掌握网络电视软件系统的开发工作量、人员配备等,并且能够为新系统的开发提供更好的建议。通常网络电视系统需要具备的功能包括内容管理功能、用户管理功能、运营计费功能、广告管理功能、Web服务系统、CDN节目分发功能、编辑功能、内容提供商管理等相关方面的功能[2]。
2.2 软件成本估算方法的选择与组合。在对网络电视平台系统进行软件估算的过程中,需要根据其特点来选择最适合的估算方法,一般网络电视平台系统在开发与维护中,都需要依靠专业人士的意见,并且其中的大部分功能模块都需要在软件公司提供的商业模块中进行选择。因此最好是采用专家估算、算法估算与类比估算这三种估算方法,来对网络电视平台软件开发与软件维护的成本估算。并且为了得到更为准确的估算结果,需要根据这三种估算方法的不同特点,在不同的时期进行估算。
2.3 软件规模估算。在对网络电视系统软件的开发与维护估算中,对软件规模的估算是一个难点。根据网络电视平台软件系统的功能可以将其开发模式分为三种类型。第一种是直接用现成模块,其中包括用户管理、统计管理等。第二种是对已有商业模块进行改编,其中包括内容管理功能、Web服务系统等。第三种是因运营需要产生的新定制开发,比如内容提供管理。具体的估算过程包括新定制模块的软件规模确定、改编模块的软件规模确定这两个方面。
2.4 工作量估算。软件开发的工作量估算是软件成本估算方法中最重要的工作,因为整个软件系统都是由同一家软件开发公司来完成的,因此可以用同一组比例因子来代表整个软件开发项目,但是在整个软件开发中各个模块的开发要求与特点都不一样,因此必须要对每个软件模块进行估算。具体的工作量估算工作主要包括以下这几个步骤,分别是比例因子的确定、驱动因子与工作量乘数的确定以及结果分析。其中在驱动因子与工作量乘数的确定过程中,还包括了新定制开发软件的工作量乘数确定、改编软件的工作量乘数确定。而结果分析中,主要就是估算网络电视平台软件开发的总工作量以及其开发进度,同时还可以对新定制开发软件的工作量与开发进度评估结果,模块的具体工作量乘数如表1所示。
表1 “内容提供商管理”模块具体的工作量乘数
驱动因子 对应乘数 取值因素
RELY:要求的软件可靠性 很高 涉及内容商经济结算
DATA:数据库规模 标称 数据量不大,但结构复杂
COLX:产品复杂性 高 考虑节目、用户与提供商多线管理
DOCU:匹配生命周期需求 标称 可以参照其他模块的通用做法
RUSE:可复用开发 高 由技术小组决定
PVOL:平台易变性 低 平台一旦建立,变化性不大
SITE:多点开发 高 有较好的交流工具
TOOL:软件工具使用 标称 按通用情况考虑
SCED:要求的开发进度 标称 按通用情况考虑
3 结束语
网络技术是当今发展最快的一种科学技术之一,同时软件的开发对世界经济的发展起到了很大的作用,软件开发企业要想提高其经济效益,取得更好的发展,就必须要有一套相适应的软件成本估算方法,这样才能够提高软件开发的效率,并节省软件开发的成本。通过本文的相关分析,我们可以了解到,软件开发企业必须要根据软件的特点来选择相适应的软件成本估算方法,这样才能够准确的估算出软件开发的工作量与进度。最后希望通过本文的研究,能够对我国的软件开发企业有所帮助。
参考文献:
[1]Boehm BW,Abts C,Chulani S.Software development cost estimation approaches―A survey.Annals of Software Engineering,2010(10).
在转换培养模式之前,我们做了大量前期调查,分析了全球软件外包未来发展的态势和中国软件外包的发展趋势,并通过大量企业调研仔细研究了软件外包人才数量和技能的需求情况。
(1)软件外包发展状况
图1展示了未来几年全球软件外包市场的发展情况,可以很清楚地看出,在未来几年中软件外包将持续稳定增长。图2显示了我国软件外包市场占全球市场的比例,可以看出我国软件外包市场规模在逐步扩大,占全球市场的比例不断增长。未来我国的软件外包将发展良好。
(2)软件外包人才需求情况
软件外包规模扩大带来的直接问题就是人员紧缺。针对这一点我们也作了认真分析。首先是人才数量分析,图3显示了未来几年内该领域对人才数量的需求情况。
其次是人才结构分析,图4显示了软件外包人才需求结构。
目前中国从事软件外包的人员50000余人,未来几年内,人员需求量将会快速增长,到2009年,需要近25万人,其中初级人才的需求量巨大,近17万人;中高端人才需求也在急剧上升。
当前软件外包人才的主要来源有以下四个方面:普通高校的软件及相关专业培养;35所示范性软件学院;中国计算机等级考试;中国IT培训与教育。但多数学生毕业后并不能立即胜任外包软件的开发工作。企业对外包人才除了最基本的技能要求外,还要求此类人才能充满激情,勇于面对压力;认真敬业,有责任感;有细致入微、精益求精的工作态度;具有扎实的理论功底和良好的外语沟通能力;具有快速学习能力与团队合作能力。这些能力培养在传统教育中是很难完成的。
鉴于当前软件外包人才培养过程中存在的这些问题,我校提出了一套全新的问题解决方案――软件外包人才定制培养。
二、软件外包人才定制培养模式
综合以上分析,我校将软件外包人才培养定位在初级人才这个巨大人才缺口上。我校提出的完整外包人才定制培养模式是:首先,由软件外包企业向我校发出培养需求,包括人才素质需求和人才数量需求;其次,我校从各系选拔出适合该职业的学生组成定制班,选拔方式为笔试和面试;第三,按照企业需求制定相应教学计划展开定制人才培养工作;第四,在学生毕业前再次根据企业当前需要进行检验和选拔,选取优秀者和符合要求者进入软件外包企业工作。
该模式提出之初,我校一直和东软合作,为其提供定制人才,具体培养过程见图5。
我校在该流程的控制上严格把关,由企业出题、面试学生,选拔出符合企业需求的人员组成定制班;企业参与制定教学计划的全过程,校企双方经过讨论制定出符合软件外包企业需求的教学计划;在教学过程中我校严格遵照该教学计划完成教学任务,保证人才培养的质量;在学生毕业前,企业还要进行一轮测试和选拔,从中选择切实符合企业需求的人才。
三、人才定制培养模式效果
我校从2004年开始运营这套软件外包企业人才定制培养模式,共培养该类人才579人。这些人才除进入定制企业外,也受到了其他软件企业的欢迎,就业率达到了100%。以东软集团为例,定制培养的新员工占整体招聘的8%,但定制培养的优秀新员工占整体优秀新员工的15%。这些学生的企业导师认为定制培养的效果很好,对企业帮助很大。
身为全球最大的软件公司,微软如何构建高效的软件开发团队,其经验必有可之处。
“模式”就是微软多年下来所累积的工作方法,而“实践”就是如何将这些方法,具体地复制并落实到其它的开发团队中。形象来说,“模式与实践”的经验和指南打印到A4上,叠加起来可以绕地球2.6圈,而现在,微软把这些经验带到了中国,希望能够通过这个论坛,和中国的软件行业来共同分享。
谈到模式与实践,首先想到的就是方法论。通过“模式与实践”,企业可以通过构建软件业务程序来更好的实现商业价值。
这主要有三个方面,第一方面是开发,第二方面是IT的应用,第三方面是商业策略和技术策略完美统一,“模式与实践”在这三个领域里,经过总结微软30多年的经验,能够帮助软件开发者或者软件企业更好的在这三方面帮助他们去完成使命。
那么如何运用商业应用程序去实现商业价值呢?通常用户首先需要考虑几个问题。
首先是平台,无论用户构建怎样的商业应用程序,都必须运行该程序底层的基础平台,因此基础平台对用户的重要性不言而喻;其次就是工具,适合的工具能够帮助用户更好地构建商业应用程序。
在有了平台和工具以后,开发商在应用程序的时候还需要相应的指导,“模式与实践’正是集合了微软30多年软件开发历史过程中所提炼出来的实用模式和最佳实践的组合。微软把这些模式和经验总结成为“模式与实践”,做成一个可以向外提供给软件产业的一个工具包,希望大家能够跟微软共同成长,最终促进整个产业的发展。
在现在的经济环境下,优秀的企业意识到,此刻正是苦练“内功”的好时候,中国企业前几年都忙于扩张,现在反而是企业转型升级的好时机,企业练内功很重要一点就是为下一轮经济周期做准备。要练内功,创新是必要条件。
而最核心的创新在于生产力的创新。以用友为例,微软在和用友合作期间,把“模式与实践”软件工程的理念加入程序设计之中。
一、构件的定义
构件,简单来讲就是软件系统中的单个元素,它具有很多的特性,包括独立性,可替换性,多次使用性等等;构件也是可以很准确就会被认知的实体,当软件重复使用的时候。软件具有自身的性质,独立性以及可重复实用性,所以构件可以借助这样的特征来进行软件的开发,并且可以通过构件提供的特定窗口进行信息的互换等等。在进行基于软构件的软件开发过程中,为了保证软件开发的质量,构件之间的信息交换一般都会通过标准的接口来进行。
二、软件开发形式
(一)软件定制。对于软件定制主要是为了能够达到功能拓展的目的。其主要是指基于软构件的软件开发,利用事前明确功能以及编制好的构件或者是面向构件。并且软件对于构件功能需求的不同,也可以通过构件版本的选择来实现。
(二)构架独立。在进行软构件的软件开发中,为了可以能够让构件出现问题时能够及时维修,并且能够做到维护的简易化,所以需要将构件进行分解,也就是构件独立[1]。
(三)统一接口。在进行软件开发的过程中,往往会受到很多方面的限制,比如说是硬件设备上的限制,或者是空间上面的限制,为了能够有效的突破这种限制,需要将接口通过统一,其主要是指软件可以通过指定的接口实现跨平台的交互。
三、构件模型分析
(一)OMG组织。对于OMG组织来讲,自身就具有一些特点,包括支持性较高,系统平台相对独立,整个的模型比较完整,效率高。在OMG组织中,有基于开放平台的对象体系CORBA,同时其的计算机技术对于大多数厂家来讲也是很受追捧的一部分。
(二)SUN。Java是SUN中的一项技术,这项技术对于具有语言开发的功能,并且其的使用范围广,能够满足对于不同的业务的需求,最重要的一点就是简化构件服务器。
(三)Microsoft。Microsoft中的COM构件模型,其构件技术在实际的应用过程中是非常广泛的。它具有很多自身的优点,包括能够实现模型间的相互交流以及操作,并且由于自身的构件接口是标准接口,能够有效的用远程技术。
四、基于软构件的软件开发流程分析
(一)整体框架设计。在进行框架设计之前,需要对所要达到的功能以及效果进行分析,通过分析对比找出与设计软件功能需求相同的地方,然后将功能构件从系统中进行分解,最后再将开发软件的系统进行优化。
(二)构件库建立。为了保证软件在开发时的效率,需要进行软件库的建立。软件库的建立就是为了使构件能够更好的服务于软件开发,将构件进行统一的管理,并且构件库的建立对于软件的反复使用起到了支持,保护等作用。
(三)获取构件。当进行需要分析之后,需要将满足要求的构件挑选出来。选出来之后,需要根据实际的应用情况进行一些简要的修改,修改完善之后将其安装到待开发的软件系统中。构件的获取主要是包括以下几个途径来进行。首先可以在以往使用过的构件中按照实际的进行挑选,其次合用利用当前开发新的系统功能模式对构件进行开发,最后可以通过购买的途径来进行构件的获取。
(四)构件的调整。当获取构件之后,为了能够使构件更好的服务于软件的开发,需要根据实际的情况来进行适当的调整,使其符合相应的设计规则。当进行调整的时候,主要使用的是三种调整方法,有白盒法,黑盒法以及灰盒法。白盒法主要通过对构件源码的修改来进行调整的。调整之后,使构件之间的摩擦减少。但是这种调整方法也有自身的缺点,就是调整过后会影响其的使用特性,对以后的维护造成一定的困扰。对于黑盒法以及灰盒法来讲,主要利用的是对源码进行保留直接进行扩展的方法。
(五)构件的组装。构件能够发挥自身的作用,必须要与群体构件结合才能发挥作用。为了能够更好的进行软件的开发,需要对构件进行适当的合乎实际的调整,并且将构件与构件之间的接口连接在一起,或者是将构件与开发的元素连接在一起。
小结
对于软件的开发来讲,开发过程是一项复杂的过程。设计人员需要有足够强的理论知识以及实际应用能力。在进行基于软构件的软件设计的过程中,设计人员需要有严谨的思路。本文主要对软件开发流畅做简要介绍,希望读者对其有简单的了解。
基地化开发成就最大价值
“西安软件开发中心的建设,标志着神州数码正式摆脱了软件定制化开发的传统模式,迈向国际通行的规模化、规范化的基地化开发新阶段。”董其奇介绍说。
“事实上,完全定制的模式不符合软件发展的规律。没有成熟的产品做支撑,系统的稳定性没保障,专业性也不够,且开发周期长,系统很难如期交付。据统计,目前国内很多软件企业的项目按计划完成率不到70%,其中全球软件开发项目中只有16%能按计划完成。” 神州数码融信软件公司副总裁、知名项目管理专家潘东博士说。
潘东强调:“软件的标准化、集约化生产乃国际大势所趋,随着行业发展的不断规范和完善,传统的定制开发模式因为种种弊端将逐步退出历史舞台。神州数码从现场开发走向非现场的基于解决方案的开发,从被动定制发展到解决方案预制,这期间的飞跃显而易见,以低成本、高质量、大批量、按预期交付方式服务于客户,将会极大地提升软件的价值和服务的水平。”
深积薄发跨越三重台阶
规范化的软件基地开发模式既然符合国际惯例,且是软件业健康成长的必由之路,那么,为什么它在中国尚未成为气候?究竟是什么阻碍了中国软件业的规模化发展?潘东指出,建设大规模的软件基地,进入的门槛不低。
首先,软件的规范化和集约化开发对企业的业务规模和客户数量有很高的要求。神州数码之所以能够进行规模化开发,正是基于神州数码在金融行业解决方案、实施经验等的深厚积累。以神州数码综合前端系统Sm@rtTeller、应用整合平台Sm@rtIntegrator以及国际化银行核心业务系统 Sm@rtSymbols为例,这些拳头产品已经有数十年的技术积累,在国内外有众多的客户案例。
其次,实施基地化开发,企业必须要有超强的项目管理能力和充足的人才储备。神州数码在过去19年间,成功积累了一支技术扎实、能力全面、熟悉行业的软件开发团队,他们为西安软件开发基地的建设奠定了坚实的基础。
另外,建设大规模的软件开发基地,对公司实力和财力也有相当的要求。自2004年以来,神州数码为建设西安软件开发基地,每年的投入都在数千万元以上。
离线不离心保证项目交付
那么,很多习惯了服务商在自己眼下开发,期望对项目进程了如指掌的客户,能接受这种非现场的新服务模式吗?会不会有项目失控、实施结果偏离客户需求的风险呢?
潘东说,“从目前的情况看,我们的客户对这种模式非常认同,对我们的服务也非常满意。最近刚刚到西安软件中心考察的东亚银行执行董事兼行政副总裁陈棋昌先生,在视察结束后对我们的基地给予了很高的评价。”
非现场开发,绝不等同于项目质量的降低或与客户需求的脱节。潘东举了一个例子,最近,一个客户表示,由于业务发展的原因,期望项目能提前几个月建成上线。为支持客户的发展,神州数码西安软件中心迅速从共享的资源中抽调人员,集结了一支100多人的“突击队”,加班加点赶工期,客户对此非常满意。而这在客户现场开发、人员均被各项目锁定的情况下是根本不可能做到的。
“此外,在服务机制方面,我们也有一套完备的制度,充分保障离线情况下对客户需求的充分理解和跟踪。”潘东微笑着补充说,“事实上,我们只是将大量的基础开发工作完全放在了西安。在客户现场,我们仍然会保留一些高端的咨询师和架构师,他们为客户的业务发展和系统建设提供咨询建议,同时他们也分析客户的需求,进行需求的定义和分解,并把客户的业务需求转成可执行的技术方案,并传递给西安。”
EMBLAZE-VCON让远程交流畅通无阻
朗飞
过去一个月中,以色列EMBLAZE-VCON公司举办的VCB5新品巡展在全国范围内掀起了一股IP视频解决方案的热潮。
8月,首次访华的以色列EMBLAZE-VCON公司首席执行官Moshe Leder在接受记者采访时表示:“中国是最大的垂直市场,业务额占公司总额的20%左右。随着中国经济的快速发展, 我们的行业用户群体也在不断扩大。2006年,EMBLAZE-VCON公司将加大在中国的投资与开发,包括加强公司的品牌推广,以及与诸多领域伙伴的合作,针对不同行业推动量身订制的解决方案,充分满足不同层次用户的需求。中国市场视将是EMBLAZE-VCON公司未来发展的重点。”
谈到合作伙伴关系,EMBLAZE-VCON的策略是:一方面,从产品互补性上考虑,要加强与视频领域内厂商的合作关系,为用户提供整体解决方案;另一方面,与视频领域外的IT厂商加强合作,比如IBM、思科、微软等,将EMBLAZE-VCON的产品功能嵌入到合作伙伴的产品或解决方案中,拓宽应用面。
“+飞猫”平台震撼上市,重新定义互联网+软件定制
据悉,讯猫软件携旗下新产品推出品牌“+飞猫”,携新产品“+飞猫APP”APP震撼亮相于11月1-3日在广东惠州召开的2016第五届中国(惠州)物联网・云计算技术应用博览会(简称“云博会”)。作为本次云博会的高级参展商,讯猫软件拥有了特展和标展两个站展位,活动现场大的大赢得了各界人士关注,再次带来了一股“互联网+”软件定制的热潮。
讯猫软件CEO吴烁在接受本刊采访时表示,云博会现场,讯猫软件向到场嘉宾展示了主打的“+飞猫”互联网+软件定制平台;同时,还推出讯猫软件一系列成熟软件产品,讯猫软件一直以打造“软件行业互联网+”时代下的CMM标准为目标,秉承以技术为核心,依托自主研发的庞大软件产品库,为各行业提供了丰富的应用解决方案和产品应用。
作为本次参展主打的“+飞猫”APP。+飞猫APP一款为用户提供互联网咨询、互联网项目估价、以及软件定制开发等功能的APP。“+飞猫将重新诠释软件定制行业的新体验”。
吴烁指出,讯猫软件将以“服务造就品牌,创新赢取未来”为核心理念,未来我们将提供更多优秀的互联网产品和优质的软件服务,助力传统企业加速互联网的转型升级。
谈及+飞猫平台的核心竞争优势及商业模式时,吴烁坦诚明确提出,+飞猫平台与传统软件定制行业的大有不同,++飞猫(京东模式+众包):提供免费的成熟技术架构以及已有软件与互联网管理协作平台,接受客户多频次需求变更、提出创新的服务计费方式、更多的软件厂商(个人或团体供应商)提供成熟软件产品支撑,+飞猫平台将全面把控整个服务过程的咨询、定价、研发、测试、升级,+飞猫必将成为众多传统企业和创业者的技术背书。
节省40%升级成本,推动软件定制行业创新发展
另外,吴烁还特别指出,目前讯猫软件还整合了行业内大大小小的软件公司及规模不大的技术团队,再结合公司已有的的沉淀的技术模板模块,及公司再制定高端的标准化软件定制标准化服务。同时以通过最低的价格提供最好的服务,直接降低了传统企业和初创互联网企业的40%左右的技术研发成本。
提及其合作模式,吴烁指出,建议双方或多方重新组成一个新的主体公司,人员大约5-10个人,以新的主体公司来服务这家传统企业,其中,只需要20%的软件开发需要个性化制定软件开发,另外80%的技术模块的部分,完全可以使用+飞猫固有的已有的标准成熟服务体系和服务标准。其竞争优势表现两点,第一,大大减少了企业的升级成本,二来确保传统企业升级的可靠性、安全性、及实用性及可持续性。
关键词:
银行;软件开发;CMM;开发方法;改进
银行软件的开发过程的改进方法直接影响到银行业的进步和发展,对银行信息化水平的提高尤其重要。银行软件项目是由技术、过程和人才三个方面共同完成的,银行软件项目的开发和改进方法离不开以上三个要素的参与,只有提高银行软件的开发质量和工作效率才能吸引创造更多地利润,提高客户的满意度。
一、银行软件的开发方法和改进方式
1、以产品化为核心的软件开发方法银行软件业发展的初期阶段,软件商针对各银行服务项目的不同进行软件的定制是当时主要的银行软件开发方式。开发人员针对每个项目中实际的需求进行调研,设计出符合要求的开发方案再进行实施,但实际上,这种方式存在很大的局限性。首先定制软件需要软件开发商将大量的技术人员派遣到不同的项目中去,他们的工作重复率十分高,极大的浪费了人力资源,效率还得不到提高,使得开发成本的投入不断增加,给企业的进步和发展带来了阻碍,定制软件的稳定性还非常差,出错几率较大,在客户满意度上始终达不到高标准。[1]使用产品化的银行软件开发方法可以很好地解决以上问题,作为一种工程技术的方式,产品化的开发方法基本的研究思路是在同类软件产品的基础上,提取出相关的业务特征来予以实现,对于不稳定的部分进行参数化的处理,使其能够在较小的变化下满足大部分客户的需求。这样项目在经过首轮的开发研究之后,对不同银行的软件都能在最短时间内进行维护和保养,非常有利于提高软件质量、减少成本的投入和增加市场竞争力。银行软件的开发方式以银行具体的业务标准作为基础和标准。从理论化的角度来看非常适合产品化的开发方式。但是针对目前银行界的发展情况来看,各银行之间有自己独特的业务处理程序,在流程和业务的处理方式上也大不相同,给产品化的开发带来一定的阻碍。以产品化为核心的银行软件的开发过程是建立在技术平台的基础之上,通过业务逻辑的思维能力在部分定制条件下可以快速完成对于产品的开发和使用。银行软件业务的平台的开发步骤是在技术平台作为基础的情况下,再深入理解和分析银行内部的业务,建立和完善业务平台,然后在基本业务平台之上构建出一个完整的业务流程,对于具有近似流程的业务建立建立相关模板来用作更高层次的平台,以支付系统为例,大笔金额交易的流程必须经过录入、审核。传输、修改和修正等步骤,就可以做成一个完整的业务模板,通过对这个模板的修改和调整就可以用到其他类似的业务上。[2]以产品化为核心的开发方式除了开发制作方便快捷之外,在后期的软件维修保养和升级方面也十分快速,虽然以产品为核心的开发方法的业务平台并不是彻底的产品化方案,还需要相应的开发人员的针对具体的银行业务进行第二次的开发,但是却是非常适合当前银行业的的一种改进方式。
2、以CMM为核心的软件开发方法CMM是管理学理念在软件行业中的具体表现,在过去的几年时间内CMM用具体的成绩证明了他对改进软件开发过程的价值,是一种更加先进的改进方式,但是并不是所有银行的软件项目都适合CMM的管理理念,比如以算法为基础的银行研究性开发项目就不行,CMM为核心的软件开发方式只适合控制方便的业务型开发项目。目前我国银行的软件大部分都是以业务作为核心的行业软件,因此在具体开发技术上是不需要十分高深的算法和复杂的逻辑的,因此十分适合使用CMM的理念对银行软件项目进行开发和使用,由于开发方式的产品化等特征,虽然整体的研究成本得以降低,但是在第一次的开发程度上却十分复杂,需要更加优良的管理方式才能保障以CMM为核心的软件开发成功。[3]我国目前对于CMM的研究已经取得了很多的成果,例如对KPA中关键过程的实践内容的解析和证明,每个目标如何在单独的软件开发项目中完成。但是CMM在银行软件的开发实施需要企业文化作为基本保障,才能确保该方法的顺利进行。CMM的管理理念提供了一系列的方案来保障银行管理的制度化,如在具体的银行业务中,软件工程作为立法机构提出相应的规范内容,所以软件在在开发过程就必须按照这些制度来执行,保障软件的质量监督规范的实施,这样就能确保软件管理的有效性。但是传统制度下的银行软件开发企业的管理者来说,自身也处在制度之下,只有企业内形成法制化的企业文化,才能保障新方法的推行管理过程。需要参与CMM为核心的各组织相对独立的发展空间。只有在不会互相影响的情况下,各组织的评估和监督工作才能从真实性和客观性出发,对软件的管理和理解才加具有意义。例如在对软件工程过程组的计划评估中,由测试组对软件工程组的产品进行性能测试时双方都需要相对独立的空间的作为前提,但是在我国的发展过程中,企业管理人员的职责范围不明确,各组织属于从属的关系非常多,个别企业甚至是一组人员负责两个项目,自我监督效果极差。这样虽然从客观上采用了CMM的理念,但是在实际操作过程问题就会不断的出现,对于开发过程并没有起到明显的作用,所以对于软件开发企业来说这是必须要面对的问题。CMM是作为一个评估系统的依据和过程改进的结构出现的,主要是针对如何建立科学有效的管理方法给出了确切的目标和建议,CMM在银行软件的开发方法中的具体实现就需要结合实际的银行业务水平和企业自身的结构,来制定出合理有效的管理方案。正确实施CMM的方法是根据各个项目中开发人员的技术经验来完成对KPA关键过程的目标实践并完成制定的目标。完成CMM2之后再从对多个项目的总结方案上开始对于CMM3的KPA研究分析,形成一个系统的组织结构,最后再反向推广,以完成对过程管理的改进。[4]
3、重视对人才的培养工作不论是以产品化为核心的银行软件开发方式还是以CMM为核心的开发方式,这些方案的实施基础是有足够的技术人员来进行操作,对于软件企业来说人才来说专业的技术人员可以分为单一的技术型、纯业务型和管理者三种,他们各自倾向于自身领域中知识的学习和管理,目前我国的软件企业内存在着管理缺乏的现象,更是在业务型人才的培养上十分薄弱,这对软件的开发和推广以及后期的维护和管理是十分不利的,软件从性能上可以看成是一种针对其他行业发展的服务,缺乏业合格的管理人员和业务人员的软件企业无法开发出优质的软件系统的。从银行软件的角度来说,业务人员是最重要的组成部门,因为银行业的主要工作就是以业务为主,本身也具备相对复杂的程序,只有技术丰富银行软件人员才能做好银行软件的开发工作。
二、结束语
银行软件的开发和改进方法主要就是包括对技术、应用过程和人才的培养上,这三个是相互关联的相互影响的,如果其中一个方面有缺失必然会相应其他方面的进步和发展,造成资源地浪费,因此在对银行软件的开发和改进中要注意对这三个方面齐头并进,避免造成短板效应,才能真正提升银行软件的质量和效率。
参考文献:
[1]侯晓靓.基于CMMI的软件项目风险管理研究[D].北京邮电大学,2012-11-12.
[2]张健.基于FPA方法的某银行软件开发项目的工作量估算研究[D].中国科学院大学(工程管理与信息技术学院),2015-07-23.