图书管理系统课程设计Word格式文档下载.docx
《图书管理系统课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统课程设计Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
(2)读者可借阅在库图书;
(3)在规定期限内借阅者归还借阅图书;
(4)读者在不违规情况下可继续借阅已借阅图书;
(5)读者可以预约图书。
3)、系统管理员管理系统
(1)系统管理员通过系统管理员身份认证进入系统管理员管理系统;
(2)系统管理员可以对图书进行图书管理(如:
查询、删除、修改图书资料或图书分类查询修改、删除管理);
(3)系统管理员可以对借阅者进行学生管理(如:
查询、删除、修改借阅者信息或借阅者类别修改、删除管理,查询浏览借阅者详细资料,包括借阅次数,登陆次数,最后登陆时间);
4)、罚款管理系统
(1)罚款管理员通过罚款管理员身份认证进入罚款管理系统;
(2)罚款处理可以读取借阅信息表再生成超时罚款信息表,通过超时罚款信息表可以生成罚款单给罚款管理员;
(3)图书管理员告知罚款系统图书超时未还,经罚款管理员鉴定后,对图书进行注销处理且罚款管理员对借阅者进行罚款处理。
DFD顶层流程图
管理员
ER模型图
程序流程图
开始
图书管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。
在定义的图书管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明。
(1)数据项描述
1)数据项名称:
借书证号
含义说明:
惟一标识一个借书证类型:
字符型
长度:
50
逻辑关系:
不允许为空
2)数据项名称:
用户名
读者的名称
类型:
20
3)数据项名称:
密码
对用户名和操作员管理员进行加密类型;
10
允许为空
4)数据项名称:
性别
5)数据项名称:
所在系别
类型;
6)数据项名称:
所在班级
7)数据项名称:
操作员名称
30
8)数据项名称:
操作员简称
惟一标识一个操作员类型:
9)数据项名称:
操作员级别
对操作员和管理员进行区分类型:
10)数据项名称:
图书编号
惟一标识一个图书
11)数据项名称:
图书名称类型:
12)数据项名称:
作者
13)数据项名称:
14)数据项名称:
15)数据项名称:
出版社
16)数据项名称:
出版时间
日期时间型
8
17)数据项名称:
价格
整型
4
18)数据项名称:
备注
200
19)数据项名称:
借书日期
日期时间
20)数据项名称:
还书日期
(2)数据结构描述
1)数据流名称:
用户情况
定义了一个读者的有关信息
组成结构:
用户情况二用户名+借书证号+密码+性别+所在系别+所在班级
2)数据流名称:
操作员情况
定义了一个操作员的有关信息
组成结构:
操作员情况二操作员名称+操作员简称+操作员级别+操作员密码
3)数据流名称:
图书情况
定义了一个图书的有关信息
图书情况二图书编号+图书名称+作者+出版社+出版时间+价格+备注
(3)数据流(非数据项)说明
借书单
含义:
读者借书时要填写的单据
来源:
读者
去向:
审核借书
数据流量:
250份/天
组成:
借书单二借书证号+图书编号+借书日期
还书单
读者还书时要填写的单据
审核还书
还书单二图书编号+还书日期
(4)数据存储说明
1)数据存储名称:
图书数据表
存放图书的有关信息
图书编号+图书名称+作者+出版社+出版时间+价格+备注说明;
书号具有惟一性和非空性
2)数据存储名称:
用户信息表
存放读者的注册信息
用户名+借书证号+密码+性别+所在系别+所在班级
说明:
证号具有惟一性和非空性,性别只能是男和女
3)数据存储名称:
借书记录
存放读者的借书,还书信息
借书证号+图书编号+借书日期+还书日期
要求能够立即查询
(5)处理过程说明
1)处理过程名称:
图书管理
输入:
图书情况,
输出:
图书记录
处理说明:
对馆内所有图书按图书编号进行管理,将图书数据数据化,存储图书数据表中。
2)处理过程名称:
读者管理
读者情况,
读者记录
建立读者信息表,对读者进行统一编号,实现读者记录表的
增删改维护功能。
3)处理过程名称:
查看数U
借书请求,读者,,
借书记录,图书信息
实现根据图书编号等查询图书。
4)处理过程名称:
借书处理
图书情况,读者,借书记录
输岀:
确认读者符合借书条件,办理借书手续。
5)处理过程名称:
还书处理
对照相应的图书编号可办理还书手续。
6)处理过程名称:
安全管理
操作员情况,用户悄况
操作员级别,操作员记录,用户记录
通过用户名和口令,确认用户身份,保证系统的安全型。
头葩2
实验内容:
采用面向数据流的设计方法设计系统软件结构,使用Visi。
画出软件层次图。
(2学时)
实验要求:
1学习总体设计的基本方法;
2掌握面向数据流的设计方法;
3通过对实脸
(一)中DFD图的分析,使用"
sio画出软件层次图。
4编写出初步的系统设计报告
实验结果:
顶层数据流图:
Q!
g
(1):
登陆子系统
(2):
管理子系统
(3)查询子系统
第—层图:
处理新书购入
入库单
瞬档皺件
(2)处理学生借书
I
入学忖段T花査学生欠腓况{
罚款单
学生文件
II加£
欠款超额.拒绝借书,
系统艸
学生还书
接受借瓠焉入图书信思
借书成功
当舸期
更新数据畀
借书文件
3):
处理
啣一一癥
m学生文件辭目敕件臘草
(4):
处理图书注销
(5)处理学生信息查询
(6)处理图书信息查询
肿文件丙书目录対
实验三
完成实验
(二)中的两到三个主要功能模块的详细设计;
编写部分代码(2学时)要求:
1学习详细设计的基本方法;
2学握详细设计图形工具的使用方法;
3给出主要功能模块的算法
4选择程序设计语言编写主要功能模块代码
图书基本信息录入模块
首先输入图书录入的编号(不为0)判断是否有重复的编号,若有,则提示用户该书已存在,若无则继续录入书名、作者、出版社、单价。
voidputin()/*上义录入函数*/
{
inty=l:
system(”cis”);
while(y)
printf(At请输入您的书籍的书号门;
scanf(,,%s,,,library.book[Iibrary.count].number);
printf(At请输入书名:
”);
scanf(,,%sMJibrary.book[Iibrary.count].nanie);
printf(At请输入作者名门;
scanf(H%s,\library.book[library.count].author);
printf(N请输入出版社:
scanf(”%s”,library.book[library・coum]・publish);
printf(At输入岀版时间:
"
);
scanf(H%s'
\library.book[library.count].time);
printf(At请输入该书的价格:
”);
fflush(stdin);
scanf(H%f\&
library.book[librar}f.count].price);
library.count++;
printf(n\n是否继续录入(1•继续;
0,退出录入)「);
fflush(stdin);
scanf(H%dH,&
y);
if(y!
=D
y=o;
break:
save();
图书基本信息査询模块
用户先选择图书查询方式(按书名查找或按书号查找)输入图书书名或书号后,查找出该图书是否存在,若存在,则显示该图书信息,若不存在则提示用户无此图书信息。
chars3[20];
intflag=l;
printf(Hi^输入要査询的书的作者:
H);
scanfs3),
printfC图胡号L图书伽作者伽出版社\t出版日期业图书价格\n”);
for(inti=0;
i<
library.count;
i++)
if(strcmp(s3,library.book[i].author)==0)
flag=O;
printf(,,%s\t%s\t%s\t%s\t%s\t%6.2f\n,\library.book[i].number,library.book[i].name,librar