APP下载

基于四层C/S结构的移动餐饮管理系统构架

2013-07-31李国晓

赤峰学院学报·自然科学版 2013年23期
关键词:表示层调用管理系统

李国晓

(连云港广播电视大学,江苏 连云港 222006)

基于四层C/S结构的移动餐饮管理系统构架

李国晓

(连云港广播电视大学,江苏 连云港 222006)

本文构建了一个基于windows mobile的四层C/S结构的移动餐饮管理系统,设计了更加优良的四层C/S结构,克服了传统二层、三层C/S结构的缺点和不足,不仅提高系统的运行性能,而且使得系统层次更加清晰,提高了系统的可靠性、可维护性和可扩展性,实现在移动状态下即时的业务处理和操作,提高餐饮企业的工作效率和服务质量,增加系统的灵活性和实用性.

移动;管理信息系统;软件构架;四层C/S结构

1 引言

计算机管理信息系统已广泛应用于生产生活的各个领域,已经成为各行业必不可少的工具.随着时代的发展,有线网络的管理信息系统越来越不能满足一些特定行业的要求,在有些行业,工作人员经常需要在移动的状态下及时进行数据的采集和查询,因此,基于移动平台的开发的信息管理系统,具有越来越多的市场需求.结合无线局域网技术和移动计算技术,将其应用于餐饮企业,构建基于移动平台的无线餐饮管理系统,实现餐饮企业的日常业务处理和管理,可以大大提高服务质量和效率,节省人力资源,提升了餐饮企业的管理水平和竞争力.

Windowsmobile是功能强大而且应用灵活的移动开发平台,通过与移动数据库技术的结合,构建移动信息管理系统,用户可以随时随地方便快捷的上传、下载和处理信息.本文的背景是针对餐饮行业的需求及其业务特点,构建了一个基于windowsmobile的移动餐饮管理系统,实现在移动状态下即时的业务处理和操作,并与SQLMobile移动数据库相结合,通过合并复制方式完成数据同步.在系统软件构架设计过程中,结合系统的需求和移动管理信息系统的特殊性,确定采用C/S结构,并通过分析传统二层、三层C/S构架的缺点和不足,设计了更加优良的四层C/S结构,不仅提高了系统的可维护性和可靠性,而且更提高了系统的运行性能.

2 移动餐饮系统分析

2.1 C/S结构模式的确定

与B/S结构相比,C/S结构具有如下优点:(1)由于客户端与服务器的直接相连,没有中间环节,因此响应速度快.(2)操作界面形式多样化、美观漂亮,可以充分满足客户的个性化需求.(3)具有较强的事务处理能力,能实现复杂的业务流程.

另外,对于移动餐饮系统,网络不稳定是必须要考虑的因素,必须考虑有可能暂时处于无网络连接的状态,这时,要求移动终端的应用程序必须可以在脱机状态下任然可以操作,并在网络恢复后,及时进行相关数据的更新.采用C/S结构,可以解决这一问题,当网络连接暂时不可用时,客户端依然可以脱机操作,而若采用B/S结构,对网络的依赖性很大,当网络连接不可用时,无法读取相应的w e b页面,不支持脱机操作.

解决这一问题的关键之处是利用移动设备上的高速缓存,灵活的使用高速缓存,一方面将其嵌入到系统的物理架构中,通过使用.NETCompactFramework编程语言将移动应用的界面和功能集成在windowsForms窗口中,并保存在本地的高速缓存中,即使在无网络连接的情况下,用户仍然可以对相应的移动应用程序进行操作和调用;另一方面,若应用程序对数据处理的要求比较复杂,可以将数据库存储于本地的高速缓存上,并使用移动设备上的关系数据库管理工具SQLServerMobile来完成对数据的管理和调用.SQLServerMobile具有数据同步功能,支持从远程SQLServer服务器中下载数据到设备端的SQLServerMobile数据库中,在离线状态下,应用程序可以使用本地的SQLServerMobile对数据进行处理,而当网路连接可用时,将本地SQLServerMobile数据库中被修改的部分与远程SQLServer数据库中相应的部分进行数据同步,实现对数据的更新.

2.2 四层C/S结构模式

常见的C/S结构有二层C/S结构和三层C/S结构.

二层C/S结构将系统分为客户端和服务器,数据服务主要在服务器完成,业务逻辑规则的处理主要在客户端完成,其主要缺点是维护成本高,既要维护服务器又要维护客户端,任务量大,难以管理大量客户机,而且系统可拓展性不好.

