软件工程设计图书管理系统完整的啊.docx
- 文档编号:5631343
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:29
- 大小:246.66KB
软件工程设计图书管理系统完整的啊.docx
《软件工程设计图书管理系统完整的啊.docx》由会员分享,可在线阅读,更多相关《软件工程设计图书管理系统完整的啊.docx(29页珍藏版)》请在冰豆网上搜索。
软件工程设计图书管理系统完整的啊
软件工程课程设计
图书管理系统
人员
任务
1〉软件定义阶段
(1)问题定义
(2)可行性分析
(3)需求分析
2〉软件开发阶段
(4)概要设计
(5)详细设计
(6)编码和单元测试
3〉软件维护阶段
(7)软件维护
1〉软件定义阶段
(1)问题定义
基本任务:
理解问题
阶段成果:
系统目标与范围说明书
问题理解:
图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产
生的借书信息、还书信息。
因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。
管理图书采用传统的管理方法:
图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。
每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库帐目,不仅工作量大,而且,在新书入库后要经历较长的时间方能借出。
所以,为提高图书馆管理的效率,减少图书管理员的工作负担,有必要开发一个小型图书馆管理软件来对图书实施有效管理•现代图书馆的图书管理早就
进化信息化阶段了,但是从软件市场购买的一些信息管理软件通常是通用版的,不可能适应所有图书馆管理中的情况,功能不能扩充,这样不仅工作效率低下,浪费人力,财力,而且在一些中间环节还造成信息丢失,出错。
以下是针对某某图书馆的图书管理现状,在调研基础上开发出来的图书馆信息管理系统。
在下面的各章中将以开发图书馆管理系统为例,谈谈其开发过程和所涉及
到的问题及解决方法。
系统目标(基本功能如下):
(1)以自动化、系统化、高效管理代替分散、重复操作。
(2)开发图书馆管理系统,提供更好服务效益和提高现代化管理水平。
(3)建立图书馆管理系统,提高读者的自律性,促进读者保管并及时归还
图书。
(4)减轻图书馆管理员的负担,节省人力物力开支。
范围说明:
(1)能够及时了解学校图书室的藏书情况和师生的借书情况
(2)能够快捷地添加,将有关资料信息录入数据库,修改,查询图书分
类信息和图书信息,包括单条件查询和多条件查询
(3)能及时掌握图书室的藏书数量及种类,各个学科的图书数量,迅速
盘点图书库存。
(4)图书的借出,归还,续借,挂失,催还手续简便,效率高。
(5)功能齐全,安全稳定,可靠性高,操作简便,使用灵活,实用性强,
准确率高,具有海量存储能力和快速交换速度,自动及时进行数据备份。
⑹用户的权限设置:
不同用户的使用权限不同
(2)可行性分析(研究)
基本任务:
理解工作范围
阶段成果:
项目计划说明书
2.1可靠性和安全性需求:
由于图书管理系统的图书量会非常大,所有在对这些图书导入和查询时要保证速度。
在图书借阅过程中又要保证事务的完整性。
对于整个系统,需要完整的权限控制,防止某些人恶意的攻击系统,修改原始记录。
同时对于数据库中的数据需要定时备份,防止系统数据丢失。
所建议的系统的开发目标应考虑以下几个方面:
(1)系统需要操作方便,方便管理员对整个系统的管理和读者借阅。
(2)系统需要提供综合查询系统,方便图书的查询。
(3)系统需要良好的扩展性,方便功能扩展和性能扩展。
(4)系统需要较好的安全性和灾难恢复机制。
2.2硬件、软件、运行环境和开发环境方面的条件和限制
(1)硬件资源
服务器:
工作站或小型机
网络设备:
网络交换机,网卡,网线
图书条码打印和扫描机
打印机
(2)软件资源
操作系统:
Windows2007Server或WindowsXP。
数据库管理系统:
SQLServer。
软件平台:
VC++
客户端软件选择的具体说明:
web浏览器。
通过对该图书馆的各个方面进行了具体的了解之后,现对该单位开发图书管理系统的可行性进行分析。
技术上可行:
该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用VC,这些软件在MIS(管理信息系统)开发中已被大量应用,技术上都比较成熟。
因此在技术上是可行的。
经济上可行:
由于学校急需采用计算机来进行图书馆的管理,因此对开发图书管理系统大力支持,开发经费没有问题。
操作上可行:
该学校的图书馆有很多的管理体制,每位借书人均有借书证,同时图书馆还为每位借书人建立了档案。
因此操作上可行。
另外,图书馆管理人员对开发该系统也是大力支持的,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。
社会可行性:
首先是合法的,其次既方便于学校管理员的管理,又有利于学生的借阅和查找
综上所述,开发图书管理系统在技术上、经济上、操作上都是可行的
读者信息存
储
读者管理
借阅图书信
息
借阅信息查阅
逾期未还登记
图书信息
处理
图书报废图书条形
图书管理
基本信息
图书管理
员
数据字典卡片
图书信息
管理员信息
名字:
*****
名字:
*********
别名:
*****
密码:
********
别名:
作者:
*****
********
描述:
处理图书条形,图书报废等信息,并用计算机管理用户借书的日期,数量,以及是否罚款
描述:
唯一的标示书籍所处状态定义:
图书=图书条形+图书报废信息+是否被借阅+价格+出版社
定义:
管理者信基本信息
借书数量
位置:
图书管理
位置:
图书管理员
名字:
名字:
*****
别名:
*****
别名:
*****
描述:
某人借书的数量
定义:
读者借书数量=0{数字}8
Z■亠'、十俚M丁中位置:
读者官理
密码.********
描述:
记录用户借书的日期,数量,以及是否罚款,书评等信息
定义:
读者的基本信息
Z■亠'、十俚M丁中
位置:
读者官理
(3)需求分析
基本任务:
定义用户需求
阶段成果:
需求规格说明书
3.1定义用户需求
3.1.1系统的性能需求
图书管理系统要求系统需要具备以下几个主要特性:
(1)多样性:
图书管理系统在设计时必须遵循的一个重要原则,就是以用户为系统设计的中心。
网络的发展大大降低了信息咨询的成本,用户面临更多的选择,所以,图书管理系统除了降低成本以外,还必须在皮肤,功能的多样性上下工夫,才能够得到用户的认可。
具体来说,应用系统应能实现用户特定的需求,操作界面友好、方便,功能设置符合用户的习惯和要求。
(2)易维护:
管理员能够简单方便地管理系统,定义新的应用,并对系统进行日常维护;随着图书馆信息的变更或增加、数据规模的增大,系统升级、维护应易于操作:
各子系统、功能模块的设计应具有良好的灵活性,保证在图
书管理系统建设过程中后期系统功能的实现不影响前期已投入使用的系统功
(3)安全性:
系统应充分考虑信息、设备、运行和管理的安全性,建立完善的多层次的安全保障体系,保证用户的个人信息等资料的数据安全。
(4)可扩展:
该系统的用户从事着各种行业,他们的需求各不相同,系统在设计时应充分考虑到用户需求不断变化的需要,降低系统在扩展新的业务功能时的复杂度。
3.1.2系统的数据需求
(1)数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是用户的手工输入。
手工输入要通过系统界面上的安排系统具有容错性,并且对用户操作进行实时的跟踪和错误提示。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
(2)数据的一致性与完整性
由于图书的数据是共享的,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
(3)数据的共享与独立性
整个系统的数据是共享的。
然而,从系统开发的角度上看,共享会给设计和调试带来困难。
因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。
这样,也能提供系统的强壮性。
3.1.3普通用户功能需求
要设计一个良好的资料借阅管理系统,就必须首先明确该应用环境对系统的要求。
资料借阅管理系统的应用背景为:
方便用户查询借阅图书。
普通用户是系统的服务对象,也是系统的主要参与者。
一个资料借阅管理系统的好坏主要是由普通用户来评判的。
因此,该系统需满足以下几方面需求:
1.图书管理:
包括对图书的增加,注销,修改,查询。
2.读者管理:
包括对读者的增加,注销,修改,查询,续接。
3.1.4管理员功能需求
总体功能设计
系统要能实现如下功能:
登录系统:
注销用户、系统退出。
管理:
用户管理、图书管理、读者管理、借阅管理。
查询:
图书查询、读者查询、借阅查询。
报表打印:
所有图书、借出图书、库存图书、所有读者。
帮助:
使用说明、关于。
(1)可添加、注销、和更新图书信息
(2)能处理借阅、续借和还书
(3)可以对过期未还书的读者进行罚款处理。
(4)可以按图书编号精确查询,也可以按图书类别、图书名称及索书号进行组合模糊查询。
(5)可以按读者编号精确查询,也可以按读者姓名、所在系及所在专业信息进行组合模糊查询。
⑹可以统计图书借阅历史记录以及目前图书的借阅状况。
(7)可以统计读者借阅历史记录以及目前读者的借阅情况。
(8)可以进行软件登陆身份验证。
3.2需求规格说明书
根据范式理论和E-R图转换成关系模型的规则,上面的E-R图可转换为3个关系模式:
①图书(条形号、书名、出版社、借阅与否、价格);②读者(借书证号、姓名、性别、单位编号);③借阅(借书证号、馆藏号、借阅时间),
其中打下划线的为码,这样就解决了插入、删除和数据冗余等问题。
图3.1是
—姓名
・密码
-管理书馆—-名
出版社
价格
图书
M
——管理
管理员
N借阅
性别
姓名
密码
、-R卄读者
L
广借书证号
借书量
性别
1
N
收费及
咨询
图3.1
1.图书实体的E-R图,如图3.2所示:
图3.2
2.读者出版社实体关系的E-R图,如图3.3所示:
3.图书、图书类别实体关系的E-R图,如图3.4所示:
图书编
m
n
属于
索书号
图书类别
类别名
图3.4
4.读者实体的E-R的图,如图3.5所示:
5.读者、系别、专业实体关系的E-R图,如图3.6所示:
图3.6
6.借书关系E-R的图,如图3.7所示:
7.还书关系的E-R图,如图3.8所示:
图3.8
8.续借关系E-R图,如图3.9所示:
9.罚款实体的E-R图,如图3.10所示:
图3.10
10.管理员实体的E-R图,如图3.11所示:
图3.11
2〉软件开发阶段
(4)概要设计(总体设计)
基本任务:
建立软件结构
阶段成果:
总体设计说明书
4.1系统功能模块划分
4.1.1系统功能主要包含模块:
表4.21
功能序号
功能名称
功能说明
1
借阅管理
包含用户的借书,还书,续借,借阅信息的查询及修改
2
图书管理
包含对图书的增加,删除,修改,查询。
3
当前借阅信息查询
包含对用户借阅信息的查询
4
图书在架状态查询
包含对图书在架的信息查询
5
读者信息管理
对读者信息的增删改查。
、系统主功能模块细化
1.新书入库模块:
可用一个函数insert_new_book(char
book_num[],charbook_name[],intnumber)来实现。
形参分别为:
书名,书
号,以及有多少本书要入库,再根据要求将信息写入文件boot.dat中
2.查询模块:
可用一个函数voidfind_book(charbook_num[])来实现。
找到就输出此书全部信息,找不到就输出查找失败信息。
3.借阅管理模块:
(1)读者的信息可以在系统初始化时完成.即可用初始化函数init_reader()来实现对读者的初始化。
因为读者初始化函数也只是在系统第一次运行的时候执行一次,故也可以根据是否存在reader.dat文件来确定是否执行此函数。
(到现在可以发现在系统初始化函数里,至少已经需要调用两个初始化函数了)
(2)借书登记模块:
可用一个函数borrow_book(char
reader_num[],charbook_num[])来实现。
在函数中要分别判断:
a.该读者的编号是否已经存在,如果不存在,贝U提示错误。
b.该读者的借阅书是否已满(即最多只能借1本书)如果是,则提醒
该用户先去还书。
c.输出的书号对应的书是否存在,如果不存在,则提醒读者不存在此书。
借书过程完成后,则对读者信息里的借书信息写上所借书号,并修改库存量。
(3)还书管理模块:
可用一个函数return_book(charreader_num[],charbook_num[])来实现。
在实现此函数时要判断:
a.该读者的姓名是否已经存在,如果不存在,贝U提示错误。
b.该读者是否已经借阅此书。
如果没有,则提示错误。
c.还书过程完成后,则对读者信息里的借书信息清零,并修改库存量。
3.输出图书和读者信息:
可分别用模块print_book()和print_reader()来
实现,直接从book.dat文件和reader.dat文件中读取信息并输出
4.退出系统:
可用一个函数exit()来实现。
首先将信息保存到文件,释放动态创建的内存空间,再退出此程序。
4.2基本设计概念
4.2.1处理流程图例说明
1.处理过程:
2.数据存储:
3.条件判断:
4.数据流:
(单向)
5.数据流:
(双向)
6.外部实体:
7.带有变动历史的7
过程、模块
、系统主功能模块结构图:
退出系统
输出读者信自沁
图书管理系统
输出图书信自心
借书登记
新书入库
图书查询
启动系统
422图书管理系统的基本设计概念和处理流程:
▼
系统总体结构图:
借阅办理流程图
BookG选择图书
图书在架状态
c图书借阅表c
图书管理流程图
图书在架查询
4.3数据库
4.3.1索引
建立索引是加快查询速度的有效手段,数据库的每一个表建立了主键,
主键由一个或几个字段组成,每一个表都按主键建立了索引,部分表为了满足查询和排序的需要,除建立主索引外,还建立了次索引。
例如在查询时要用到
“馆藏号”、“作者”、“题名”等条件来查找图书,因此,在书目表上除了对主键“馆藏号”建立了主索引外,也对“作者”、“书名”等建立了次索引。
视图是从一个或几个基本表导出的表,它是定义在基本表之上的,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,数据仍然存放在原来的基本表中。
通过定义视图,可以使用户眼中的数据库结构简单、清晰,并可以简化用户的数据查询操作。
由于本系统数据表较多,表中的字段多,为了简化对表的操作,我们创建了图书—按书名查询、期刊—按刊名查询、期刊—按编辑部查询、借阅规则查询、待还书查询、超期记录查询等30余个视图。
3.6存储过程存储过程是一段经过编译的程序代码,存放在数据库服务器端。
通过调用适当的存储过程,可在服务器端处理大量数据,再将处理结果送到客户端。
这样可减少数据在网络上的传送,消除网络阻塞现象;例如:
要查询某条记录,若该记录在表中的顺序号是10000,不采用存储过程,服务器将从1至10000条记录数据逐条送至客户端,采用存储过程后,由于过程是经过编译的并且是在本地,不需要通过网络,因此能很快查出所需记录并将结果送到客户端,大大减少了网上数据传输量。
存储过程另一好处是可供不同的开发工具调用,如
PB、VC、ASP、Delphi等开发工具均可调用。
实际上调用同一存储过程完成的。
本系统建立了60多个存储过程,实现诸如借还书处理、新书入库统计、
编目入馆藏、读者统计、生成索书号等功能。
条形码的使用条形码具有唯一性和一次输入后就可反复使用的优点,利用条形码技术作为信息快速输入的手段可迅速且不易发生错误地处理图书管理业务。
本系统使用条形码作为图书和读者的标识,实现标识的唯一性。
使用条码后,能够使图书管理工作更加简单、快捷、不易出错。
例如,当一本书具有唯一条形码标识,每位读者也具有唯一条形码标识时,图书的借阅、查询就十分便捷了。
应用条形码取代了以往填写书袋卡、借书证,核对借阅时间等繁琐的手工劳动。
读者在借书时只要将借书证给工作人员,工作人员只需登录借书系统,用条形码阅读器扫描读者借书证上的条形码,屏幕就会显示出该读者的
信息,包括读者姓名、单位、可借几本书、已借几本书、是否过期、有无罚款等。
如可以借书,工作人员只需用条形码阅读器扫描该读者所需借的书上的条形码符号后,该书的书名和条形码等信息都从数据库中调出显示在屏幕上,自
动记录在该读者的借阅档案中,借书工作即告完成。
一般借一本书仅需1至2秒钟。
操作完后,计算机自动地将该借阅者和借阅的图书号码输入对应数据库中,并自动提示借阅期限。
422数据库逻辑结构设计
本系统使用SQLServer2008将数据划分为图书信息表、图书类别表、图书与图书类别关系表、出版社信息表、图书出版社信息表、读者信息表、系别信息表、读者与系别关系表、专业信息别、读者与专业关系表、系别与专业信息表、图书借阅信息表、图书流通信息表、罚款信息统计表和管理员信息表
15个部分。
下面将各表中的字段进行以下简单介绍:
1.图书信息表
图书信息表是用来存储图书信息的表,由图书编号、ISBN号、书名、作
者和单价等。
其中图书编号为主键。
表3.1图书信息表
中文描述
类型
长度
主键否
可否为空
图书编号
varchar
50
是
否
ISBN号
Char
18
否
否
书名
varchar
50
否
否
作者
varchar
50
否
否
单价
Int
4
否
可
2.图书类别表
图书类别表,记录图书类别。
其中索书号是主键
表3.2图书类别表
中文描述
类型
长度
主键否
可否为空
索书号
varchar
50
是
否
类型名
varchar
50
否
否
3.图书•图书类别关系表
表3.3图书•图书类别关系表
中文描述
类型
长度
主键否
可否为空
图书编号
varchar
50
是
否
索书号
varchar
50
是
否
4.出版社信息表
记录出版社信息,包括出版社名称与出版社编号。
其中出版社号为主键
表3.4出版社信息表
中文描述
类型
长度
主键否
可否为空
出版社号
varchar
50
是
否
出版社名
varchar
50
否
否
5.图书&出版社关系表
记录出版社和图书的对应关系,其中出版社号与图书编号是主键
表3.5图书•出版社关系表
中文描述
类型
长度
主键否
可否为空
出版社号
varchar
50
是
否
图书编号
varchar
50
是
否
出版日期
datetime
8
否
否
记录读者的详细信息,包含读者编号、姓名、性别、年龄、可借阅总数、
现借阅数、总借阅数、罚款总数。
其中读者编号是主键。
表3.6读者信息表
中文描述
类型
长度
主键否
可否为空
读者编号
varchar
50
是
否
姓名
varchar
50
否
否
性别
varchar
50
否
否
年龄
varchar
50
否
否
可借阅总数
int
4
否
可
现借阅数
int
4
否
可
总借阅数
int
4
否
可
罚款总数
int
4
否
可
7.系别信息别
记录系别信息,包括系别名与系别号。
其中系别号是主键
表3.7系别信息表
中文描述
类型
长度
主键否
可否为空
系别号
varchar
50
是
否
系别名
varchar
50
否
否
记录读者与系别的对应关系,其中读者编号与系别号是主键
表3.8读者•系别关系信息表
中文描述
类型
长度
主键否
可否为空
读者编号
varchar
50
是
否
系别号
varchar
50
是
否
9.专业信息表
记录专业信息,包括专业名称与专业编号
表3.9专业信息表
中文描述
类型
长度
主键否
可否为空
专业号
varchar
50
是
否
专业名
varchar
50
是
否
10.读者&专业关系信息表
记录读者与专业的对应关系,其中,读者编号与专业号是主键
表3.10读者•专业关系信息表
中文描述
类型
长度
主键否
可否为空
读者编号
varchar
50
是
否
专业号
varchar
50
是
否
表3.11系别•专业关系信息表
中文描述
类型
长度
主键否
可否为空
系别号
varchar
50
是
否
专业号
varchar
50
是
否
12.图书借阅信息表
记录图书当前的借阅状态,通过图书编号与读者编号两个主键,关联其他
表格信息。
其中读者编号与图书编号是主键。
表3.12图书借阅信息表
中文描述
类型
长度
主键否
可否为空
图书编号
varchar
50
是
否
读者编号
varchar
50
是
否
借书日期
datetime
8
否
否
还书日期
datetime
8
否
否
13.图书流通统计表
记录图书流通的详细信息,包括馆藏总数、借出次数、借出数量。
其中图
书编号是主键。
表3.13图书流通统计表
中文描述
类型
长度
主键否
可否为空
图书编号
varchar
50
是
否
馆藏总数
varchar
50
否
否
借出数
int
4
否
是
借出次数
int
4
否
是
14.罚款信息统计表
记录读者的罚款信息。
其中图书编号与读者编号是主键
表3.14罚款信息统计表
中文描述
类型
长度
主键否
可否为空
图书编号
varchar
50
是
否
读者编号
varchar
50
是
否
还书日期
dateti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 设计 图书 管理 系统 完整