图书管理系统终期报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

07计科B5班
图书管理系统系统设计实现报告书基于C#+SQL
Abiaocom开发小组
2023-06-30
图书管理系统设计实现报告
山西大学商务学院图书管理系统
设计与实现
内容提纲本设计重要是针对山西大学商务学院的需求, 开发的一个小型的图书管理系统。

本系统采用Microsoft SQL Server 2023做后台数据库管理系统, 基于微软C#语言在winform平台下开发, 具体使用Microsoft Visual Studio 2023进行开发。

该系统面向所有类型管理员和在校学生的多种身份的用户, 普通用户可以查询个人信息, 查询书籍及借阅个人书籍信息情况;管理员(涉及系统管理员, 图书管理员, 借阅管理员)能增长、删除、修改和查询每一项记录, 解决书籍相关信息。

本设计开发的系统能实现学校的智能化管理, 规范图书馆的管理工作, 通过该系统可以实现图书信息的检索、图书借阅管理、用户个人信息的管理等各种功能, 实现图书管理的快捷、高效。

目录
1 引言........................................................................................................ 错误!未定义书签。

1.1 设计目的和意义 ............................................................................. 错误!未定义书签。

1.2 研究背景......................................................................................... 错误!未定义书签。

2 系统分析 .............................................................................................. 错误!未定义书签。

2.1 系统可行性分析 ............................................................................. 错误!未定义书签。

2.2 系统功能需求分析 ......................................................................... 错误!未定义书签。

2.2.1 系统业务流程 .......................................................................... 错误!未定义书签。

2.2.2 系统功能分析 .......................................................................... 错误!未定义书签。

2.3 概念模型......................................................................................... 错误!未定义书签。

3 系统总体设计 ...................................................................................... 错误!未定义书签。

3.1 系统数据库设计 ............................................................................. 错误!未定义书签。

3.1.1 表结构设计 .............................................................................. 错误!未定义书签。

3.1.2 数据库关系图 .......................................................................... 错误!未定义书签。

3.2 系统功能模块设计 ......................................................................... 错误!未定义书签。

3.2.1 系统功能结构图 ...................................................................... 错误!未定义书签。

3.2.2 功能模块设计 .......................................................................... 错误!未定义书签。

4 系统实现 ................................................................................................ 错误!未定义书签。

4.1 系统开发运营环境 ......................................................................... 错误!未定义书签。

4.1.1开发环境 ................................................................................... 错误!未定义书签。

4.1.2 运营环境 .................................................................................. 错误!未定义书签。

4.2 模块界面展示 ................................................................................. 错误!未定义书签。

4.2.1 Loading界面 ............................................................................. 错误!未定义书签。

4.2.2 登陆界面 .................................................................................. 错误!未定义书签。

4.2.3 主界面...................................................................................... 错误!未定义书签。

4.2.4 用户管理界面 .......................................................................... 错误!未定义书签。

4.2.5 书籍管理界面 .......................................................................... 错误!未定义书签。

4.2.6 书籍借阅管理界面 .................................................................. 错误!未定义书签。

4.2.7 其他管理界面 .......................................................................... 错误!未定义书签。

5 系统测试 ................................................................................................ 错误!未定义书签。

5.1白盒测试概述 .................................................................................. 错误!未定义书签。

5.2 黑盒测试概述 ................................................................................. 错误!未定义书签。

5.3 系统测试具体方法 ......................................................................... 错误!未定义书签。

6 技术相关性简介 .................................................................................... 错误!未定义书签。

6.1 LINQ简介 ......................................................................................... 错误!未定义书签。

6.2 本系统中的LINQ ............................................................................ 错误!未定义书签。

6 结束语 .................................................................................................... 错误!未定义书签。

致谢 ............................................................................................................ 错误!未定义书签。

参考文献 .................................................................................................... 错误!未定义书签。

1 引言
1.1 设计目的和意义
论文(设计)的目的: 一直以来人们使用传统的人工方式管理图书馆的平常工作, 对于图书馆的借书和还书过程, 想必大家都已很熟悉。

