基于Oracle HTML DB的在线订单管理系统敏捷开发

来源 :计算机辅助工程 | 被引量 : 0次 | 上传用户:fionwy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:结合某在线订单管理系统,介绍敏捷软件开发的一般方法和迭代过程以及使用Oracle HTML DB进行系统开发的工程实践. 该项目的成功实施为企业提供1个简捷、可靠的电子商务解决方案,证明敏捷开发技术特别适用于中小型软件工程.
  关键词:敏捷开发;订单管理;Oracle HTML DB;迭代
  中图分类号:TP311.5 文献标志码:A
  
  Agile development of online order management system based on Oracle HTML DB
  SHI Youqun1,ZHANG Hui1,2,YU Yingkai2,
  WANG Ang1,ZHENG XiaoQiang1
  (1. School of Computer Sci. & Tech.,Donghua Univ.,Shanghai 200051,China;
  2. Royal Building Systems (Shanghai) Ltd.,Shanghai 201613,China)
  Abstract:The agile software development methodology and its general iterative process,and the development with Oracle HTML DB are introduced combined with an online order management system. The success implementation of the project provides a simple and reliable E-commerce solution for an enterprise,and proves that the agile development technology is very applicable to small and medium-sized software engineering.
  Key words:agile development;order management;Oracle HTML DB;iteration
  
  0 引 言
  
  许多应用软件系统或者信息系统交付使用后,往往只能满足用户的部分需要,且生命周期短,其主要原因是没有充分理解用户的需求或者软件系统不能适应需求的变化.事实上,只有变化本身是不变的.在开发软件项目的过程中,即使完全理解用户的需求,需求也一定会出现变化.软件工程人员既然不能够减少或者控制系统将来发生的变化,就应该找到新的方法,更有效地适应这种变化.
  2001年2月,17位轻量级软件开发方法的创始人和专家建立敏捷联盟,共同发布敏捷软件开发宣言[1](The Manifesto for Agile Software Development),并将其宣言中表达的基本原理精炼为12条原则(Agile Alliance 2001 b).比如,个体和交互胜过过程和工具;可以工作的软件胜过面面俱到的文档;客户合作胜过合同谈判;响应变化胜过遵循计划.希望在这些基础原则之上,成功地实现软件开发.
  
  1 Oracle HTML DB支持敏捷开发
  
  1.1 敏捷开发基本原理
  “敏捷开发是1种面临迅速变化的需求仍然能够快速开发软件的能力.”敏捷联盟的发起人、开发宣言的起草人之一MARTIN说,“出于对待变化的不同态度,敏捷开发采用适应性方法,而传统的软件工程学采用预测性方法.”适应性和预测性的区别存在于软件工程学对软件开发过程的描述.一开始软件工程学里设计过程和构建过程就分开进行,于是在最先开始的设计阶段,所有与设计相关的重要决定就已经作出,而开发过程中不断发生的变化使得这样的设计无法发挥作用.相比之下,敏捷开发理论的前提更符合占有绝对多数的定制型软件项目,其基本原理是通过迭代式的开发过程使软件一直处于可使用状态,客户需求引起的变化可以在开发过程中不断满足.客户对软件开发过程的持续参与也可以大大提高软件的成功率.
  
  ① 图2是HTML DB 1.6版本截图,名称是Data Workshop.最新的2.0版本中,增强为Administration.1.2 Oracle 10g和Oracle HTML DB
  Oracle Database 10g是第1个为企业级网格计算而设计的数据库,支持快速响应业务需求,易于开发和维护.1个重要的体现是Oracle 10g 包含强大的本地开发工具HTML DB,可以将 Oracle 数据库转换为在线开发服务,用于快速开发以数据库为中心的 Web 应用程序.HTML DB既适合经验丰富的Oracle数据库开发人员,又适合能力很强的非开发人员(例如Oracle DBA或者高级用户),只要拥有 Web 浏览器,就能够快速创建基于Web的报表和数据库应用系统.[2,3]
  HTML DB包括1个存储应用程序定义的元数据库和1个用于呈现和处理浏览器页面的引擎.[4]该引擎用 PL/SQL实现,通过 Oracle HTTP Server (Apache)和mod_plsql 从Web 浏览器进行访问(见图1).HTML DB包含3个主要的组件[5](见图2).
  


  图 1 HTML DB体系结构
  


  图 2 HTML DB开发界面
  
  (1)Application Builder.使用 Application Builder,可以构建以数据库为中心的交互式 Web 应用程序.
  (2)SQL Workshop.SQL Workshop提供友好的图形界面来添加和管理数据库对象,并可以运行 SQL 语句和脚本.
  (3)Administration.管理用户和个人设置,获取系统可用性报表①.
  1.3 Oracle HTML DB的敏捷特性
  HTML DB支持PL/SQL,JavaScript,HTML/CSS模板,Web Service,多种图表,甚至邮件提醒等,也可以用来提供专业的应用程序托管服务,将HTML DB工作区以ASP方式为成百上千的用户使用(如HTMLDB-Hosting.com),这样用户甚至不需要再购买和维护专门的数据库产品.[4]可见,HTML DB是1个优秀的轻量级开发平台,其特有的基于Web,快速开发,所见即所得,轻松迭代和部署,良好的性能和安全等诸多特性,与敏捷开发的特点不谋而合.
  HTML DB将集成的Web平台同时提供给开发人员和用户,使得应用程序一直在线,随时可用.任何的变更和版本更新都能实时呈现给项目团队成员,非常便于用户和开发团队的沟通.再加上Oracle数据库本身良好的性能和可靠的安全性,所以它无疑是实现敏捷开发的有利工具.
  
  2 订单管理系统的敏捷开发实践
  
  2.1 敏捷开发过程
  某建材生产公司欲在企业站点上实现订单管理系统,支持在线订货、跟踪订单状态、生成销售报表等功能.由于行业和企业本身的发展变化快,需求变更不可避免,所以尝试敏捷开发实践.项目小组由开发人员和企业方关键用户组成,设计与开发过程中随时沟通和交流,并统一受企业方IT技术经理的调度.
  在完成前期业务调研和需求分析后,项目团队明确业务流程图、数据流图和第1轮迭代的范围,设计关系数据库模型,从而进入构建阶段.具体构建数据库的方法,使用Oracle 10g提供的企业管理器(EM)结合Oracle HTML DB的“SQL Workshop” 来创建数据库.
  第1轮迭代实施周期2个月,搭建整个应用的数据库框架,实现订单的录入流程.本次迭代设计和编码同步进行,在2个月内拿出第1个可用版本,以后的迭代过程中保持软件一直在线可用.
  第2轮迭代实施周期1个月,实现库存管理、销售统计功能和多用户权限控制.同时将前期的系统功能向用户做推广使用,实行基本操作培训,并对用户提出的变更意见及时响应和修正.
  第3轮迭代实施周期半个月,在不断完善的过程中根据用户对每个功能界面提出的建议进行修改,同时修订完善数据字典、操作说明及其他相关技术文档.
  采用迭代式开发,使得业务人员在第1个可用版本完成后,即开始在线录入订单.软件已经开始为业务带来价值.可以把这个问题想得再极端一点:假如明天就要终止这个项目,至少今天提交给用户的是有价值的软件而不是杂乱的文档.
  2.2 开发实例
  基于HTML DB的应用系统开发,首先使用Application Builder创建工作区.每个工作区可以包含若干个Web应用程序;每个Web应用程序由多个“页面”(Pages)组成;每个页面又包含若干个“区域”(Regions),可以定义区域为数据视图、导航条、HTML区域等,区域中可以添加按钮、输入框、超链接等页面元素提供用户界面.Web元素和区域、页面等容器之间通过定义的参数/变量或SQL过程等进行通信.对于本系统的销售订单项目,客户、产品、订单的相关页面都需要在数据库中读取数据.用户所熟悉的Oracle扩展开发语言PL/SQL在HTML DB中得到全面支持并提供良好的交互.
  以产品库存的查询模块为例,开发人员通过向导添加新页面“浏览产品库”(页面编码为P300)构成查询页面.在页面中添加Product区域,定义区域的数据源为下面的PL/SQL函数体.这样,当程序运行时,HTML DB引擎基于函数体生成SQL语句,对Oracle中相应数据表进行查询,最后将查询结果置入P300页面模板中,以Web形式呈现出来.
  图3的程序页面中,Product区域的主体就是1个PL/SQL函数体返回的数据库查询结果,其上方包含两个列表框(产品类别P300_CATEGORY,2级类别P300_CATEGORY2)和1个按钮,用来对产品进行筛选.该实例说明HTML DB的SQL查询过程.
  


  图 3 产品管理页面
  
  当用户的需求发生变化时,比如需要显示旧的产品代码(如RP60-S11A,原代码为R60-S11-2.0),只要修改SQL语句,增加“OLDNAME” 旧代码列即可.开发人员修改的同时,用户已经实时获得新的应用程序版本.添加、修改、删除等DML操作,与上例一样,也可以通过SQL语句完成.
  迭代过程中对于较大的需求变更也是“拥抱变化”而不是“预测变化”.例如,在用户关于产品的最初描述中,并未指出“特殊规格”的问题,第1个可用版本提交后,用户提出1个重要的业务规则:长度不同的某类产品使用相同的产品编码,而以规格长度来区分管理.此业务规则的变化将影响相关数据表的结构和用户界面.在传统的瀑布式开发方法中,这属于较大变更,需要从可行性、设计、编码整个环节进行项目更改,用户不能快速获取可用版本.而通过敏捷开发,借助Oracle HTML DB工具,在2天内即生成新的可用版本,并实时交付给用户.
  
  3 结 论
  
  本文所介绍内容只是敏捷软件开发原则与方法的初步实践,借助Oracle HTML DB,快速开发与部署以数据库为中心的、健壮性强的、易扩展的Web订单管理系统.HTML DB是非常灵活的数据库开发工具,最终产品的迁移和部署成本接近于0,多次迭代开发对生产和应用的影响接近于0.它提供的在线开发平台使得整个开发过程中软件一直处于可用状态,因此客户的需求变化引起的变更可以在开发过程中快速部署和实现.用户对软件开发过程的持续参与也大大提高软件的易用性和开发进度.该Web应用程序的实施最终帮助用户快速响应客户需求.
  
  参考文献:
  [1] MARTIN R C. 敏捷软件开发: 原则、模式与实践[M]. 邓辉,译. 北京: 清华大学出版社,2003.
  [2] TERRI W. Oracle HTML DB user’s guide,release 1.6[EB/OL]. [2005-03]. http://www.oracle.com/technology/products/database/htmldb/pdf/B14377_01.pdf.
  [3] WINTERS T. Oracle application express 2.0 user’s guide[EB/OL]. [2005-01]. http://www.oracle.com/pls/db102/to_pdf?pathname=appdev.102%2Fb16373.pdf.
  [4] SOA Web Services News Desk. Colleges schooled on Oracle HTML DB benefits-efficiency and simplicity make the grade[EB/OL]. [2005-07]. http://itsolutions.sys-con.com/read/113158.htm.
  [5] LEUNISSEN S. Oracle HTML DB developing database-centric Web applications[EB/OL]. [2004-10]. http://download.oracle.com/london2004/london2004/7258.ppt.
  (编辑 于 杰)
