【系统架构设计师】论文:论软件开发平台的选择与应用

论文:论软件开发平台的选择与应用

文章目录

论文一

摘要

本文讨论选择新软件开发平台用于重新开发银行中间业务系统。银行中间业务系统是指银行通过与企事业单位、机关团体的合作,为客户提供金融服务的系统。X省农行银行的原中间业务系统软件开发平台是以UNIX系统为操作系统,使用的数据库是Sybase,采用二层的C/S结构,使用DB-Library,T-SQL编程。随着业务的不断发展和软件开发维护工作的剧增,该软件开发平台表现出工作效率低,开放性差,开发出的产品不易管理等突出性的问题。为了解决原软件开发平台的不足之处和基于该银行长远发展目标的要求,我们引入新的软件开发平台OSP PrePbranch。在文中阐述了选择软件开发平台的原则:要求开放性好,可复用性高、开发出的软件易于管理、风险可控、技术能与发展主流趋势相一致并易于掌握,并总结了应用新软件开发平台开发银行中间业务系统所带来的优势。

正文

银行的中间业务系统是指银行依托自身的电子化平台、网点网络和人员等资源,通过与企事业单位、机关团体的合作,为客户提供代收代付、资金转账结算、业务代理和咨询、增值理财等金融服务的平台。X省农业银行的中间业务系统主要包括由五大类业务组成,即批量业务,如代发工资、国库统发工资、批量代收代付;单笔缴费业务,如柜台代收学费、行政管理费等;通信类业务,主要是指要与外单位进行实时通信的业务,如固定电话缴费系统,手机缴费系统等;增值服务业务,如代客理财、银证资金转账和结算;其他业务,如业务咨询和代理等。

该行原中间业务系统是c/s结构,采用DB-Library/C编程,使用的数据库是Sybase,以UNIX作为操作系统。该开发平台在开发中间业务系统是工作效率比较低,开发周期比较长,复用性差。针对上述开发平台的实际情况和存在的主要问题我们引入新的国内某公司的基于中间件技术的软件开发平台"OSP PrePbranch"用于重新开发该银行的中间业务系统。在整个项目期间我参与了软件开发平台的选型,系统的分析,开发和设计,测试的工作。

在选择 OSP PrePbranch平台时,我们主要遵循了以下原则:利用选择的平台开发出的新系统能和基础业务系统有机集成的原则,选择的开发平台易于掌握的原则,选择的开发平台开放性好、复用率高的原则,选择的平台易于管理的原则。

应用新软件开发平台开发出来的系统要能够和基础业务系统有机集成是引入软件开发平台的基本条件,它也是选择软件开发平台的原则之一。OSP PrePbranch 软件开发平台是一个独立的开发平台,使用该软件开发平台开发的中间业务系统能方便通过基础系统的接口直接调用,不需要另外开发接口调用中间业务系统,而且OSP PrePbranch厂商进行了现场演示和提供了正式的书面文档。这样,通过简单的调用能实现基础业务系统和中间业务系统的有机集成。

选择的开发平台要遵循易掌握性原则。引入一项过于复杂或难以掌握的软件开发平台是毫无意义的。基于中间件技术的OSP PrePbranch软件开发平台采用的操作系统是unix,使用C/C++和嵌入式的T-SQL语言为开发工具。C/C++、SQL它们都是该银行软件工程师比较熟悉的编程语言,因此该软件开发平台易于掌握。使得该银行选用该软件开发平台在较短的时间就能掌握它,应用它。

选择的开发平台要遵循开放性好、复用率高的原则。OSP PrePbranch系统提供的每个原子交易都定义了规范的接口说明,调用时入参、出参的类型、个数、顺序方面都有明确的定义,使用的场合范围;如文件的上传/下传服务就有详细的定义,上传文件名,传输方式,存放的目录等方面都有详细的说明。在开发时只要根据实际情况和应用说明文档就可以实现透明调用了。OSP PrePbranch 软件开发平台在应用层提供了网关(GateWay)服务,使得中间业务系统与协作单位的通信不需要银行开发人员自己开发,而由OSP PrePranch 直接提供;OSP PrePbranch还提供了通信的包格式的定义,通信连接方式的定义,通信格式加包头,通行打包,通信格式去包头,通信格式解包等原子交易。