三层C/S结构是将客户端分离成表示层和应用层两个独立的部分,形成了表示层、应用层、数据服务层这样的三层模式,三层明确分割,逻辑独立.客户端只实现表示层,表示层是应用的用户接口,负责与用户交互和显示执行结果,若要变更用户接口,只需修改本层的数据检查和显示控制程序,而不需改动其他两层;应用层负责处理具体的业务逻辑,将具体的应用逻辑和业务逻辑编入该层程序中,处理所需的数据来自表示层和数据服务层,一般通过SQL语言向数据服务层提出数据请求;数据服务层就是数据库管理系统,负责管理数据库的读写.与二层C/S结构相比,系统的可维护性更好,但也存在不足:应用层和数据服务层之间需要传输大量SQL语句,而且需经常多次连接和断开数据库,系统性能容易变坏.

针对二层C/S结构和三层C/S结构的缺点和不足,为使移动平台有较高的安全性,在本系统的开发中设计了四层C/S结构.将业务逻辑从应用层中中分离出来,形成独立的业务规则层,独立出来后,业务规则层负责具体业务,其具体的实现方式是通过数据库的存储过程来实现,当业务改变时,只需要修改相应的存储过程,而大量的SQL语句即封装在这其中,有数据请求时,只需在网络上传输存储过程的名称和参数,而不需要直接传输大量的SQL语句,大大降低网络传输量,减少了连接和断开数据库的次数.

2.3 四层C/S结构的优点

采用这种四层的架构体系,主要有以下四个优点:

(1)良好的可维护性:层与层结构之间相互隔离,关系相对独立,某一层的结构和内容的变化对其它层的结构和功能影响很小,这样保证了整个构架的稳定性,使系统具有良好的可维护性.

(2)良好的可扩展性:采用四层结构,系统结构层次更加清晰,减少了结构上的混合和重叠,各个部分之间相对独立,几个相对独立的部分被划分在不同层中,这样对其中分支部分就可以进行灵活的扩展,不会影响其中公共部分的稳定,使系统具有良好的可扩展性.

(3)功能和关系明确:每一层都有明确而独立的基本功能,层与层之间的关系非常明确.

(4)隔离作用:业务规则层将表示层与各种数据访问层隔离开来,起到隔离作用.未授权的用户难以通过规则层的验证和非法地访问数据层,系统更安全可靠.

3 系统的实现

3.1 系统结构设计

设计一个解决方案,命名为包SqlMolile_HotelMan.sln,解决方案的结构分为四个逻辑层,包括数据访问层、业务规则层、应用系统层、表示层,以及上述四大层需要调用的标准通用类库,即通用层.

3.1.1 应用系统层

应用系统层是应用程序的界面接口,为移动设备用户提供对应用程序的访问,包含若干窗体,用户可以通过这些窗体与应用程序进行交互,应用系统层一般包括P C应用系统层和移动应用系统层两部分.在本移动系统中,移动应用层是通过Sql-Molile_HotelMan.sln解决方案中windowsmobile移动设备上的应用程序项目HotelManClient来实现的.

3.1.2 表示层

表示层为移动应用系统层提供处理的界面,负责接收用户的请求,然后通过调用业务规则层的接口来实现相应的功能,并将业务规则层返回的结果返回到客户端.在本系统中,表示层为用户提供系统设置、餐台预订开台、客人消费数据录入和信息查询等业务处理的界面.表示层是通过SqlMolile_HotelMan.sln解决方案中的HotelManFacade项目来实现.对SQLMobile数据库的所有调用都是通过此程序集进行的.

3.1.3 业务规则层

业务规则层主要包括业务规则和逻辑的实现,为表示层提供调用的接口,调用时将表示层的参数传递到业务规则层,然后将处理的结果返回到表示层.通过调用相同的业务规则层,可以使PC应用系统层和移动应用系统层整合成统一的业务平台.业务规则层将表示层与各种数据访问层的实现隔离开来,起到隔离作用.在本系统中,业务规则层完成服务人员账户权限验证和消费请求的验证等.业务规则层通过SqlMolile_HotelMan.sln解决方案中的HotelManRules项目来实现.

3.1.4 数据访问层