在计算机尚未在图书馆广泛使用之前, 借书和还书过程重要依靠手工。

一个最典型的手工解决还书过程就是: 读者将要借的书和借阅证交给工作人员, 工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里, 并在借阅证和每本书贴的借阅条上填写借阅信息。

这样借书过程就完毕了。

还书时, 读者将要还的书交给工作人员, 工作人员根据图书信息找到相应的书卡和借阅证, 并填好相应的还书信息, 这样还书过程就完毕了。

以上所描述的手工过程的局限性之处显而易见, 一方面解决借书、还书业务流程的效率很低, 另一方面解决能力比较低, 一段时间内, 所能服务的读者人数是有限的。

运用计算机来解决这些流程无疑会极大限度地提高效率和解决能力。

我们将会看到排队等候借书、还书的队伍不再那么长, 工作人员犯错的概率也小了, 读者可以花更多的时间在选择书和看书上。

为方便对图书馆书籍、读者资料、借还书等进行高效的管理, 特编写该程序以提高图书馆的管理效率。

使用该程序之后, 工作人员可以查询某位读者、某种图书的借阅情况, 还可以对当前图书借阅情况进行一些记录, 给出登记表格, 以便全面掌握图书的流通情况。

设计(论文)的意义: 图书馆离不开信息解决, 这正是计算机被广泛应用于信息管理系统的环境。

计算机的最大好处在于运用它可以进行信息管理。

使用计算机进行信息控制, 不仅提高了工作效率, 并且大大的提高了其安全性。

特别对于复杂的信息管理, 计算机可以充足发挥它的优越性。

计算机进行信息管理与信息管理系统的开发密切相关, 系统的开发是系统管理的前提。

本系统就是为了管理好图书馆信息而设计的。

图书馆作为一种信息资源的集散地, 图书和用户借阅资料繁多, 包含很多的信息数据的管理, 现今, 有很多的图书馆都是初步开始使用, 甚至尚未使用计算机进行信息管理。

根据调查得知, 他们以前对信息管理的重要方式是基于文本、表格等纸介质的手工解决, 对于图书借阅情况(如借书天数、超过限定借书时间的天数)的记录和核算等往往采用对借书卡的人工检查进行, 对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。

数据信息解决工作量大, 容易犯错;由于数据繁多, 容易丢失, 且不易查找。

总的来说, 缺少系统, 规范的信息管理手段。

尽管有的图书馆有计算机, 但是尚未用于信息管理, 没有发挥它的效力, 资源闲置比较突出, 这就是管理信息系统的开发的基本环境。

数据解决手工操作, 工作量大, 犯错率高, 犯错后不易更改。

图书馆采用手工方式对图书借阅情况进行人工管理, 由于信息比较多, 图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上, 图书的数目和内容记录在文献中, 图书馆的工作人员和管理员也只是当时对它比较清楚, 时间一长, 如再要进行查询, 就得在众多的资料中翻阅、查找了, 导致查询费时、费力。

如要对很长时间以前的图书进行更改就更加困难了。

1.2 研究背景
上个世纪90年代初美国科学家初次提出数字图书馆(Digital Library)这一概念以来, 全球开展数字图书馆研究与实践已近
十几个年头。

我国图书情报界、IT业界自1995年左右开始对这一领域跟踪研究, 1998年开始全面升温, 迄今无论是在对数字
图书馆的结识, 还是理论研究、关键技术准备方面, 都取得了很大的进展。

国内数字图书馆的实践活动大体可分为以下三种类型: 资源服务型、服务研究型和联合建设型。

虽然, 从严格意义上讲, 资源服务型不能算是数字图书馆, 但它的网上信息服务目前已
在大多数图书馆开展, 是现阶段我国图书情报界提供网上数字
服务的重要形式。

2 系统分析
2.1 系统可行性分析
从技术方面看, 随着计算机技术的发展, 要将对山西大学商务学院从原始的文档管理转化为信息化管理, 是有很强的可行性的。

