图书管理系统设计报告.docx

上传人:b****5 文档编号:7435654 上传时间:2023-01-23 格式:DOCX 页数:15 大小:128.78KB
下载 相关 举报
图书管理系统设计报告.docx_第1页
第1页 / 共15页
图书管理系统设计报告.docx_第2页
第2页 / 共15页
图书管理系统设计报告.docx_第3页
第3页 / 共15页
图书管理系统设计报告.docx_第4页
第4页 / 共15页
图书管理系统设计报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

图书管理系统设计报告.docx

《图书管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计报告.docx(15页珍藏版)》请在冰豆网上搜索。

图书管理系统设计报告.docx

图书管理系统设计报告

 

…目录

 

1.开发计划

………………………………………………………………

2.需求分析

………………………………………………………………

3.概要设计

………………………………………………………………

4.详细设计

………………………………………………………………

5.程序编码

………………………………………………………………

6.测试与调试

………………………………………………………………

7.体会与收获

………………………………………………………………

1.开发计划:

一.问题的提出

随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。

从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。

目前学校图书馆的借阅工作部分还是手工管理,工作效率很低,并且不能及

要求。

手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。

计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对学生们的借阅过程形成一整套动态的管理

二.可行性的分析文档

图书借阅系统的建立,需要进行用户需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。

要想使学生能够有效的借阅,功能上对系统的要求是全面的。

因此对用户的需求可分为四个方面:

一方面是图书管理人员对需要进行图书借阅的同学进行信息注册,获得借书证;二方面是学生通过计算机进行图书浏览;三方面是学生通过计算机进行图书借阅;四方面是打印输出学生信息。

这四个方面形成了图书借阅的一个工作整体,利用计算机的自动化处理,可方便快捷地共享信息、交流信息,高效地协同工作。

在软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行图书借阅信息管理。

硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆的借阅。

二、需求分析:

1.图书管理系统的需求分析图

当决定要开发一个信息系统时,首先要对信息系统的需求进行分析。

需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他元素的接口细节,定义软件的其他需求。

其实步骤包括四步。

(1)

获得当前系统的处理流程,在此首假设当前系统是手工处理系统。

手工处

 

理流程大致是这样的。

读者将要借的书和人借阅证交给工作人员,工作人员将每本书附带的描述信息的卡和读者借阅证一起放在一个小格栏,并在借阅证和每本书上贴的借阅条上填写借阅信息。

这样借书过程就完成了。

还书时,读者将要还的图书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填写还书信息。

(2)抽象出当前系统的逻辑模型。

在理解当前系统“怎么做”的基础上,抽取其“做什么”的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。

在物理模型中有许多物理因素,随着分析的深入,有些本质的因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。

(3)建立目标系统的逻辑模型。

分析目标系统与当前系统逻辑上的差别,明确目标系统到底要“做什么”,从而从当前的逻辑模型导出目标系统的逻辑模型。

在对上述流程进行分析后,我们对新的图书处理流程进行整理,图书馆开架借还书过程如下:

借书过程:

读者从架上选到所需要图书后,将图书和借书卡交管理人员,管理人员用条码阅读器将图书和借书卡上的读者条码信息读入处理系统。

系统根据读者条码从读者文件和借阅文件中找到相应记录;根据图书上条码从图书文件中找到相应记录,读者如果有下列情况之一将不矛办理借书手续。

读者所借阅图书已超过该读者容许的最多借书数目。

该读者记录中有止借标志。

该读者还有已超过归还日期而仍未还的图书。

该图书暂停外借。

若读者符合所有借书重要条件时,好予以借出。

系统在借阅文件中增加一条记录,记入读者条码、图书条码、借阅日期等内容。

还书过程:

还书时读者只要将交给管理人员,管理人员将书上的图书条码读入系统,系统从借阅文件上找到相应记录,填上还书日期后写入借阅历史文件,并从借阅文件上删去相应记录.同时系统对借书日期进行计算并判断是否超期,若不超期则结束过程,若超期则计算超期天数、罚款数、并打印罚款通知书、级入罚款文件。

