基于ASPNET的图书管理系统课程设计报告模板.docx
《基于ASPNET的图书管理系统课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《基于ASPNET的图书管理系统课程设计报告模板.docx(24页珍藏版)》请在冰豆网上搜索。
基于ASPNET的图书管理系统课程设计报告模板
第一章概述
1.1本课题的研究背景
近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。
开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
1.2本课题的研究意义
图书管理系统,正是为满足这个需求而设计。
管理员可以对图书和用户的信息进行操作,包括添加、删除、修改、查询,办理图书的借阅、归还等;用户可以对自己的登陆密码进行修改,浏览图书,对自己的借阅情况进行查询等。
系统将提供给管理员一个方便强大的图书管理平台,使其有效地管理图书资源,也使用户能够快速的查找所需的图书资源,又省时又省力,同时提高生活的质量和效率。
1.3本论文的目的、内容及作者的主要贡献
1.3.1本论文的目的
本论文对图书管理系统做出详细地需求分析,并对其设计与实现过程进行详细的论述。
目的在于阐明本系统如何实现对图书和用户的安全、便捷的管理以及借阅和归还图书的操作过程。
1.3.2本论文的内容
本论文内容上从系统的开发背景开始论述,研究并确定了开发环境,并对系统的需求做出了详细的分析,根据系统的需求及开发工具的功能特性确立课题的设计方案及开发策略。
并对课题的概要设计、详细设计以及代码实现过程和后期的测试过程,须改进的部分都进行了详细的说明。
1.3.3作者主要贡献
本论文中,作者的主要贡献是对系统的需求分析,设计并实现符合实际应用的图书管理系统。
主要包括数据库设计与建立、功能模块设计、事物逻辑及各个功能的代码实现、良好用户操作界面的设计与实现、对各功能实现结果的测试等。
1.4手工管理图书借阅中的问题
1.检索速度慢、效率低
因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。
图书馆的规模越大,这个问题越突出。
2.借书、还书工作量大
借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。
而且经常会出现这样那样的差错。
3.图书统计工作难、藏书更新不能及时完成。
图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
1.5本课题要达到的设计目标
本课题致力于实现对图书资源进行方便、快捷、安全的管理。
提供添加、修改、删除、查询等功能。
包含以下内容:
1.5.1实现后台数据库的设计与实现
完成数据库的设计与实现,数据库的设计一般包括数据库库需求分析、数据库概念结构设计、数据库逻辑结构设计等。
1.5.2实现用户信息的管理
本课题中网站的用户分两个角色,即管理员用户、普通用户。
●管理员的信息由管理员自己创建并管理。
●普通用户的信息由管理员注册生成,自己可更改密码。
1.5.3实现图书的借阅和归还
管理员登陆后可以为读者办理图书的借阅和归还手续,操作成功后,会被记录到借书证中。
1.5.4实现对图书资源的查询
本课题中的系统所有用户都可以对所有图书及普通用户的借阅情况进行查询操作。
操作结果会列出满足查询条件的信息列表。
第二章系统分析
本课题为实现更加实用的图书管理系统,对该系统做了详细的系统分析。
包括系统的需求分析、对开发用到的关键技术的介绍以及系统的可行性分析。
2.1系统需求分析
本课题为VB应用的信息管理系统,目的在于可以让用户更方便、快捷、安全的管理图书资源,支持管理员的后台信息管理。
各个角色的功能需求如下:
●管理员
⏹图书分类管理
⏹图书基本信息管理
⏹图书库存管理
⏹借书证管理管理
⏹图书借阅管理
⏹用户管理
●普通用户
⏹管理个人信息
⏹图书借阅查询管理
⏹图书归还查询管理
⏹图书查询
2.2采用的关键技术介绍
2.2.1ASP.NET简介
ASP.NET是一个Web开发平台,提供了构建企业级应用所需的服务、编程模型和软件基础结构。
虽然ASP.NET的语法基本上与其前辈ASP(ActiveServerPage)兼容,但是ASP.NET是一个全新的编程框架,旨在用于快速开发Web应用程序。
作为Microsoft.NET平台的一部分,ASP.NET提供了一种基于组件的、可扩展的且易于使用的方法,用于购建、部署和运行供所有在浏览器或移动设备中使用的Web应用。
同ASP和其他Web开发环境一样,ASP.NET也是建立在HTTP协议之上的,它利用HTTP命令和策略进行双向的、浏览器到服务器的通信和协作。
真正使ASP.NET有别于其他Web开发技术的是它提供的抽象编程模型,即Web窗体模型。
此外,整个ASP.NET平台是Microsoft.NETFramework的一部分。
ASP.NET应用是一些已编译的代码部件,由一些可重用且可扩展的组件组成,可以用第一类语言(包括C#、MicrosoftVisualBasic.NET、MicrosoftJscript.NET和J#)创建,并且可以访问.NETFramework中整个类的层次结构。
2.2.3VisualBasic简介
MicrosoftVisualBasic,它是开发MicrosoftWindows应用程序的最快方法。
不论是对MicrosoftWindows应用程序的专业开发者或初学者来说,VisualBasic都是一套不可多得的快速开发应用程序。
VisualBasic以原来的BASIC语言为基础,做了更进一步的发展,至今包含了数百个陈述式、函数及关键词,其中有很多都和WindowsGUI有直接关系。
VisualBasic程序语言不仅只能用于VisualBasic,包含在MicrosoftExcel、MicrosoftAccess及许多其它的Windows应用程序中的VisualBasicApplications(VBA),也使用了与VisualBasic同样的语言。
VisualBasicScriptingEdition(VBScript)是一广泛使用的scripting语言,而它也是VisualBasic语言的子集合。
所以学会VisualBasic之后,还可以应用到其它不同的领域中!
从开发个人或群组使用的小工具,到大型企业应用系统,甚至透过Internet的分布式应用程序(DistributedApplications),VisualBasic都有其发挥之处。
2.2.3Oracle9i简介
Oracle9i通过提供用于电子商务环境的一系列特定功能和产品包,像Oracle8i那样继续聚焦于Internet。
此外,Oracle9i添加了新特性和功能,扩大给予关键任务的基础结构的投资。
以下是Oracle9i在基础结构领域的新特性:
1.实现连续的数据可用性:
Oracle9i大幅度地扩展了Oracle在Internet 数据库可用性方面的地位。
2.可伸缩性和性能:
Oracle9i允许电子商务扩展到千万用户,每个用户每小时都执行数百万事物处理。
3.提供端到端的安全体系结构:
Oracle9i继续提供业界最安全的应用平台和部署平台。
4.电子商务应用程序的开发平台:
Oracle9i继续为电子商务应用程序和传统应用程序的开发提供最佳的开发平台。
5.可管理性:
管理是Oracle9i主要改进之一。
6.Windows集成:
Oracle9i作为基于 Windows2000 平台上的领导地位。
2.3可行性分析
2.3.1技术可行性
图书管理系统是顺应人们的需求而设计的。
表示层(USL)用ASP.NET开发平台,业务层(BLL)用VB编程语言,数据层(DAL)用ADO.NET。
后台数据存储用Oracle9i数据库。
2.3.2操作可行性
系统运行于Windows环境,其用户操作页面友好,操作方便。
系统的基本操作如下:
●普通用户
⏹编辑个人信息
⏹图书借阅查询管理
⏹图书归还查询管理
⏹图书查询
●管理员用户
⏹添加、删除、修改、查询所有图书信息
⏹添加、删除、修改、查询所有用户信息
⏹添加、删除、修改图书类型信息
⏹添加、删除、修改借书证信息
⏹图书的借阅和归还操作
第三章系统概要设计
3.1系统总体设计
3.1.1运行环境
●操作系统:
WindowsNT/2000/XP/2003
●安装Oracle9i
●安装MicrosoftVisualStudio2005
3.1.2系统流程
系统业务流程(管理员和用户执行操作的流程)如图3.1所示。
图3.1系统业务流程图
3.1.3系统结构
本课题的图书借阅管理系统功能模块设计如图3.2所示。
图3.2图书借阅管理系统功能模块示意图
本课题的用户管理功能模块设计如图3.3所示
图3.3用户管理功能模块示意图
3.2系统接口的概要设计
3.2.1用户接口
●登陆
系统的用户接口主要分为Admin用户(管理员)和普通用户。
所有用户必须在“身份验证”界面登陆,才能使用系统。
登录过程需要完成以下任务:
⏹根据用户名和密码来判断是否可能进入系统;
⏹根据用户类型决定用户拥有的权限;
每个用户有3次机会进行身份认证。
如果3次输入的用户名和密码都无法与数据库中的数据匹配,则强制退出系统。
登录窗体的界面如下所示:
(贴图)
图3.4系统身份验证界面
3.2.1功能接口
●首页
系统主界面包含以下标签:
⏹图书分类管理
⏹基本信息管理
⏹图书库存管理
⏹借阅证件管理
⏹图书借阅管理
⏹系统用户管理
⏹退出系统
用户可以单击一个标签,进行相应的模块。
系统主界面如下所示:
图3.5图书借阅管理系统首页
3.3数据库概要设计
3.3.1逻辑结构设计
本课题设计规划出的实体有管理员,普通用户,图书信息,借阅信息,图书分类。
本课题中实体间的关系如图3.6所示。
(贴图)
图3.6系统数据库实体间关系E-R图
图3.7用户信息示意图图3.8图书分类信息示意图
图3.9图书信息示意图图3.10图书借阅信息示意图
3.3.2物理结构设计
本课题目前为数据库建立了7张表。
●图书分类信息表(BookType),包括数据项:
分类编号、分类名称、描述信息、上级分类的编号等。
●图书基本信息表(BookInfo),包括数据项:
书号、图书名称、作者、出版社、版次、价格、图书分类、当前库存等。
●图书入库信息表(StoreIn),包括数据项:
入库编号、书号、入库数量、图书存放位置、经办人、入库日期等。
●库存盘点表(Books),包括数据项:
书号、图书原始数量、图书盘点数量、盘点人、盘点日期等。
●借阅证信息表(Cards),包括数据项:
借阅证编号、所属部门、员工名称、有效证件号码、发证日期、挂失标记等。
●图书借阅表(Borrow),包括数据项:
编号、书号、借阅证编号、结出日期、应归还日期、实际归还日期∕挂失日期、超期罚款金额、借阅标记(0-借阅,1-续借,2-归还,3-挂失)等。
●用户信息表(Users),包括数据项:
用户名、密码。
在设计数据库表结构之前,首先要创建一个图书借阅管理的数据库用户,定义为BOOKMAN,并对其设置角色权限和系统权限,所有相关的表都归属于这个用户;之后再创建其他表。
在设置ODBC时,使用用户BOOKMAN登陆,就可以直接在程序中调用用户BOOKMAN的表和视图等数据库对象了。
3.4系统出错处理设计
3.4.1出错信息
系统输出信息的形式、含意及处理方法。
见表3.1。
表3.1出错信息及处理方法
故障情况
系统提示信息内容与形式
处理方法
登录失败
弹出错误信息提示框“用户名或密码错误,请重试。
”;错误超过3次会强制退出系统。
重试,输入正确登录信息
查询结果为空
显示结果为空
重试,输入查询条件
无权操作
弹出错误信息提示框“您无权进行该操作,请尝试其他操作。
”
选取其他可操作的功能
连接数据库失败
显示数据连接错误提示。
打开Oracle9i服务管理器,或查看数据库设置,并改正
3.4.2系统维护设计
为了保证系统的安全稳定的运行,本系统在登陆时就会根据用户输入的信息确定用户类型,从而确定其拥有的权限。
第四章系统详细设计
本课题总体设计的核心思想主要以下两点:
页面是一个容器,是由不同模块(用户控件)组成的;Web页面和用户空间都属于表示层,它们用来处理交互,具体功能由业务对象完成。
4.1表示层即系统界面的详细设计
根据VisualBasic功能模块的划分原则,分别创建以下几个模块:
∙Const用来管理工程中的常量;
∙DbFunc用来管理工程中与下护具库操作相关的生命、变量和函数;
∙GeneralFunc用来管理工程中一些通用的自定义函数;
∙Vareable用来管理工程中的全局变量。
4.1.1图书分类管理模块设计
图书分类管理模块可以实现以下功能:
∙添加图书分类记录
∙修改图书分类记录
∙删除图书分类记录
∙查看图书分类记录
∙选择图书分类记录
●使用TreeView控件管理图书分类的方法
本系统中使用树状结构来描述图书分类信息,所以要使用到TreeView控件。
TreeView控件是显示Node(节点)对象的分层列表,每个Node对象均由一个标签和一个可选的位图组成。
在GeneralFunc模块中,需要添加一个自定义过程AddtoTree()。
它的功能是把所有的图书分类名称按照上下级关系添加到TreeView控件中。
TreeView控件使用唯一的关键字来表示每一个节点,关键字的第一个字符必须是字母。
(贴图)
图4.1图书分类管理模块实现效果图
AddtoTree()过程有两个参数,TreeView1表示显示图书分类信息的TreeView控件,TmpKey表示要添加的关键字。
过程根据TmpKey得到图书分类的标号,从而获得图书分类的所有信息,包括它的下一级图书分类。
依次将所有下一级图书分类添加到TreeView控件中,然后再使用每个下级图书分类作为参数,递归调用AddtoTree()过程。
●图书分类信息编辑窗体的设计
图书分类信息编辑窗体可用来添加和修改图书分类信息,窗体布局如下:
(贴图)
图4.2图书分类信息编辑窗体布局图
4.1.2图书基本信息管理模块的详细设计
图书分类管理模块可以实现以下功能:
∙创建图书记录
∙修改图书基本信息
∙删除图书记录
∙查看图书基本信息
∙管理图书封面图片
●图书基本信息编辑窗体的设计
1.用全局变量Modify来标记当前的数据库访问状态。
当Modify=Ture时,表示修改已有的数据;当Modify=False时,表示插入新的数据。
2.对于图书价格,应该使用函数In_Single()限制用户输入,只能输入数字0-9和小数点。
每当用户在文本框中输入回车键时,程序应该使用EnterTAB()函数将回车键转换成TAB键,并将光标移动到下一个控件中。
(贴图)
图4.3图书基本信息编辑窗体布局图
●图书基本信息管理窗体的设计
窗体中主要控件有DataGrid用来显示图书信息;Adodc读取结果集中的字段数据;Collection用来选择图书类目。
窗体的布局如下:
(贴图)
图4.4图书基本信息管理窗体布局图
4.1.3图书库存管理模块的详细设计
图书库存管理模块可以实现以下功能:
∙添加图书库存记录
∙进行图书库存盘点
∙查看图书库存记录
●图书库存编辑模块的设计
(贴图)
图4.5图书库存编辑模块窗体布局图
●图书库存管理模块的设计
(贴图)
图4.6图书库存管理模块窗体布局图
●图书库存盘点编辑模块的设计
用全局变量Modify来标记当前的数据库访问状态。
当Modify=Ture时,表示修改已有的数据;当Modify=False时,表示插入新的数据。
用变量OreTotalNum表示库存原始数量。
(贴图)
图4.7图书库存盘点编辑窗体布局图
4.1.4借阅证件管理模块的详细设计
借阅证件管理模块包括以下功能:
∙添加借阅证
∙修改借阅证信息
∙删除借阅证
∙查看借阅证信息
∙查看制定借阅证的借阅记录
●借阅证信息编辑窗体的设计
借阅证信息编辑窗体可用来添加和修改借阅证信息。
1.设置Flag=1为挂失。
程序将调用MyCards.UpdateFlag过程,把Cards表中的Flag列设置为1,表示此证件已经挂失。
2.当用户单击“取消挂失”按钮时,将触发Click时间,将Flag列设置为0.
(贴图)
图4.8借阅证信息编辑窗体布局图
●借阅证信息管理窗体的设计
(贴图)
图4.9借阅证信息管理窗体布局图
4.1.5图书借阅管理模块的详细设计
图书借阅管理模块包括以下功能:
∙添加图书借阅记录
∙修改图书借阅记录
∙删除图书借阅记录
∙查看图书借阅记录
∙图书续借管理
∙图书归还管理
∙图书挂失管理
∙图书催还管理
●选择日期窗体的设计
在编辑图书借阅信息时,涉及到借出日期、归还日期等日期数据。
为了方便用户输入日期数据,可以设计一个选择日期窗体。
可以使用Calendar控件来选择一个有效的日期。
(贴图)
图4.10选择日期窗体的设计
●图书借阅信息编辑窗体的详细设计
图书借阅信息编辑窗体可用来添加和修改图书借阅信息,包括图书续借、图书归还、图书挂失等。
(贴图)
图4.11图书借阅信息编辑窗体布局图
4.1.6用户管理模块的详细设计
在系统初始化时,有一个默认的“系统管理员”用户Admin,由程序设计人员手动地添加到数据库中。
∙Admin用户可以创建用户、修改用户信息、以及删除用户
∙普通用户则只能修改自己的用户名和密码
●编辑用户信息窗体的详细设计
在主界面中单击“用户管理”,系统会根据不同类型的用户决定是打开“用户管理”窗口,还是打开“用户编辑”窗口。
(贴图)
图4.12编辑用户信息窗体布局图
●编辑用户信息窗体的详细设计
(贴图)
图4.13用户管理窗体布局图
●用户权限管理窗体的详细设计
(贴图)
图4.14用户权限管理窗体布局图
4.2数据库详细设计
1)图书分类信息表的详细设计
表4.1图书分类信息表BookType
列名
字段名称
数据类型
大小
可否为空
主键
分类编号
TypeId
Number
10
否
是
分类名称
TypeName
Verchar2
50
否
否
描述信息
Describe
Verchar2
400
否
否
上级分类编号
UpperId
Number
10
是
否
2)图书基本信息表的详细设计
表4.2图书基本信息表BookInfo
列名
字段名称
数据类型
大小
可否为空
主键
书号
BookNo
Varchar2
50
否
是
图书名称
BookName
Varchar2
50
否
否
作者
Author
Varchar2
50
是
否
出版社
Publisher
Varchar2
50
是
否
版次
Ptimes
Varchar2
50
是
否
价格
Bprice
Number(8,2)
20
是
否
图书分类
Btype
Number
10
否
否
当前库存
TotalNum
Number
10
是
否
图书封面
B_Image
Blob
是
否
3)图书入库信息表的详细设计
表4.3图书入库信息表StoreIn
列名
字段名称
数据类型
大小
可否为空
主键
入库编号
StoreId
Varchar2
50
否
是
书号
BookNo
Varchar2
50
否
否
入库数量
BookNum
Numberr
10
否
否
图书存放位置
StorePos
Varchar2
200
是
否
经办人
EmpName
Varchar2
50
是
否
入库日期
OptDate
Char
10
是
否
4)库存盘点表的详细设计
表4.4库存盘点表Books
列名
字段名称
数据类型
大小
可否为空
主键
书号
BookNo
Varchar2
50
否
是
图书原始数量
BookNum
Number
10
否
否
图书盘点数量
CountNum
Number
10
是
否
盘点人
EmpName
Varchar2
50
是
否
盘点日期
CountDate
Char
10
是
否
5)借阅证信息表的详细设计
表4.2借阅证信息表Cards
列名
字段名称
数据类型
大小
可否为空
主键
借阅证编号
Cardno
Varchar2
50
否
是
所属部门
DepName
Varchar2
50
否
否
员工姓名
EmpName
Varchar2
50
否
否
有效证件号码
Idcard
Varchar2
50
是
否
发证日期
CreateDate
Char
10
是
否
挂失标记
Flag
Number1
4
是
否
6)图书借阅表的详细设计
表4.5图书借阅表Borrow
列名
字段名称
数据类型
大小
可否为空
主键
编号
Bid
Number
10
否
是
书号
BookNo
Varchar2
50
否
否
借阅证编号
Cardno
Varchar2
50
是
否
借出日期
Bdate
Char
10
是
否
应归还日期
Rdate
Char
10
是
否
实际归还日期∕挂失日期
RRDate
Char
10
是
否
超期罚款金额
Forfeit
Number(8,2)
1
是
否
借阅标记
Flag
Number
10
是
否