除了上述OSP PrePbranch系统本身具有良好的开放性,提供大量可复用的原子交易外。在此次开发新系统时根据银行中间业务系统的特点还自制作了大量可复用的原子交易,如帐户的入帐、账户明细的查询、账户性质的判断、卡折之间的转账、各人账户和对公账户之间的转账等,把这些模块加载到OSP PrePbranch系统的构件库中,与OSP PrePbranch本身的原子交易一起提供服务。对自制的原子交易也提供了规范的接口说明,参数调用说明,应用场合等规范性文档。它们和OSP PrePbranch软件开发平台本身直接提供的原子交易对于所有的程序员是透明的,程序员使用时只要查阅规范文档就可以直接使用,而根本不需要了解它们的具体实现的细节。有了这的开发平台,在开发新系统时只要根据不同的业务品种编写必需银行核心功能模块,然后从OSP PrePbranch构件库中选择所需的原子交易就可以快速开发出金融交易。这样提高了软件的复用率,该变了过去重复开和重复测试的大量工作,极大地缩短了开发地周期,大大加快了研制进程。因此,无论OSP PrePbranch软件开发平台本身,还是后继的开发都保持了良好的开发性,较高的复用率。

选择的开发平台要遵循易于管理的原则。该银行中间业务系统改造之前客户端前台软件升级时,采用手工作业方式,工作量大,不便于管理。新系统中把各网点终端信息收集在一起,保存中间业务系统应用数据库中;若软件需升级更新时,把升级软件放在中间业务平台的指定目录下,每天网点开启中间业务系统时,前台软件自动执行版本更新升级程序,保证网点及时、自动地从后台取回最新版本软件并投入生长运行。因此,新系统极大地减少了软件升级所带来地工作量,使得中心机房可对各网点运行的软件进行统一升级、版本控制、集中管理、方便管理。

由于选用的软件开发平台OSP PrePbranch是基于中间件技术的,它由前台开发子系统,主控守护进程 ubridge,后台开发子系统和数据库连接与管理子系统组成的。中间件技术是当前信息技术发展的一种主流技术,因此OSP PrePbranch软件开发平台在相当长的一段时期内保持技术领先的优势。

OSP PrePbranch 软件开发平台具有良好的开放性,复用性高,它所采用的是先进的中间件技术。特别是OSP PrePbranch系统的开放性好,可复用性高方面在应用该软件开发平台开发中间业务系统时,可以方便的使用OSP PrePbranch提供的开放的接口,大量现成的原子交易,在具体开发时只要根据业务需要编写必须的核心代码就可以快速开发出金融交易,缩断了软件开发的周期,提高了工作的效率,提高了软件的复用性,加快了研制开发的进程。使得该银行能在较短的时间内开发出新的金融产品,提高了银行的市场竞争力。

总结

任何一种软件开发平台的选用都具有一定的风险,特别是在金融业中引入新的软件开发平台要谨慎从事。首先,它是一个基于中间件技术的成熟的产品,在此之前已经在国内金融业有多个成功应用的先例;其次,该软件开发平台大部分是采用 C/C++语言开发的,它易于掌握,因此就不存在选用一个不易掌握或不能掌握的平台;再次,该软件开发平台实施成本低。因此我们从软件开发平台的成熟性,易掌握性,实施成本等多方面进行了论证和考察,它所带来的风险是在可以控制的范围之内的。

当然,我们在选择OSP PrePbranch软件开发平台主要是基于该银行的实际情况的需要。在不同的应用领域有不同的选择,如企业应用集成可以选择EJB规范的J2EE平台,它具有开放性,平台应用的无关性等特点。但是无论那种软件开发平台,它们都应该朝着开放性、平台无关性、可移植性、能够实现异构集成等方向发展和演变,同时它们应该代表着先进的技术发展方向。

论文二

摘要