同时在读者记录上作止借标记。

当读者来交罚款收据后,系统根据读者条码查罚款文件,将相应记录写入罚款历史文件,并从罚款文件只删除该记录,同时去除掉读者文件中的止借标记。

(4)为了对图书管理系统做完整的描述,逮需要对上面得到的逻辑模型做一些补充。

首先采用图形的方式描述图书管理系统的用户界面,这样做的目的是保证整个系统的用户界面的一致性,同时也有助于后续的开发人员更好地理解系统需要实现的功能。

在这就不罗列用户界面,以免与后面内容重复。

其次,说明图书管理系统的一些特殊性能要求,如借书、还

书服务花费的时间一次不得大于5分钟等。

前面着重对借还书流程进行了详细的阐述,以说明如何利用数据流图这一工具进行软件的分析,下面介绍图书管理系统的总体功能要求。

简单的图书管理系统主要包括下面的功能:

借书处理:

完成读者借书这一业务流程。

还书处理:

完成读者还书这一业务流程。

罚款处理:

解决读者借书超期的罚款处理。

新书上架:

输入新书资料。

旧书淘汰:

删除图书资料。

读者查询:

根据读者号,查询读者借阅情况。

 

图书管理系统的数据分析

通过对图书系统的分析,可以得出系统涉及四个实体:

读者、图书、工作人员。

通过对各实体数据关系的整理,我们可以画出如下ER图。

这些实体涉及的数据项有:

读者:

读者条码,姓名,身份证号,最多借书数,止借标志

图书:

图书条码,书名,作者,出版社,出版日期,数量,停借标志

工作人员:

工作人员ID,姓名,身份证号,密码,职务

借阅文件:

读者条码,图书条码,借出日期,归还日期,操作人员ID

罚款文件:

读者条码,罚款天数,罚款数,罚款日期,解止日期,操作人员ID

如果将上述实体分别对应一个表,可以完成要实现的功能。

但注意到在前面的分析中,强调要考虑处理借书、还书的效率。

在上面的表结构中,不难发现随着借阅记录的逐渐增多,借阅文件的查阅效率会降低,势必影响还书处理的效率,因而建议将表结构改为如下形式:

读者文件:

读者条码,姓名,身份证号,最多借书数,止借标志

图书文件:

图书条码,书名,作者,出版社,出版日期,停借标志

工作人员:

工作人员ID,姓名,身份证号,密码,职务

借阅文件:

读者条码,图书条码,借出日期,操作人员ID

借阅历史文件:

读者条码,图书条码,借出日期,归还日期,借书操作人员ID,还书操作人员ID

罚款历史文件:

读者条码,罚款天数,罚款数,罚款日期,解止日期(解上日期指解除该读者标志的日期)

图书管理系统的具体实现

1.建立数据库

2.前面已经根据系统的需求信息拟订了表结构,从现在开始,将介绍系统的具体实现。

使用的后台数据库服务器为Access.

3.该图书管理系统的库结构为:

4.读者文件(reader):

5.读者条码(reader_id),姓名(name),身份证号(IDCARD),最多借书数(maxnum_can_borrow),止借标志(flag_borrow)

6.图书文件:

(book)

7.图书条码(book_id),书名(book_nam),作者(author),出版社(press),出版日期(press_date),停借标志(flag_borrow)

8.职工文件:

(clerk)

9.职员ID(Clerk_ID),姓名(name),身份证号(ID_CARD),密码(Passward),职务(Office)

10.借阅文件:

(borrow)

11.读者条码(reader_ID),图书条码(book_id),借出日期(borrow_date),操作人员ID(B_Clerk_ID),ID

12.借阅历史文件:

(history)

13.读者条码(reader_id),图书条码(book_id),借出日期(borrow_date),归还日期(return_date),

14.借书操作人员ID(B_Clerk_ID),还书操作人员ID(R_Clerk_ID),ID

15.罚款文件:

(fine)

16.读者条码(reader_id),罚款天数(days),罚款数(amount),罚款日期(finedate),操作人员(Clerk_ID),ID