本设计要做的只是针对图书馆的真实的图书管理工作来开发出合用的本学院的图书管理系统, 图书馆的信息数据(涉及用户数据和图书数据)量大并且复杂, 从数据库的应用和开发的实效性角度出发, 选择Microsoft SQL Server 2023作为后台数据库, 它可以解决大量数据, 同时保持数据完整性并且容易管理。

在开发技术上选WINFORM/, 它开发周期短, 成本较低, 目前该技术也相对成熟, 具体使用Microsoft Visual Studio 2023作为开发工具。

从经济方面看, 传统的人工管理方式, 对图书馆管理人员规定数量多, 耗资高, 错误率高, 工作人员流动和对新人的培训经费也是不小的开支。

本系统对经济上没有太多的规定, 只要具有计算机及相应的运营软件即可开发。

项目成功后, 数据的解决加快, 可以节省人力, 节约时间。

开发这套系统的经济可行性是很高的。

从操作方面看, 本系统采用面向对象技术, 开发出来的界面和谐,几乎人人都可以很简朴地按照相关说明进行操作。

系统能为图书馆管理者和普通用户提供高效、方便快捷的服务, 工作量和犯错率远远低于人工管理方式, 同时新系统操作简朴易上手, 特别是与实际流程一致, 用户可以不久熟悉和习惯。

2.2 系统功能需求分析
2.2.1 系统业务流程
山西大学图书管理系统的业务流程是, 管理员根据图书的信息资料, 登录系统解决信息(系统管理员解决用户信息, 图书管理员解决书籍信息, 节约管理员解决书籍借阅信息), 然后普通用户(涉及在校生和教师)登陆系统浏览个人信息和书籍信息, 每个用户(涉及管理员和普通用户)必须登陆后才干查看修改个人信息, 查看(修改)图书信息, 修改自己的密码等等。

系统中有严格的权限控制, 非自己分内之职是不能查看浏览的, 以提高系统的安全性和可行性。

2.2.2 系统功能分析
本系统面向学院所以用户(当然该用户必须注册在内), 涉及系统管理员, 图书管理员, 书籍管理员, 普通用户。

(1)根据普通用户需求情况, 系统中普通用户的重要功能涉及:
①登陆后浏览图书信息、图书借阅信息等;
②登录后查看个人基本信息(个人资料和个人借阅信息)及修改登录密码和电子邮箱密码。

(2)根据系统管理员需求情况, 系统中系统管理员的重要功能涉及:
①登陆后浏览所有用户信息、增删改查所有用户信息;
②登陆后可以修改个人登录密码和电子邮箱密码。

(3)根据图书管理员需求情况, 系统中图书管理员的重要功能涉及:
①登陆后解决(增删改查)所有书籍信息、书籍类型信息、出版社信息、光盘信息、附赠手册信息、书架信息;
②登陆后可以修改个人登录密码和电子邮箱密码。

(4)根据借阅管理员需求情况, 系统中借阅管理员的重要功能涉及:
①登陆后解决(增删改查)所有书籍借阅信息、借阅/归还书籍信息、冻结用户信息;
②登陆后可以修改个人登录密码和电子邮箱密码。

(5)根据学院的需求情况, 所有用户登陆后都可以使用系统中的以下功能:
①假如使用该系统的计算机能联网, 可以发送简短的电子邮件, 也可以登陆邮箱主页发送;
②可以使用该系统附带的网页浏览器;
③可以使用音频播放器, 该版本只能听取本地音频;
④可以更换系统主界面的背景图片(默认无图片);
⑤当用户尚未操作完毕但要离开计算机时, 可以锁定该计算机;
⑥可以将系统最小化到托盘, 减少系统资源。

2.3 概念模型
各实体之间的联系, 即E-R图如图1所示。

图1 系统数据ER图
3 系统总体设计
3.1 系统数据库设计
3.1.1 表结构设计
本系统采用了Microsoft SQL Server 2023数据库系统。

数据库名是LibraryAB, 共有9张数据表, 分别为: 用户信息表(UserData), 书籍信息表(Book), 书籍类型信息表(BookType), 出版社信息表(Press), 光盘信息表(CD), 附赠手册信息表(HandBook), 书架信息表(Bookshelf), 书籍借阅信息表(BookBorrow), 用户冻结信息表(UserFreeze),
各表结构如表1—表12所示。

