基于.Net的实验室仪器设备管理系统三层架构设计与实现

2012-12-13 08:34许建梅黄民慧李海骥肖泽豪
中国医学教育技术 2012年6期
关键词:数据源控件页面

何 红,许建梅,黄民慧,李海骥,肖泽豪

海南医学院教育技术中心 信息技术部,海口 571101

近年来,随着教学规模及教学内容的扩大与深入,海南医学院在多媒体教学、实验室建设和校园网建设等方面投入了大量经费,教学和实验室设备越来越多。目前,学校的实验室设备采用Excel表格管理,工作量大,设备管理的很多功能不能实现,信息检索与统计不便。因而,充分利用校园网络平台,开发基于B/S架构的设备管理信息系统,通过使用校园网上的任何一台电脑即可实现设备的管理及查询统计功能,及时方便地了解实验室设备的运行情况,将有利于合理分配有限的教学资源,提高设备利用率,实现设备资源共享。下面就实验室设备管理系统的总体设计思想、系统功能、系统的前台表现层、业务逻辑层及数据层的设计与实现予以介绍。

1 系统总体设计思想及技术实现

1.1 采用浏览器/服务器(B/S)的三层体系结构

对比C/S和B/S架构:C/S架构具有结构简单、速度快,但维护较为困难[1]的特点。系统的安装、修改、升级维护需要在客户端、服务器端都进行。B/S架构只需浏览器即可运行程序,系统的安装、修改、升级维护只需在服务器端进行,无需在客户端进行,维护方便。同时业务逻辑层有效隔离了客户端与数据库端的联系,提高了数据管理的安全性。虽然B/S架构数据处理功能要弱于C/S架构、速度要慢于C/S架构,但综合各种因素,选用B/S架构较为合理。系统总体架构如图1所示。

图1 系统总体架构图

1.2 系统技术实现

搭建一个良好的系统开发环境可以使网站建设者快速、方便地建立网络管理信息系统,更加有效地实现各种系统功能,满足用户的设计要求[2]。

海南医学院校园计算机都已联入校园网,都可以作为客户端使用。服务器端操作系统选用Windows 2003网络操作系统。开发工具的选择,因学校计算机操作系统基本上选用Windows系列操作系统,且开发人员熟悉C#与VB2005开发语言,比较J2EE与.Net开发的适用范围与性能,决定采用.Net技术进行开发。开发环境选用微软的Visual Studio 2005,开发语言选用C#。数据库选用 SQL Server 2005关系数据库。SQL Server 2005具有可靠性、可用性、可编程性、易用性等特点,并能实现与Windows 2003的无缝集成。

2 系统功能分析与设计

经调研,学校使用设备管理系统的用户可分为各部门设备管理员、各部门设备维护人员及一般查询用户。另外,为维护部门信息及部门管理员用户信息,增加了超级管理员用户。各类用户的功能如图2所示。

图2 系统功能UML用例图

3 前台表示层设计与实现

表示层又称用户界面层,是系统的UI(用户接口)。除了UI外,表示层也承担了许多功能性职责。如对用户输入数据的验证、Session的管理以及页面的跳转逻辑等[3]。表示层的设计既要美观,又要方便用户使用。该系统页面布局采用表格对页面进行统一布局,采用了母版页、页面导航、运用主题文件等技术。

3.1 母版页设计

为保持页面的一致性,页面采用母版页构建网站的整体风格。将每个页面都包含的页头、页尾、页面导航控件封装在母版页里[4]。

3.1.1 创建站点地图文件 ASP.NET为我们提供了网站导航。让我们把网站路径存放在文件当中。当我们需要修改路径时,只需要修改站点地图文件就可以了。由于系统包含四类用户,四类用户的权限不同,实现的功能不同,每类用户都应有自己的导航。因此,在应用程序的根目录下为每类用户创建了sitmap类型的站点地图文件。同时在配置文件web.config中添加SitMap的设置与之对应。

3.1.2 页面导航 采用了TreeView导航控件及Site MapDataSource站点地图数据源控件,并将TreeView控件绑定到SiteMapDataSource数据源。母版页页头加入SiteMapPath导航路径控件,显示导航路径。母版页设计如图3所示。

3.2 登录页面设计

3.2.1 页面设计 采用通常方式输入用户名、密码以进行身份验证,页面加入RadioButtonList控件(单选按钮列表控件),并绑定到数据库的用户类型字典表。让用户选择用户类型登录系统。

图3 母版页设计图

3.2.2 登录页面的后台处理程序 对用户进行身份验证,验证成功则将用户编码信息、所属部门编码、用户类型信息、SiteMapDataSource数据源控件的提供程序名称属性SiteMapProvider等保存在Session对象中,以实现页面跳转时保存必要的信息。并根据用户类型不同选择不同的SiteMap站点地图类型文件,使母版页的SiteMapDataSource数据源对应该用户类型的站点地图文件,从而使TreeView控件显示对应用户类型的页面导航。登录页面设计图如图4所示。

图4 登录页面设计图

3.3 设备字典、设备入库、设备出库、设备各类查询等维护查询功能页面设计

3.3.1 主要控件

①文本框TextBox控件:用于接受用户输入的搜索信息。

②下拉列表DropDownList控件:根据TextBox控件的内容模糊查询数据库相应表的记录字段信息并绑定到DropDownList控件中。

③数据绑定GridView控件:根据DropDownList控件的内容查询数据库相应设备表的记录信息并绑定到GridView控件中。

④数据绑定DetailsView控件:和GridView控件组合使用,根据GridView控件中被选择行的Selected DataKey键值在DetailsView控件上显示该设备记录的详细信息。同时在DetailsView控件上启用新增、编辑、删除操作,完成对记录的增加、修改与删除操作。