本文从一个行业MIS系统的开发实践,讨论了软件开发平台的选择和应用。首先,作者从项目的实际情况确定了软件开发平台的一些原则:技术成熟兼一定先进性、高效集成的开发工具、开方人员熟练掌握等,随后就系统平台、软件开发平台、数据库平台的选择作了详细论述。之后,作者就开发过程中就保持系统开放性,对数据导入导出、与P3软件集成、WEB查看权限采取了相关措施;就保持系统先时性,提到了多种软件技术合成及VPN技术两项措施。最后,作者对近期商业应用软件开发平台的主流--微软的.net及 J2ee进行了介绍,比较了其优缺点,对今后本部门在软件开发平台的发展方向作了一定的评估。

正文

我公司是大型电源建设项目的专业建设公司,曾以总承包方式承建设了多个电厂,在工程建设过程中逐步建立了一系列完整、科学的工程管理体系,与此相应的是逐步建立电力建设项目工程管理信息系统(简称电建MIS),原版本的不足之处是应用模块不多,且多以简单文本为主。

2022年,浙江省某规模为4台60万千瓦机组的发电厂二期工程建设上马。该工程作为一个大型能源投资项目,将有力地拉动地方经济的增长,并且将为浙江和华东地区的经济和社会发展提供强大的能源支持和保障。工程由多方共同出资建设,由我公司承担工程总承包建设任务。借此工程建设的契机,我公司决定重新开发电建MIS 3.0版。主要模块拟包括办公自动化、施工总平管理、合同管理、物资管理、质量管理、安全管理、图档管理、公用信息管理、综合查询(包括WEB查询)、系统维护,基本涉及我项目部的各个职能部门。

软件采用二层c/s与三层B/W/S相结合的方式。其中,B/W/s方式用于查询和浏览,c/s方式用于主要数据录入和维护,采用c/s和B/s结合的混合体系结构,较好地满足系统功能的需求,并符合可持续发展的原则,使系统有较好的开放性和易扩展性。

软件采用我公司和外部软件公司合作开发的形式,版权由我公司独家所有。因多种原因,与我们合作开发的软件公司有2个。我是软件开发的负责人。

在开发平台的选择上,我们考虑了本MIS项目的特点:该项目要求在规定的时间(6个月)内完成,并要求有较高的质量,且要为以后的进一步开发提供基础。

基于此,我们对选择开发平台的原则达成共识:

  • 一、技术上成熟且具有一定的先进性;
  • 二、有高效、集成的开发工具;
  • 三、应为开发人员熟练掌握。
  • 四、软件平台提供商对该软件平台的后续支持能力。

首先,在系统平台的选择上,有两点考虑:1、公司现有的各级软件系统都是基于微软Windows系列平台的,且公司没有在日后使用其它平台的打算;2、微软的Windows平台完全能满足开发、运行该类MIS系统的要求。因此确定新开发的MIS系统也就是基于此平台的。

对二层c/s在开发平台的选择,考虑采用微软的VB6.0或Sybase的Powerbuilder8.0.前者是公司前两版MIS系统的开发平台,后者则更为现有的开发人员所熟悉。两者在开发上技术都很成熟。在开发界面的亲和性上,VB做得较好;而对从数据库设计到编程的全过程而言,Powerbuilder具有更好的集成性,用其集成工具Powerdesign设计的逻辑数据库可以很方便地生成物理数据库。从当时情况看,无论是微软,还是Sybase,对各自软件平台的后续支持能力都较好。最后综合各种情况,选择了Powerbuilder,其最重要的一点是开发人员的熟悉程度。

对三层c/s在开发平台的选择,考虑采用的比较方案是微软的IIS+ASP组合及 Apache+PHP组合。开发人员的经验还是在IIS+ASP上,对于Apache+PHP少有实践,基于此,选用第一种方案。

在数据库平台的选择上,有微软的SQL Server和甲骨文的Oracle可以选择。前者是前两版MIS的数据平台。而Oracle数据库是目前公认的最优秀的大型数据库,和微软的SQL SERVER相比,它具有更好的稳定性和安全性----这通常是企业用户最关心的两个特性。开发人员对两种数据库都有相应的开发经验。最终选用了Oracle数据库平台。