表1 用户信息表UserData
可以看出, 管理员和普通用户的信息是放在同一张表中, 由于这样易于管理。

表2 书籍信息表Book
表3 书籍类型表BookType
表4 出版社信息表Press
表5 光盘信息表CD
表6附赠手册信息表HandBook
表7 书架信息表Bookshelf
表8 书籍借阅信息表BookBorrow
表9 用户冻结信息表UserFreeze
3.1.2 数据库关系图
数据库表之间的关联如图2所示。

图2 数据库关系图
3.2 系统功能模块设计
3.2.1 系统功能结构图
本系统涉及系统管理、系统管理员、书籍管理员、借阅管理员、普通用户五大模块。

具体细分如下: (图3 系统功能结构图)
3.2.2 功能模块设计
系统重要模块设计如下:
(1)用户管理模块: 重要涉及对所有用户的增删改查。

(2)书籍管理模块: 重要涉及对所有书籍的增删改查。

(3)书籍类型模块: 重要涉及对所有书籍类型的增删改查。

(4)出版社管理模块: 重要涉及对所有出版社的增删改查。

(5)关盘管理模块: 重要涉及对所有书籍附带光盘的增删改查。

(6)手册管理模块: 重要涉及对所有书籍附带手册的增删改查。

(7)书架管理模块: 重要涉及对所有书籍所在书架的增删改查。

(8)借阅管理员下的书籍查询模块: 重要涉及所有借出书籍和过期书籍的查询。

(9)借阅/归还书籍模块:重要涉及对用户借阅的书籍进行借阅, 归还和续借的解决。

(10)冻结/解冻用户模块:重要对过期用户账号进行冻结, 解冻过期用户归还书籍的账号。

(11)普通用户下的书籍查询模块: 重要查询书籍的所有信息和该书籍的借阅信息。

(12)查询个人资料模块: 重要查询用户个人的信息和借阅书籍信息。

(13)修改密码模块: 所有用户都可以修改自己的账号密码和电子邮箱密码。

4 系统实现
4.1 系统开发运营环境
4.1.1开发环境
系统开发平台:
O/S: Microsoft Windows vista Home Basic SP2
CPU: Intel™Core™2 Dou CPU *************
RAM: 2.00GB
Action Type: 32system
显示器分辨率: 1280×800 16: 10宽屏
系统开发平台: Microsoft Visual Studio 2023
系统开发语言: C#
数据库管理系统软件: Microsoft SQL Server 2023
图像解决: Adobe Photoshop CS4 、
Adobe Fireworks CS4 、
不冷杀手图标转换工具
4.1.2 运营环境
一般的硬件环境都能安装此系统(非windows操作系统下不能使用), 本系统占用计算机系统资源不是很大。

最低OS版本: Microsoft Windows XP SP3及SP3以上
4.2 模块界面展示
4.2.1 Loading界面
为了增长系统的和谐界面, 我们增长了加载界面, 没有技术上没有新奇之处。

图4为Loading
界面。

图4 系统Loading界面
4.2.2 登陆界面
只要是已注册用户都可以登陆本系统, 登陆成功返回登陆用户的权限对话框。

当用户忘掉登陆密码是可以通过注册时的电子邮箱及其密码可以找回自己的登陆密码(以弹出对话框的形式)。

当用户认为该计算机操作系统不安全时(盗号木马问题), 可以通过软键盘来输入密码(由于技术因素只能输入大写字母和数字), 以提高用户账户的安全性。

登陆成功后系统将用户名和权限值传输到主界面, 以相应相应的操作。

登陆界面限制了窗体上的关闭按钮, 只能通过窗体中的“退出”按钮来退出系统。

图5为登陆界面。

图5 系统的登陆界面
4.2.3 主界面
主界面提供了许多辅助功能, 涉及百度搜索框, 当前日期, 登陆用户信息等等, 还为系统增长了系统托盘图标, 可以最小化到系统托盘, 其余功能都在“系统管理”模块下, 功能容易实现, 用户上手也很容易, 不再赘述。

