软件工程及J2EE体系统架构研究与分析

2017-07-19 14:02陶慧
卷宗 2017年13期
关键词:软件工程架构

陶慧

摘 要:本文分析了软件工程及J2EE体系统架构,介绍了软件工程化的项目化及管理原则,网上银行软件工程化实施步骤,J2EE体系统架构及开发环境。

关键词:软件工程;J2EE体;架构

网上银行业务的兴起从开始到现在仅仅只经过十来年的发展,历史非常短。最开始其只是用于网上业务查询、转账等资金业务,伴随着实体经济的发展,网上银行逐渐应用于实体经济交易当中。关于网上银行的研究,首要的是关注网上银行的安全性,其次才是功能的便捷性和全面性。相对而言国外银行电子化工作开展较早,对于应用软件的安全性研究也比较深入。

1 软件工程化的项目化及管理原则

软件工程是指计算机软件开发和维护的工程学科,工程化是指将软件工程实践化,具体应用于实际项目中,实现在人、技术、过程在项目生命周期中的集成化,以求在时间(T)、质量(Q)、成本(C)、服务(S)方面使得软件开发组织产品开发的产品得到最大程度的平衡。

软件工程是一个涉及组织许多部门的基础建设,一般情况下可以当作是一个项目来进行管理。因此在软件工程的实现过程中,运用项目管理的相关理论,有利于提高软件工程化的实施质量。软件工程化具有以下几个明显的特点:(1)一次性,即工程化有明确的开始时间和明确的结束时间,在这个时间段内由此而专门组织起来的人员来完成某一项任务。该任务应明确需要利用的资源范围和需要达到的预期目标。(2)工程化组织的临时性。为完成软件工程,一般通过项目组人员来完成对各类资源的调配和使用,但是这一组织会随着项目的结束而结束(当然不排除部份人员继续为项目的后期工作服务)。(3)软件工程作为管理对象的整体性。一个软件工程是一个整体的管理对象,它可能由多个子软件工程组成。软件工程化小组通过对软件工程进行整体管理,能提高软件工程的总体效益,达到数量、质量、结构的总体优化。事实上,类似于软件工程的活动在我们日常生活中随处可见,它可大可小,如举办一个奥运会、修建一座桥梁、修建地铁、研发一种新型客机等大项目,也可以是举办一次小型会议、组织一次旅游、推广某种产品的小项目。这些项目都具有一次性的特点,它要求在一定的时间内完成。因此也有人认为“项目是新企业、新产品、新工程、新系统和新生技术的总称”。网上银行软件工程的特殊性在于,它是以无形的软件产品作为最终的产品,而且直接关系到银行、企业、消费者以及合作伙伴的交易方式等,对社会经济有非常大影响,特别是在资金安全方面。因此,网上银行软件工程应遵循以下几个原则:

(1)组织最高管理者参与原则。软件工程涉及到多部门的协调,而且可能直接关系到组织的变革、管理的革新、技术的革命等。组织的最高管理者不仅需要看到这种革命带来的作用和效益,还要认识到软件工程化过程中所产生的风险和必须的持续的投入。对于网上银行软件工程而言,只允许成功,不允许失败,因为失败极可能意味着安全信用的缺失,进而威胁到银行的生存。

(2)总体规划,分步实施、重点突破的原则。这是分散软件工程化带来的风险的较好的方式。软件开发组织存在的基础就是创造效益,在网上银行系统构建的整个项目开发过程中,涉及到较大的人力、物力以及时间成本投入,没有预期的效益评估,就缺乏整个工程开发的动力,这就要求给予项目一个规定的开始时间和结束时间,对系统内容做一个规划和分工工作。

(3)培训优先原则。无论是实施前、实施中还是实施后都应以培训为先导。不管是开发者、还是测试者、最后的使用者,他们对软件的运用的实际情况很大程度上决定了软件工程的成败与否。因此要在组织内部开展全方位、多层次的培训,尤其要重视岗位培训,让他们理解业务、理解管理革新的迫切性和必要性。

2 网上银行软件工程化实施步骤