17.罚款历史文件:

(fine_history)

18.读者条码(reader_id),罚款天数(days),罚款数(amount),罚款日期(fine_date),解止日期(ok_date),ID

19.一般在设计数据库结构时,我们常常在每个表上,尤其是一些存放业务流程数据的表上(如借阅文件,罚款文件等)增加一个对用户来说没有意义的字段,这个字段一般是长整型,并设其为自动加1的identity类型。

这个字段主要是为了在业务流程数据表中惟一标识一条记录。

20.下面是数据库的结构图:

book_id=book_id

Reader_id=Reader_id

Reader_id=reader_id

Reader_id=Reader_id

三.概要设计

1.运行环境:

该系统采用MicrosoftC++6.0作为主要开发设计语言环境,设计数据库应用程序,采用MicrosoftAccess7.0作为数据库开发工具。

该系统是基于MicrosoftWindows操作平台开发、安装和运行的,需要ODBC支持。

本项目文档的技术术语均符合MicrosoftC++6.0和MicrosoftAccess规范要求。

2.程序结构:

下面我们对模块结构图中,最细的功能进行分析介绍。

图书管理系统需要实现的功能主要有四大块:

基本资料维护,日常维护,系统安全模块和读者查询模块。

其中日常维护和基本资料维护是整个系统的核心。

日常维护包括借书处理,还书处理和缴纳罚金。

基本资料维护包括对读者、员工和图书等信息的维护,主要有读者信息的增删改,对员工资料进行增删改和对图书资料进行增删改。

系统安全模块只是实现了最简单的系统登录检查。

读者查查询也只实现了简单的查询功能。

下面对具体的模块做具体的介绍。

借书处理的主要功能是扫描读者条形吗,扫描图书条形码,在数据库中插入一条借书记录,该记录包括读者条形码,图书条形码、借出日期。

还书处理的主要功能是扫描图书条形码,在借阅文件中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除。

缴纳罚金的主要功能是输入读者条形码,显示该读者的姓名,罚金金额和过期天数,如果读者交纳了罚金,则将读者文件的充许标志置为“Y”。

删除罚款文件中该读者对应的记录,将这一条记录同时插入到罚款历史文件中。

读者查询:

允许读者根据自己的条形码或姓名查询自己的借书记录。

图书资料维护的功能包括输入新书资料、删除旧书资料,修改和删除。

读者资料维护的功能包括读者信息的输入、修改和删除。

工作人员信息维护主要包括工作人员信息的输入、修改和删除。

注销读者:

将读者记录置止借标志,同时提供删除读者信息的功能,(这一部分在系统的原型中并没有实现)。

系统登录:

是对用户名和输入的密码进行检查,已确定登录用户是否合法。

用户名和密码的维护是在工作人员资料维护模块中实现的。

四.详细设计 :

用户登录模块:

Begin

输入工作人员的姓名和密码;

在工作人员文件查找;

If存在do

进入系统,可以管理工作

else

进入系统,只能查询.

Enddo

End

 

读者查询模块:

Begin

输入读者ID;

在读者文件中查找;

If存在do

显示姓名,身份证号码;

读取历史文件,显示书名,借书日期;

else

显示读者不存在!

Enddo

End

 

借书模块:

begin

if该生借书证没被锁定do

输入其借书证号和图书号(流水号)/图书名;

在图书库中查找该书;

if存在do

可以借出,输入借书日期并将借书证处于借书态;

else

此书已被借出请预约,或者重新输入其他的图书名

enddo

else

需解除锁定,再借书

enddo

end

还书模块:

begin

输入借书证号及图书名/图书号(流水号)及还书日期;

验证该书是否超期;

if超期do

根据罚款规定给予罚款;

else

正常还书,并释放借书证状态

enddo

end

缴纳罚金模块:

Begin:

输入读者ID号;

if存在do

交纳罚款;

读取罚款文件;

取消锁定标志;

else用户没有罚款记录.

Endif

End.

工作人员资料维护:

Begin:

if(p==1)do增加记录;

elseif(p==2)do修改记录;

elseif(p==3)do查询记录;

elseif(p==4)do删除记录;

else退出;

end;

图书资料维护:

Begin:

if(p==1)do增加记录;

elseif(p==2)do修改记录;

elseif(p==3)do查询记录;

elseif(p==4)do删除记录;

else退出;

end;

读者资料维护:

Begin:

if(p==1)do增加记录;

elseif(p==2)do修改记录;

elseif(p==3)do查询记录;

elseif(p==4)do删除记录;

else退出;

end;

2.控制界面:

采用直接操纵方式,用户直接点击相应的功能按钮,即可完成相应的功能。

3.输入模块:

在输入模块中,以尽量简化用户工作,尽可能减少输入错误为目标,设计输入模块时采用如下方案:

(1)确认输入;只有当用户按下确认按钮时,才确认输入。

(2)交互动作;在表项之间用TAB键切换,不是自动在表项之间切换,以减少错误。

(3)确认删除;为避免误操作,用户按下删除键后,系统提示是否确认删除,只有用户按下确认后才删除。

(4)供反馈;在屏幕上可以保留用户先前输入的内容,以便用户随时观察,明确下一步的操作。

(5)允许编辑;允许用户去修改以前输入的数据。

(6)以表格方式设计输入模块,使输入更清楚,明了。

4.数据显示:

对于数据显示方式,按照如下准则:

1)只显示必需的数据;

2)在一起使用的数据集中显示;

3)显示出的数据与用户执行的任务有关;

4)提供标题栏,进行竖向浏览。

5)按照用户要求,以表格方式提供输出报告。

五、程序编码

各个功能模块的详细程序编码采用MicrosoftVisualC++进行编写,详细内容参见附录

 

六、测试与调试

软件测试是软件在投入运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。

按照《软件工程》中给出的方法,我在整个程序设计结束后,通过输入一些测试用

例来验证各个模块之间是否能正确协同工作。

通过一些测试方案,该系统能基本满足用户要求。

七、体会与收获

通过本课程的学习,使我理解了软件工程的基本概念和原理基础。

学会结构分析和结构设计技术,掌握结构程序设计技术及设计测试方案的基本方法。

学会维护软件。

在开发这个应用软件的过程中,《软件工程》在理论和方法上给了我很大的帮助。

在开发软件之前,在整体构思上没有一个整体框架,通过对《软件工程》的认真研读,参照瀑布模型使我对整个设计开发阶段有了一个清楚的认识,使整个设计开发过程有了一个明确的思路。

在瀑布模型的框架下,通过《软件工程》在结构化设计中所给出的明确的方法。

对将要开发设计的软件按照《软件工程》中绘制数据流图和数据词典的方法,一步一步绘制出软件的数据流图和数据词典,遇到不清楚的地方就认真阅读教材,通过对数据流图的绘制,使我在众多的需求中逐渐理清了思路,大致确定了应该在程序设计中包括哪些模块以及各个模块之间的应该具有哪些数据关系,确定了各个模块所应当完成的功能。

如果没有《软件工程》中所介绍的方法,肯定会出现等到软件写了一半才发现以前所确定的内容需要改动,但这一改动就会造成前面所写的程序需要修改,而往往这种修改会使得程序错误增加,使得排错变得复杂和困难,所以,学习《软件工程》对开发软件的确很有帮助,使软件开发有步骤有条理。

按照已经绘制出的数据流图,对软件进行详细的模块划分和功能确定,对各个模块分别进行详细的流程设计,绘制出详细的流程图。

由于有了数据流图,这一步就已经容易的多了,而且使整个软件设计结构清晰明朗了。

总之,在整个软件设计过程中,《软件工程》给了我方法上的指导,使得整个软件开发过程符合规范,在整个开发过程中思路始终清楚。

对今后工作中应用软件工程理论指导软件开发和维护工作是很大的帮助。

 

图书管理系统

设计报告

 

学院:

国际学院

专业:

计算机

学号:

07201303

姓名:

程龙

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1