




免费预览已结束,剩余32页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 设 计设计题目 图书管理系统的设计与实现 图书馆作为一种信息资源的集散地,图书借阅频繁,用户管理多变,包含大量的信息数据。对于这些数据的管理,需要一个完善的图书管理系统来实现对图书、用户的实时管理。系统的主要任务就是对图书书目、图书借阅、图书用户查询进行统一管理,达到各类用户的需求。系统包含管理员、普通用户两部分,分别有不同的使用权限,管理员对数据库进行操作,完成借阅、添加、删除、统计等各功能。用户对数据库进行查询,完成查询、修改等功能。本文所述的图书管理系统是采用VC+的MFC和SQL Server 2000实现的。首先从系统的概述、意义入手,分析了它在图书馆图书管理中的重要地位;其次详细阐述系统设计与实现的方法步骤,包括系统需求分析、总体设计和功能模块设计等;最后介绍了本系统数据库的使用的技术和连接方法ODBC。关键词: 图书管理系统 MFC ODBC 目 录1 绪论11.1 系统概述11.2 可行性分析12 所开发的语言简介22.1 SQL22.2 Visual C+42.3 MFC ODBC数据库访问技术53 系统总体分析与设计63.1需求分析63.2 概要设计73.3 系统功能模块划分84 图书管理系统数据库设计94.1 数据库设计94.2 数据库结构的实现125 图书管理系统详细设计155.1系统窗体模块组成155.2用户登陆模块的实现155.3用户主界面的实现165.4数据录入模块的实现165.5数据修改模块的实现185.6数据管理功能模块的实现195.7图书借阅和归还模块的实现205.8挂失处理模块的实现215.9信息查询模块的实现245.10统计排名模块的实现255.11系统维护模块的实现266系统测试276.1测试策略276.2设计测试用例286.3系统发布287 总结29参 考 文 献30致 谢32仲恺农业工程学院毕业论文(设计)成绩评定表331 绪论1.1 系统概述当今时代是飞速发展的时代。在各个行业中都离不开信息处理,尤其对于复杂的信息管理,计算机是必不可少的。图书馆作为一种信息资源的集散地,图书借阅频繁,用户管理多变,包含大量的信息数据。对于这些数据的管理,我们需要一个完善的信息管理系统来帮助我们实现对图书和用户的实时管理。以前的人工处理阶段,经常出现图书丢失,用户借阅资料不全等现象,对于小型的图书馆而言,损失比较小。但是,对于一个大型的图书馆来说,损失往往是不可估量的,由于一本书的丢失,会导致整个图书馆的瘫痪,重新整理更加难上加难。如果使用一个规范化、系统化、程序化的信息系统图书管理系统,这些问题就可以迎刃而解。有了图书管理系统,我们可以对图书进行书目编排,并对其进行数据库备份,以便我们以后对其进行管理和出错恢复;图书借阅时,我们可以通过模糊查询实现对用户要求图书的查找,并对图书进行各项统计,如果用户需要借阅的图书已被借出,可以及时反馈给用户,避免时间的浪费;对于各类用户的借阅权限,时间可以通过系统进行设定,满足各类用户的最大需求。 为满足图书管理现代化的需求,国内软件商已经开发出很多较好的商品化图书管理软件,虽然这些图书管理软件其功能和性能都很完善,但它们大多操作和使用比较复杂,难以掌握。而国内许多学校、企事业的图书馆由于管理人员不多且大多数不是图书馆管理业务的专业人员、业务分工也不是很详细明确,这样的软件对于他们而言太庞大、太复杂了,所以应用效果并不是很好。本系统本着简单、实用的原则,既在功能上满足用户的需求,又力求操作简便,使本系统很容易掌握和使用。1.2 可行性分析1.2.1 经济可行性作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。1.2.2 技术可行性 技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。1.2.3 社会可行性社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新使图书馆完全有可能也有能力采用这样先进的管理技术。2 所开发的语言简介2.1 SQLSQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如“Select”、“Insert”、“Update”、“Delete”、“Create”和 “Drop”常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。2.1.1 SQL语言分类 SQL语句可以分为4大类1)数据第一语言(DDL),用于定义数据结构。2)数据操纵语言(DML),用于检索和修改数据。3)数据控制语言(DCL),用于规定数据库用户的各种权限。4)数据库事务处理,事务处理语句用来保证数据库的完整性。DML组可以细分为以下的几个语句:1)SELECT:用于检索数据;2)INSERT:用于增加数据到数据库;3)UPDATE:用于从数据库中修改现存的数据;4)DELETE:用于从数据库中删除数据。DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX2.1.2 SQL的特点SQL语言之所以能够为用户和业界所接受,成为国际标准,是因为它是一个综合的、通用的、功能极强、同时又简洁易学的语言。其主要特点包括1)综合统一2)高度非过程化3)面向集合的操作方式4)以同一种语法结构提供两种使用方式5)语言简洁,易学易用2.1.3 SQL语句基本语法 SQL语句基本语法包括如下几点1)每条SQL语句必须以分号结束。2)每条SQL语句可以单独写成一行,但为了清楚,也可以分成若干行。3)SQL语句对大小写不敏感,对于SQL语句的关键字,表名,列名等,可以大小写混合;但对列的内容则是大小敏感的。数据定义语言数据定义语言用来定义数据的结构,如创建、修改或者删除数据库对象,常用的数据定义语言有CREATE、ALTER、DROP等。各定义语言的语法结构如下CREATE TABLE table_name(Field_name data_type NOT NULL|NULL PRIMARY KEY.)ALTER TABLE table_nameADD COLUMN field_name DATATYPEDROP TABLE table_name数据操纵语言数据操纵语言用于对表的操作,包括SELECT、INSERT、UPDATE、DELETE等。各操纵语言的语法结构如下SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC INSERT INTO table_name VALUES (.)UPDATE table_name SET values WHERE search_condition2.2 Visual C+Visual C+是以C+为蓝本,以众多集成工具为骨架,可谓是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C+又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。Visual C+具有的优点:提供了面向对象的应用程序框架MFC(Microsoft Foundation Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、ClassWizard、Visual Studio、WizardBar等,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。MFC是Microsoft Foundation Class Library的缩写,即Microsoft基本类库。它是Visual C+的重要组成部分。MFC中的各种类结合起来构成了一个应用程序框架,它的目的是让程序员在此基础上建立Windows下的应用程序,这是一种相对于SDK(Software Derelopment Kit)来说更加简单的方法。 MFC编程优点:1)MFC提供了大量的类,把WindowsAPI函数封装在类中,用户可以方便地开发 Window运用程序; 2)可以充分利用前人开发的代码,缩短了程序的开发周期;3)使代码具有更好的重用性;4)使一些复杂的开发技术变得容易实现;5)使用消息映射机制可以避免处理消息是的复杂情形;6)使用MFC可以提高程序的运行效率。2.3 MFC ODBC数据库访问技术ODBC是一种使用SQL的程序设计接口。使用ODBC让应用程序的编写者避免了与数据源相联的复杂性。在利用ODBC编程时,经常要使用到CDatabase(数据库类)、CRecordSet(记录集类)和CRecordView(可视记录集类)。CDatabase类对象提供了对数据源的连接,通过它对数据源进行操作。CRecordView类对象能以控制的形式显示数据库记录。这个视图是直接连接到一个CRecordSet对象的表视图。CRecordSet类对象提供了从数据源中提取出的记录集。2.3.1 ODBC数据源的创建从控制面板中双击“管理工具”图标,然后在新出现的窗口中双击“数据源”。在弹出的对话框中选择不同的选项卡来确定建立数据源的类型。单击“添加”按钮,从弹出的对话框中选择适当的数据源驱动程序,此处我们选择SQL Server。在接下来的对话框中按照程序提示输入相关参数,同时根据提示选择数据库,如果有登陆密码等特殊要求,可以单击“高级”按钮进入新的对话框进行设置。单击“确定”按钮,所选择的数据源就进入了ODBC数据源管理器,当用户再次双击“数据源”就会看到新添加的数据源。2.3.2 连接数据源在Visual C+程序中使用刚才建立的数据源之前,还必须建立一个到数据源的连接。在MFC中到数据源的连接封装于CDatabase类中。要使用CDatabase对象,在ODBC数据源管理器中数据源必须已经正确配置。在同一个应用程序中可以使用多个数据源,或者多个连接对应同一个数据源。2.3.3 创建结果集在CRecordSet类中定义了一个成员变量m_pDatabase,它是指向对象数据库类的指针。用户可以通过以下方式将这个结果集对应到相应的数据源。2.3.4 添加和修改纪录增加记录可以使用AddNew()函数,要求数据库必须是以允许增加方式打开。2.3.5 查询纪录查询记录可以使用CRecordSet:Open()和CRecordSet:Requery()成员函数。在使用CRecordSet类对象之前,必须使用CRecord:Open()函数来获得有效的记录集。一旦已经使用过CrecordSet:Open()函数,那么下一次查询时就可以用CRecordSet:Requery()函数了。查询方法有以下几种通过SQL语句打开记录集使用m_strFilter和m_strSort参数查询2.3.6 删除纪录用Delete()函数即可,并且在调用Delete()函数后不需要再调用Update()函数。2.3.7 撤销操作如果用户选择了增加或修改记录后希望放弃当前操作,可以在调用Update()函数之前调用CRecordSet:Move(AFX_MOVE_REFRESH)来撤消增加或修改模式,并恢复在增加或修改模式之前的当前记录。2.3.8 SQL语句的直接执行通过CRecordSet类可以完成大多数的查询操作,但有时需要对数据库建立表、删除表和建立新的字段等,这是就需要用到CDatabase类直接执行SQL语句的机制。Visual C+中的ODBC类库可以帮助程序员完成绝大多数的数据库操作。利用ODBC技术可以使程序员从具体的DBMS中解脱出来,从而极大地减少了软件开发的工作量,提高了效率并增强了软件的可靠性。3 系统总体分析与设计3.1需求分析图书管理涉及图书信息、系统用户信息、读者信息、图书借阅等多种数据管理。从管理的角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括图书录入、借还、查询等操作,系统用户管理包括系统用户类别和用户数据管理,读者数据管理包括读者类别管理和个人数据的录入、修改和删除。经过实际考察与分析,图书管理系统主要应具有以下功能:图书借阅者的需求是查询图书室所存的图书、个人借阅情况及个人信息的修改;管理员对图书借阅者的借阅及还书要求进行操作,同时给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对图书借阅者、图书进行管理和维护,及系统状态的查看、维护等。图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。管理员功能的信息量大,数据安全性和保密性要求最高。要能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、用户和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,添加、删除和修改借阅信息,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。具体功能如下1)设计不同用户的操作权限和登陆方法2)对所有用户开放的图书查询3)借阅者维护借阅者个人部分信息4)借阅者查看个人借阅情况信息5)维护借阅者个人密码6)查询及统计各种信息7)维护图书信息8)维护管理员信息9)维护借阅者信息3.2 概要设计对于图书馆主要负责提供的功能是指从图书的购入开始直到该图书过期下架的整个流通过程,这其中包括图书入库、借出、归还以及对参与此流通过程的读者的信息管理 。新图书信息入库建立图书信息库,以便读者进行查询和借阅。修改图书信息在建立信息库时可能因操作错误或其它情况而造成数据库里图书信息的错误,需要修改这些错误。整理图书库图书因使用过久或在读者借阅书籍时发生遗失的情况下需做遗失处理,这些都需要修改数据库关于书籍的信息。读者信息管理读者一般都是在校的学生和教师。教师的信息一般在建立档案后一般不需要修改(或修改量较小),而对于学生则会有新生入学和老生毕业等情况出现,这些都需要修改数据库关于读者的信息。借书图书馆主要的功能就是提供书籍供读者借阅,在借阅图书时应按图书馆的规则进行借阅,例如不超过5本,如果已有超时借阅的图书,则在归还前不允许再借阅等等。还书对于图书遗失或超期归还的情况应根据图书馆的规则进行处罚。规则管理对于读者借阅书籍的权限(可借阅书籍数目,每人每本书可持有天数等)应该能按其类型加以分类,若有图书遗失或超期未还的情况发生,图书馆都应该规定处罚的条例。另外对于操作此系统的前端工作人员的权限也应该有一定限制。这些都应该只能由系统管理员来进行操作和修改。信息查询一般读者在借阅书籍前都需查询图书馆关于所借书籍的大概信息:该图书是否在馆是否已借出在馆中的书架号;除查询书籍外,读者还可查询关于自身的信息是否有超期未还的图书,还可借阅书籍数目等。3.3 系统功能模块划分系统功能模块划分如图3-1 图3-1系统功能模块划分4 图书管理系统数据库设计4.1 数据库设计4.1.1 数据库需求分析根据数据流程图,可以列出以下数据项和数据结构用户信息,包括的数据项有用户名、密码、图书证号、姓名、权限、可借图书、性别、专业、出生日期、住址、联系电话、备注等。图书信息,包括的数据项有图书书号、ISBN、书名、图书类别、书架号、作者、出版社、价格、借阅者、馆藏数量、备注借阅信息,包括的数据项有图书证号、图书书号、借阅时间、借阅数量归还信息,包括的数据项有图书证号、图书书号、借阅时间、归还时间、归还数量图书挂失,包括的数据项有图书号、挂失、挂失数量用户挂失,包括的数据项有图书证号、挂失4.1.2 数据库概念结构设计得到上面的数据项和数据结构后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。 E-R图如图4-1:图书信息用户信息借阅1:NN:1图书书号ISBN书名图书类别书架号作者出版社价格借阅者馆藏数量备注用户名密码图书证号姓名权限可借图书性别专业出生日期住址联系电话备注图书证号图书书号借阅时间借阅数量1:N类别信息1:N计数信息1:N系别信息 图4-1 E-R图4.1.3 数据库逻辑结构设计在上面的实体以及试题之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。图书管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表4-1为图书信息表: 表4-1 图书信息表图书书号VARCHAR(10)NOT NULL图书书号(主键)ISBNVARCHAR(50)NOT NULLISBN号书名VARCHAR(50)NOT NULL图书书名图书类别VARCHAR(50)NOT NULL图书类别号书架号VARCHAR(4)NOT NULL图书书架号作者VARCHAR(50)NOT NULL图书作者出版社VARCHAR(50)NOT NULL图书出版社价格MONEYNOT NULL图书价格借阅者VARCHAR(1)NOT NULL借阅人员馆藏数量INTNOT NULL在馆数量备注VARCHAR(50)NULL备注表4-2为用户信息表: 表4-2 用户信息表用户名VARCHAR(50)NOT NULL用户名(主键)密码VARCHAR(50)NOT NULL用户口令图书证号VARCHAR(18)NOT NULL图书证号姓名VARCHAR(50)NOT NULL用户姓名权限VARCHAR(1)NOT NULL用户权限可借图书INTNOT NULL用户能够借阅的图书性别BITNOT NULL性别专业VARCHAR(3)NOT NULL用户所在专业出生日期DATATIMENOT NULL用户出生日期住址VARCHAR(50)NOT NULL家庭住址联系电话VARCHAR(11)NOT NULL联系电话备注VARCHAR(50)NULL备注表4-3为图书类别表: 表4-3图书类别表类别代码VARCHAR(3)NOT NULL类别代码号(主键)类别号VARCHAR(3)NOT NULL图书类别开头号书架号VARCHAR(4)NOT NULL图书存放书架号描述VARCHAR(50)NOT NULL类别名称表4-4为图书计数表: 表4-4图书计数表类别代码VARCHAR(3)NOT NULL类别代码号(主键)计数INTNOT NULL图书自动计数值表4-5为专业信息表: 表4-5专业信息表专业代码VARCHAR(3)NOT NULL专业代码号(主键)专业名称VARCHAR(50)NOT NULL专业名称表4-6为图书借阅表: 表4-6 图书借阅表图书证号VARCHAR(18)NOT NULL图书证号(主键)图书书号VARCHAR(10)NOT NULL图书书号(主键)借阅时间DATATIMENOT NULL借阅日期借阅数量INTNOT NULL借阅数量表4-7为图书归还表: 表4-7 图书归还表图书证号VARCHAR(18)NOT NULL图书证号图书书号VARCHAR(10)NOT NULL图书书号借阅时间DATATIMENOT NULL借阅日期归还时间DATATIMENOT NULL归还日期归还数量INTNOT NULL归还数量表4-8为图书挂失表: 表4-8 图书挂失表图书书号VARCHAR(10)NOT NULL图书书号(主键)挂失BITNOT NULL挂失状态挂失数量INTNOT NULL挂失图书数量表4-9为用户挂失表: 表4-9 用户挂失表图书证号VARCHAR(18)NOT NULL图书证号挂失BITNOT NULL挂失状态表4-10为图书罚款表: 表4-10 图书罚款表借阅期限INTNOT NULL最大借阅时间罚款金额FLOATNOT NULL罚款金额/天4.2 数据库结构的实现按下面的SQL语句进行数据库结构的实现CREATE TABLE dbo.专业信息表 (专业代码 varchar (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,专业名称 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.图书信息表 (图书书号 varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,ISBN varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,书名 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,图书类别 varchar (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,书架号 varchar (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,作者 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,出版社 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,价格 money NOT NULL ,借阅者 varchar (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,馆藏数量 int NOT NULL ,备注 varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREATE TABLE dbo.图书借阅表 (图书证号 varchar (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,图书书号 varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,借阅时间 datetime NULL ,借阅数量 int NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.图书归还表 (图书证号 varchar (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,图书书号 varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,借阅时间 smalldatetime NOT NULL ,归还时间 smalldatetime NOT NULL ,归还数量 int NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.图书挂失表 (图书书号 varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,挂失 bit NOT NULL ,挂失数量 int NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.图书类别表 (类别代码 varchar (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,类别号 varchar (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,书架号 varchar (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,描述 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.图书罚款表 (借阅期限 int NOT NULL ,罚款金额 float NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.图书计数表 (类别代码 varchar (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,计数 int NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.用户信息表 (用户名 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,密码 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,图书证号 varchar (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,姓名 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,权限 varchar (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,可借图书 int NOT NULL ,性别 bit NOT NULL ,专业 varchar (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,出生日期 datetime NOT NULL ,住址 varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,联系电话 varchar (11) COLLATE Chinese_PRC_CI_AS NOT NULL ,备注 varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREATE TABLE dbo.用户挂失表 (图书证号 varchar (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,挂失 bit NOT NULL ) ON PRIMARYGO5 图书管理系统详细设计5.1系统窗体模块组成系统窗体由启动界面,登陆界面,系统主界面和个模块界面组成。5.2用户登陆模块的实现用户登陆界面如图5-1 图5-1 用户登陆界面在用户名和密码中输入用户的帐号和密码,点击确定,系统即进行验证,如用户名不存在,即提示“请确认您的用户名是否正确!”,如果用户名正确,密码输入不正确即提示“请确认您的密码是否正确,请注意大小写!”。用户名和密码都正确,则进入系统的主界面。为了确保系统的安全性,对密码方面进行了加密算法。加密类创建的目的就是为了方便在应用程序中引用加密过程,加密类名为CCrypt,在头文件Crypt.h中声明了两个静态函数public:static CString Encrypt(CString S,WORD Key);static CString Decrypt(CString S,WORD Key);Encrypt是加密函数,Decrypt是解密函数,Key是密钥。用户密码录入时使用加密函数,用户密码验证时使用解密函数,大大加强了数据库的安全性。5.3用户主界面的实现主界面如图5-2: 图5-2 图书管理系统主界面菜单的创建用Visual C+6.0的菜单编辑器可以很方便地创建菜单。编辑IDR_MAINFRAME菜单,实现所有的功能选项。在主界面中,可以调用所有功能模块,是系统的主要框架。5.4数据录入模块的实现数据录入模块界面如图5-3,5-4: 图5-3 图书录入界面 图5-4 用户录入界面数据录入分为图书录入和用户录入。图书录入图书书号以及书架号自动生成并计数,只需选择图书类别即可。图书书号为图书类别的代码号加上图书的自动编号,每种图书都可以很容易的区分出来。借阅者为借阅对象,默认为学生,其他只能为管理员借阅。图书记录列表为LIST控件,把所有的图书记录显示在报表中,点击增加按钮后,自动刷新图书记录列表,可以实时显示出图书信息。用户录入用户名及图书证号必须唯一,不能重复,专业在专业信息表中进行选取,出生日期格式为“-”,权限默认为学生,只有管理员才能使用全部功能,学生和教师只能使用查询和自身用户修改功能。用户记录表为LIST控件,把所有的用户记录显示在报表中,点击增加按钮后,自动刷新用户列表,用户列表中密码为经过数据加密的密码。5.5数据修改模块的实现数据修改模块的界面如图5-5,5-6: 图5-5 图书修改界面 图5-6 用户修改界面数据修改模块分为图书修改和用户修改。图书修改图书记录列表中显示所有图书资料,选择要修改的资料,则自动在上面的图书修改中显示出图书的详细信息,其中图书书号和书架号都是根据图书类别的改变而自动修改和计数。将要修改的项目进行编辑后,点击修改按钮,就数据库中数据进行更新,完成后显示修改成功的提示窗口。用户修改用户记录列表中显示所有用户资料。选择要修改的资料,用户修改框中的数据进行实时更新,将要修改的项目重新编辑完后(用户名不得修改,如想修改用户名,重新创建一个用户即可),点击修改按钮,将对数据库中用户信息表进行操作,成功后显示修改成功窗口。5.6数据管理功能模块的实现数据管理功能模块界面如图5-7: 图5-7 数据管理界面数据管理模块中,左侧为查询条件和按钮,右侧为LIST列表框,可以显示数据库中图书信息表和用户信息表的所有数据,选择图书记录,则显示图书信息表的所有数据,选择用户记录,则显示用户信息表中所有数据。查询为条件查询,输入图书号或用户名即可查询到所要记录。添加按钮调用数据录入模块,修改按钮调用数据修改模块,删除按钮用于删除所选择的记录。5.7图书借阅和归还模块的实现图书借阅模块界面如图5-8: 图5-8 借阅图书界面借阅图书模块中借阅时间为本地时间,实现方法为使用LOCAL TIME,借阅数量默认值为1。左侧为读者验证,可以从图书证,用户名,读者姓名3方面进行验证,验证条件如果存在与用户信息表中,则在读者信息框中自动刷新出读者信息。选择图书为模糊查询,只需输入相关信息就可以搜索到,在图书LIST表中选择要借阅的图书,并检索借阅数量,点击借阅按钮进行借阅处理,成功后会有借阅成功提示框出现,图书的馆藏数量重新写为馆藏数量-借阅数量,用户的可借图书重新写为可借数量-借阅数量,并在借阅LIST表中显示出借阅图书信息。图书续借模块界面如图5-9: 图5-9 图书续借界面续借图书模块中续借时间为本地时间,实现方法为使用LOCAL TIME。左侧为读者验证,功能与借阅模块中相同。读者验证后回在右边借阅LIST表中自动刷新出该用户借阅的图书信息,选择其中要续借的图书,点击续借按钮进行续借处理,成功后会有续借成功提示框出现,如果借阅限期超过最大借阅时间,则自动计算超期费用,并弹出罚款对话框,确认罚款后再显示续借成功,图书的馆藏数量重新写为馆藏数量+归还数量,用户的可借图书重新写为可借数量+归还数量,并在续借LIST表中显示出借阅图书信息。图书归还模块界面如图5-10: 图5-10 图书归还界面归还图书模块中归还时间为本地时间,实现方法为使用LOCAL TIME。左侧为读者验证,功能与借阅模块中相同。读者验证后回在右边借阅LIST表中自动刷新出该用户借阅的图书信息,选择其中要归还的图书,点击归还按钮进行归还处理,成功后会有归还成功提示框出现,如果借阅限期超过最大借阅时间,则自动计算超期费用,并弹出罚款对话框,确认罚款后再显示归还成功,并在归还LIST表中显示出归还图书信息,并把归还信息写入图书归还信息表中,以便进行统计排名。5.8挂失处理模块的实现挂失处理模块界面如图5-11: 图5-11 图书挂失界面图书挂失模块中,挂失数量默认为1,查询条件默认为图书书号,可以从图书书号,图书名,出版社,ISBN,作者等方面进行查询,查询为模糊查询。在图书LIST表中选择要挂失的图书,同时在右侧的图书资料框中自动刷新图书详细信息,并检索挂失数量,点击挂失按钮进行挂失处理,并向数据库中图书挂失表添加记录,挂失设置为1,成功后会有挂失成功提示框出现,图书的馆藏数量重新写为馆藏数量-挂失数量,并在挂失LIST表中显示出挂失图书信息和状态。图书证挂失模块界面如图5-12: 图5-12 用户挂失界面图书证挂失模块中,查询条件默认为图书证号,可以从图书证号,用户名,姓名等方面进行查询,查询为模糊查询。在用户LIST表中选择要挂失的图书证,并在用户资料框中刷新出用户的详细信息,点击挂失按钮进行挂失处理,并向数据库中用户挂失表添加记录,挂失设置为1,成功后会有挂失成功提示框出现,并在挂失LIST表中显示出挂失用户信息和状态。图书证挂失后,对此用户的操作全部不能进行,此用户登陆时,也将提示用户已挂失的提示框,与管理员联系后,解挂放可重新开发此用户。挂失解锁模块界面分为图书解挂和用户解挂。图书解挂如图5-13: 图5-13 图书解挂界面图书解挂模块中,解挂数默认为1,查询全部按钮可以把所有挂失的图书信息显示出来,点击解挂按钮,图书馆藏数量=馆藏数量+解挂数量,挂失数量=挂失数量-解挂数量,操作成功后,显示解挂成功按钮,如果挂失数量=解挂数量,则把此图书从图书挂失表中删除。用户解挂如图5-14: 图5-14 用户解挂界面用户解挂模块中,查询全部按钮可以把所有挂失的用户信息显示出来,点击解挂按钮,进行解挂操作,操作成功后,显示解挂成功按钮,并把此用户从用户挂失表中删除。5.9信息查询模块的实现图书信息查询界面如图5-15: 图5-15 图书信息查询界面图书查询模块中,可以进行图书信息查询,丢失图书查询,借阅图书查询,查询均为模糊查询,可以从图书书号,书名,作者等多方面进行查询,点击查询按钮后,所有符合要求的图书都被显示在LIST列表框中,点击列表框自动刷新图书资料框,显示出图书的详细资料,点击查询全部按钮,系统将数据库中所有图书资料都返回到LIST表中,用户可以进行局部查阅。用户信息查询界面如图5-16: 图5-16 用户信息查询界面用户查询模块中,可以进行用户信息查询,挂失用户查询,借阅用户查询,查询均为模糊查询,可以从用户名,图书证号,姓名等多方面进行查询,点击查询按钮后,所有符合要求的用户都被显示在LIST列表框中,点击列表框自动刷新用户资料框,显示出用户的详细资料,点击查询全部按钮,系统将数据库中所有用户资料都返回到LIST表中,用户可以进行局部查阅。借阅信息查询界面如图5-17: 图5-17 借阅信息查询界面 借阅查询模块中,对用户和图书进行综合的查询,查询时先查询图书借阅表,再查询图书归还表,把所有符合要求的信息都刷新到LIST表中,并实时在用户资料,图书资料框中刷新资料。5.10统计排名模块的实现统计排名界面如图5-18: 图5-18 统计排名界面统计排名模块分为图书借阅排名和用户借阅排名,分别统计图书借阅的次数和用户借阅的次数,并可以点击升序排列或降序排列进行符合要求的排序。(借阅次数为0和未归还的图书将不进行统计)5.11系统维护模块的实现用户信息维护界面如图5-19: 图5-19 用户信息维护界面当用户登陆到系统后,系统根据用户输入的用户名,把用户信息表中该用户的资料查找出来显示在用户信息修
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗行业大数据隐私保护在2025年医疗数据安全事件应急处理中的应用报告
- 离职无解除劳动合同协议
- 油漆墙体广告合同协议书
- 风险合同协议书模板模板
- 风电场风机维修合同范本
- 项目居间三方合同协议书
- 鸽子销售饲养协议书模板
- 联合建房合同协议书范本
- 父母房屋补偿协议书范本
- 汽车委托交易合同协议书
- T/CBMCA 017-2021建筑用覆膜钢板
- GB/T 20424-2025重有色金属精矿产品中有害元素的限量规范
- 矿山开工报告范本
- 干部履历表(中共中央组织部2015年制)
- 节日氛围营造投标方案(技术方案)
- 安全注射完整
- 乐高大颗粒搭建课件:救护车
- 领会《护士条例》课件
- 城镇燃气室内工程施工与质量验收规范(CJJ94-)宣贯培训
- 浆细胞性乳腺炎知识讲座
- 八年级物理上册《实验题》专项训练题及答案(人教版)
评论
0/150
提交评论