仪器共享平台预约模块的设计与实现

时间:2022-09-05 11:18:48

仪器共享平台预约模块的设计与实现

摘要:主要是对大型仪器共享平台的预约模块进行了分析与设计。整个系统以技术为基础,采用B/S模式的三层架构。介绍了预约模块的需求分析、总体设计、工作流程、体系结构、数据库的设计以及系统实现。

关键词:预约模块;B/S;

中图分类号:TP319文献标识码:A文章编号:1672-7800(2012)010-0094-02

作者简介:史华(1987-),男,武汉工程大学电气信息学院硕士研究生,研究方向为可信计算机平台。

1系统总体设计

本系统将采用B/S模式,以MicrosoftVisualStudio2008为开发平台,使用Access2007为数据库,是一个基于的Web应用系统。

1.1需求分析

用户通过登陆大型仪器共享平台网站,获取各种仪器信息,查找到自己需要使用的仪器,然后申请预约仪器。预约时需要填写仪器预约表,表中要填写预约项目,选择预约时间等内容。填写完成后,保存提交或放弃申请。申请提交后若处于未受理的状态,用户可以撤销、修改或删除该预约申请。通过仪器管理员审核通过,则预约成功。

1.2流程图

用户申请预约仪器如图1。仪器管理员审核预约如图2。

1.3系统的体系结构

一般的数据操作都是使用单独的数据访问,每个页面都会写连接到数据库、存取数据、关闭数据库的代码。这样如果你的数据发生了改变,就必须一个一个页面去更改数据库的连接代码,而且很多代码是重复的,这样产生了大量的冗余代码。三层架构就是采用一种分层的思想,将前台用户接口与后台数据库的操作分开,这样哪一层的需求发生了变化,只需要更改相应层中的代码,不会影响到其它层。

本系统采用三层构架的B/S模式,用户界面与后台数据库操作分离。本系统所采用的三层架构如图3所示。

三层架构自底向上分为数据访问层(DAL)、业务逻辑层(BLL)和表示层(PL)。

数据访问层主要是对数据的访问操作,编写了对数据进行增加、删除、编辑、查询和判断存在的通用数据访问方法。在这层里编写了对数据库操作的函数,并把数据库的各数据表封装成类,并编写了相应的操作方法,上层可以直接调用。

业务逻辑层是数据访问层和用户接口层之间的桥梁,按照业务需求调用数据访问层中的方法,集合了各种业务规则到一个BLL中,例如通过条件进行的数据操作或事务处理。BLL都是以类库的形式来实现的。

表示层是为用户提供的用于交互的应用服务图形界面,响应用户的操作,传递用户提交的数据到业务逻辑层,并把服务器传回的数据用页面来呈现。

1.4数据库的设计

本系统采用Access2007开发数据库。预约模块主要有用户、仪器、仪器分类、角色、预约记录5个数据表。预约模块数据表关系如图4。

表Category用于存储仪器的分类,表Service用于存储仪器的详细信息,表Role用于存储角色,表Users用于存储用户的详细信息,表Order用于存储预约记录信息。

2系统设计实现

2.1仪器列表

仪器预约界面如图5。使用GridView控件显示仪器列表。GridView是1.x之后支持的控件,它可以通过独立的格子和行的格子来表现数据集合。格子中的每一行都代表一个集合的一条独立的记录,行中的每一列都代表记录中的一个独立的字段。另外,GridView控件支持分页和排序,也支持编辑。

2.2仪器预约申请

点击预约进入该仪器的申请预约界面如图6。

使用GridView控件实现仪器预约时间表的绑定。根据仪器是分30min或者是60min的时间段来显示对应的时间表。每一行为一天的时间段,以30min时间段为例,从上午8点到下午5点,每半个小时为一个时间段,一个表共展现7天,可以前进或后退一个星期。

选择时间,如果没有被预约则显示是绿色,已被预约则显示是红色。页面加载,首先根据所预约仪器的独立编号Sid到仪器表Service中去提取仪器的信息,并判断仪器的使用时间单元是半个小时还是一个小时,选择显示对就的GridView,从而初始化预约时间表。在数据绑定时触发事件ItemDataBound,编写委托处理方法GridView1_RowDataBound(),通过比较绑定表中每个时间单元与该仪器已被预约的时间单元的比较,判断该时间段是否已被预约,并和当前的时间比较,判断该时间单元是否能被预约,已在预约时间表中或者是小于当前时间的单元不能被预约,显示为红色,否则可以被预约,显示为绿色。编写一个段Javascript作为前台的判断,当选择红色时间段,则弹出提示“此时间段已被预定”,当选择绿色的时间段则可以加入要预约的时间中,即加入文本控件txt_Odate中。在保存时加入判断该仪器的时间段是否已经在预约表中,如果已经在则弹出“抱歉,此段时间已被预定”,否则就可以提交预约。

2.3仪器预约审核

用户提交预约成功后,会在仪器管理员的预约管理产生记录,等待处理。如图7,仪器管理员选择通过则预约成功,不通过则预约失败。

3结语

本系统采用B/S架构,基于设计开发,并将投入使用。预约模块是大型仪器开放服务管理系统的最重要的模块之一。该模块的实现为仪器的预约管理提供了快捷、稳定、可靠的优质服务。整个系统的实现通过信息共享,减少重复配置,提高了仪器单位时间的利用率,加快了科研投入与产出的转化。在处理同步预约的问题上仍需要改进。

参考文献:

[1]乐会进,崔建生,吴敏,等.基于B/S结构的数字语言实验室预约系统的设计与实现[J].吉林师范大学学报:自然科学版,2006(2).

[2]李鸿.基于的开放性实验网络预约系统的设计[J].自动化应用,2012(3).

[3]田淑娟,刘荣,许红娟,等.大型仪器设备共享及预约系统设计与实现[J].电子设计工程,2011(11).

[4]黄菁,赵丽华.基于.NET的并行数据流设计与实现应用[J].天津科技,2008(5).

上一篇:基于WEB的高校教职工考勤管理系统的设计与实现 下一篇:基于用户自定义数据分类的人事工资管理系统研...