图6为系统主界面
图6 系统主界面
4.2.4 用户管理界面
提供解决用户数据的地方, 进行数据的增长、修改、删除、查询的模块。

在“局部查看用户信息”选项卡中系统严格控制了系统管理员解决数据时的误操作。

以提高系统的安全性
和准确性。

图7为系统用户管理界面。

图7用户管理界面
4.2.5 书籍管理界面
提供解决书籍数据的地方, 进行数据的增长、修改、删除、查询的模块。

该模块中系统也严格控制了图书管理员解决数据时的误操作。

以提高系统的安全性和准确性。

书籍信息表关联了其他信息表, 比如出版社表, 书籍类型表, 光盘表, 手册表和书架表, 每个表都进行了严格控制。

书籍属性中可以从这些关联的表中抽取, 也可以自己临时写入, 但临时写入的属性不会增长到这些关联表中。

图8给出了系统的书籍管理界面
图8书籍管理界面
4.2.6 书籍借阅管理界面
提供解决书籍借阅/归还数据的地方, 进行数据的增长、修改、删除、查询的模块。

该模块中系统也严格控制了借阅管理员解决数据时的误操作。

以提高系统的安全性和准确性。

当借阅管理员输入用户编号(或书籍编号)时, 系统会自动搜索用户姓名(或书籍名称)等相关信息, 这样一是提高系统的借阅效率, 另一方面是减少管理员的误操作。

该模块有三个选项卡, 借阅、归还、续借都提供了可视化界面。

图9为书籍借阅管理界面。

图9 书籍借阅管理界面
4.2.7 其他管理界面
限于篇幅, 其他界面就不在这一一列出了, 这些界面风格简朴, 容易上手, 所以本人不在这赘述。

5 系统测试
本系统只规定功能的实现和完善, 所以采用白盒兼黑盒测试方法的功能测试对系统进行测试。

5.1白盒测试概述
白盒测试也称结构测试或逻辑驱动测试, 它是按照程序内部的结构测试程序, 通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行, 检查程序中的每条通路是否都能按预定规定对的工作。

这一方法是把测试对象看作一个打开的盒子, 测试人员依据程序内部逻辑结构相关信息, 设计或选择测试用例, 对程序所有逻辑途径进行测试, 通过在不同点检查程序的状态, 拟定实际的状态是否与预期的状态一致。

5.2 黑盒测试概述
黑盒测试也称功能测试, 它是通过测试来检测每个功能是否都能正常使用。

在测试中, 把程序看作一个不能打开的黑盒子, 在完全不考虑程序内部结构和内部特性的情况下, 在程序接口进行测试, 它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适本地接受输入数据而产生对的的输出信息。

黑盒测试着眼于程序外部结构, 不考虑内部逻辑结构, 重要针对软件界面和软件功能进行测试。

5.3 系统测试具体方法
功能测试就是对产品的各功能进行验证, 根据功能测试用例, 逐项测试, 检查产品是否达成用户规定的功能。

本系统采用的测试方法如下:
(1)菜单项检查:点击每一个菜单按钮是否都有相应页面弹出, 并且页面之间切换是否对的。

(2)相关性检查: 删除/增长一项会不会对其他项产生影响, 假如产生影响, 这些影响是否都对的。

(3)检查按钮的功能是否对的: 如添加、修改、删除等功能是否对的。

(4)字符串长度检查:输入超过需求所说明字符串长度的内容, 看系统是否检查字符串长度, 会不会犯错。

(5)字符类型检查:在应当输入指定类型的内容的地方输入其他类型的内容(如在应当输入整型的地方输入其他字符类型), 看系统是否检查字符类型, 会否报错。

6 技术相关性简介
本系统中采用了一些Microsoft Visual Studio 2023 的一些新特性, 最重要的就是LINQ, 它是一种查询语言, 对数据全方位是查询。

具体介绍如下。

6.1 LINQ简介
LINQ, 语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。

它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