数据访问层将本地数据库中的数据表映射成对象的数据层,从而为业务规则层提供数据服务,这一层主要实现和SQLMobile数据库的交互.数据访问层通过SqlMolile_HotelMan.sln解决方案中的DataAccess项目来实现.

除以上四层之外,系统还包括一个通用层.通用层用于封装各层中用到的共享函数和通用标准函数类,通用层还包含各层间用于传递数据的数据集.这一层是通过SqlMolile_HotelMan.sln解决方案中的Common项目来实现.

移动餐饮管理系统结构如图1所示:

图1 移动餐饮管理软件系统结构

3.2 预订子系统的实现

下面,通过对预订子系统(Reserve)中显示预订客户资料Reservedata来说明各层是如何实现的.

首先,在通用层,有一个Data子目录,其中包含了一系列数据集架构(DatasetSchema),其文件格式为X S D,预订管理的X S D文件名是Reserve-Data.xsd,这个文件用来描述预订管理模块中需要用到的数据表的Schema,包括描述数据项之间的关系,如表与表之间的外键、约束、数据类型等.当需要将数据从数据库填充到Dataset时,常用Dataset Schema来限制需要读取的数据结构.

其次,在数据访问层,可以对通用层中Data子目录中的Dataset数据表实例进行访问,既可以使用F i l l方法将数据库中的数据填充到Dataset中,也可以使用Update方法,将Dataset中修改的数据提交回SQLMobile数据库.

数据访问层直接对数据库操作,进行增加、删除、修改、查询等操作,在Reserve.cs文件中,通过定义类来描述在预订管理模块中如何访问数据库的物理表来填充Reservedata:Dataset.

第三,在应用系统中还有许多业务规则,为数据库与数据集之间数据的传递来规定一定的规则,比如判断处理的数据是否有效、判断数据的处理是否正确,是否符合用户自定义的规则.这些都是在业务规则层完成的.

业务规则层是对数据进行写入前的验证处理以及确定提交过来的数据的处理规则,在Reserve.cs文件中,定义了针对预订管理模块业务逻辑的类.

第四,表示层是通过SqlMolile_HotelMan.sln解决方案中的Hotel Man Facade项目来实现,该项目可理解为一个接口函数,是用户通过界面直接调用系统功能的入口.在该项目中通过生成一个预订管理模块,以便用户进一步调用其中的功能函数来完成预订管理,在项目中的customersystem.cs文件中定义了就餐管理系统外观类.

最后,在主程序中通过调用业务外观层,就可以实现预订管理模块的功能了.系统中其它管理模块功能的实现,基本上也是采用这种分层结构来处理的.从表示层到业务逻辑层到数据层,详细的设计规范,如图2所示:

图2 系统分层结构设计规范

4 结束语

通过构架这样的四层C S结构体系,使得餐饮管理系统结构层次更加清晰,层与层之间关系更加独立,大大降低了在后期使用和维护过程中工作量,扩展起来更方便,为系统未来功能的增强和升级打下了良好的基础,同时,数据管理功能更加强大,也更安全可靠,为分散在各地的全国连锁式餐饮企业建立统一管理模式奠定了基础.

〔1〕牛保民,潘正运,贾洪永.基于四层C/S结构的移动警务系统的设计与实现[J].微计算机信息,2006(22):188-190.

〔2〕王景景.无线点菜系统的设计与实现[J].海南大学学报自然科学版,2009(01):65-68.

〔3〕江旭.基于C/S结构的车辆管理信息系统设计与实现[D].成都:电子科技大学硕士学位论文, 2011.

〔4〕茂德,纪志强,吴青云,吴婷婷.基于C/S结构的公安交警无线移动警务系统的设计与实现[J].微电子学与计算机,2006(23):129-130

〔5〕马争,孟春雷.基于C/S体系结构的移动通信综合管理系统 [J].电子科技大学学报,2000(12):569-571.

TP311

A

1673-260 X(2013)12-0024-03

猜你喜欢

表示层调用管理系统
基于James的院内邮件管理系统的实现
核电项目物项调用管理的应用研究
基于Spring的企业级Web项目架构设计研究
LabWindows/CVI下基于ActiveX技术的Excel调用
基于LED联动显示的违停管理系统
海盾压载水管理系统
基于系统调用的恶意软件检测技术研究
ASP.NET三层构架解析
基于SSH框架科研管理系统的设计
基于RFID的仓储管理系统实现