“全国中小学教育技术装备网络管理系统”研发技术报告(四)

来源 :中国教育技术装备 | 被引量 : 0次 | 上传用户:w9iij9ijwhr
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  4系统的技术实现
  
  在本文的系统构架与分层设计中,已经清楚地阐述了系统的总体技术构架与分层设计,下面就实现框架的具体技术展开叙述。
  4.1表现层框架实现技术-STRUTS
  STRUTS作为一种比较优秀的MVC模式实现框架技术应用已久,STRUTS框架技术主要的实现目的在于:①实现显示层、控制层、业务层的分离;②拦截用户的业务请求,代理业务逻辑层的业务功能,并将结果组织返回给客户;③组织和控制页面的流转。如前文中图(图3-2 MVC三层结构图) 和(图3-3:Struts的处理序列图)所描述,下面我们举例来说明相应的实现:
  1) 配置WEB.XML文件
  WEB.XML主要配置STRUTS 的CONGFIG文件注入以及相应的TAG 文件配置,如图1:
  
  图2 struts-config.xml配置示例
  
  3) LOGIN.JSP页面代码实例
   根据以上配置所示:客户从登录页面:LOGIN.JSP 登录提交表单,可以看到相应的表单为LoginForm,相应的处理ACTION为 loginFormAction;那么LOGIN.JSP页面代码如图3
  
  图4 LoginFormAction代码示例
  
  4.2业务层框架实现技术-SPRING
  表现层(Action)在获取客户端请求以后,开始调用业务逻辑层所提供的公开接口来处理用户的请求。这样,用户请求数据在表现层经过数据验证、过滤、包装以后开始通过将客户请求数据打包成数据传递对象(DT0)给业务逻辑层进行业务逻辑处理。本系统的業务逻辑层实现框架为SPRING,以下就接上面例子继续给出SPRING的实现实例图5:
  1) SPRING基础内容文件的配置
  
  图5 SPRING基础配置文件示例
  
  2)SPRING的AOP与IOC技术
   IOC: IOC也即反转控制,其基本的原理是反向将BEAN从配置文件中依赖注入,由容器来生成和管理其生命周期,其最大的优点在于最大程度地实现代码之间的松散耦合。SPRING中的Core 封装包是框架的最基础部分,提供IOC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。参考(图4-1:SPRING IOC容器)
  AOP:Spring的 AOP 封装包提供了符合 AOP Alliance规范的面向方面的编程(aspect-oriented programming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。而且,利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中,这有点像.Net的attribute的概念。
   在Spring中,bean就是由Spring容器初始化、装配及被管理的对象。org.springframework.beans.factory.BeanFactory是Spring IOC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。在Spring中,BeanFactory是IOC容器的核心接口。它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。Spring为我们提供了许多易用的BeanFactory实现,XmlBeanFactory就是最常用的一个。该实现将以XML方式描述组成应用的对象以及对象间的依赖关系。XmlBeanFactory类将持有此XML配置元数据,并用它来构建一个完全可配置的系统或应用。
  
  图7 获取SPRING基础配置文件bean的base action文件
  
  4.3持久层框架实现技术-HIBERNATE与IBATIS
  本系统数据持久层的采用的技术主要有HIBERNATE 和IBATIS,通过上文对SPRING基础的配置,SPRING业务框架类基本上实现了数据持久层需要获得支持的事务控制类和其他相关帮助实体。通过对SPRING框架组合,持久层的DAO实体需要实现的就更加清晰:仅仅主要关注业务SQL语句的编写就可以,其他比如事务控制、数据库连接、连接池管理就交给SPRING框架容器去管理了。下面我们以IBATIS中的配置为例来解释一下数据持久层的实现。
  1) SQL MAP 文件的配置
  SQL MAP 文件主要定义用户SQL方法定义文件的映射, 利用SQL MAP 可以实现将sql语句和相应的方法写作XML文件中,而不要象传统的JDBC程序,写在java代码中。
  2) 具体的SQL 文件的配置
  具体的SQL 文件主要实现SQL语句的编写和方法、参数的说明,具体的用法如下例:
  以LoginQuery.xml为例, 其中主要定义了查询结果ResultMap 节点 , Insert节点 ,Select 节点, Update 节点,以及Delete节点. SQL MAP文件实现了代码与数据库操作的分离, 使得系统更具灵活性, 这与传统的JDBC数据编码方式有着根本的区别。如图8示:
  
  图8 LoginQuery.xml SQL配置文件实例
  
  3)代码中调用SQL MAP 实现数据持久化
  根据上述SPRING对IBITAS的配置以及IBATIS SQL 映射文件的配置, 我们可以轻松地在代码层中实现对数据的持久化,极大地提升了系统的扩展性、柔韧性、灵活性以及松耦合性。利用SPRING框架提供的方法,程序员几乎可以在零编码状态下实现对数据的持久化。如图9示。
  
  图10 用户登录序列图
  
  基于篇幅本文不再对数据传输实现技术(WEB SERVICE)和报表统计分析实现技术(JREPORT和JFreeChart)进行展开叙述。
  
  5总结与展望
  
  项目总结的目的和意义不仅仅在于总结经验教训、防止犯同样的错误、评估项目团队、为持续开发积累技术经验和原始数据,而且也会对其他项目和企业的项目管理体系建设和项目文化起到不可或缺的作用。那么以此为目的让我们分别从项目管理、技术选型这两个方面来分析和总结一下本次项目的开发经验和教训。
  5.1 项目管理
  常言“三分技术,七分管理”,此话言不为过。完善科学的项目管理体系是一切项目成功的基础和必要的条件。本项目从项目的发起、项目的前期调查期间就科学地制定了项目管理的七个基本管理计划:项目范围计划、项目进度计划、项目成本计划、项目质量计划、项目团队计划、项目风险计划。根据项目的特点和团队自身的条件,有效采用XP快速开发模式并建立起核心项目管理体系:在项目范围计划制定和实施中,我们时刻保持与客户的良好沟通并且每一个重要的、具體的需求确定都经过与客户的多次讨论并经权威教育领域专家肯定,以保证项目需求的正确性和完备性,从而有效地限定了项目的范围,明确应该作什么和不应该作什么。为了能保证按时交付符合需求的产品,项目组制定了严格的进度计划并划分了科学的里程碑式阶段任务,每个阶段定义了明确的阶段任务和要达到的目标,避免、杜绝出现大而空、不可控、不切实际的任务进度。在项目成本、范围、时间和质量控制中,项目组采用了科学的时间、成本、范围的质量三角形理论,时间、成本、范围作为组成三角形的三条边(可以表达为:F(a,b,c)=d,a、b、c、d分别为时间、成本、范围、质量),项目质量是三角形的面积,这样三个因素互相制约、互相平衡,在动态变化中和限定条件下追求三角形面积(项目质量)的最大值。在风险管理中,无时不刻地给项目成员灌输引发项目风险的各种因素,通过头脑风暴法、模型分析法来预测风险发生的可能性并制定完备的风险应对手册。
  通过对上述七个方面的项目计划管理,有效地保证了项目在非技术层面的按时、按量、按质地进展并最终获得了项目的预期成果和市场的一致认可。
  5.2 技术选型
  一个项目的好坏固然跟很多因素有关,但是正确、先进的技术实现却是成功项目的坚实基础。信息技术的发展是一日千里,确实不能要求我们时时刻刻利用最新的技术、最新的设备和环境,但是技术的模型、实现的模式和构架思想却是能够存在很长时间甚至有时如同艺术品一样可以成为永恒的经典。因此一个成熟、成功的系统应该具有很强的扩展性、松散的耦合性和无缝的集成性,所以从一开始规划设计项目的时候,从技术选型上我们就看得比较远:在需求建模阶段我们采用了业界比较领先的领域模型驱动(Domain Model Driver),解决了用户需求捕获的问题,明确和定义了项目的问题集;在系统建模和技术分析阶段,我们采用了面向服务的体系结构(SOA)和基于J2EE、Struts、Spring、Hibernate/IBitas的分层框架技术,有效地解决复杂的业务逻辑问题,成功地构建了一个扩展性强、灵活度高、复用性好的软件系统。
  通过理性、科学的技术选型和熟练地应用各种主流开发技术,从技术层面上我们提供了一份解决实际问题的满意的答卷,为系统的顺利实施和稳定地运行奠定了基础。
  5.3 持续改进
  在特定条件、有限的资源和存在客户需求差异性的情况下,在项目的实施过程中我们也看到了很多的问题和需要持续改进的地方:①教学仪器配标各地的差异化;②各地学校基础设施和人员素质的参差不齐;③开发过程的CMM标准流程化;④团队建设和持续开发能力的培养等等,这一切都是我们需要面对和未来需要解决的问题。