⑤多个数据源SqlDataSource控件:利用这些控件配置数据源,然后使 DropDownList、GridView、Details View等控件绑定到这些数据源。

3.3.2 技术实现

①使用了DetailsView重要的列类型Template Field,使用模板完全定制列的内容。编辑Insert Template插入记录模板和EditTemplate编辑修改记录模板,解决新增和修改记录中特殊字段的输入或修改模式。

②对DetailsView的主要事件进行编程实现各功能。对DetailsView中的ItemInserting、ItemUpdating、ItemDeleting事件进行各类检查验证等功能,进行创建、修改或删除记录前的检查工作并给出有错误时的提示信息。

对DetailsView 中的 ItemInserted、ItemUpdated、Item-Deleted事件给出成功创建、修改或删除记录操作完成后的提示信息,并重新对GridView、Details View控件进行数据绑定,保持与数据库信息同步。设备字典维护设计图如图5所示。

图5 设备字典维护设计图

3.4 创建主题

主题由一组元素组成:外观、级联样式表(CSS)、图像和其他资源。主题将至少包含外观。主题是在网站或Web服务器上的特殊目录中定义的。外观文件是主题的核心内容,用于定义页面中服务器控件的外观[4],包含用户对各个控件(例如 Button、Label、TextBox或GridView等控件)的属性设置。主题还可以包括级联样式表,级联样式表包含用户对一些控件(例如GridView等控件)的样式属性设置。为保持页面外观的统一,避免对页面的控件进行重复设计,在应用系统的App_Themes目录下创建了外观文件skinfile.skin和级联样式表文件stylesheet.css。

4 业务逻辑层设计与实现

业务逻辑层主要完成对应用系统相关业务规则和逻辑的封装。在为用户表示层访问提供功能调用的同时,它又通过调用数据访问层所提供的功能来访问数据库。业务逻辑层主要根据系统设计的需要,通过构建系统的关键对象类,实现系统的大部分逻辑控制功能[5]。在应用程序的App_code目录下创建一些公共类,包括数据访问类和业务规则类。

4.1 数据访问类

对数据库的共性操作抽象封装成数据操作类(例如DbHelperSQL),以便更好地复用和使代码简洁[6]。在应用程序的App_code目录下“添加新项”→选择类,创建dataprocess数据访问类,定义SqlConnection、SqlCommand、SqlCommand []、DataSet、DataTable、SqlDataAdapter、SqlTransaction 等类型的私有变量。为了更安全地连接数据库,采用从应用程序的配置文件web.config中取得数据库连接字符串。定义了数据库的打开连接、关闭连接等方法。dataprocess类的方法说明如下表1所示:

4.2 业务规则类

建立了inputcheck类,用来对设备数据进行检查验证,如字符串长度检查、数据类型检查、设备价格和数量检查等。

5 数据层设计与实现

5.1 数据库及表单的建立

在Sql Server 2005数据库平台上,建立device_manager数据库,用来存储用户及设备资源等数据信息。数据库设计进行了需求分析、概念结构设计、逻辑结构设计和物理设计。在该数据库下建立各类数据库表,包括部门信息表、用户信息表、用户类型表、设备字典表、设备状态字典表、设备放置处字典表、设备库存表、设备入库单表、设备出库单表、设备借用表及设备报损报修表等。

5.2 使用存储过程提高访问数据的速度与效率

使用存储过程可以减少网络通信流量,用户可以通过发送一条单独的语句来实现一个复杂的操作,而不需要在网络上发送几百个Transact-SQL代码,这样就减少了在服务器和客户机之间传递请求的数量[7]。系统编写了大量的存储过程以提高数据访问的速度与效率。

应用程序的部署采用了发布网站的方法,发布网站就是编译网站程序并将其输出复制到目标服务器的指定位置[8]。该系统建设完成及部署发布网站后,在教育技术中心进行了试用。设备管理员对系统使用反映良好,认为系统运行速度快、画面简洁明了、方便操作。设备维护人员认为系统使用方便,可随时随地在校园网上登录系统,进行查询及报损报修等。该系统方便了设备管理人员、维护人员和学校教师根据权限实时方便的管理、查询教学实验设备信息。

[1]潘颖.IT企业人力资源管理系统的设计与开发[D].成都:电子科技大学,2011:14

[2]董斐.基于B/S模式的独立学院学籍管理信息系统设计与开发[D].成都:电子科技大学,2010:49

[3]张珊.基于.Net的高校仪器设备管理系统的设计与实现[D].武汉:武汉科技大学,2009:14

[4]庞娅娟.Asp.net从入门到精通[M].2 版.北京:清华大学出版社,2010:160,693

[5]徐相林.基于ASP.NET技术的B/S三层结构设计和实现[J].电脑知识与技术,2008,(S1):34-35

[6]李天平.亮剑.NET:.NET深入体验与实战精要[M].北京:电子工业出版社,2009:496

[7]黄开枝.SQL Server 2005中文版 基础教程[M].北京:清华大学出版社,2007:306

[8]崔巍.数据库系统开发教程[M].北京:清华大学出版社,2010:59

猜你喜欢
数据源控件页面
刷新生活的页面
答案
基于.net的用户定义验证控件的应用分析
让Word同时拥有横向页和纵向页
关于.net控件数组的探讨
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
WONCA研究论文摘要汇编
——初级保健晚期疾病患者照顾者的识别障碍:3个数据源的三角化测量
基于嵌入式MINIGUI控件子类化技术的深入研究与应用