系分考试准备的论文(2):论软件开发平台的选择与应用

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

摘要:

本文以我2004年在某自来水公司实施水务综合管理系统的经历为例,详细介绍了软件开发平台的选择与应用,我本着软件开发平台的开放性、分布性及先进性等原则,对当前主流的J2EE.NET平台进行对比分析,重点考虑了以下因素:(1)、开发平台的使用要有利于保持系统的开放性;(2)、开发平台的使用要有利于保持系统的兼容性与先进性。通过仔细的评比我们选择.NET作为本项目的开发平台,在系统设计时构建多层应用体系结构以适应系统在布署、维护及性能方面的要求,并注意了设计模式的使用为系统的可扩展性奠定了良好的基础,同时使用Web服务及XML的数据交换格式为与异构系统交互提供了方便。基于互联网的企业应用要求开发平台具开放性、分布性及平台无关性,作为一名分析人员则需要不断的学习和了解新的技术以更新自己的知识结构。

正文:

本人所在的某市级自来水公司经过多年的信息化建设已形成数个应用系统,如客户用水工程系统、用水抄表计量系统、营业收费管理系统、欠费催收系统、生产调度系统及客户服务系统等。由于原来的系统都是由各部门或分公司为主导建设的,因业务需求的“局部性”及当时技术条件的限制导致系统之间很难共享信息,已经不再适应公司业务发展的需要。为此,公司领导经过研究决定于2004年利用自身技术力量重新开发设计一套水务综合管理系统,我作为技术部的负责人及主要技术骨干,主持并参与了系统的方案选型、系统分析、设计及部分开发工作。

新的水务综合管理系统涉及到客户用水工程、抄表计量、营业收费、欠费催收、用水报障、生产调度、客户服务及网上业务授理等,除了满足以上的业务功能需求以外系统还具备如下特点:1)、涉及业务种类繁多,如客户用水工程、抄表计量、费用的计算与收取、票据打印与管理、银行实时扣款及网上业务受理等;(2)、业务处理的分布式,要求系统易于布署、升级与维护,这主要是由各部门地理位置分散所致,如各营业所、水厂分布于全市范围内不同镇区;(3)、业务处理的多种形式,有些需要采用C/S结构完成,而另外一些则须采用B/S结构,如网上业务受理、相关法规的发布等;(4)、开发成本上的限制,特别是对于开发人员已有知识经验的利用。

工欲善其事,必先利其器。随着软件技术的发展,开发平台也朝着开放性、分布性和与平台的无关性方向发展,相继出现了COMCORBA等技术,但因其开发上的复杂性、布署上难于通过防火墙等,从而限制了其继续发展与更广泛的应用。为了进一步适应Web应用及多层体系结构软件的开发,又出现了以Java J2EE和微软的.NET为主的两种相互竞争的开发平台。

对于水务系统的开发到底选择哪种平台,在开发人员之间曾展开的激烈的争论。面向对象技术使Java语言迅速发展与成熟起来,特别是J2EE具有的平台无关性,一次编译多处运行以及EJBJSPJava Servlet等技术的发展,使其成为企业级应用开发的首选平台。而我司原有系统及相关应用都架设在微软的Windows系列家族产品上,并且技术部的开发人员在其上积累了大量的开发与实施经验,.NET平台支持多种程序语言,如C++.NETVB.NETC#ASP.NET等,实现了语言的互操作性,而且易开发性都强过Java J2EE平台,使得开发人员的知识得到延续与发展。

随着需求分析的深入及软件体系结构的日渐清晰,我决定最终选择微软的.NET作为新系统的开发平台,开发工具则使用Visual Studio.NET,其原因主要居于开发平台以下几方面的考虑。

首先,开发平台的使用要有利于保持系统的开放性。水务系统要求在内部网络、远程网络及Internet环境中使用,单纯使用C/SB/S结构都无法满足要求。在设计时我们使用了混合的C/SB/S多层体系结构,如对于抄表计量、水费计算与收取、表务管理及管网管理子系统采用C/S结构,而对于客户服务、网上报装、用水法规的发布等则采用B/S结构实现。.NET就是应对如上复杂应用而出现的,对于桌面应用可使用C#VB.NET进行Winform快速开发,对Web应用则可使用ASP.NET开发,两者都可以使用统一的ADO.NET存取引擎进行数据库操作,.NET的使用保证了水务系统的开放性。

其次,开发平台的使用要有利于保持系统的兼容性与先进性。我司原有的应用都是基于微软Windows家族产品,而.NET已经与Windows 2003集成在一起,相应使用SQL 2000作为数据库管理系统,使得.NET开发的应用具有更好的兼容性、可用性。同时.NETWeb Service进行了很好的支持,使得在其下对Web服务的开放变得异常容易,对数据库的存取则提出了比ADO更高级的ADO.NET引擎,使得系统的兼容性与先进性都有较好的保证。而且在.NET下提供了语言的互操作性,开发人员可以选用自己熟悉的VB.NETC#进行开发,其开发效率、兼容性与可用性得到很好的保证,这也是Java J2EE平台无法比拟的。

在选择了.NET作为水务综合管理系统的软件开发平台后,为保持系统的开放性、先进性我们主要做了如下工作:

构建多层应用体系结构以适应系统在布署、维护及性能方面的要求。在设计时我将系统体系结构主要分为三个层次:(1)、表示层完成与用户的交互及数据的展现功能,我们利用.NET设计了抽象的表示框架,使得开发人员可以迅速的创建基于WebSmartClient的客户端应用;(2)、业务逻辑层负责业务规则的封装,如对于抄表计量的处理各分公司略有不同我们则只需要在业务逻辑层进行处理,简化了系统的设计难度与维护工作量;(3)、数据层采用SQL Server 2000数据库,使系统之间的兼容性与性能都有较好的保障。

设计模式的使用为系统的可扩展性奠定了良好的基础。系统设计时以多层体系结构为基础上我注意了对设计模式的应用,使用MVC模式隔离数据表示与控制的关系,如果通过表格窗口、图表窗口为客户历月用水提供了丰富的展现形式又不影响后台的数据处理。在相关业务的处理操作中则大量使用了命令(Command)模式,使得相关业务操作可以串行化提高了系统的自动化程度。同时还综合运用了工厂方法、职责链以及单件模式,设计模式的应用使系统的结构更为清晰也更容易扩展。

使用Web服务及XML的数据交换格式为与异构系统交互提供了方便。在系统的开发过程中我适当的采用了Web服务及XML为系统与其它系统进行数据交换提供了方便,如对客户水费实时扣款处理与银行大机(Unix)进行交互时,我们通过创建Web服务的方式为其调用提供简单的接口,采用XML格式是由于各家银行的扣款格式并不统一,为此只需要针对不同的银行创建一个XSL就能顺利实现不同格式的转换,大大的简化了系统设计的难度。

通过如上设计保证了系统的开放性、分布性及可扩展性,新系统于2004年底顺利上线并取得了较好的效果,得到公司领导及同事的认可。当前,开发平台已随软件技术向Web应用、开放性、分布性及平台无关性的方向发展,并出现了以微软的.NETSunJava J2EE为代表的相互竞争开发平台。技术的发展日新月异,要求系统分析人员不断的学习新的技术更新自己的知识结构,了解和掌握相关技术的适应领域,才能在具体的项目实施中选择合适的软件开发平台。正所谓路漫漫兮 其修远兮 吾将上下而求索!

你可能感兴趣的:(开发平台)