图书管理系统需求报告1.docx
《图书管理系统需求报告1.docx》由会员分享,可在线阅读,更多相关《图书管理系统需求报告1.docx(22页珍藏版)》请在冰豆网上搜索。
图书管理系统需求报告1
图书管理系统需求分析
1、引言
1.1编写目的
编写本报告的目的是明确本系统的详细需求,提供给使用单位确认系统的功能和性能,并在此基础上进行修改和完善,同时作为设计人员进行软件设计的依据和使用单位的验收标准。
1.2项目背景
软件名称:
图书管理系统
项目开发者:
扬州工业职业技术学院******班***
用户单位:
*********学院
1.3参考资料
张权范《软件工程》清华大学出版社北京交通大学出版社
陈承欢等《C#程序设计案例教程》高等教育出版社
胡国胜易著梁《数据库技术与应用—SQLServer2008》机械工业出版社
2、任务概述
2.1目标
本系统通过计算机技术实现图书信息和用户信息的管理,还包括如下目标:
减少人力成本和管理费用;
提高信息的准确性和信息的安全;
改进管理和服务;
良好的人机交互界面,操作简便;
2.2用户特点
本系统的最终用户是面向管理员(图书馆管理员和其他管理人员)和读者(教师和学生),他们都具有一定的计算机基础知识和操作计算机的能力,是经常性用户。
系统维护人员是计算机专业人员,熟悉操作系统和数据库,是间隔性用户。
2.3需求概述
在图书管理系统中,管理员为每个读者建立一个账户,账户内存储读者个人的详细信息,并依据读者类别的不同给每个读者发放借书卡(提供借书卡号、姓名、部门或班级等信息)。
读者可以凭借书卡在图书馆进行图书的借、还、续借、查询等操作,不同类别的读者在借书限额、还书期限以及可续借的次数上要有所不同。
借阅图书时,由管理员录入借书卡号,系统首先验证该卡号的有效性,若无效,则提示无效的原因;若有效,则显示卡号、姓名、借书限额、已借数量、可再借数量等信息,本次实际借书的数量不能超出可再借数量的值。
完成借书操作的同时要修改相应图书信息的状态、读者信息中的已借数量、在借阅信息中添加相应的记录。
归还图书时,由管理员录入借书卡号和待归还的图书编号,显示借书卡号、读者姓名、读书编号、读书名称、借书日期、应还日期等信息,并自动计算是否超期以及超期的罚款金额,若进行续借则取消超期和罚款等信息;若图书有损坏,由管理员根据实际情况从系统中选择相应的损坏等级,系统自动计算损坏赔偿金额。
完成归还操作的同时,修改相应图书信息的状态、修改读者信息中的已借数量、在借书信息中对相应的借书记录做标记、在还书信息中添加相应的记录。
图书管理员不定期地对图书信息进行添加、修改和删除等操作,在图书尚未归还的情况下不能对图书信息进行删除。
也可以对读者信息进行添加、修改、删除等操作,在读者还有未归还的图书的情况下不能进行删除读者信息。
系统管理员主要进行图书管理员权限的设置、读者类别信息的设置、图书类别的设置以及罚款和赔偿标准的设置、数据备份和数据恢复等处理。
2.4功能层次图
3、数据描述
3.1静态数据
图书:
图书编码,书名,书号,图书类别,作者,出版社,出版时间,单价
管理员:
用户名,密码,权限,姓名
读者:
借书卡号,姓名,性别,读者类别,所属系部,部门或班级
3.2动态数据
输入数据:
鼠标对按钮的点击,查询方式,查询关键字,新建图书项,新建读者项,图书项、读者项记录的修改,图书借还以及注销操作时的输入信息,受限操作所需的密码等。
输出数据:
查询关键字所确定的数据库子集,统计结果,操作成功或失败的消息,图书借还以及注销操作时的结果信息。
3.3数据库描述
数据库采用SQLServer数据库。
3.4数据流图与数据字典
1、数据流图
(1)顶层数据流图
(2)0层数据流图
(3)1层数据流图
◆1.读者信息管理
◆2.图书信息管理
◆3.图书借还管理
◆4.信息统计
◆5.系统设置
2、数据字典
(1)数据接口描述
◆名称:
图书管理员
简要描述:
完成登记注册、统计查询、借书、还书等操作;
有关数据流:
读者信息,图书信息,统计条件信息,读者情况,图书情况,统计结果;
◆名称:
系统管理员
简要描述:
完成用户设置,读者类别设置,图书类别设置,罚金标准设置等操作;
有关数据流:
用户信息,读者类别信息,图书类别信息,罚金标准信息;
(2)加工逻辑词条描述
◆加工名:
录入新读者
加工编号:
1.1
简要描述:
将新的读者信息登记到读者信息表中
输入数据流:
新读者数据,读者类别
输出数据流:
有效读者信息
加工逻辑:
输入读者信息
选择读者类别
执行SQL语句,将完整的读者信息写入读者信息表
◆加工名:
读者信息修改
加工编号:
1.2
简要描述:
修改指定的读者信息(卡号、已借书本数不可修改)
输入数据流:
待修改的读者信息
输出数据流:
修改后的读者信息
加工逻辑:
输入读者编号
执行SQL语句,从读者信息表中找出该读者的详细信息
修改除借书卡号和已借书本数以外的信息
执行SQL语句,将修改后的读者信息写入读者信息表中
◆加工名:
读者信息删除
加工编号:
1.3
简要描述:
将已归还全部图书的指定读者信息从读者信息表中删除
输入数据流:
待删除的读者信息,借书状况信息
输出数据流:
待删除的读者信息
加工逻辑:
输入读者借书卡号
执行SQL语句,从读者信息表中找出该读者的详细信息
IF该读者处于借阅状态的书本数>0THEN
提示“该读者还有未还的图书,暂时不能删除”
ELSE
执行SQL语句,将该读者的信息从读者信息表中删除
ENDIF
◆加工名:
添加图书;
加工编号:
2.1;
简要描述:
将新购入的图书登记入库,便于读者随时借阅;
输入数据流:
新图书信息,图书类别;
输出数据流:
有效图书信息;
加工逻辑:
输入新图书信息
选择相应的图书类别
执行SQL语句,将新书信息写入图书信息表,记录登记人姓名,图书状态设置为“在库”
◆加工名:
修改图书
加工编号:
2.2
简要描述:
将修改后的图书信息(图书编号和状态不能修改)重新写入图书信息表中;
输入数据流:
待修改的信息;
输出数据流:
修改的图书信息
加工逻辑:
输入图书编号
执行SQL语句,从图书信息表中查询该图书的详细信息
IF图书状态为“借阅中”THEN
提示“图书不在库,不能修改”
ELSE
执行SQL语句,将修改后的图书信息写入图书信息表
ENDIF
◆加工名:
删除图书
加工编号:
2.3
简要描述:
将报废的或已经遗失的图书从系统中删除
输入数据流:
待删除信息,图书状态信息;
输出数据流:
删除的图书信息
加工逻辑:
输入图书编号
执行SQL语句,从图书信息表中查询该图书的详细信息
IF图书状态为“借阅中”THEN
提示“图书处在“借阅中”,暂时不能删除”
ELSE
执行SQL语句,将该图书信息从图书信息表中删除
ENDIF
◆加工名:
查询图书
加工编号:
2.4
简要描述:
按设置的条件从图示信息表中查询满足条件的图书信息
输入数据流:
图书查询条件,图书信息;
输出数据流:
图书查询结果
加工逻辑:
输入查询条件
执行SQL语句,从图书信息表中查询满足条件图书的详细信息
◆加工名:
借书管理
加工编号:
3.1
简单描述:
通过借书卡号和可借的图书编号完成图书借阅,并在相应的表中添加记录
输入数据流:
读者信息,图书信息,操作员姓名,预借信息
输出数据流:
已借数,借书信息,图书状态
加工逻辑:
执行SQL语句,分别从读者信息表和图书信息表读取指定的读者信息图书信息
IF读者借书限额已满THEN
提示“借书限额已满,暂时不能借阅新书”
ENDIF
IF图书状态为“借阅中”THEN
提示“该书目前不在库,不能借阅”
ENDIF
IF续借信息为真THEN
IF该读者的续借限额未满THEN
执行SQL语句,将借书信息表中相应记录的限还日期延长
返回借书界面,清空有关文本框
ELSE
提示“续借限额已满,不能再续借”
ENDIF
ELSE
执行SQL语句,读者信息表中该读者的已借书数增值
执行SQL语句,图书信息表中该书的状态更改为“借阅中”
执行SQL语句,将图书编号、书名、借书卡号、读者姓名、借书日期、限还日期、当前操作员姓名等信息写入借书信息表中
返回借书界面,清空有关文本框
ENDIF
◆加工名:
续借管理
加工编号:
3.2
简单描述:
在还书的当前日期超过借书信息表中的限还日期的情况下,产生续借信息。
输入数据流:
借书信息
输出数据流:
借书日期
加工逻辑:
执行SQL语句,从借书信息表中查询指定的尚未归还的借书记录
IF当前日期>限还日期THEN
将借书信息中的相应记录的借书日期更新为当前日期
ENDIF
◆加工名:
还书管理
加工编号:
3.3
简单描述:
归还读者借阅的图书,同时使读者的当前借书总数减值,使归还的图书状态为“在库”,使相应的借书记录状态为“已还”。
输入数据流:
预还信息,操作员姓名,罚金金额
输出数据流:
已借数,图书状态,借书记录状态,还书信息
加工逻辑:
执行SQL语句,从借书信息表中查询指定的借书记录
IF过期金额==0AND损坏罚金==0THEN
执行SQL语句,向还书信息表中写入罚金信息为0的含操作员姓名的还书记录
ELSE
执行SQL语句,向还书信息表中写入罚金信息不为0的含操作员姓名的还书记录
ENDIF
执行SQL语句,将图书信息表中该图书状态更改为“在库”
执行SQL语句,将读者信息表中当前读者的当前借书总数减值
执行SQL语句,将借书信息表中相应的借书记录状态更改为“已还”
◆加工名:
计算罚金
加工编号:
3.4
简单描述:
根据罚金标准和违规状况计算罚金金额
输入数据流:
违规状况,罚金标准
输出数据流:
罚金金额
加工逻辑:
从借书信息表中查询指定的借书记录的限还日期
IF当前日期>限还日期THEN
IF续借限额已满THEN
计算超期天数
根据罚金标准产生过期金额
ELSE
办理续借
ENDIF
ENDIF
◆加工名:
图书状态处理
加工编号:
3.5
简单描述:
将由借书操作和还书操作对图书状态的修改写入图书信息表中
输入数据流:
“借阅”状态,“在库”状态
输出数据流:
图书状态
加工逻辑:
IF由借书产生图书状态值THEN
将图书信息表中相应的图书记录的状态更新为“借阅中”
IF由还书产生图书状态值THEN
将图书信息表中相应的图书记录的状态更新为“在库”
◆加工名:
读者已借数处理
加工编号:
3.6
简单描述:
将由借书操作和还书操作对读者已借数值的修改写入读者信息表中
输入数据流:
已借数,已还数
输出数据流:
共借数
加工逻辑:
IF由借书产生已借数THEN
共借数=共借数+已借数
将共借数写入读者信息表中相应读者的相应字段
ENDIF
IF由还书产生已还数THEN
共借数=共借数-已还数
将共借数写入读者信息表中相应读者的相应字段
ENDIF
◆加工名:
图书总量统计
加工编号:
4.1
简单描述:
统计系统中的图书总量或按图书类别统计图书数
输入数据流:
总量统计条件,统计项信息
输出数据流:
图书总量信息
加工逻辑:
IF图书类别不为空THEN
执行SQL语句,统计指定类别的图书数量
ELSE
执行SQL语句,统计所有图书的总量
ENDIF
◆加工名:
图书借阅排行
加工编号:
4.2
简单描述:
统计某一时间区间内借阅次数最多的前几种图书的信息(图书编号、书名、借阅次数)
输入数据流:
图书借阅统计条件,图书借阅信息
输出数据流:
图书借阅排行信息
加工逻辑:
选择时间区间、统计方式和数量
执行SQL语句,从借书信息表中查询指定条