摘要:在研究了J2EE平台设计模式思想的基础上,针对项目管理系统中出现的系统不易于扩展的问题,开发了基于MVC设计模式的IT项目管理系统。
论文关键词:IT项目管理,J2EE,模型-视图-控制设计,模式
IT项目管理就是实现IT项目既定目标所开展的项目计划、组织、领导、协调和控制等管理活动。目前国外有两大项目管理的研究体系,即:以欧洲为首的体系—欧洲各国项目管理协会和国际项目管理协会(IPMA),以美国为首的体系--美国项目管理学会(PMI)。我国从 90年代初期开始接触项目管理方法。90年代后期,国内开始对项目管理的职业资格认证标准(即项目管理的知识体系)进行研究。国内学者对项目管理的发展进行过不同程度的研究。应该说,当前国内这些项目管理的知识体系、标准的出台在很大程度上是由项目管理培训市场上的巨大利益推动的,它们都有其各自的市场。
2 基于J2EE标准的架构设计
在软件业迈向组件装配工业(software component industry) 的过程中﹐不断发现组件设计者对其组件应用场合的预想环境与应用软件师的软件体系结构常常无法很好地整合起来,导致应用软件开发人员难以灵活地复用他人设计好的组件,造成软件组件工业发展上的瓶颈。软件开发者之间﹐他们设计的理念必须一致才能共同创造出简单易用的软件,同时他也强调软件主架构在达到概念一致的过程中,合作居于核心角色。现在,开发者们在项目开始时不是讨论要不要使用架构,而是讨论究竟该使用什么样的架构。
在J2EE系统开发过程中,大致可以分为五大步骤:需求、分析、设计、编码、测试。而体系结构是软件的骨架,是最重要的基础。体系结构是涉及到每一步骤中。一般在获取需要的同时,就应该开始分析软件的体系结构。体系结构现在一般是各个大的功能模块组合成,然后描述各个部分的关系,J2EE平台已经为我们提供了整个软件系统的体系结构。
2.1 MVC设计模式
MVC是Model-View-Controller的简称,即模型-视图-控制器。它强制性的把应用程序的输入、处理和输出分开。MVC把应用程序分为3个模块:模型、视图和控制器,它们分别担负不同的任务,
①视图: 视图是用户看到并与之交互的界面。视图是向用户显示相关数据, 并能接受用户的输入数据,但是它并不进行任何实际的业务处理。对于基于请求/响应方式的 Web 应用,模型位于服务器端,视图位于浏览器端。
②模型:模型是应用程序的主题部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
③控制器:控制器接受用户的输入并调用模型和视图去完成用户的请求。当Web 用户单击Web 页面中的提交按钮来发送HTML 表单时,控制器接受请求并调用相应的模型组件去处理请求然后调用相应的视图来显示模型返回的数据。
MVC的处理过程如下。首先控制器接受用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图来呈现给用户。
2.2基于J2EE标准和MVC设计模式的 C/S 结构
基于J2EE 和MVC设计模式的系统模型以Web浏览器作为客户端,以Web服务器,EJB应用服务器为中间层完成项目管理系统的事务逻辑,数据层则是传统的大型企业级数据库服务器。
客户端:即Web浏览器。该层中包含系统的显示逻辑。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,通过验证以后从Web 服务器中下载Web 层中的静态HTML 页面或由JSP动态生成的HTML页面等,并把它显示在Web 浏览器上。
中间层:其包含Web服务器层和应用服务器层。实现业务逻辑的EJB 组件可以高效地运行在EJB服务器中支持多客户端的访问。客户端可先向运行在Web 服务器上的Servlet 发出请求,通过Servlet 调用运行在EJB 服务器中的EJB 组件,以实现复杂的业务逻辑。
数据库层: J2EE的核心技术是EJB组件结构,在本系统中采用EJB 技术进行管理系统中间层的业务逻辑开发,它可以带来如下好处:开发人员不用考虑诸如事务处理、安全性及线程控制等系统级服务,这些服务都由EJB服务器提供。编写的EJB 组件可以部署到网络中不同的EJB 服务器中,并且能与CORBA、DCOM 等其它类型的组件相交互。使用Java语言编写的EJB 组件还具有良好的跨平台性,有利于系统的集成,真正实现了管理系统的分布特性。当项目管理系统出现新的需求时,开发者可以根据新的需求,编写新的EJB组件以实现新的商务逻辑,再将其组装到原系统中,而并不需要对原系统的核心部分进行修改,有利于系统的扩展。
J2EE系统采用三层的MVC架构之后,解决的主要问题无外乎以下几部分:
①将Web页面中的输入元素封装为一个(请求)数据对象;
②根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入;
③逻辑处理单元完成运算后,返回一个结果数据对象;
④将结果数据对象中的数据与预先设计的表现层相融合并展现给用户或将其持久化。
这样的J2EE系统将具有下以几个优点:
①多个视图能共享一个模型。在MVC架构中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性;
②模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。由于MVC的三个模块相互独立,改变其中一个不会影响其它的两个,所以依据这种设计思想能构造良好的松耦合的构件;
③控制器提高了应用程序的灵活性和可配置性。
3 结束语
基于MVC设计模式,采用框架软件Struts来实现Web开发应用,充分利用Java的强大功能和平台无关性的特点。Struts是一种优秀的J2EE、MVC架构框架,可以使开发人员集中精力编写JSP和业务逻辑及与外部数据库进行交互的代码而不用考虑基础框架问题,利用taglib获得可重用的代码,利用ActionServlet配合Struts-config.xml实现对整个系统导航,增强了开发人员对系统的整体把握;用户界面与业务逻辑分离,使得页面设计者和程序开发者更好地协调工作,从而提高应用程序的柔韧性,使整个系统的开发有条不紊、容易集成、便于维护升级。
计算机技术更新发展很快,新技术方面由于经验缺乏,通常我们要自己猜测如何正确使用这些技术,要通过不断的试验,直到找出最佳的方法,最佳的方法显然是从实践中得到的,不是发明出来的,而是发现和不断完善的。
参考文献:
[1] Bruce Eckel. Think in Java第三版 .电子工业出版社. 2002
[2] Khawar Zaman Ahmed. J2EE和UML开发Java企业级应用程序. 清华大学出版社. 2003
[3] Crig Bery. 实用J2EE设计模式编程指南. www.china-pub.com. 2003
[4] 孙中红,苏子林,胡喜玲,于洪章.基于Web的管理信息系统的设计与实现.福建电脑.2005
[5] 杨素君.基于Browser_Web 模式的网络课程系统设计.东华大学学报. 2006
|