对于任何项目的开展,都可以分为项目前期准备工作,项目中期实施工作以及项目后期维护工作三个方面。无论是SW-CMM,IS09000标准还是CIMS应用示范工程的项目实践,其具体过程有相似之处,大概步骤如下:

(1)前期准备工作。在高层决定实施网上银行系统项目开发之后,首要工作就是进行各类准备。①成立项目小组。该小组核心成员将伴随软件工程的开始到结束。项目小组长应对信息系统及银行业务具有较为全面的了解,同时具备较高的管理能力和协调能力。项目小组成员为各业务部门经理或项目经理及相关人员。成立项目小组时要以项目的规模,项目的主要开发内容为出发点,确定项目小组的构成成员。②确定项目基本需求。项目必须给定一个确定的开始时间和结束时间,在整个项目的开展工作中,将项目任务进行阶段性划分,确定各阶段的项目需求和项目阶段性任务验收标准。

项目前期准备工作也就是确认项目成员,项目任务,项目控制,项目管理,项目验收等各方面的规划工作,并形成相应的文档,作为项目实施阶段的参照、遵守凭证。

(2)中期实施工作。①现状调研。软件工程小组成员需结合具体的业务人员(特别是部门领导)和具体的技术人员,对银行业务进行详尽的调研,了解企业目前的技术状况,确定现有的过程、组织、角色及职责等。该环节非常重要,因为开发人员往往不懂得业务,而银行业务本身较为复杂,对系统逻辑的严谨性和严密性有着非常高的要求。②形成网上银行工程模型。对调研报告进行分析整理,作为项目工程模型的设计需求输入,形成项目开发的总体方案以及阶段性目标。调研报告应包含各类资源,如人力、网络、硬件基础(包含服务器,操作系统,数据库,终端机,甚至摄像头等设备)以及各类业务的运作方式。特别是对网上银行的性能需求应有明确的目标或定义,如系统的开放性和系统的可扩充性,系统的易用性和易维护性以及最重要的安全性。③确定网上银行系统详细设计方案。以项目总体方案和阶段性目标为蓝本,制作项目实施的详细设计方案。对各阶段的任务进行进一步的细分,包含各详细任务的具体责任人,具体完成时间。④开始实施。银行业务人员应和技术人员密切沟通和配合,保证实施按照系统设计书进行。实施后软件工程化工作应纳人相应的职能部门,主要负责对项目数据的采集和分析、改进过程的实施。

(3)后期维护工作。项目的整个生命周期包含项目产品发布后的维护工作,在产品的运行工程中,可能要出现一些新的问题,这需要安排相应的人员进行跟进、维护工作。

3 J2EE体系架构及开发环境

J2EE(即Java2平臺企业版,Java Enterprise Edition)是由Sun公司主持推出的一项中间技术,它是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。J2EE以容器模块为基础,它为应用服务器提供了特定功能的软件模块,一般的软件工程项目开发,只需要开发满足项目需求的程序构件即可,然后通过各种容器把各种构件连接起来。该组件结构展现了J2EE典型的三层模型,它将业务逻辑层从客户层分离出来,独立作为一层。在这个模型中,表现层负责用户界面的展示和页面流转控制,业务逻辑层根据业务规则,完成对业务逻辑的实现,为表示层提供服务。持久层主要是负责实现数据持久化,对数据库进行访问及各项操作。这种模式克服了传统的C/S模式,将表示逻辑与业务逻辑相分离,大大的降低了系统的耦合度,结构更加清晰,层与层之间的职责更加明确,很好的解决了业务逻辑代码和页面显示代码混淆的问题,为系统的灵活性、扩展性和易维护性提供了良好的机制。业务逻辑层从客户层分离出来,运行于应用服务器上,也很大程度的减轻了客户端的处理压力,实现了瘦客户胖服务的效果。

猜你喜欢
软件工程架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
LSN DCI EVPN VxLAN组网架构研究及实现
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
关于如何创新和完善计算机软件工程管理的探讨
一种基于FPGA+ARM架构的μPMU实现
具身学习环境SMALLab的架构分析及启示