从技术角度而言, LINQ定义了大约40个查询操作符, 如select、from、in、where以及orderby(C#)中。

试用这些操作可以编写查询语句。

但是, 这些查询还可以基于很多类型的数据, 每个数据类型都需要一个单独的LINQ类型。

通过了最近20 年, 面向对象编程技术(object-oriented (OO) programming technologies)在工业领域的应用已经进入了一个稳定的发展阶段。

程序员现在都已经认同像类(cla sses)、对象(objects)、方法(methods)这样的语言特性。

考察现在和下一代的技术, 一个新的编程技术的重大挑战开始呈现出来, 即面向对象技术诞生以来并没有解决减少访问和整合信息数据(accessing and integrating information)的复杂度的问题。

其中两个最重要访问的数据源与数据库(database )和XML 相关。

LINQ 提供了一条更常规的途径即给.Net Framework 添加一些可以应用于所有信息源(all sources of information)的具有多种用途(general-purpose)的语法查询特性(query facil ities), 这是比向开发语言和运营时(runtime)添加一些关系数据(relational)特性或者类似XML特性(XML-specific)更好的方式。

这些语法特性就叫做.NET Language Integrated Qu ery (LINQ) 。

6.2 本系统中的LINQ
1.本系统中的所有数据查询都是通过LINQ语言查询来获得的。

他简朴实用, 易于操作, 完
全可以替代先前的 API, 但仍在LINQ to SQL内部使用。

下面贴出本系统中最常见的LINQ查询语句:
erDataContext udc = new UserDataContext();
3.
4.//假如已经创建了LINQ类, 现在必须实例化LINQ to SQL中的DataContext类, 由于这类
5.//控制程序与数据库之间的数据流。

实例化后DataContext的属性涉及数据库中每个表的
6.//属性, 这里你可以理解为udc就是绑定的那个数据库。

7.
8. cDBindingSource.DataSource =
9.from cd in udc.CD
10.where cd.CDName.Contains(textBox1.Text)
11.orderby cd.CDID
12.select cd;
13.
14.//改代码事实上就是对数据的模糊查询。

具体情况不多做解释, 故意者可以查看相关资
15.//料。

6 结束语
本系统是一个适合小型图书馆这种简朴应用的图书馆管理系统, 系统所实现的功能是在具体调研中从学院图书馆相关人士中得知的, 基本上实现了预想的功能, 符合现实的需要, 总体来说界面和谐、易于操作。

通过本次设计, 本人进一步明确了开发设计一个管理系统的方法和思绪, 掌握了使用SQL Server和.NET进行系统设计的基本方法, 更好的巩固了书本里的理论知识, 同时提高了编程能力。

但由于时间及个人能力有限, 整个系统的功能显然不够完善, 特别是收费模块的功能特别需要改善。

此后加深这方面的学习, 争取做出功能更完善、性能更好的系统。

致谢
在本次设计过程中, 杨老师本着认真负责的态度、以严谨求真的的作风来规定我们每个学生, 从选题到设计到实现, 杨老师给予我了对的的指导和帮助, 使我少走了很多弯路, 顺利的完毕了系统设计。

在此我由衷的向我的指导老师、负责人以及实习单位的同事们致以最深切的感谢, 他们给我提出了许多宝贵的意见, 使我的设计更加完善, 更加人性化。

参考文献
[1]郭宁, 杨一平. 软件工程实用教程[M]. 北京: 人民邮电出版社. 2023
[2]张奇. 数据库应用开发技术丛书——Visual C# 2023 数据库项目案例导航. 清华大学出版社. 2023
[3] 周峰, 王征.计算机实用技术案例系列——Visual C#.NET 2023 程序设计案例集锦.中国水利水电出版社.2023
[4] 邓宇军. C#面向对象程序设计. 人民邮电出版社. 2023
[5] 刘奎, 付青, 张权. 程序员书库——SQL Server 2023 从入门到精通. 化学工业出版社. 2023
[6]P.J.Deite..H.M.Deitel.刘文红等译.Visua.C.2023大学教程(第三版).电子工业出版
社.2023
[7]白盒测试——百度百科.
[8]黑盒测试——百度百科.
[9]LINQ简介——百度百科.
(END)。

相关文档
最新文档