其他文献
摘 要:研究美国航空工业计算机辅助训练委员会(Aviation Industry CBT (Computer-Based Training) Committee,AICC)制定的计算机辅助训练(CBT)课件开发规范,在分析现有CBT技术背景和航空培训需求的基础上,结合多媒体技术、视景仿真技术与虚拟交互技术,开发基于虚拟现实技术的交互式计算机辅助训练(Interactive CBT, ICBT)系统
期刊
摘 要:由于分析跨河桥梁、防洪堤坝等水利工程影响河流过水断面、上下游防洪的相关软件较少,而且目前多数三维建模软件侧重于三维对象的建模,缺乏对场景和模型的实时控制,因此,提出并实现基于OpenGL的河道地形实时可视化显示系统. 该系统首先从航测数字线划图(Digital Line Graphic,DLG)文件中自动提取数字高程模型(Digital Elevation Model,DEM)数据,然后选
期刊
摘 要:由于网络支付是制约电子商务向深度和广度发展的瓶颈,在介绍网络支付系统框架的一般结构及银行卡的网络支付模式之后,提出基于安全套接层(Secure Socket Layer, SSL)和安全电子交易(Secure Electronic Transaction, SET)协议的网络支付系统,并对其支付流程和安全性进行阐述与讨论.  关键词:网络支付; 安全套接层; 安全电子交易; 电子商务; 支
期刊
摘 要:针对各种实时数据采集传输的需要,设计和实现基于通用分组无线业务(General Packet Radio Service, GPRS)网络的远程数据采集传输系统. 该系统使用RS-232接口读取外部数据,如果GPRS网络或GSM(Global System for Mobile Communication)网络可用,则以GPRS通信或短信方式将数据发送到数据中心,否则将数据存储在外部存储器
期刊
摘 要:针对Matlab 6.5统计工具箱没有优化正态总体方差的区间估计,且没有给出正态总体方差检验的问题,通过编写Matlab程序,优化统计工具箱对正态总体方差的区间估计,开发正态总体方差的假设检验算法. 实例表明该方法在推断统计方面实用性较强.   关键词:Matlab; 统计工具箱; 区间估计; 假设检验  中图分类号:O212.1;TP311.52   文献标志码:A    Optim
期刊
摘 要:由于当前船载航行数据记录仪(Voyage Data Recorder, VDR)中所采用的数据记录及传输方式不支持对数据的实时访问,只有当整个VDR写满后才能读取数据;故提出将VDR文件分割成小块进行存储和传输. 对该方法的时间性能进行分析,并在仿真环境下进行测试,效果较好.   关键词:航行数据记录仪; 文件分割; 实时数据访问  中图分类号:U666.152; TN919.1   文献
期刊
摘 要:研究Karhunen-Loeve(K-L)滤波在地震数据中提取相关性信息的应用,利用K-L方式抽取或压制地震道集中的同相轴来实现滤波.探讨K-L运算中的正交分解法和奇异值分解算法,并分析同向轴的倾角、夹角以及噪音对滤波效果的影响.将该方法用于处理和分析模型数据与实际数据,证明该方法实用价值较高.  关键词:Karhunen-Loeve变换; 随机噪声; 滤波; 地震  中图分类号:P315
期刊
摘 要:为简化ANSYS中不规则多边形平面图元的创建工作,利用APDL(ANSYS Parametric Design Language)编写新的宏命令. 该宏仅需选择关键点集,利用极坐标极径与极角对关键点进行排序,就可自动搜索连接顺序创建平面,不需要指定具体的关键点号和连接顺序,从而简化建模过程.   关键词:ANSYS;命令A;创建面;APDL语言;硬点  中图分类号:TU338;TB115
期刊
摘 要:为研究结构静动力有限元分析软件SAP 2000在桥梁抗震分析中的应用,对利用SAP 2000进行桥梁抗震模型建构的方法、特殊单元应用、分析计算方法、结果处理等进行介绍和总结,并给出某工程的桥梁抗震性能分析. 研究表明,SAP 2000提供大量特殊单元,地震动输入简洁方便,计算方法合理多样,利用SAP 2000分析桥梁抗震性能的优势较大.   关键词:SAP 2000;桥梁;抗震分析;有限元
期刊
摘 要:以某大桥主拱安装工况为对象,应用MSC Adams软件建立由塔架、主拱、钢绞线和提升千斤顶组成的虚拟样机模型. 通过多项式插值协调两组提升钢绞线的运动关系,模拟两组钢绞线均衡平稳地提升大桥主拱并竖转到指定位置. 通过仿真分析,可以确定钢铰线长度、提升行程、塔架受力时间历程、提升千斤顶配置等工艺数据. 结果表明该方法可以详细分析施工历程,从而增强工程的施工安全.   关键词:虚拟样机;主拱;
期刊