016_网上图书预约系统(VB.NET)
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
3 系统分析设计
3.1 功能设计
通过对用户需求调研及分析,确定系统应具备的功能,包括:安全管理,用户个人信息管理,图书查询及预约,信息发布,图书信息管理,用户信息管理,用户角色权限管理。其具体功能设计如下:
1、安全管理
提供用户登录、注销以及修改密码等功能。
2、用户个人信息管理
每个用户可以对自己的信息进行查看以及修改密码等操作,还可以查看和删除自己的预约信息。
3、图书查询及预约
根据一定的条件对图书进行查询,并可以查看图书的详细信息。用户登录后可以对查询到的图书进行预约操作。
4、信息发布
用户可以查看当前最新图书信息以及当前预约信息和历史预约信息。 【买计算机毕业论文就到www.think58.com】
5、图书信息管理
图书管理员可以对图书进行添加、更新及删除操作。在图书管理员录入图书信息时,需要输入图书名称、图书作者、出版社及价格等信息,同时还需要选择图书状态。对于已存在的图书信息同样可以对其进行修改和删除操作。
6、用户信息管理
系统管理员可以添加新用户,并对用户的信息进行修改更新操作。在用户编辑修改页面,可以更改用户类别和用户状态等,但不可以对用户的ID进行修改。 内容来自think58
[资料来源:www.THINK58.com]
7、系统角色权限管理
系统管理员可以添加、修改和删除某一角色。对应于某一种角色,有类别名称、是否允许预约、是否允许管理图书信息、是否允许管理系统等参数。
3.2 系统功能结构图
图2 系统功能结构图
3.3 模块设计
系统分为6个模块,每个模块负责的功能相对专一。其中,用户登录与验证提供对用户身份的验证,同时读取用户所具有的权限,只有具有系统账号的用户才可以使用系统的所有功能。系统的最底层是数据库,本系统采用SQL Server2000数据库。采用ADO.NET提供对ASP.NET的支持和对数据库的访问操作。系统的模块划分图如下: think58
[版权所有:http://think58.com]
图3 模块划分图
1、用户身份验证模块
用户身份验证模块实现用户合法性检查,把用户ID保存到Session中,而在后面的页面中通过判断这个Session值是否为空来判断用户是否登录。在这个模块中提供注销和修改密码的功能。
2、用户个人信息管理模块
在用户个人信息管理模块里主要包括了查看用户个人信息和预约信息等功能,同时还可以在预约信息列表中查看当前预约图书的状态及到书情况,并可以取消预约的图书。
3、图书查询预约模块
图书查询预约模块提供用户查询和预约图书。查询可以分为简单查询、普通查询和高级查询等3种。用户查询到书后,可以点击预约按钮对相应的图书进行预约。
4、信息发布模块
信息发布模块主要提供的是查看最近上架的图书信息、当前预约图书信息和历史预约图书信息等功能,以方便用户查看,并起到提示作用。这个信息是面向所有的用户,并不需要登录。
5、图书管理模块
图书管理模块主要提供对图书信息的管理,包括了图书的添加、更新和删除操作。
6、系统管理模块
系统管理模块包括用户信息管理和角色权限管理两个功能。用户信息管理主要包括了用户信息的添加与删除、查询等功能。而角色权限管理主要包括了角色权限的添加、修改与删除功能。在设计的时候,将不同的功能模块当作一种权限分配给某角色组,一种角色组里面可以有不同的用户,对于某一用户,他具有其角色的权限。 [来源:http://www.think58.com]
3.4 数据库的设计
在本系统中,存在用户、图书和角色3种对象实体。
用户实体E-R图如下图所示:
copyright think58
[版权所有:http://think58.com]
图4 用户实体E-R图 think58好,好think58
[资料来源:http://think58.com]
图书实体E-R图如下图所示:
内容来自think58
图5 图书实体E-R图 [资料来源:http://THINK58.com]
角色实体E-R图如下图所示:
图6 角色实体E-R图 本文来自think58 [版权所有:http://think58.com]
各实体间的关系图: think58好,好think58
[来源:http://www.think58.com]
内容来自think58
[来源:http://www.think58.com]
图7 实体间关系图
根据前面的功能模块设计,系统所需要的数据库应包括“用户信息”,“图书信息”,“预约信息”,“借阅信息”,“角色权限”,各部分各自作为一个表存在。
1、系统中所用到的表及用途
表1 系统所用表
表名 用途 表名 用途
UserInfo 用户信息表 BookInfo 图书信息表
BookingInfo 预约信息表 LendInfo 借阅信息表
RoleInfo 角色权限表
2、用户信息表(UserInfo)
表2 用户信息表
名称 数据类型 数据长度 作用
UserID varchar 20 用户ID(用户登录名,主键)
UserName varchar 50 用户真实姓名
Pass varchar 50 用户密码(初始为用户ID)
Sex varchar 10 用户性别
RoleID int 4 角色ID
EMail varchar 50 用户E-mail
Unit varchar 100 单位
Phone varchar 20 电话
State int 4 当前状态(0-挂起,1-激活) 本文来自think58
3、图书信息表(BookInfo)
表3 图书信息表
名称 数据类型 数据长度 作用
BookID int 4 图书ID(自增,主键)
BookName varchar 100 图书名
PubName varchar 100 出版社名称
BookAuthor varchar 50 图书作者
BookStyle varchar 20 图书类别
UploadDate smalldatetime 4 上架时间
Series varchar 50 丛书名
Subject varchar 300 主题
Language varchar 10 语言
ISBN varchar 50 ISBN号
SearchNO varchar 50 索取号
PubDate smalldatetime 4 出版日期
BookState int 4 图书状态
Price float 8 价格
BarCode varchar 50 图书条码
IsBorrow bit 1 图书是否被借过(默认值为0)
4、借阅信息表(LendInfo)
表4 借阅信息表
名称 数据类型 数据长度 作用
LendID int 4 ID(自增,主键)
BookID int 4 图书ID
UserID varchar 20 用户ID
LendDate smalldatetime 4 借阅日期
ReturnDate smalldatetime 4 归还日期
IsBack int 4 是否归还
5、预约信息表(BookingInfo)
表5 预约信息表
名称 数据类型 数据长度 作用 think58
BookingID int 4 预约ID(自增,主键)
BookID int 4 图书ID
UserID varchar 20 用户ID
BookingState int 4 是否到书
BookingDate datetime 8 预约时间
State int 4 预约状态(0-已失效,1-有效,2-已过期,默认值为1)
think58
本文来自think58
[资料来源:http://think58.com]
6、角色权限表(RoleInfo)
表6 角色权限表
名称 数据类型 数据长度 作用
RoleID int 4 角色权限ID(自增,主键)
RoleStyle varchar 50 角色名称
BookNum int 4 允许借书数
BookDate int 4 允许借书天数
AllowBooking int 4 是否允许预约(0:否 1:是)
IsBookManager int 4 是否为图书管理员(0:否 1:是)
IsSysManager int 4 是否为系统管理员(0:否 1:是)
总结:对整个网上图书预约系统的功能模块的详细设计和所运用的后台数据库表的详细介绍。
4 系统详细设计
4.1 系统公共类的设计
在一个系统中,很多方法、数据都是可以共享的,为了尽量减少重复劳动,可以通过建立一些公共的类的方法,提供统一的数据读写方法。在需要使用这些方法操作时,仅需要构建这些类的对象,调用类的方法,完成相应的功能操作。
本文来自think58 [资料来源:http://think58.com]
[资料来源:http://THINK58.com]4.1.1 数据操作类的设计
数据操作类DBController.vb实现对数据访问的方法,包括执行无返回值的SQL语句、执行数据查询以及一些用户控件的数据绑定,通过对这些操作方法的封装,方便开发。需要调用时,通过传递参数,选择不同的方法,进行不同的操作。
在该类中,Open、Close打开关闭数据库的连接;Fill填充ds;ExecNonSql执行无返回值的数据库操作;ExecReaderSql执行查询操作;BindDBGrd对DataGrid进行数据绑定;BindListBox对ListBox中进行绑定;BindDrpDownList对DropDownList进行数据绑定;CheckUserberInfo判断用户用户名、密码是否正确;GetRowsNum获取SQL查询记录条数。 think58好,好think58
4.1.2 图书操作类的设计
图书操作类BookController.vb是基于DBController类的,里面封装了对图书进行预约等操作以及获取指定用户的借书权限、借书数量、待借天数的方法函数。在该类中,GetMax获取用户最大的借书量;GetBookDate获取该用户允许借阅时间;GetBookState判断当前书的状态;IsUserBooking判断用户是否预约该图书;GetCurNum获取用户当前借书数量;LendBook进行借书操作;CancelBooking取消预约书信息;ReturnBook进行还书操作;BookingBook预约图书信息;AllowBooking判断是否允许预约;IsBookManager判断是否为图书管理员;IsSysManager判断是否为系统管理员。
判断用户是否预约该图书的函数如下:
Public Function IsUserBooking (ByVal UserID As String, ByVal BookID As String) As Boolean
Dim sqlstr As String = "select * from BookingInfo where UserID='" + UserID + "' and BookID=" + BookID
If obj.GetRowsNum (sqlstr) = 0 Then
Return False
Else
Return True
End If
End Function
内容来自think58 [资料来源:http://www.THINK58.com]
[资料来源:http://www.THINK58.com]上一篇:001图书管理系统VB.NET
下一篇:NET精品课程经典(独家新品)