佟海亮 杨征 王鑫
摘 要 研究提出了基于三层架构和SOA体系的种植管理系统服务平台架构,采用螺旋模型的方法来进行系统开发,用于整合各种农业信息资源,进行海量农业信息存储、高性能运算、软件和数据共享服务。结合大数据思维对设计架构、开发模式、项目管理、测试方法等进行了分析、设计了,给出了原型系统的部署方案,通过试验,证明了该体系架构的可行性。
关键词 三层架构;SOA体系;农业种植管理系统;农业信息;服务平台
中图分类号:TP311.52 文献标志码:B 文章编号:1673-890X(2015)03--04
1 设计架构
农业种植基地日常作业的管理系统平台基于三层架构和SOA体系开发(图1)。SOA是一个面向服务体系结构的组件模型,SOA将应用不同程序的功能单元之间定义良好的接口和契约联系起来。其中,接口的定义方式采用了中立的方式进行,并且接口在实际服务的硬件平台、操作系统及编程语言中是独立的,这样在进行各种各样的系统中的服务交互时可以实现使用一种统一或通用的方式,提高交互服务运行质量[1]。
图1 SOA架构模块结构图
通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data Access Layer)。区分层次的目的即为了“高内聚低耦合”的思想。分层式结构在一般的软件体系架构设计过程中是采用较多、较常见的一种,分层式结构从下到上一般可分为三层,即数据访问层、业务逻辑层、表示层(图2和图3)。
图2 三层架构层次结构图
图3 三层架构工程结构图
2 开发模式
螺旋模型(Spiral Model)是应用一种周期性的方法来进行系统开发,采用这种方法会开发出较多的中间版本。螺旋模型是以进化的开发方式为中心的一种快速原型法,这一模型需求定义、风险分析、工程实现和评审4个阶段,且在每一个周期都由这4个阶段进行迭代。在软件开发过程中,每迭代一次,软件开发即可更近一个层次。螺旋模型软件开发主要过程见图4。
图4 螺旋模型开发过程部分流程图
该模型的主要方法是在“瀑布模型”的每一个开发阶段之前将一个非常严格的风险识别、风险分析和风险控制引入其中。螺旋模型把软件开发过程分解成若干个子项目,一个或多个主要风险都会在每个小的子项目进行标识,直至全部的主要风险因素都被确定。
螺旋模型重点强调风险分析,每个演化层出现的风险,软件开发人员和用户就会对其有所了解,从而做出应有的判断和处理[2]。正因如此,这种模式非常适用于具有高风险的、复杂的、庞大的软件系统。软件系统开发过程中存在着各种风险,可在不同程度上影响甚至使开发过程收到破坏,致使软件产品的质量收到影响。在造成危害之前,及时对风险进行判别、分析,并采取有效对策将风险降到最低进而消除风险隐患就成为软件开发过程中最为重要的工作之一。
图5中的4个象限代表了螺旋模型的活动方式,即进行若干次迭代。
图5 4个象限代表了螺旋模型的活动方式
4种象限分为制定计划:明确软件开发目标任务,确定设计方案,查找并确定项目开发的限制因素。风险分析:对确定的方案进行论证和评估,提出对风险识别和消除的方法。实施工程:进行软件开发、验证。客户评估:开发工作的优劣进行评价,并提出修改意见,制定下一步工作计划。
螺旋模型由风险驱动,主要强调的是可选方案以及约束条件,从而支持软件的重用,这样有助于将软件质量作为重要目标纳入系统开发中。
3 开发管理
3.1 项目管理
项目管理严格按照国际标准,整个过程项目的启动、确定项目章程、生成范围说明和WBS、资源计划与估算、制定项目计划体系、生成项目计划、项目团队建设、项目的实施、项目的变更控制和项目的收尾等[3]。
3.2 文档管理
按照软件开发的规范完成一个软件设计开发过程。文档的分类见表1。文档与进度见表2。开发文档见图6。
表1 项目管理文档授权目录
类型 读者 时间
设计开发类 可行性研究报告 管理/研发人员 可行性研究与计划阶段
项目开发计划 管理/研发人员 可行性研究、需求分析阶段
需求规格说明书 研发人员 需求分析阶段
功能规格说明书 研发人员 需求分析阶段
概要设计说明书 研发/维护人员 设计阶段
详细设计说明书 研发/维护人员 设计阶段
数据库设计说明书 研发/维护人员 设计阶段
模块开发卷宗 管理/研发/维护人员 实现、测试阶段
测试计划 研发人员 需求分析、设计阶段
测试分析报告 研发/维护人员 测试阶段
管理类 开发进度月报 管理人员 贯穿整个开发过程
项目开发总结 管理人员 测试阶段
职责定义 管理人员 可行性研究与计划阶段
进度变更记录 管理人员 随时
产品类 用户指南 用户 需求分析、设计、实现阶段
操作手册 用户 设计、实现阶段
信息广告 用户 测试阶段
表2 项目管理文档与进度表
图6 开发文档
3.3 测试
测试方案采用专业软件测试工具,Selenium是一套完整的测试系统,是为正在蓬勃发展的Web应用开发的。Selenium主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。它的测试系统功能——创建衰退测试检验软件功能和用户需求,支持自动录制动作和自动生成。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,所以可运行于任何支持JavaScript的浏览器上,包括IE、Mozilla Firefox、Chrome、Safari等。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
测试方法:白盒测试、黑盒测试、单元测试、集成测试。
4 大数据思维
大数据实际上是营销的科学导向的自然演化。大数据思维有3个纬度:定量思维、相关思维、实验思维[4]。第一,定量思维,即提供更多描述性的信息,其原则是一切皆可测。基地种植,从种子育苗、种植、成长、开花、挂果和采摘等客观标准可以形成大数据,各节段都可以测得,大数据包含了与种植行为有关的方方面面;第二,相关思维,一切皆可联,种植节段不同数据都有内在联系。以据农业科学,以及自然成熟规律,这可以用来预测未来情况;第三,实验思维,一切皆可试,大数据所带来的信息可以帮助科学的发展。大数据运用的3个递进层次:首先是描述,然后是预测,最后产生攻略。
参考文献
[1]莫丽丽.基于云存储的农业虚拟服务平台架构[J].计算机时代,2013(8):5-8
[2]吴华瑞,孙想,赵春江.农业数据网格化体系研究[J].农业工程学报,2006,22(11):137-139
[3]张凤霞,吴华瑞,杨宝祝.基于构件网格的农业专家系统研究[J].计算机工程与设计,2006,27(3):924-927
[4]梅立军,付小龙,刘启新,等.基于SOA 的数据交换平台研究与实现[J].计算机工程与设计,2006,27(19):3601-3627
[5]李晓东,杨扬,郭文彩.基于企业服务总线的数据共享与交换平台[J].计算机工程,2006,32(21):217-223
(责任编辑:刘昀)