在开发中考虑了系统的开放性和先进性。在开放性方面,有以下措施。

  • 1.针对原有大量已积累数据(大多是EXCEL格式的)的导入,及系统中数据可能的导出,设计了专门的导入导出模块。使得操作人员一方面从繁重的初始数据录入工作中解脱出来,一方面随时可以导出系统中的数据作个别分析。并预留了与公司总部及其它协作单位进行数据交换的接口。
  • 2.MIS系统与P3软件(大型项目管理软件)要求做到集成。为此设计了专门的模块,通过ODBC方式进行后台的数据交换,使得两套软件做到无缝集成:在P3软件中操作的结果可以在MIS软件中反应出来,而在MIS软件中相应模块中输入的数据也能在P3软件中反应出来。这样做的好处是大多数工程师无须操作P3软件即可输入有关工程进度的数据,并通过P3软件的功能自动计算出相应的数据并得到横道图;而少数工程师仍可在P3环境工作,而工作结果同样反应在MIS中。
  • 3.B/S 部分的使用对象不仅仅局限于项目部的员工,还包括公司本部人员及众多协作单位的人员。而由此相关的权限及安全问题必须考虑,即不同身分的人员能查看的权限是不一样的。ASP在此方面的功能相对较弱,为此在B/S的服务器端专门设计了基于coM技术的身份认证 ActiveX组件。

在先进性方面,有以下措施。

  • 1.采用了多种软件技术的合成,如在MIS系统中合成了工作流技术,在工作流技术中调用了微软OFFICE的宏技术。工作流技术上考虑与系统更好地集成,采取了基于数据库的方案,自行开发了相关的模块。其最终效果是在MIS中实现了办公自动化的功能,极大地方便了使用者。
  • 2.采用了先过的VPN技术,使得部分外出员工可以通过Internet,借助VPN访问内部的MIS系统,从而完成远程办公。

系统运行后收到了良好的效果,用户对该软件的满易度较前两版有较大的提高。该系统随后应用于多个电厂建设项目的管理中。

总结

近期商业应用软件开发平台的主流越来越集中在微软的.net及 J2ee,其共同特性是更多地支持面向 Internet的开发。.net的优势是支持多种开发语言,开发人员容易掌握,产品集成好,总体成本较低,不仅在开发的时候容易介入,在日后维护时也更能掌握主动权,其缺点是事实上只支持Windows平台。J2ee的优点是跨平台,可以选择多家公司的相关产品,但开发相对复杂,且只支持JAVA语言。Powerbuilder 虽然有最新的面向分布式及三层 B/s结构的新版本推出,但终不及前两者。对于象我们在非软件企业的IT部门,在开发新的软件系统时,如采取自行开发或与其它软件公司合作开发的方式,.net应该是比较好的选择。

更多内容请见备考系统架构设计师-核心总结索引

相关推荐
七灵微1 天前
进程与线程以及如何查看
linux·系统架构
oioihoii1 天前
桌面图形界面生成原理:从流水灯到电脑屏幕
系统架构
颯沓如流星2 天前
软件架构设计方法之The Clean Architecture 整洁架构
架构·系统架构
柔弱女子爱java2 天前
spring专题笔记(五):依赖注入--p命名空间注入、c命名空间注入、util命名空间
java·笔记·后端·spring·架构·系统架构
云空2 天前
《 QT 5.14.1 类库模块列表详述》
开发语言·qt·系统架构
星原飞火3 天前
2-2-18-16 QNX系统架构之自适应分区
车载系统·系统架构·qnx·blackberry
winfredzhang4 天前
PDFMathTranslate 一个基于AI优秀的PDF论文翻译工具
人工智能·pdf·论文·翻译
重生之我是数学王子4 天前
ARM原理
arm开发·系统架构
silver6874 天前
中间件介绍
系统架构
亭墨5 天前
linux0.11源码分析第二弹——setup.s内容
linux·驱动开发·学习·系统架构