阅读目录
一、引言
1.1编写目的
软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。在软件工程项目中,首先要获得用户的需求,通过对软件需要的提取、分析、文档和验证,为进一步的设计和实现提供数据。软件需求与其他活动也密切相关,如软件测试、配置管理和质量管理等。
1.2项目背景
本项目的名称:图书管理系统。
设计并实现一个将各种图书管理的服务功能结合起来的管理信息系统十分重要,可以有效地节约资源并且有效的存锤、更新和查询信息,提高工作和服务的效率。
二、任务概述
2.1用户特点
最高用户是图书管理员和读者,图书管理员需要修改读者信息,修改书目信息,查看所有借还日志等;读者仅可以修改个人信息、借阅或归还书籍和查看自己的借还日志。
三、需求
3.1用户需求
图书管理员:在图书管理系统中,管理员为每个读者建立一个账户,账户内存储读者个人的详细信息,并依据读者类别的不同给每个读者提供读者证号、姓名等信息。归还图书时,由管理员录入待归还的书籍编号,显示读者证号、读者姓名、书籍编号、读书名称、借书日期、应还日期等信息。图书管理员不定期地对图书信息进行修改和删除操作,也可以对读者信息进行添加、修改、删除 等操作。
读者:读者可以凭读者证号在图书馆进行图书的借、还、续借、查询等操作,不同类别的读者在借书借阅图书时,由管理员录入读者证号,系统首先验证该号的有效性,若无效,则提示无效的原因;若有效,则显示读者证号、姓名、借书限额、已借数量、可再借数量等信息,本次实际借书的数量不能超出可再借数量的值。完成借书操作的同时要修改相应图书信息的状态、读者信息中的已借数量、在借阅信息中添加相应的记录。
3.2功能需求—功能划分
3.3功能描述
3.3.1 图书基本信息管理
图书基本信息管理功能主要由系统管理员来进行维护。
主要过程是:以管理员身份登录到图书管理系统中,查询、修改、图书的书名、流水号、库存量等信息和添加新书和删除旧书等。这些信息都会被记录到相应的数据库中。
1. 图书基本信息包括书籍编号,书名,作者,出版日期,简介,语言和库存数量等;
2. 添加新书:需要输入书籍编号,书名,作者,出版日期,简介,语言和库存数量等;
3. 删除旧书:输入书籍编号或者输入书名,查询得到相应的旧书删除其信息;
4. 查找图书:输入书籍编号或书名或作者或者出版日期查找相应的图书并显示其信息;
5. 查找所有图书:查找数据库中存放的所有图书信息。
6.图书管理:对图书进行分类存储,在入库和出库的时候按图书类别进行管理,对现有图书信息进行管理(查询、修改)
3.3.2 用户管理
用户管理功能主要由图书管理员来进行维护,该功能只有以图书管理员身份登录时才会出现。
主要过程是:图书管理员身份登录到图书管理系统中的用户管理功能模块中,添加、删除、查询和修改数据库中的用户信息。
1.用户基本信息包括姓名,读者证号,性别,电话,邮件,学院,专业等;
2. 添加用户:需要对输入的读者证号,姓名,性别,电话,学院,专业等;
3. 删除用户:输入读者证号,显示用户信息,然后确认删除;
4. 修改用户信息:输入读者证号,显示用户信息,根据需求修改相应信息;
5. 查询用户信息:输入读者证号,显示对应用户信息;
6. 显示所有用户信息:调用功能,显示所有用户信息。
3.3.3借书
借书功能需要对用户的身份进行确认,然后对选择的图书信息进行查询(在数据库中查询图书的库存量,如果库存为0则拒绝借阅,否则允许借阅)。该功能也是由图书管理员维护的;
借书过程:图书管理员需要先输入读者证号确认读者信息,根据图书的书籍编号或图书名从数据库中找到相应记录,在屏幕中打印出该图书的详细信息,用户确认借书后,该图书的库存量减去该用户借阅的本数,并且打印该读者信息和借阅情况信息(借书记录);查看用户所借书目,和该书的详细信息和归还日期;
1. 借书记录基础信息:借书的书籍编号,借书人读者证号,姓名,图书名称,借出时间,归还时间,状态。
2. 添加借书记录:输入借书人的读者证号,姓名,书本名称,借出时间,归还时间,状态:借出。
3. 查询:输入需要借书的书籍编号或输入读者证号,显示对应信息。
4. 显示所有借书信息:调用功能,显示所有用户信息。
如果借书成功,可借时间为30天,自动计算还书日期。
3.3.4还书
还书功能也是基于图书管理员的,该功能需要先对用户信息进行确认,然后将用户归还的图书信息(主要是库存量)更新到数据库中。
还书过程:还书时需要图书管理员先输入读者证号确认读者信息,然后输入图书的书籍编号,然后从借阅文件上找到相应记录,记录还书日期后写入借阅历史文件,并从借阅文件上删去相应记录,将借阅记录中的状态改成:以归还。
1. 还书记录基础信息:还书的书籍编号,还书人的读者证号,姓名,图书名称,归还时间,状态。
2. 查询:输入需还书的书籍编号,显示还书情况;输入读者证号,显示用户还书记录。
3. 显示所有还书记录信息:调用功能,显示所有用户信息。
如果输入用户没有借这本书,就输出相应的提示信息
3.3.5管理员登录
用户分类:1.图书管理员
图书管理员信息:用户名,密码。
图书管理员功能:登陆之后显示相应管理员的模块。
四、数据描述
4.1静态数据
读者类别:种类名称、借书数量、借书期限
读者信息:读者姓名、读者编号、性别、电话、邮件、读者类别、学院、专业、登记日期、已借书数量
借阅信息:书籍编号、读者编号、读者姓名、书籍名称、出借日期、归还日期
图书类别:类别名、类别号
书籍信息:书籍编号、书名、类别、作者、出版社、出版日期、登记日期、是否被出借
管理员管理:管理员名、密码
4.2动态数据
输入数据:自动输入关键字,查询书籍编号;
新建图书项、读者项;
图书项、读者项相应记录更改;
借阅、返还、丢失注销时的图书的书籍编号;
输出数据:查询关键字确定的数据库记录;
信息录入,删改结果(成功或失败);
图书借阅,返还,丢失注销等操作结果;
内部数据:查询操作建立的索引。
4.3 UML五类图
系统基本用例图:
图书管理模块用例图:
读者管理用例图:
4.4数据流程
4.5逻辑设计
共有6个表:
1. 图书书目表book_info
名 |
类型 |
长度 |
小数点 |
NULL |
用途 |
键 |
book_id |
bigint |
20 |
0 |
否 |
书籍编号 |
✔ |
name |
varchar |
20 |
0 |
否 |
书名 |
|
author |
varchar |
15 |
0 |
否 |
作者 |
|
publish |
varchar |
20 |
0 |
否 |
出版社 |
|
introduction |
text |
0 |
0 |
是 |
简介 |
|
language |
varchar |
4 |
0 |
否 |
语言 |
|
price |
decimal |
10 |
2 |
否 |
价格 |
|
pub_date |
date |
0 |
0 |
是 |
出版时间 |
|
class_id |
int |
11 |
0 |
是 |
分类号 |
|
number |
int |
11 |
0 |
否 |
剩余数量 |
2. 图书分类表class_info
名 |
类型 |
长度 |
小数点 |
NULL |
用途 |
键 |
class_id |
int |
11 |
0 |
否 |
类别号 |
✔ |
class_name |
varchar |
15 |
0 |
否 |
类别名 |
3. 读者信息表reader_info
名 |
类型 |
长度 |
小数点 |
NULL |
用途 |
键 |
reader_id |
bigint |
20 |
0 |
否 |
读者证号 |
✔ |
name |
varchar |
10 |
0 |
否 |
姓名 |
|
sex |
varchar |
2 |
0 |
否 |
性别 |
|
phone |
bigint |
20 |
0 |
否 |
电话 |
|
|
varchar |
25 |
0 |
否 |
邮件 |
|
profession |
varchar |
30 |
0 |
是 |
专业 |
|
academy |
varchar |
30 |
0 |
是 |
学院 |
4. 借阅信息表lend_list
名 |
类型 |
长度 |
小数点 |
NULL |
用途 |
键 |
reader_id |
bigint |
20 |
0 |
否 |
读者证号 |
✔ |
name |
varchar |
10 |
0 |
否 |
姓名 |
|
sex |
varchar |
2 |
0 |
否 |
性别 |
|
phone |
bigint |
20 |
0 |
否 |
电话 |
|
|
varchar |
25 |
0 |
否 |
邮件 |
|
profession |
varchar |
30 |
0 |
是 |
专业 |
|
academy |
varchar |
30 |
0 |
是 |
学院 |
5. 数据库管理员表admin
名 |
类型 |
长度 |
小数点 |
NULL |
用途 |
键 |
admin_id |
bigint |
20 |
0 |
否 |
账号 |
✔ |
password |
varchar |
15 |
0 |
否 |
密码 |
|
username |
varchar |
15 |
0 |
是 |
用户名 |
4.6数据库E-R图
五、性能需求
5.1经济可行性
1)图书管理系统的开发成本低;
2)对其系统的维护成本低;
3)该系统能提高管理者的工作效率,降低了一定的人员成本。
5.2技术可行性
运行于Windows10 的具有win64 API的操作系统之上,由 eclipse编写
5.3适应性
满足运行环境在允许操作系统之间的安全转换和与其他应用软件的独立运行要求。
5.4系统的开放性和可扩充性
Java图书管理系统在开发过程中,应该充分考虑以后的可扩充性,用户查询的需求应不断地更新和完善,要通过系统的开放性来完成,即系统应是一个开放系统,可以简单的加入和减少系统的模块,配置系统的硬件。
六、总结
本报告是在组员知识、经验各方面都较为欠缺的情况下写出来的,可能会有很多不足,对图书馆管理业务逻辑、管理模式等方面较为陌生,在需求分析的时候条理不太清晰,有点凌乱。尽管本系统还有很多不足之处,但尽可能的做到了基本信息全面、需求分析和软件系统要点明朗、基本能够全面的表达出软件系统的各方面的要求和细节。
经过本次的学习,基本了解怎样去写软件需求分析报告,基础的流程有所掌握,报告是软件开发的关键,对能否成功开发出一款好的软件起着决定性的作用。在写报告的过程中,更重要的收获是学习到了设计系统的思维方法,开发一个软件并不只是写代码这么简单。
参考文献
[1]豆丁网:http://www.docin.com/p-523746049.html&isPay=1
[2]李爱萍 《软件工程》 人民邮电出版社
[3]博客:hhttps://www.cnblogs.com/zhangxiaopeng/p/4808289.html
[4]道客巴巴:http://www.doc88.com/p-3169070326742.html