图书管理系统软件工程课程设计.docx
《图书管理系统软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《图书管理系统软件工程课程设计.docx(73页珍藏版)》请在冰豆网上搜索。
图书管理系统软件工程课程设计
重庆师范大学
课程名称:
软件工程
试题题目:
图书管理系统
*********
学号:
***********
专业:
计算机科学与技术
学院:
计算机与信息科学学院
时间:
2013年6月1日
1.1开发背景…………………………………………………………………….-6-
开发目标………………………………………………………………………...-6-
5.1分析与设计方法:
…………………………………………………………-13-
5.2组织结构图……………………………………………………….………-13-
5.3数据流程图………………………………………………………………-15-
5.4数据字典……………………………………………………………….…-18-
6.1分析与设计方法………………………………………………………….…-20
6.2用况模型……………………………………………………………………-20-
6.3活动图………………………………………………………………….…...-21-.
6.4顺序图……………………………………………………………………....-22-
9.1实现环境与技术………………………………………………….……-35-
十二、系统开发评价……………………………………………………….….-67-
12.1.功能方面…………………………………………………………..….-67
12.2.性能方便…………………………………………………………….-67-
12.3.课程知识运用方面………………………………………………..…-67-
一、开发背景与目标
1.1开发背景
随着计算机技术的不断发展,计算机已经深入到社会生活的各个角落,在知识爆炸的今天,各种各样的图书也越来越多,各图书馆的规模也在不断壮大,其管理也日臻完善,面对着庞大的信息量,依靠传统的方式对图书馆进行管理将耗费很大的人力物力,而且也不再能满足当今人们对图书管理的需要。
所以对于图书馆的信息化管理已经越来越重要,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对整个图书馆的资料进行集中统一的管理。
所以为了方便管理人员对图书馆书籍、读者资料、图书借阅情况等进行高效的管理,并且在工作人员具备一定的计算机操作能力的基础上,如果采用图书管理系统可以提高图书馆的管理效率,减轻图书馆工作人员的工作负担。
方便借阅者借阅和查找图书,使图书管理更加科学、有序。
1.2开发目标
本次开发的目标是一个适合于中小型图书馆的图书管理系统,主要完成有关图书信息的管理和有关于读者及其借阅情况的管理,用信息化的管理方式代替传统人工的管理方式,可以方便工作人员的管理,省去繁琐的手工操作过程,改为计算机代为处理,也减少了由于人工操作所会带来的一些错误和不足,提高图书管理的效率。
二、需求分析说明书
2.1系统介绍
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对图书馆信息进行管理,具有着手工管理所无法比拟的优点。
这些优点能够极大地提高图书馆管理的效率,也是图书馆的科学化、正规化管理的重要条件。
根据以上情况,决定实施建立图书管理系统,因为图书信息管理是一个图书馆不可缺少的部分,所以图书管理系统应该能够为用户提供充足的信息和快捷的查询手段。
可以解决一直以来人们使用传统人工的方式管理文件档案存在着的许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算实现图书馆图书信息的管理势在必行。
图书管理系统是现代图书馆管理工作不可缺少的一部分,是适应现代图书馆发展要求、推动图书馆图书信息管理走向科学化、规范化的必要条件。
图书管理系统是针对图书馆拥有大量图书信息和读者借阅信息以及读者个人资料进行信息化管理的软件,所以他必须具有下功能:
(1)、图书信息数据库集及表的操作,实现对图书信息的录入,删除。
查询和管理工作(包括:
图书号、书名、作者、出版社、出版日期、单价、图书类别、存放位置、入库日期、是否借出等)相关信息的维护。
(2)、借阅者信息数据库及表的操作,实现对借阅者信息的增加、删除和日常信息的维护等管理工作(包括:
借阅卡号、姓名、性别、身份证号、单位、家庭住址、联系电话、借阅者类别、办证日期、已借书数目、是否挂失等)相关信息的维护、
(3)、借阅信息数据库及表的操作,实现对已借出图书信息的管理(包括:
借阅卡号、图书号、姓名、书名、借出日期、实际归还日期、罚款金额等)相关信息的维护。
2.2系统面向的用户群体
本图书管理系统主要面向的是中小型图书馆。
图书管理人员使用其管理图书馆的图书,借阅人员可以通过本系统查阅相关信息。
2.3系统的功能性需求
图书管理系统的完整功能需求如下:
1、借阅者管理
对于每一个通过资格审查的人员,可以办理一张借阅卡。
需要说明的是,本系统面向中小型图书馆,这里的“资格审查”主要是通过申请人亲自到图书馆的指定部门去进行面对面的审查,如果审查通过,则可以办理借阅卡,并拥有自己的用户名和密码,成为注册用户,用户以后可以凭此登陆本系统;如果审查未通过,则不予办理。
每个通过审查的人员(即注册用户)都可以拥有且仅可以拥有一张借阅卡,此借阅卡里包含该用户的所有个人信息,以后该用户的所有图书借阅活动都凭借此卡进行,知道该卡被注销或删除为止。
因此,对借阅者的管理包括对借阅者相关信息的添加、修改、删除及检索功能。
2、图书信息管理
图书馆的管理中很大一部分就是对于馆藏图书的管理。
这里主要涉及以下功能:
A、新书的入库:
为了方便以后的用户借阅、查询,对每本新到的图书都需要把他的详细信息加以记录,也就是登记入库后,方可对外借阅。
B、图书的检索:
作为一个图书馆,其馆藏的图书是非常丰富的,要想在数万甚至数十万的图书中迅速找到读者需要的图书,必须提供相关图书的快速检索查询功能。
C、图书信息的修改:
一般来说一本图书在入库时,其基本信息(比如,书名、作者、单价、出版社等)就已经确定的了,而且在以后的使用过程中永远都不会改变。
因此,对于这些信息不需要提供相应的修改功能。
但是对于图书的其他一些辅助信息(比如,存放位置、是否借出等),可能会发生变化,因此,需要提供对于这部分的图书信息的修改功能。
D、图书信息的删除:
有些书籍由于太过破旧要被淘汰,或者将被丢失,对于这些不再馆藏的书籍,能够从系统信息中删除它们。
3、图书借阅信息管理
本功能是系统的核心功能之一,作为一个图书管理系统,其最主要的功能就是对于图书的借出和归还。
这主要涉及被借阅的图书和借阅者(借阅卡的持有者),即既要有被借图书的基本信息,还要有借阅者的部分信息以及借出和归还的日期等。
具体来说,对于借书,要首先获得借阅者的信息,看其是否有权利借书,其次还要检查相关书籍信息,看该书是否可以被外借,在两者都满足的情况下,才能借阅;而还书时,同样也需要借阅者信息和图书信息才能还书,同时还要计算本次借阅是否超期,如果超期,还要计算出罚款金额,借阅者只有在交了足额的罚款后才能还书成功。
此外,对于这些历史借还的记录,还要提供一定的查询功能;同时由于存储空间的限制,不可能永远保存所有的历史记录,同时还需要提供相应的删除记录的功能。
需要说明的是所有的借还操作都是通过系统管理员来实现的。
4、用户的登录
该系统的用户主要有系统管理员和普通的注册用户(及借阅卡的持有者—借阅者)两种。
系统管理员拥有系统的所有功能权限,而普通注册用户只能够管理自己的个人信息以及检索需要的图书信息(不然每本书都要依靠系统管理员检索,借阅的效率太低),对于系统的其它功能不具有权限。
因此,系统需要对于各种用户进行管理,不同的用户给予不同的权限,为此给每一个合法用户一个用户名和密码,用户平次登录系统。
这样,在满足不同类型系统用户操作需求的基础上,提高了系统的安全性。
5.系统基本信息的管理
系统基本信息的管理主要是对图书管理中涉及的一些基本信息的处理,包括
A、对借阅者类别的设置:
作为注册用户的借阅者,可以根据其不同的类别,设置最大借阅图书数量的不同上限。
B、对于图书类别的设置:
对于不同类型的图书,给予不同的借阅期限。
一旦用户借阅超期,根据图书类型的不同也有不同的罚款金额。
C、对系统用户的管理:
正如前面所述,每一个使用系统的人员必须凭借自己的用户名和密码来登录使用系统,在本系统中,暂定有两类用户:
系统管理员和普通的注册用户,不同的用户对于系统有不同的使用权限。
2.4系统的非功能性需求
1、界面的更换
用户可以根据自己爱好和审美要求更换皮肤颜色,可以自行搭配自己的空间,以及自行选择的界面模式,如最大化模式,窗口模式,迷你模式等等。
2、系统的保护
用户进入自己系统要进行注册和登录,并有用户名和密码。
对用户的个人信息进行保护,其中用户可以自行修改自己的密码等。
3、民主的交流
用户可以在系统中的公共平台上进行对工作以及生活其他方面进行交流。
和向各部门领导交流意见和建议,以及各种最新的通知。
4、信息的存储
用户可以在该系统中申请邮箱进行信息的存储和备份。
2.4.1用户界面需求
本图书管理系统需要进行人机交互,在交互过程中需要有的界面有:
用户登录界面、添加借阅者界面、查询借阅者界面、删除借阅者界面、添加图书界面、查询图书界面、删除图书界面、借书管理界面、还书管理界面、查询借还记录界面、删除借还记录界面等。
2.4.2软硬件环境需求
本图书管理系统对于硬件没有特殊的要求,只要是一般的计算机都可以安装使用。
对于软件本产品运行于Microsoft的Windows系列操作系统。
2.4.3软件质量需求
本软件是一个中小型图书馆的图书管理系统,完成关于图书信息以及借阅信息的管理,要求本产品安全可靠,便于操作,可以方便的进行系统的升级与维护工作。
三、可行性分析报告
3.1经济可行性
经济可行性研究是对系统投入使用后带来的经济效益进行评估,也包括对系统的投资预算。
即要解决两个问题,资金可得性和经济合理性当前办公用PC机的普及使得开发和应用管理系统在经济上成为可能。
现在,计算机的价格已经十分低廉,性能却有了长足的进步,本系统的开发为
为企业的工作效率带来了质的飞跃。
为此主要表现为以下几个方面。
1、本系统的运行可以代替人工进行许多繁杂的劳动;
2、本系统运行可以节省许多资源。
如人力,财力,物力等方面;
3、本系统的运行可以大大地提高企业的工作效率;
4、本系统可以使敏感文档更加安全,等等。
另一方面,就企业自身来说,它也是需要这样一个系统的。
我们在计算机还没有普及之前,信息都必须通过在纸上填写来实现,这样既浪费时间,又容易出错。
随着信息时代的来临,
我们的各项工作都要讲求效率,人事管理也补例外。
这就为人事管理系统提供了使用人群,所以本系统在经济上是可行的。
3.2操作可行性
图书管理一般是对图书基本信息的管理、对借阅者基本信息的管理以及对图书借阅情况的管理。
所以在数据库模式定义中可以将图书基本信息定义在一个表中,这样对数据的增加、修改、删除、查询、统计操作处理起来都相对简单。
统计报表的导出可以利用OLE(对象的连接与嵌入)这项成熟的技术来实现。
打印功能完全可以根据开发工具自带的属性灵活的实现。
用户账号权限的设置、管理可以在数据库中建立一张独立的表来实现,图书管理系统将根据用户不同的权限设置不同的操作功能。
本系统的操作简单,有计算机基础的人无需培训即可使用,即使是没有计算机基础的人只需经过简单的培训就可熟练地使用本系统。
系统运行后,就用户方面而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统对用户而言是定位在界面友好,操作方便功能齐全的原则上的,用户只需用鼠标点击界面上的选项卡或按钮就能执行相应的功能。
就管理者而言,关心的是如何处理各种数据只要把图书和借阅者的相关信息输入计算机,管理者就可以运行相应的后台程序进行处理。
而以上的这些功能都能在所选择的开发环境中用所选择的开发工具来实现。
所以说本系统在操作上是没有问题的。
因此,他在操作上是可行的。
3.3技术可行性
数据库技术在计算机软件领域研究中一项非常重要的主题,产于60年代,40多年来数据库技术得到了迅速发展,并已形成较为完整的理论系统和一大批使用系统。
面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象,类、继承、封装、消息等基本概念进行程序设计。
许多程序开发工具如VB,Java,MicrosoftVisualStudio2005等都支持面向对象的程序开发。
系统的开发平台。
我们选择了当前流行的WindowsXP操作系统,应用程序开发采用Microsoft公司的面向对象的MicrosoftVisualC++6.0。
MicrosoftVisualC++6.0是一款可视化编程软件,为我们提供了一种方便快捷的Windows应用程序开发工具与普通的数据库系统相比用MicrosoftVisualC++6.0作为数据库开发平台有简单、灵活、可扩充等特点,非常适合初学者快速掌握并用来开发数据库管理系统。
数据库选择MicrosoftOfficeAccess2007,MicrosoftOfficeAccess2007是作为一种功能强大的MIS系统开发工具,它具有界面友好,易学易用,开发简单,接口灵活等特点,是一个典型的新一代数据管理和信息系统开发工具。
与Microsoft的其他数据库产品如FOXPRO等相比,Access具有较独特的优势-提供了更强大的数据组织,用户管理,安全检查等功能。
当前管理信息系统的开发大都基于数据库技术和面向对象软件开发技术。
这些技术目前已经成熟。
被广泛应用于各个领域。
综上所述,人事管理系统的开发在技术上是可行的。
3.4时间、设备可行性
目前,企业内部大多都实现了数字化办公,办公室的有线无线网路覆盖了情况也相当理想,企业良好的硬件设施为图书管理系统提供了坚实的基础。
根据企业对系统一般期待运行的时间,我们开发小组现有的人力物力,以及对开发技术的掌握情况,可以在其要求的时间内完成开发任务。
具体分析如下。
系统的开发时间是从4月01日至6月30日。
为期3个月(开发时间)
开发过程最为重要的里程碑如下表
第一周
选定本次课程设计及报告的研究课题
第二周
选定本次课程设计及报告的研究课题
第三周
收集资料和参考文献
第四周
认真阅读和学习资料、文献并做出初步构思
第五周
制定出整个系统的设计构想、设计思路和方法
第六周
进行系统的设计、开发和编写程序代码
第七周
对系统进行测试和系统调试
第八周
完成整个系统的开发并进行系统维护
第九周
撰写课程设计报告
第十周
最终完成系统修改、论文撰写和表格填写
在设备方面有计算机,服务器,网络和开发工具。
等为该系统的开发提供了可能性。
3.5系统工作量
在设计图书管理系统前我们小组进行了大量的研究,搜集了大量了资料和文献。
并调查了一些大中小型图书馆的图书管理机制和方法。
在图书管理系统设计完成时,进行系统测试和系统调试时,我们小组进行了大量的数据测试并在基础上进行了相应的修改。
该图书管理系统可以同时满足多用户对系统的不同操作,如同时对图书信息的查询和对借阅信息的查询,因为系统采用桌面型的后台数据库在同一段时间多用户对数据库进行操作不会影响其他用户对数据库的维护。
其数据库有很高地独立性。
3.6文档要求
依据国家《计算机软件产品开发文件编制指南》和《现代软件工程》的理论与原则编制标准的软件技术文档。
四、开发环境与项目规划
4.1开发环境
本系统选择MicrosoftVisualC++作为开发语言。
同其他编程环境相比VisualC++的效率是比较高的,并且提供了相当优秀的集成开发环境(IntergratedDevelopingEnvironment),集代码编辑、调试、向导、编译和可视化资源编辑功能于一体,其MFC基本类库对WindowsAPI函数做了非常好的封装并扩展了功能,可以满足全部的基本功能需求,程序设计人员只需要简单的调用MFC封装的类函数就可以了。
VisualC++也因为其超强的功能而享有“Windows环境下的外科手术刀之称”。
同时,本系统选择MicrosoftAccess作为数据库管理系统。
之所以选择它,是因为本系统主要面向的是中小型图书馆,需要处理的数据量并不大,而Access比较小,目前的办公自动化软件中一般都包含它,不需要另外安装软件;普通的个人计算机就可以调试程序,不需要联网等其他操作。
4.2项目规划与管理
(1)数据输入模块:
该模块的主要功能是负责输入数据,所以该模块的设计出发点应从方便用户操作的角度出发,如:
非法数据输入出现错误提示等,另外一些较固定数据可让用户从下拉框种选择,不必自己输入。
(2)数据查询模块:
用户可以直接快速地查阅和打印系统中的图书信息(如书名、出版社、出版时间、书号、借阅情况等信息);也可以做出各种复杂的查询,用户可根据任意字段进行查询,包括多条件的与和或运算,为借阅者作出准确判断提供数据的支持。
(3)数据删除修改模块:
修改删除模块通常也是数据库中必须有的一个模块,因为在输入数据过程中难免会有出错的时候。
当修改删除涉及到多个表时,本系统将做出判断并给出提示及相应处理,以保证数据的完整性及一致性。
(4)数据统计分析模块:
该模块将对数据进行统计,包括分组统计,二维表统计及饼图统计。
各种统计结果都应该能够打印。
(5)报表打印模块:
数据的打印也是系统不可或缺的模块,打印页面的大小及上下左右的边距应由用户自己自由设置。
也可以将报表导入到word或者excel中,由用户自己设定打印方式。
(6)账号管理模块:
实现了对用户分组管理,并且可对用户的数据访问权限、功能操作权限进行设置,保证了操作的安全性、严谨性及保密性。
(7)日志管理模块:
系统将用户名,操作时间,操作内容都记录下来,然后写到数据库中。
这样可以知道哪个用户什么时间作了什么操作,更好的维护了系统的安全性。
4.2.1开发人员安排
本次课程设计的需求分析和数据库设计是1个人单独完成的。
王莹莹(20110514296)完成了基本数据的管理的功能和系统管理。
完成了数据库备份与恢复的功能,图书信息管理和用户设置和系统退出的功能和报告的撰写。
4.2.2开发进度
序号
设计(论文)各阶段名称
地点
起止日期
1
选定本次课程设计及报告的研究课题
宿舍
2
选定本次课程设计及报告的研究课题
宿舍
3
收集资料和参考文献
图书馆
4
认真阅读和学习资料、文献并做出初步构思
宿舍
5
制定出整个系统的设计构想、设计思路和方法
宿舍
6
进行系统的设计、开发和编写程序代码
实验室
7
对系统进行测试和系统调试
实验室
8
完成整个系统的开发并进行系统维护
宿舍
9
撰写课程设计报告
宿舍
10
最终完成系统修改、论文撰写和表格填写
宿舍
11
上交课程设计报告、系统答辩
教学楼
每一个进度所进行的时间都为一周左右
五、结构化分析与设计
5.1分析与设计方法:
1、该系统分成几个相对独立的模块,但对这些模块进行集中式管理。
2、整个系统采用模块化结构设计,作为应用软件有较强的可操作性和扩展性。
3、在应用系统设计中,将相对独立的模块以数据流的方式相互连接,使各模块间的耦合性较低,方便系统运行。
5.2组织结构图
1、图书管理系统的软件结构图
2、精化后的系统结构图
5.3数据流程图
1、图书管理系统的基本数据流图
2、图书管理系统的功能级数据流图
3、改进后的图书管理系统功能级数据流图
4、改进后的系统数据流图
5.4数据字典
该图书管理系统的数据字典如下:
对借阅者管理的请求=[添加借阅者|修改借阅者|删除借阅者|检索借阅者]
对图书管理的请求=[添加图书|修改图书信息|删除图书信息|检索图书]
图书借还管理请求=图书借阅管理请求
图书借阅管理请求=[添加借阅信息|修改借阅信息|删除借阅信息|检索借阅信息]
管理个人信息请求=[检索个人信息|修改个人信息]
基本信息维护请求=[对借阅者类别信息的维护|对图书类别信息的维护|对登录用户的维护]
对借阅者类别信息的维护=[对借阅者类别信息的添加|对借阅者类别信息的修改|对借阅者类别信息的删除|对借阅者类别信息的检索]
对图书类别信息的维护=[对图书类别信息的添加|对图书类别信息的修改|对图书类别信息的删除|对图书类别信息的检索]
对登录用户的维护=[对用户信息的添加|对用户信息的修改|对用户信息的删除|对用户信息的检索]
时间=年+月+日
借阅卡信息=借阅卡号+姓名+性别+身份证号+单位+家庭住址+联系电话+借阅者类别+办证日期+已借书数目+是否挂失
借阅者=借阅卡信息
读者=借阅者
借阅卡号=8(数字)8
性别=(男|女)
身份证号=18(数字)18
联系电话=(区号)+8(数字)8
区号=4(数字)4
借阅者类别=[一级读者|二级读者|三级读者]
读者类别=借阅者类别
描述:
在本系统中,一级读者可借10本;而级读者可借5本;三级度者可借3本
办证日期=年+月+日
已借书数目=[0|1|2|3|4|5|6|7|8|9|10]
是否挂失=[挂失|没挂失]
挂失=1
没挂失=0
图书信息=图书号+书名+作者+出版社+出版日期+单价+图书类别+存放位置+入库日期+是否借出
图书=图书信息
图书号=7(数字)7+同一本书副本编号
同一本书副本编号=[0|1|2|3|4|5|6|7|8|9]
出版日期=年+月+日
图书类别=[一类图书|二类图书|三类图书|四类图书|五类图书|六类图书]
入库日期=年+月+日
是否借出=[借出|未借出]
借出=1
未借出=0
借阅信息=借阅卡号+姓名+图书号+书名+借出日期+实际归还日期+罚款金额
借还=借阅信息
借出日期=年+月+日
实际归还日期=年+月+日
系统基本信息=[借阅者类别信息|图书类别信息|系统用户]
借阅者类别信息=借阅者类别+能借书的数量
借阅者类别=[一级读者|二级读者|三级读者]
能借书的数量=[1|2|3|4|5|6|7|8|9]单位:
本
图书类别信息=图书类别+可借天数+图书超期每天罚款的金额
图书类别=[一类图书|二类图书|三类图书|四类图书|五类图书|六类图书]
可借天数=[10|20|30|40|50|60|70]单位:
天
图书超期每天罚款的金额=[0.1|0.2]单位:
元
系统用户=用户名+密码+是否是管理员
用户名=1(字母|数字)16
密码=1(字母|数字)8
是否是管理员=[是管理员|不是管理员]
是管理员=1
不是管理员=0
六、面向对象分析与设计
6.1分析与设计方法
本系统采用的是UML统一建模语言对系统进行的面向对象分析与设计,UML是一种定义良好易于表达、功能强大且普遍使用的结构化建模语言,融入了软件工程领域的新思想、新方法和新技术。
是用面向对象的图形方式来描述系统。
6.2用况模型
6.3活动图
6.4顺序图
七、数据库分析与设计
7.1数据库环境说明