其他文献
以精制菜子油为基础油,考察了几种硫化脂肪添加剂和磷系添加剂对其生物降解性能的影响.试验结果表明,菜子油中加入添加剂后会对其生物降解性能产生影响.添加剂的种类不同,对
用原位表面修饰法合成了异辛酸修饰SiO2纳米微粒,利用四球摩擦磨损试验机考察了SiO2纳米微粒作为液体石蜡添加剂的摩擦学行为.用扫描电子显微镜(SEM)和X射线光电子能谱仪(XPS
情境教学是一种能够促进学生情感体验,让学生在轻松愉快的气氛中学习,激励学生向知识领域不断探索的新型教学模式。在思品课堂教学中,如何让学生产生一种身临其境的亲切感和情绪体验,激发起他们对复杂的思品现象及其内在规律的认知兴趣,发展学生的认知思维能力、空间想象能力及实践创新能力,是值得每位教师思考的重要问题。现代教学理论认为,在教学过程中教师应当有意识地为学生创设学习的认知情境和氛围,恰当地组织和引导学
建立了滑移式机械密封装置上动态辅助橡胶密封圈的有限元模型;考虑到大变形及材料的非线性,分析了密封圈的应力分布情况及其摩擦特性,与实际的结果进行了对比;讨论了辅助密封圈工
适应地理新课程的变革,教师备课、上课的着力点就不应再是考虑如何把教材内容“讲”清楚,“讲”生动,“讲”透彻,而是应当研究如何使学生“学”懂、“学”会、会“学”。学生具备会学的能力,才有学习的主动性和创造性。    自主学习课堂教学策略    以问题为中心开展学习活动以问题为中心,就是在课堂教学中,根据教学目标的要求,采用分解、铺垫等方法,设计一系列层次性、趣味性、阶梯性的问题,用问题来考查和反馈学
摘 要 应用型创新人才是集“知识、能力、素质”于一体的人才。学校的实践教学环节是培养应用型创新人才的关键。加强实践基地建设,制定切实可行的实践内容,模拟企业运作,参与项目开发是培养应用型创新人才的保障。  关键词 应用型;创新;软件人才;实践  中图分类号:TP31 文献标识码:A文章编号:1671-489X(2007)11-0014-03  Enhance Practice Teaching S
用XDZ—A型摩擦材料制样机将石棉闸瓦材料制备成试验所需的标准试样,用X—DM型凋压变速摩擦试验机模拟实际工况,对标准试样开展不同正压力、不同滑动速度和多种温度下的组合实
随着我国经济的发展,我国对于各项基础设施的建设进度都在加快,特别是以公共交通为主的道路体系。公路工程是一种比较特殊的建筑商品,生产涉及的地域广,生产周期长,耗费人力
如来派师徒四人与八部天龙小白龙去东土大唐去传教,在一路上遇到了各种妖怪,打来打去发现他们都是有后台的,无论怎么作恶都不受惩罚。八戒和沙僧觉得太黑暗了,无奈一个躲进了
《通用硅酸盐水泥》中规定,在正常生产情况下,生产者应至少每月对水泥组分进行校核。由于该检验项目的检测频次不多,很多化验室分析人员对水泥组分检测中容易产生误差的一些