这个实验是大二下学期的课设,课的名字是软件综合实践一,主要是通过面向对象的思想来实现一个综合的系统。因为之前程序设计基础时,对图书管理系统比较熟悉,而且对于Java的理解也没有那么深刻,所以决定做一个二手书管理系统,相对来说比较好实现一些。
我知道各位点进来是为了什么,我也曾作为(目前也是)你们其中的一份子。不可否认的是,模仿是一种重要的学习方法,但是同时也请注意,模仿,不是抄袭!
源代码是永久有效的,当然里面也会有很多小bug,但是不影响使用,数据库是老师的要求,但是我还是用文件操作实现的,里面所有文件的目录都是用根目录来写的,所以在下载后直接打开就能运行,不需要修改文件的位置。
建议使用idea打开,因为就是用idea实现的,当然vscode配置了Java环境也是可以的。
图二十九用户主菜单界面
图三十用户个人信息管理界面
图三十一用户修改当前密码界面
图三十二用户修改当前密码成功界面
图三十三用户充值服务界面
图三十四用户充值成功界面
图三十五用户查询余额界面
图三十六用户图书管理界面
图三十七用户发布图书界面
图三十八用户发布图书成功界面
图三十九发布图书后文件存储成功界面
图四十用户购买图书界面(查询)
图四十一用户购买图书成功界面
图四十二用户查询个人订单界面
图四十三图书查询界面
图四十四通过书号查询图书界面
图四十五查询结果界面(书号)
图四十六通过书名查询图书界面
图四十七查询结果界面(书名)
图四十八图书信息显示界面
图五十管理员主菜单界面
图五十一用户管理界面
图五十二管理员添加用户界面
图五十三修改用户信息界面(查找)
图五十四修改用户信息界面
图五十五成功删除用户界面
图五十六删除用户以后文件存储成功界面
图五十七查询用户信息界面(通过账号)
图五十八管理员修改密码界面
图五十九管理员图书管理界面
图六十管理员修改图书信息界面
图六十一图书下架界面
图六十二图书下架后文件存储成功界面
图六十三图书信息显示界面
图六十四管理员图书交易管理界面
图六十五图书买卖信息查询界面
图六十六用户买卖信息查询界面
实现的具体流程为:从main函数进入主程序,然后通过Menus菜单类进行选择为用户还是管理员,进一步进入具体的方法和实现类,使用菜单类的原因是因为后面好用图形界面对于每一个方法进行实现。放在中间的监听焦点事件类JTextFieldHintListener主要实现了所有对话框的显示文字提示功能,Actors包中是三个实体类。
用户图书管理中的发布图书和购买图书是该系统的核心功能。
这里以发布图书为例介绍核心代码:
分析:在书写每一处方法时,我们先考虑的是底层逻辑,然后再考虑该逻辑的图形界面,可以这么说,在没考虑图形界面之前,用控制台操作源代码是完全可行的,这里也作为自己以后用面向对象方法做项目的模式。
说实话,发布图书的逻辑并不难理解,就是从输入框获取用户输入的图书信息后,将信息写入Booklist文件里并存储,后面查询图书以及购买图书只需要使用文件里的数据即可。图形界面简单介绍一下,使用JFrame架构,添加五个提示标签,然后通过在前面介绍的焦点事件监听类进行文本框里的文字提示,然后进行分别以下操作:开启默认的隐藏模式(更改为显示),调整组件大小使其自适应,从文本框内获取到用户输入的信息,写入文件。
这里再给出写入文件的方法,如图所示:
目录
实验一需求规格说明书
因为在目前的大学生活中,大学生除了学校发放部分必修书籍经常需要购买选秀教材或其他书籍资料。我们软件工程课题组基于中国青年网校园通讯社就“大学生教材使用情况”给出的公开数据显示:调查总结后发现大多数大学生使用每本教材的平均时长不到6.4周。购置新的图书实在不划算,如果对于大学生开设一个校园图书售卖系统,既可以售卖掉平时同学们一些闲置的书籍,也可以让书籍再次产生价值,所以也体现出了做校园图书售卖系统的重要性和必要性。
在本次项目的前期准备阶段,为了使项目的开发目的和范围更加明确,我软件小组经过多次进行内部会议,并与黑龙江大学多位大学生进行问卷调查,关于在校大学生的闲置图书的问题进行了讨论,总结出了如下需要解决的问题:
本软件的最终用户为大学内全部在校学生,因此本软件在提供完善的业务处理功能的同时,将提供友好、易用、便捷的用户操作界面和简单的使用流程,以方便使用人员更好的进行操作。
本项目的开发平台为Windows操作系统(windowsxp、windowsvista、windows7);
客户端应用平台:windows操作系统;
服务器端应用平台:Linux操作系统(RHLE5.3)
本项目的开发语言为java;国际化语言系统支持中文和英语两种语言;
项目开发周期:6周(2022-3-2~2022-4-8)
基本功能包括:
密码修改:用户输入旧密码再输入两次新密码,若都匹配则成功修改;
发布图书:用户进入该功能,上传图书信息,表明价格,发布;
图书下架:用户进入该功能,可以选择将发布的图书下架;
通过书名、书号、出版社查询图书:用户输入要查询的信息,系统显示图书信息;
图书信息修改:用户进入该功能,修改要修改的图书的信息;
系统管理员的注册:学生提供自己的相应信息,管理员根据信息创建新用户;
用户信息修改:管理员输入账号,修改对应信息;
用户信息删除:管理员输入要删除的账号,再次确认是否删除,确认删除则成功删除;
买卖信息显示:管理员输入要查询的书号,系统显示交易信息;
图书信息管理:管理员进入功能,显示平台中所有图书信息,可以选择输入要删除的书号,系统显示图书信息,再次确认是否删除,确认即成功删除;
充值服务:用户输入充值金额,输入支付密码,交易成功。
图一系统总用例图
用例名
用例类型
业务需求
用例ID
MSM1101
主要业务参与者
每个用户
其他参与者
校园图书售卖系统
描述
前置条件
用户已经拥有了该系统的ID
后置条件
用户在该用例完成后可以进行对自己信息的管理。
触发条件
基本流程
1.用户填入账号
2.用户输入密码
3.系统验证信息
4.验证正确并匹配成功进入系统
替代流程
*a任何时刻发生以下情况,系统将会崩溃
1.用户重启电脑。
2.用户未打开程序。
结束
成功进入系统
实现约束和说明
只能在控制台进行
待解决问题
无法用图形界面实现
(2)注册
注册
MSM1102
系统管理员、用户
校园图书销售系统
每个用户:想要通过系统管理员创建一个属于自己的账号
该用例描述了创建一个新账号的过程
系统管理员成功进入系统
用户可以用新注册的账号进入系统
系统管理员成功进入注册功能
1.系统管理员录入来自用户的用户信息
2.系统判别该手机号是否被注册
3.该手机号未被注册将信息写入文档
4.系统记录此次注册信息
2a.若该手机号已被注册则提示手机号已被注册
成功在系统中注册新用户
目前只能通过手机号来判别是否有相同账户
判别账户相同的方式较单一
图三用户信息管理用例图
(1)信息修改
信息修改
MSM1201
用户、系统管理员
用户:希望能够看到自己的信息并修改。
管理员:希望能够看到用户的信息并修改。
该用例描述了用户或系统管理员查询并修改用户信息的过程。
用户或系统管理员可以查看并更改用户信息。
当用户选择修改信息时该用例被触发。
1.用户输入账号密码进入系统
2.选择信息修改选项
3.进行信息修改
4.系统提示信息修改成功并更改系统用户信息文件
系统成功修改用户信息。
系统管理员可能查询到具有相同信息的账户
无
(2)密码修改
密码修改
MSM1202
用户:希望能够看到自己的密码并修改。
管理员:希望能够替忘记密码的用户进行修改。
该用例描述了用户或系统管理员修改用户密码的过程。
系统管理员可以通过用户提交的申请并更改用户密码。
用户可以登入系统之后修改密码。
当管理员选择修改用户密码时该用例被触发。
当用户选择修改密码时该用例被触发。
1.管理员登入系统。
2.根据用户提供的信息更改用户密码。
3.提交后用户可以按照新密码登入系统。
4.系统记录本次修改密码。
或
2.根据需求选择密码修改的选项
3.输入新密码
4.再次输入新密码
5.系统判别两次密码是否一致
6.提交后系统显示修改成功
7.用户下次可以暗哨新密码登入系统。
8.系统记录本次密码修改。
用户修改时两次输入的密码如果两次输入的新密码不一致则提醒重新输入。
系统成功修改用户密码。
当用户主动更改密码时需要输入两次新密码来确保一致后并加深用户记忆以免遗忘。
图四发布图书用例图
(1)发布图书
发布图书
MSM1301
用户
用户:希望自己能够填写图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息来达到发布图书的目的。
该用例描述了用户填写图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息的过程。
用户成功填写了图书信息。
当用户选择发布图书时该用例被触发。
2.选择发布图书选项
4.选择填写完成
5.系统提示发布成功
6.系统赋予新图书序列号并更新数据库
用户输入信息后没有填写完整信息,系统提示请将全部信息填写完成。
用户成功发布该图书。
只有用户能发布图书信息,系统管理员无权发布图书信息。
目前无法实现用图形界面完成该用例
(2)修改图书信息
修改图书信息
MSM1302
用户:希望自己能够修改图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息。
该用例描述了用户修改图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息的过程。
用户成功修改了图书信息。
当用户选择修改图书信息时该用例被触发。
1.用户输入账号密码进入系统
2.选择修改图书信息选项
3.系统显示所有该用户发布的图书
4.用户选择修改的图书
5.用户修改图书信息
6.系统提示图书信息修改成功
用户从未发布过图书,系统提示返回发布图书。
用户成功修改图书信息。
只有用户能修改图书信息,系统管理员无权修改图书信息。
(3)图书下架
图书下架
MSM1303
用户:希望能够管理图书的状态将图书下架。
该用例描述了用户将图书下架的过程。
用户将图书成功下架。
当用户选择图书下架时该用例被触发。
2.选择图书下架选项
3.系统显示用户发布所有的图书
4.用户选择下架的图书
5.系统询问用户是否确认
6.用户确认后系统显示图书下架成功
用户成功下架了该图书。
图五查询图书用例图
(1)按书号查询
按书号查询
MSM1401
用户:希望可以通过书号找到自己想要的图书
该用例描述了用户用书号查询图书的过程。
用户可以正常查看查询到的图书信息。
当用户选择用书号查询图书时该用例被触发。
1.用户成功登入系统
2.选择按书号查询的选项
3.输入想要查询的图书书号
4.系统显示对应图书
用户输入的书号,书名等并不存在,提示无此图书信息并提示重新输入图书信息。
用户成功看到搜索的图书信息。
用户只能查看图书信息以及联系方式,不可以更改
(2)按作者查询
按作者查询
MSM1402
用户:希望可以通过作者找到自己想要的图书
该用例描述了用户用作者查询图书的过程。
当用户选择用作者查询图书时该用例被触发。
3.输入想要查询的图书作者
用户输入的作者并不存在,提示无此图书信息并提示重新输入图书信息。
(3)按书名查询
按书名查询
MSM1403
用户:希望可以通过书名找到自己想要的图书
该用例描述了用户用书名查询图书的过程。
当用户选择用书名查询图书时该用例被触发。
3.输入想要查询的图书书名
图六买卖信息显示及图书信息管理
(1)买卖信息显示
买卖信息显示
MSM1501
管理员
该用例描述了管理员查询买卖信息的过程。
管理员可以正常查看查询到图书的买卖信息。
当管理员选择用书号查询图书买卖信息时该用例被触发。
1.管理员成功登入系统
2.选择买卖信息查询的选项
3.输入想要查询的图书的序列号
4.系统显示对应图书的买卖信息
管理员输入的序列号等并不存在,提示无此图书信息并提示重新输入图书序列号。
管理员成功看到搜索的图书买卖信息。
管理员只能查看图书买卖信息,不可以更改
(2)图书信息管理
图书信息管理
MSM1502
管理员:希望可以看到所有发布的图书并且可以选择删除不合法的图书。
该用例描述了管理员进行图书信息管理的过程。
当管理员选择图书信息管理时该用例被触发。
2.选择图书信息管理的选项
4.系统显示对应图书的信息
5.选择删除操作
6.系统提示确认删除该图书
7.管理员可选择确认和返回
管理员输入的书号,书名等并不存在,提示无此图书信息并提示重新输入图书信息。
图七购买图书
(1)购买图书
购买图书
MSM1601
用户:希望通过查询到图书的序列号进行购买。
该用例描述了用户购买图书的过程。
用户可以购买成功图书。
当用户选择购买图书时该用例被触发。
2.先去查询图书模块获取想要购买图书的序列号
3.再返回购买图书模块输入序列号购买
4.系统询问确认是否购买
5.确认后系统自动扣除用户余额并添加图书为用户购买图书
6.系统显示用户购买图书成功
用户的余额不足无法购买,系统提示后建议进行充值服务。
用户成功购买该图书。
用户无法购买已经下架和已售出的图书。
(2)充值服务
充值服务
MSM1602
用户:希望通过充值金额进行购买图书。
该用例描述了用户进行充值金额的过程。
用户成功充值后可以用充值的金额进行购买图书
当用户选择充值服务时该用例被触发。
2.用户选择输入序列号购买图书
3.系统提示余额不足建议充值
4.用户打开充值服务
5.选择要充值的金额
6.输入支付密码
7.系统审核支付密码
8.系统审核成功后显示充值成功
用户输入的支付密码错误,系统提示重新输入。
用户对自己的账户充值成功。
用户只可以对自己的账户进行充值。
图九注册用例活动图
图十信息修改用例活动图
图十一账户注销/账户删除用例活动图
图十二密码修改用例活动图
图十三按书名查询图书用例活动图
图十四按书号查询图书用例活动图
图十五按作者查询图书用例活动图
图十六修改图书信息用例活动图
图十七修改图书信息用例活动图
分类
推荐配置
最低配置
数据库服务器
CPU
英特尔迅驰双核处理器
英特尔酷睿2双核处理器
内存
2GB
1GB
硬盘
160GB
120GB
网卡
100M
10M
应用服务器
英特尔酷睿1处理器
3GB
80GB
网络
带宽
客户端
英特尔奔腾3处理器
名称
版本
语种
操作系统
Windows
7及以上
中文
操作系统的附加功能
ODBC数据源管理工具
数据库平台
MicrosoftSQLServer
2000
数据库平台补丁
—
sp4
数据库驱动
SQLServerDriverForJDBC
应用平台
XP/Vista
浏览器
各种功能完善、运行稳定的浏览器
eg.IE、遨游等
客户端软件
邮件系统
SMTPPOP3
本系统中输入的各种数据均要求精确到小数点后2位。
本系统的输入数据类型主要是整形、浮点型和字符串类型;输出以字符串、整形、浮点型及各类3D图表为主。
书号
图书的具体编号,最直观的就是书的封底的条型码和那一串数字。
书名
各类出版物名称。
图书作者
创作出这本图书的人。
价格
价格是一项以货币为表现形式,为商品、服务及资产所订立的价值数字。
联系方式
账号
就是每个人在特定的项目中所代表自己的一些数字等。账号有时可以由中文或英文组成,甚至是一些符号。
密码
在特别情景下使用的特定号码,可以表明使用人的身份,可以证明是否为账号的主人。
用户信息
用户信息是指包括用户联系方式等一些关于用户的基本资料。
图书信息
记录图书的基本信息,可表明图书的基本状态。
候选概念类
概念类(属性,服务)
用户填入账号
用户输入密码
系统验证信息
验证正确并匹配成功进入系统
用户信息文件
用户管理系统
用户(账号,密码)
功能性描述
用户输入账号密码若正确且匹配则成功登陆
系统判别该手机号是否被注册
该手机号未被注册将信息写入用户信息文件
系统记录此次注册信息
注册信息
管理员(录入)
用户通过填写用户基本信息成功注册账号
表1.2用户注册概念类分析
用户输入账号密码进入系统
用户选择信息修改选项
用户进行信息修改
系统提示信息修改成功并更改系统用户信息文件
表1.3信息修改概念类分析
管理员登入系统。
根据用户提供的信息更改用户密码。
提交后用户可以按照新密码登入系统。
系统记录本次修改密码
根据需求选择密码修改的选项
输入新密码
再次输入新密码
系统判别两次密码是否一致
提交后系统显示修改成功
用户下次可以按照新密码登入系统。
系统记录本次密码修改。
旧密码
新密码
用户(密码;提供密码)
管理员(账号,密码;修改)
用户输入旧密码再输入两次新密码,若都匹配则成功修改;
表1.4密码修改概念类分析
选择发布图书选项
信息填写完成后系统提示发布成功
系统赋予新图书序列号并更新数据库
图书信息文件
图书管理系统
单价
作者
出版社
序列号
用户(账号,密码;发布)
图书(书名,单价,书名,作者,出版社,序列号)
用户填写图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息
表1.5发布图书概念类分析
选择修改图书信息选项(书号、书名、单价、作者)
系统显示所有该用户发布的图书
用户选择修改的图书
用户修改图书信息
系统提示图书信息修改成功
用户(账号,密码;修改)
用户进入该功能,修改要修改的图书的信息
表1.6修改图书信息概念类分析
用户成功登入系统
选择按书号查询的选项
输入想要查询的图书的书号
系统显示对应图书
图书
用户(账号,密码;查询)
用户输入要查询的信息,系统显示图书信息
表1.7查询图书(按书号查询)概念类分析
选择按书名查询的选项
输入想要查询的图书书号
表1.8查询图书(按书名查询)概念类分析
输入想要查询的图书作者
表1.9查询图书(按作者查询)概念类分析
管理员成功登入系统
选择买卖信息查询的选项
输入想要查询的图书的序列号
系统显示对应图书的买卖信息
买卖信息文件
买卖信息系统
交易信息
管理员(账号,密码;查询)
图书(序列号,买卖信息)
管理员输入要查询的书号,系统显示交易信息
表1.10买卖信息显示概念类分析
选择图书信息管理的选项
系统显示对应图书的信息
选择删除操作
系统提示确认删除该图书
管理员可选择确认和返回
图书信息(书号,书名,作者,单价)
删除操作
管理员(账号,密码;查询,删除)
管理员进入功能,显示平台中所有图书信息,可以选择输入要删除的书号,系统显示图书信息,再次确认是否删除,确认即成功删除
表1.11图书信息管理概念类分析
先去查询图书模块获取想要购买图书的序列号
再返回购买图书模块输入序列号购买
系统询问确认是否购买
确认后系统自动扣除用户余额并添加图书为用户购买图书
系统显示用户购买图书成功
购买操作
余额
购买图书系统
用户(账号,密码;查询,购买)
用户选择购买图书选项,输入序列号查询后购买成功
表1.12购买图书概念类分析
用户选择输入序列号购买图书
系统提示余额不足建议充值
用户打开充值服务
选择要充值的金额
输入支付密码
系统审核支付密码
系统审核成功后显示充值成功
充值操作
金额
支付密码
用户(账号,密码;查询,充值)
用户输入充值金额,输入支付密码,交易成功。
表1.13充值服务概念类分析
图二用户注册概念类图
图三信息修改概念类图
图四密码修改概念类图
图五发布图书概念类图
图六修改图书信息概念类图
图七查询图书(用书名查询)概念类图
图八查询图书(用作者查询)概念类图
图九买卖信息显示概念类图
图十购买图书概念类图
图十一充值服务概念类图
图十三购买图书顺序图
图十四按照书号查询图书顺序图
图十五发布图书顺序图
图十六修改图书信息顺序图
图十七买卖信息显示顺序图
图十八充值服务顺序图
图十九查询图书与购买图书用例实现之顺序图
图二十查询图书与购买图书用例实现之设计类图
类图说明:
模块名
类名
说明
图书管理—查询图书与购买图书
Booklist
图书清单类,存储图书的基本信息,需长期保存
Transaction_record
交易记录类,存储用户之间购买图书的交易记录,需长期保存