熊瑛
摘要:为实现高校院系中图书资源的共享,根据高校院系图书管理的实际需求,本文给出了高校院系图书管理系统设计与实现的过程。本系统在ASP.NET的基础上,通过对系统功能的分析与设计,结合三层架构[1]的设计思想,将系统分为数据访问层、业务逻辑层和视图层三层,并分层实现,使系统易于维护和升级,最终实现了角色管理、图书基本信息管理、图书借阅信息管理主要图书管理功能。通过该系统的使用,提高了高校院系图书资源的利用率,减轻了工作人员的负担,规范高校院系图书管理工作的流程并提高了工作的服务质量。
关键字:图书管理;ASP.NET;三层架构;
(中图分类号]G250.7 [文献标识码]A
1 引言
高校院系中图书资料丰富,但如何将这些丰富的图书资料共享给教师和学生,使其在专业教学和学术科研中发挥应有的作用却成了一个问题[2]。为实现图书资料的共享,方便教师和学生借阅,院系需要安排工作人员负责统计图书借阅和归还等相关信息,但是由于高校院系中人员配置有限,负责图书资料管理的工作人员若采用传统的文本和手工记录的方式来对图书资料的借阅和归还等信息进行管理,不仅工作量较大,而且容易出错。针对这一问题,设计一个用于高校院系中图书资料管理的系统显得十分必要,这也是本文提出的基于ASP.NET的高校院系图书管理系统的意义所在。
2 系统功能分析与设计
系统分析作为系统设计的基础,在系统分析的基础上,能够将高校院系图书管理中所遇到的问题抽象为具体的需求 [3],作为后续系统实现的依据。
为实现对院系图书的管理,需要完成对书籍、报刊、杂志等图书资料的分类登记;能够对借阅和归还等信息进行记录和查询;为方便借阅,还要能够对图书进行检索查询,获取所查询图书的相关借阅信息;同时,还需根据借阅人的身份信息分别对教师借书和学生借书进行不同的设置,以及相关借书人员身份信息的管理和维护。
根据以上分析,高校院系图书管理系统应包括三个主要功能,即:角色管理功能、图书基本信息管理功能、图书借阅信息管理功能。其主要功能分析与说明如表1所示。
表1 高校院系图书管理系统功能说明表
主要功能模块
功能划分
功能说明
角色管理
账号管理
包括账号的添加和删除、密码修改、账号级别设置和各级别账号访问权限控制。
角色基本信息维护
负责角色基本信息的查询、修改、删除功能。
图书基本信息管理
图书入库
负责将图书资料按出版社类别划分和图书类别划分录入系统。
图书出版社类别管理
添加、删除、修改出版社类别名称。
图书类别管理
添加、删除、修改图书类别名称。
图书借阅信息管理
图书借阅
登记借阅图书的借阅人、借阅起止时间、借阅图书编号等信息。
图书归还
负责图书归还记录的登记和保存。
图书借阅统计
根据借阅记录以图表的形式展示不同类别图书一段时期内借阅的次数。
超时处理
对于未按时间归还的借阅者,管理员根据实际情况实行延时或惩罚处理。
图书报失
登记丢失图书的信息,借阅人按规定照价赔偿。
3 软件架构设计
合理的软件架构设计是软件开发的基础,本系统采用的是在ASP.NET技术的基础上设计的三层架构,即:数据访问层、业务逻辑层、视图层。各层分别负责相对独立的功能,即使需求发生变化,也只用修改相应层的实现代码即可,这样一来不仅提高了软件开发的效率,同时增强系统的可维护性和扩展性。
1) 数据访问层:数据访问层负责提供访问数据库的统一接口,访问数据库所进行的查询、添加、删除、更新操作均通过调用统一的接口实现。
2) 业务逻辑层:业务逻辑层是整个系统的核心层[4],它处于数据访问层之上,视图层之下,系统对角色管理功能、图书基本信息管理功能以及图书借阅信息管理功能的实现都依赖于业务逻辑层的处理。一方面业务逻辑层负责对数据访问层获取到的原始数据进行逻辑处理,将原始数据转化为用户可理解的数据传递给视图层展示给用户;同时,业务逻辑层能够接收用户通过视图层发送的请求,如修改密码请求、归还图书请求等,在对请求进行解析之后,将请求转化为对数据访问层具体功能的调用,交与数据访问层完成数据库相关操作,实现用户请求。该层是连接数据访问层与视图层的桥梁。
3) 视图层:视图层一方面接收业务逻辑层的请求,从业务逻辑层中取得处理后的数据,按照视图层提供的页面模板,生成WEB页面呈现给用户;另一方面,视图层接收用户通过页面提交的表单数据或者是页面访问请求,视图层将提交的数据或页面访问请求交给业务逻辑层处理。
4 系统中关键部分实现
1. 数据访问层实现
数据访问层创建DataBaseAccess类,DataBaseAccess类中包含string类型的数据库连接字符串StrConnectionString成员变量和OleDbConnection类型的数据库连接对象Connection成员变量,在DataBaseAccess类的无参构造函数中实现StrConnectionString与Connection的初始化,关键实现代码如下:
StrConnectionString = System.Configuration.ConfigurationManager.AppSettings["conString"].ToString();
Connection = new OleDbConnection(StrConnectionString);
连接数据库的字符串在web.config文件中的
除此之外,DataBaseAccess类中提供了OpenConnection()和CloseConnection()方法用于管理数据库的连接和关闭。
对于数据库中的添加、删除、修改操作通过RunSQLStringForUpdate方法实现,该方法返回int类型的数值表示对数据库的更新所影响的行数,在调用时需要传递一个string类型的参数,该参数值为需要执行的SQL语句。
数据库的查询操作通过RunSQLStringWithSQLDataTable方法实现,将查询得到的数据结果存放在DataTable中返回给调用者,同时,在调用时需要传递一个string类型的参数,该参数值为查询SQL语句。
2. 业务逻辑层实现
根据系统的功能设计,业务逻辑层的实现可以抽象为以下三个功能的实现:
1) 数据查询功能实现:通过DataBaseAccess类的实例化对象,利用实例化对象调用RunSQLStringWithSQLDataTable方法从数据库中得到原始数据,然后根据具体业务逻辑需要将原始数据转化为用户可理解的数据,返回给视图层,实现对数据的查询功能。
2) 数据更新功能实现:数据更新功能包括对数据的增加、删除、修改功能。业务逻辑层接收用户通过视图层发送的请求,根据请求生成执行数据库更新所对应的SQL语句,然后通过DataBaseAccess类的实例化对象调用RunSQLStringForUpdate方法,将生成的SQL语句作为string类型的参数传递给RunSQLStringForUpdate方法,实现对数据的更新功能。
3) 公共处理方法实现:在进行业务逻辑处理时需要用到MD5加密、对字符串的安全处理等常用功能,为减少冗余代码量,将这些常用方法作为静态方法统一存放在工具类UtilityClass类中,使用时只需调用工具类中的静态方法即可实现MD5加密、字符串安全处理等常用功能。
3. 视图层实现
视图层接收业务逻辑层处理后的数据,将数据以文字、曲线图、数据表、图片等形式嵌套在HTML模板页中,生成相应的WEB页面返回给用户。同时,用户通过点击WEB页面中的链接或者提交Form表单的方式发送请求,视图层将请求交与业务逻辑层处理。
5 小结
本系统在ASP.NET的基础上实现了对高校院系中图书资料的管理功能,该系统采用了三层架构的分层思想进行设计,使系统易于维护和升级。该系统自使用以来,运行稳定,为教师与学生借阅图书提供了便利,提高了院系图书资料的利用率,减轻院系工作人员的负担,提高工作效率,顺应了图书管理数字化和信息化的发展要求,具有一定的应用价值。
参考文献
[1] 徐枫.ASP.NET三层架构体系分析与应用[J].数字技术与应用,2011(08):109.
[2] 张建华,颜彩繁.高等院校院系资料室图书管理信息系统分析与设计[J].现代情报,2008,(04).
[3] 邓玉娇,王欣. 图书管理系统设计与实现[J].软件,2011(02).
[4] 覃昆,张蓉蓉. 基于B/S结构、三层架构和ASP.NET 2.0技术的基层党组织协同管理系统设计与实现[J]. 贵州大学学报(自然科学版), 2008(01).