(有源码)基于Java 的 校园二手书交易系统
校园图书售卖系统/二手书交易系统
文件状态: [ ] 草稿 [√] 正式发布 [ ] 正在修改 |
文件标识: |
Software Requirement Specification |
当前版本: |
4.1.2 |
|
作 者: |
黑龙江大学某软件工程课题组 (一位我和一位姐) |
|
完成日期: |
2022-4-8 |
系统概述说明
1. 说明
这个实验是大二下学期的课设,课的名字是软件综合实践一,主要是通过 面向对象的思想 来实现一个综合的系统。因为之前程序设计基础时,对图书管理系统比较熟悉,而且对于Java的理解也没有那么深刻,所以决定做一个二手书管理系统,相对来说比较好实现一些。
我知道各位点进来是为了什么,我也曾作为(目前也是)你们其中的一份子。不可否认的是,模仿是一种重要的学习方法,但是同时也请注意,模仿,不是抄袭!
在这里我想说,当你 真正感觉到威胁 的时候,你才知道 代码能力 对于软件工程和计算机专业大学生的重要性,但是我还是选择把源代码放在这里,因为我知道你们需要,而且也不难,所以我想各位如果有时间的话,或者说,没有时间真的也要挤出时间,真的要 自己动手实现 一下,每个大块的部分我都标有备注,而且我下面还会说自己的具体思路。
2. 源代码
链接:https://pan.baidu.com/s/1olpFgT6XdJfPQRODANTyJg
提取码:2b56
3. 使用说明
源代码是 永久有效 的,当然里面也会有很多小bug,但是不影响使用,数据库是老师的要求,但是我还是用 文件操作 实现的,里面所有文件的目录都是用根目录来写的,所以在下载后直接打开就能运行,不需要修改文件的位置 。
建议使用 idea 打开,因为就是用 idea 实现的,当然 vscode 配置了Java 环境也是可以的。
界面展示与核心代码讲解
1. 界面展示
1.1登录界面
图二十七 登录界面展示
1.2登录成功界面
图二十八 登录成功界面
1.3用户主菜单界面
图二十九 用户主菜单界面
1.4用户个人信息管理界面
图三十 用户个人信息管理界面
1.5用户修改当前密码界面
图三十一 用户修改当前密码界面
1.6用户修改当前密码成功界面
图三十二 用户修改当前密码成功界面
1.7用户充值服务界面
图三十三 用户充值服务界面
1.8用户充值成功界面
图三十四 用户充值成功界面
1.9用户查询余额界面
图三十五 用户查询余额界面
1.10用户图书管理界面
图三十六 用户图书管理界面
1.11用户发布图书界面
图三十七 用户发布图书界面
1.12用户发布图书成功界面
图三十八 用户发布图书成功界面
1.13发布图书后文件存储成功界面
图三十九 发布图书后文件存储成功界面
1.14用户购买图书界面(查询)
图四十 用户购买图书界面(查询)
1.15用户购买图书界面(成功)
图四十一 用户购买图书成功界面
1.16用户查询个人订单界面
图四十二 用户查询个人订单界面
1.17图书查询界面
图四十三 图书查询界面
1.18通过书号查询图书界面
图四十四 通过书号查询图书界面
1.19查询结果界面(书号)
图四十五 查询结果界面(书号)
1.20通过书名查询图书界面
图四十六 通过书名查询图书界面
1.21查询结果界面(书名)
图四十七 查询结果界面(书名)
1.22图书信息显示界面
图四十八 图书信息显示界面
1.23管理员登录成功界面
图四十九 管理员登录成功界面
1.24管理员主菜单界面
图五十 管理员主菜单界面
1.25用户管理界面
图五十一 用户管理界面
1.26注册界面
图五十二 管理员添加用户界面
1.27修改用户信息界面(查找)
图五十三 修改用户信息界面(查找)
1.28修改用户信息界面(修改)
图五十四 修改用户信息界面
1.29成功删除用户界面
图五十五 成功删除用户界面
1.30删除用户以后文件存储成功界面
图五十六 删除用户以后文件存储成功界面
1.31查询用户信息界面(通过账号)
图五十七 查询用户信息界面(通过账号)
1.32管理员修改密码界面
图五十八 管理员修改密码界面
1.33管理员图书管理界面
图五十九 管理员图书管理界面
1.34修改图书信息界面
图六十 管理员修改图书信息界面
1.35图书下架界面
图六十一 图书下架界面
1.36图书下架后文件存储成功界面
图六十二 图书下架后文件存储成功界面
1.37图书信息显示界面
图六十三 图书信息显示界面
1.38管理员图书交易管理界面
图六十四 管理员图书交易管理界面
1.39图书买卖信息查询界面
图六十五 图书买卖信息查询界面
1.40用户买卖信息查询界面
图六十六 用户买卖信息查询界面
2. 核心代码
2.1 项目列表
2.2 思路介绍
实现的具体流程为:从main函数进入主程序,然后通过Menus菜单类进行选择为用户还是管理员,进一步进入具体的方法和实现类,使用菜单类的原因是因为后面好用图形界面对于每一个方法进行实现。放在中间的监听焦点事件类JTextFieldHintListener主要实现了所有对话框的显示文字提示功能,Actors包中是三个实体类。
2.3 核心代码简介
用户图书管理中的发布图书和购买图书是该系统的核心功能。
这里以发布图书为例介绍核心代码:
分析:在书写每一处方法时,我们先考虑的是底层逻辑,然后再考虑该逻辑的图形界面,可以这么说,在没考虑图形界面之前,用控制台操作源代码是完全可行的,这里也作为自己以后用面向对象方法做项目的模式。
说实话,发布图书的逻辑并不难理解,就是从输入框获取用户输入的图书信息后,将信息写入Booklist文件里并存储,后面查询图书以及购买图书只需要使用文件里的数据即可。图形界面简单介绍一下,使用JFrame架构,添加五个提示标签,然后通过在前面介绍的焦点事件监听类进行文本框里的文字提示,然后进行分别以下操作:开启默认的隐藏模式(更改为显示),调整组件大小使其自适应,从文本框内获取到用户输入的信息,写入文件。
这里再给出写入文件的方法,如图所示:
目录
实验一 需求规格说明书
1 产品介绍
1.1 项目需求描述
因为在目前的大学生活中,大学生除了学校发放部分必修书籍经常需要购买选秀教材或其他书籍资料。我们软件工程课题组基于中国青年网校园通讯社就“大学生教材使用情况”给出的公开数据显示:调查总结后发现大多数大学生使用每本教材的平均时长不到6.4周。购置新的图书实在不划算,如果对于大学生开设一个校园图书售卖系统,既可以售卖掉平时同学们一些闲置的书籍,也可以让书籍再次产生价值,所以也体现出了做校园图书售卖系统的重要性和必要性。
1.2 项目需要解决的问题
在本次项目的前期准备阶段,为了使项目的开发目的和范围更加明确,我软件小组经过多次进行内部会议,并与黑龙江大学多位大学生进行问卷调查,关于在校大学生的闲置图书的问题进行了讨论,总结出了如下需要解决的问题:
- 目前在校大学生手里闲置的图书不在少数,并没有在现实意义上实现一本教材图书的真正的价值;
- 在校大学生熟悉的同学关系大部分仅限于本年级或本班级,不了解其他学院、年级的同学对于相关图书的需求,没有办法进行图书售卖。
1.3 项目概念
- 产品用途:本产品主要是为了方便在校大学生的闲置图书售卖及购买而开发;
- 产品性质:本产品是基于Java后端开发的应用系统;
- 产品的使用领域:大学生日常生活;
- 产品内容:本产品包含两个子系统,分别是信息查询子系统和系统管理子系统。
2 产品面向的用户群体
本软件的最终用户为大学内全部在校学生,因此本软件在提供完善的业务处理功能的同时,将提供友好、易用、便捷的用户操作界面和简单的使用流程,以方便使用人员更好的进行操作。
3 产品应当遵循的标准或规范
- 平台约束:
本项目的开发平台为Windows操作系统(windows xp、windows vista、windows 7);
客户端应用平台:windows操作系统;
服务器端应用平台:Linux操作系统(RHLE 5.3)
- 语言约束:
本项目的开发语言为java;国际化语言系统支持中文和英语两种语言;
- 时间约束:
项目开发周期:6周(2022-3-2 ~ 2022-4-8)
- 为了使产品更好更全面的发挥其作用,其他项目可能会与本项目并行或在本项目结束后对产品的其他子系统进行开发。
4 产品的功能性需求分析
基本功能包括:
用户的登录:用户输入账号密码若正确且匹配则成功登陆;
密码修改:用户输入旧密码再输入两次新密码,若都匹配则成功修改;
发布图书:用户进入该功能,上传图书信息,表明价格,发布;
图书下架:用户进入该功能,可以选择将发布的图书下架;
通过书名、书号、出版社查询图书:用户输入要查询的信息,系统显示图书信息;
图书信息修改:用户进入该功能,修改要修改的图书的信息 ;
系统管理员的注册:学生提供自己的相应信息,管理员根据信息创建新用户;
用户信息修改:管理员输入账号,修改对应信息;
用户信息删除:管理员输入要删除的账号,再次确认是否删除,确认删除则成功删除;
买卖信息显示:管理员输入要查询的书号,系统显示交易信息;
图书信息管理:管理员进入功能,显示平台中所有图书信息,可以选择输入要删除的书号,系统显示图书信息,再次确认是否删除,确认即成功删除;
充值服务:用户输入充值金额,输入支付密码,交易成功。
5 功能模型
5.1 系统总用例图
图一 系统总用例图
5.2 校园图书售卖系统用例描述
5.2.1 登录
图二 登录管理用例图
(1)登录
用例名 |
登录 |
用例类型 业务需求 |
用例ID |
MSM1101 |
|
主要业务参与者 |
每个用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
每个用户:通过登录界面使用ID和密码登录系统。 |
|
描述 |
该用例描述了用户登录系统的过程 |
|
前置条件 |
用户已经拥有了该系统的ID |
|
后置条件 |
用户在该用例完成后可以进行对自己信息的管理。 |
|
触发条件 |
用户开始登录时该用例被触发 |
|
基本流程 |
1. 用户填入账号 2. 用户输入密码 3. 系统验证信息 4. 验证正确并匹配成功进入系统 5. 系统记录本次登录信息 |
|
替代流程 |
*a任何时刻发生以下情况,系统将会崩溃 1.用户重启电脑。 2.用户未打开程序。 2a.用户登录信息错误 |
|
结束 |
成功进入系统 |
|
实现约束和说明 |
只能在控制台进行 |
|
待解决问题 |
无法用图形界面实现 |
(2)注册
用例名 |
注册 |
用例类型 业务需求 |
用例ID |
MSM1102 |
|
主要业务参与者 |
系统管理员、用户 |
|
其他参与者 |
校园图书销售系统 |
|
项目相关人员兴趣 |
每个用户:想要通过系统管理员创建一个属于自己的账号 |
|
描述 |
该用例描述了创建一个新账号的过程 |
|
前置条件 |
系统管理员成功进入系统 |
|
后置条件 |
用户可以用新注册的账号进入系统 |
|
触发条件 |
系统管理员成功进入注册功能 |
|
基本流程 |
1. 系统管理员录入来自用户的用户信息 2. 系统判别该手机号是否被注册 3. 该手机号未被注册将信息写入文档 4. 系统记录此次注册信息 |
|
替代流程 |
*a任何时刻发生以下情况,系统将会崩溃 1.用户重启电脑。 2.用户未打开程序。 2a.若该手机号已被注册则提示手机号已被注册 |
|
结束 |
成功在系统中注册新用户 |
|
实现约束和说明 |
目前只能通过手机号来判别是否有相同账户 |
|
待解决问题 |
判别账户相同的方式较单一 |
5.2.2 用户信息管理
图三 用户信息管理用例图
(1) 信息修改
用例名 |
信息修改 |
用例类型 业务需求 |
用例ID |
MSM1201 |
|
主要业务参与者 |
用户、系统管理员 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望能够看到自己的信息并修改。 管理员:希望能够看到用户的信息并修改。 |
|
描述 |
该用例描述了用户或系统管理员查询并修改用户信息的过程。 |
|
前置条件 |
系统管理员或用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户或系统管理员可以查看并更改用户信息。 |
|
触发条件 |
当用户选择修改信息时该用例被触发。 |
|
基本流程 |
1.用户输入账号密码进入系统 2.选择信息修改选项 3.进行信息修改 4.系统提示信息修改成功并更改系统用户信息文件 |
|
替代流程 |
输入账号密码错误未登录系统提示重新登录 |
|
结束 |
系统成功修改用户信息。 |
|
实现约束和说明 |
系统管理员可能查询到具有相同信息的账户 |
|
待解决问题 |
无 |
(2) 密码修改
用例名 |
密码修改 |
用例类型 业务需求 |
用例ID |
MSM1202 |
|
主要业务参与者 |
用户、系统管理员 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望能够看到自己的密码并修改。 管理员:希望能够替忘记密码的用户进行修改。 |
|
描述 |
该用例描述了用户或系统管理员修改用户密码的过程。 |
|
前置条件 |
用户系统管理员成功登录系统,通过身份验证。 |
|
后置条件 |
系统管理员可以通过用户提交的申请并更改用户密码。 用户可以登入系统之后修改密码。 |
|
触发条件 |
当管理员选择修改用户密码时该用例被触发。 当用户选择修改密码时该用例被触发。 |
|
基本流程 |
1. 管理员登入系统。 2. 根据用户提供的信息更改用户密码。 3. 提交后用户可以按照新密码登入系统。 4. 系统记录本次修改密码。 或 1. 用户登录系统 2. 根据需求选择密码修改的选项 3. 输入新密码 4. 再次输入新密码 5. 系统判别两次密码是否一致 6. 提交后系统显示修改成功 7. 用户下次可以暗哨新密码登入系统。 8. 系统记录本次密码修改。
|
|
替代流程 |
用户修改时两次输入的密码如果两次输入的新密码不一致则提醒重新输入。 |
|
结束 |
系统成功修改用户密码。 |
|
实现约束和说明 |
当用户主动更改密码时需要输入两次新密码来确保一致后并加深用户记忆以免遗忘。 |
|
待解决问题 |
无 |
5.2.3 发布图书
图四 发布图书用例图
(1) 发布图书
用例名 |
发布图书 |
用例类型 业务需求 |
用例ID |
MSM1301 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望自己能够填写图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息来达到发布图书的目的。 |
|
描述 |
该用例描述了用户填写图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户成功填写了图书信息。 |
|
触发条件 |
当用户选择发布图书时该用例被触发。 |
|
基本流程 |
1.用户输入账号密码进入系统 2.选择发布图书选项 3.进行图书相关信息填写 4.选择填写完成 5.系统提示发布成功 6.系统赋予新图书序列号并更新数据库 |
|
替代流程 |
用户输入信息后没有填写完整信息,系统提示请将全部信息填写完成。 |
|
结束 |
用户成功发布该图书。 |
|
实现约束和说明 |
只有用户能发布图书信息,系统管理员无权发布图书信息。 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
(2) 修改图书信息
用例名 |
修改图书信息 |
用例类型 业务需求 |
用例ID |
MSM1302 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望自己能够修改图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息。 |
|
描述 |
该用例描述了用户修改图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户成功修改了图书信息。 |
|
触发条件 |
当用户选择修改图书信息时该用例被触发。 |
|
基本流程 |
1. 用户输入账号密码进入系统 2. 选择修改图书信息选项 3. 系统显示所有该用户发布的图书 4. 用户选择修改的图书 5. 用户修改图书信息 6. 系统提示图书信息修改成功 |
|
替代流程 |
用户从未发布过图书,系统提示返回发布图书。 |
|
结束 |
用户成功修改图书信息。 |
|
实现约束和说明 |
只有用户能修改图书信息,系统管理员无权修改图书信息。 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
(3) 图书下架
用例名 |
图书下架 |
用例类型 业务需求 |
用例ID |
MSM1303 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望能够管理图书的状态将图书下架。 |
|
描述 |
该用例描述了用户将图书下架的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户将图书成功下架。 |
|
触发条件 |
当用户选择图书下架时该用例被触发。 |
|
基本流程 |
1.用户输入账号密码进入系统 2.选择图书下架选项 3.系统显示用户发布所有的图书 4.用户选择下架的图书 5.系统询问用户是否确认 6.用户确认后系统显示图书下架成功 |
|
替代流程 |
用户从未发布过图书,系统提示返回发布图书。 |
|
结束 |
用户成功下架了该图书。 |
|
实现约束和说明 |
无 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
5.2.4 查询图书
图五 查询图书用例图
(1) 按书号查询
用例名 |
按书号查询 |
用例类型 业务需求 |
用例ID |
MSM1401 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望可以通过书号找到自己想要的图书 |
|
描述 |
该用例描述了用户用书号查询图书的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户可以正常查看查询到的图书信息。 |
|
触发条件 |
当用户选择用书号查询图书时该用例被触发。 |
|
基本流程 |
1. 用户成功登入系统 2. 选择按书号查询的选项 3. 输入想要查询的图书书号 4. 系统显示对应图书 |
|
替代流程 |
用户输入的书号,书名等并不存在,提示无此图书信息并提示重新输入图书信息。 |
|
结束 |
用户成功看到搜索的图书信息。 |
|
实现约束和说明 |
用户只能查看图书信息以及联系方式,不可以更改 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
(2) 按作者查询
用例名 |
按作者查询 |
用例类型 业务需求 |
用例ID |
MSM1402 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望可以通过作者找到自己想要的图书 |
|
描述 |
该用例描述了用户用作者查询图书的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户可以正常查看查询到的图书信息。 |
|
触发条件 |
当用户选择用作者查询图书时该用例被触发。 |
|
基本流程 |
1. 用户成功登入系统 2. 选择按书号查询的选项 3. 输入想要查询的图书作者 4. 系统显示对应图书 |
|
替代流程 |
用户输入的作者并不存在,提示无此图书信息并提示重新输入图书信息。 |
|
结束 |
用户成功看到搜索的图书信息。 |
|
实现约束和说明 |
用户只能查看图书信息以及联系方式,不可以更改 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
(3) 按书名查询
用例名 |
按书名查询 |
用例类型 业务需求 |
用例ID |
MSM1403 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望可以通过书名找到自己想要的图书 |
|
描述 |
该用例描述了用户用书名查询图书的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户可以正常查看查询到的图书信息。 |
|
触发条件 |
当用户选择用书名查询图书时该用例被触发。 |
|
基本流程 |
1. 用户成功登入系统 2. 选择按书号查询的选项 3. 输入想要查询的图书书名 4. 系统显示对应图书 |
|
替代流程 |
用户输入的书号,书名等并不存在,提示无此图书信息并提示重新输入图书信息。 |
|
结束 |
用户成功看到搜索的图书信息。 |
|
实现约束和说明 |
用户只能查看图书信息以及联系方式,不可以更改 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
5.2.5 图书信息管理 及 买卖信息显示
图六 买卖信息显示 及 图书信息管理
(1) 买卖信息显示
用例名 |
买卖信息显示 |
用例类型 业务需求 |
用例ID |
MSM1501 |
|
主要业务参与者 |
管理员 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
管理员:希望可以通过查询图书的书号来找到相关的买卖信息 |
|
描述 |
该用例描述了管理员查询买卖信息的过程。 |
|
前置条件 |
管理员成功登录系统,通过身份验证。 |
|
后置条件 |
管理员可以正常查看查询到图书的买卖信息。 |
|
触发条件 |
当管理员选择用书号查询图书买卖信息时该用例被触发。 |
|
基本流程 |
1. 管理员成功登入系统 2. 选择买卖信息查询的选项 3. 输入想要查询的图书的序列号 4. 系统显示对应图书的买卖信息 |
|
替代流程 |
管理员输入的序列号等并不存在,提示无此图书信息并提示重新输入图书序列号。 |
|
结束 |
管理员成功看到搜索的图书买卖信息。 |
|
实现约束和说明 |
管理员只能查看图书买卖信息,不可以更改 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
(2) 图书信息管理
用例名 |
图书信息管理 |
用例类型 业务需求 |
用例ID |
MSM1502 |
|
主要业务参与者 |
管理员 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
管理员:希望可以看到所有发布的图书并且可以选择删除不合法的图书。 |
|
描述 |
该用例描述了管理员进行图书信息管理的过程。 |
|
前置条件 |
管理员成功登录系统,通过身份验证。 |
|
后置条件 |
管理员可以正常查看查询到所有发布图书的信息并且可以进行相关的删除操作。 |
|
触发条件 |
当管理员选择图书信息管理时该用例被触发。 |
|
基本流程 |
1. 管理员成功登入系统 2. 选择图书信息管理的选项 3. 输入想要查询的图书书号 4. 系统显示对应图书的信息 5. 选择删除操作 6. 系统提示确认删除该图书 7. 管理员可选择确认和返回 |
|
替代流程 |
管理员输入的书号,书名等并不存在,提示无此图书信息并提示重新输入图书信息。 |
|
结束 |
管理员成功看到搜索的图书图书并且选择相关删除操作。 |
|
实现约束和说明 |
无 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
5.2.6 购买图书
图七 购买图书
(1) 购买图书
用例名 |
购买图书 |
用例类型 业务需求 |
用例ID |
MSM1601 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望通过查询到图书的序列号进行购买。 |
|
描述 |
该用例描述了用户购买图书的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户可以购买成功图书。 |
|
触发条件 |
当用户选择购买图书时该用例被触发。 |
|
基本流程 |
1. 用户成功登入系统 2. 先去查询图书模块获取想要购买图书的序列号 3. 再返回购买图书模块输入序列号购买 4. 系统询问确认是否购买 5. 确认后系统自动扣除用户余额并添加图书为用户购买图书 6. 系统显示用户购买图书成功 |
|
替代流程 |
用户的余额不足无法购买,系统提示后建议进行充值服务。 |
|
结束 |
用户成功购买该图书。 |
|
实现约束和说明 |
用户无法购买已经下架和已售出的图书。 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
(2) 充值服务
用例名 |
充值服务 |
用例类型 业务需求 |
用例ID |
MSM1602 |
|
主要业务参与者 |
用户 |
|
其他参与者 |
校园图书售卖系统 |
|
项目相关人员兴趣 |
用户:希望通过充值金额进行购买图书。 |
|
描述 |
该用例描述了用户进行充值金额的过程。 |
|
前置条件 |
用户成功登录系统,通过身份验证。 |
|
后置条件 |
用户成功充值后可以用充值的金额进行购买图书 |
|
触发条件 |
当用户选择充值服务时该用例被触发。 |
|
基本流程 |
1. 用户成功登入系统 2. 用户选择输入序列号购买图书 3. 系统提示余额不足建议充值 4. 用户打开充值服务 5. 选择要充值的金额 6. 输入支付密码 7. 系统审核支付密码 8. 系统审核成功后显示充值成功 |
|
替代流程 |
用户输入的支付密码错误,系统提示重新输入。 |
|
结束 |
用户对自己的账户充值成功。 |
|
实现约束和说明 |
用户只可以对自己的账户进行充值。 |
|
待解决问题 |
目前无法实现用图形界面完成该用例 |
5.3 用例活动图描述
5.3.1 登录用例活动图
图八 登录用例活动图
5.3.2 注册用例活动图
图九 注册用例活动图
5.3.3 信息修改用例活动图
图十 信息修改用例活动图
5.3.4 账户删除用例活动图
图十一 账户注销/账户删除用例活动图
5.3.5 密码修改用例活动图
图十二 密码修改用例活动图
5.3.6 按书名查询图书用例活动图
图十三 按书名查询图书用例活动图
5.3.7 按书号查询图书用例活动图
图十四 按书号查询图书用例活动图
5.3.8 按作者查询图书用例活动图
图十五 按作者查询图书用例活动图
5.3.9 修改图书信息用例活动图
图十六 修改图书信息用例活动图
5.3.10 发布图书信息用例活动图
图十七 修改图书信息用例活动图
6 产品的非功能需求
6.1 软硬件环境需求
6.1.1 硬件环境
分类 |
推荐配置 |
最低配置 |
|
数据库服务器
|
CPU |
英特尔迅驰双核处理器 |
英特尔酷睿2双核处理器 |
内存 |
2GB |
1GB |
|
硬盘 |
160GB |
120GB |
|
网卡 |
100M |
10M |
|
应用服务器
|
CPU |
英特尔酷睿2双核处理器 |
英特尔酷睿1处理器 |
内存 |
3GB |
1GB |
|
硬盘 |
120GB |
80GB |
|
网卡 |
100M |
10M |
|
网络 |
带宽 |
100M |
10M |
客户端 |
CPU |
英特尔酷睿2双核处理器 |
英特尔奔腾3处理器 |
内存 |
2GB |
1GB |
|
硬盘 |
160GB |
120GB |
|
网卡 |
100M |
10M |
6.1.2 软件环境
分类 |
名称 |
版本 |
语种 |
操作系统 |
Windows |
7及以上 |
中文 |
操作系统的附加功能 |
ODBC数据源管理工具 |
|
中文 |
数据库平台 |
Microsoft SQL Server |
2000 |
中文 |
数据库平台补丁 |
— |
sp4 |
— |
数据库驱动 |
SQL Server Driver For JDBC |
sp4 |
— |
应用平台 |
Windows |
XP/Vista |
中文 |
浏览器 |
各种功能完善、运行稳定的浏览器 |
eg. IE、遨游等 |
中文 |
客户端软件 |
Windows |
7及以上 |
中文 |
邮件系统 |
SMTP POP3 |
|
— |
6.2 产品质量需求
6.2.1 精度
本系统中输入的各种数据均要求精确到小数点后2位。
6.2.2 时间特性的要求
- 搜索查询时间最大不超过7秒。
- 页面平均处理及响应时间在3—10秒以内,最大不超过10秒。
- 页面平均更新响应时间为3秒左右,最大不超过7秒。
6.2.3 灵活性
- 操作方式的变化:如果公司的业务情况或业务逻辑出现变化,导致本系统需求发生变化,在可接受的范围内,要求本系统能够及时完成需求变更及各项相关的处理工作,实现新的需求。
- 运行环境的变化:本系统支持各种功能完善、成熟的浏览器( IE、遨游等)。
- 精度和有效时限的变化:如果公司提出要求改变精度和有效时限,在可接受的范围内,接受并实现其需求变更。
- 开发计划的变化或改进:在可接受的范围内,本系统的开发工作将积极开发配合计划的变化或改进。
6.2.4 输入输出要求
本系统的输入数据类型主要是整形、浮点型和字符串类型;输出以字符串、整形、浮点型及各类3D图表为主。
7.词汇表
名称 |
描述 |
书号 |
图书的具体编号,最直观的就是书的封底的条型码和那一串数字。 |
书名 |
各类出版物名称。 |
图书作者 |
创作出这本图书的人。 |
价格 |
价格是一项以货币为表现形式,为商品、服务及资产所订立的价值数字。 |
联系方式 |
能够达到对个人直接沟通的相关信息,具体表现为详细地址、QQ号码、电子邮箱、手机号码、微信等。 |
账号 |
就是每个人在特定的项目中所代表自己的一些数字等。账号有时可以由中文或英文组成,甚至是一些符号。 |
密码 |
在特别情景下使用的特定号码,可以表明使用人的身份,可以证明是否为账号的主人。 |
用户信息 |
用户信息是指包括用户联系方式等一些关于用户的基本资料。 |
图书信息 |
记录图书的基本信息,可表明图书的基本状态。 |
实验二 领域模型
1 概念类分析
1.1 用户登录
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户填入账号 用户输入密码 系统验证信息 验证正确并匹配成功进入系统 系统记录本次登录信息 |
用户 账号 密码 登录信息 用户信息文件 用户管理系统 |
用户(账号,密码) |
功能性描述 |
||
用户输入账号密码若正确且匹配则成功登陆 |
表 1.1 用户登录概念类分析
1.2 用户注册
基本流程 |
候选概念类 |
概念类(属性,服务) |
系统管理员录入来自用户的用户信息(账号,密码,姓名,电话,余额等) 系统判别该手机号是否被注册 该手机号未被注册将信息写入用户信息文件 系统记录此次注册信息 |
用户 管理员 用户信息(账号,密码,姓名,电话,余额等) 注册信息 用户信息文件 用户管理系统
|
用户(账号,密码,姓名,电话,余额) 管理员(录入) |
功能性描述 |
||
用户通过填写用户基本信息成功注册账号 |
表 1.2 用户注册概念类分析
1.3 信息修改
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户输入账号密码进入系统 用户选择信息修改选项 用户进行信息修改 系统提示信息修改成功并更改系统用户信息文件 |
用户 账号 密码 用户信息 用户信息文件 用户管理系统
|
用户(账号,姓名,电话,余额;修改)
|
功能性描述 |
||
用户通过登录成功以后来修改用户基本信息 |
表 1.3 信息修改概念类分析
1.4 密码修改
基本流程 |
候选概念类 |
概念类(属性,服务) |
管理员登入系统。 根据用户提供的信息更改用户密码。 提交后用户可以按照新密码登入系统。 系统记录本次修改密码
或 用户登录系统 根据需求选择密码修改的选项 输入新密码 再次输入新密码 系统判别两次密码是否一致 提交后系统显示修改成功 用户下次可以按照新密码登入系统。 系统记录本次密码修改。
|
用户 管理员 旧密码 新密码 用户信息文件 用户管理系统
|
用户(密码;提供密码) 管理员(账号,密码;修改) |
功能性描述 |
||
用户输入旧密码再输入两次新密码,若都匹配则成功修改; |
表 1.4 密码修改概念类分析
1.5 发布图书
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户输入账号密码进入系统 选择发布图书选项 进行图书相关信息填写(书号、书名、单价、作者) 信息填写完成后系统提示发布成功 系统赋予新图书序列号并更新数据库 |
用户 账号 密码 图书信息文件 图书管理系统 书号 单价 书名 作者 出版社 序列号
|
用户(账号,密码;发布) 图书(书名,单价,书名,作者,出版社,序列号) |
功能性描述 |
||
用户填写图书的书号,书名,图书价格,卖家的联系方式,图书作者等信息 |
表 1.5 发布图书概念类分析
1.6 修改图书信息
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户输入账号密码进入系统 选择修改图书信息选项(书号、书名、单价、作者) 系统显示所有该用户发布的图书 用户选择修改的图书 用户修改图书信息 系统提示图书信息修改成功 |
用户 账号 密码 图书信息文件 图书管理系统 书号 单价 书名 作者 出版社
|
用户(账号,密码;修改) 图书(书名,单价,书名,作者,出版社,序列号) |
功能性描述 |
||
用户进入该功能,修改要修改的图书的信息 |
表 1.6 修改图书信息概念类分析
1.7 查询图书(按书号查询)
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户成功登入系统 选择按书号查询的选项 输入想要查询的图书的书号 系统显示对应图书 |
用户 登录信息 图书信息文件 图书管理系统 图书 书号 |
用户(账号,密码;查询) 图书(书名,单价,书名,作者,出版社,序列号)
|
功能性描述 |
||
用户输入要查询的信息,系统显示图书信息 |
表 1.7 查询图书(按书号查询)概念类分析
1.8 查询图书(按书名查询)
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户成功登入系统 选择按书名查询的选项 输入想要查询的图书书号 系统显示对应图书 |
用户 登录信息 图书信息文件 图书管理系统 图书 书名 |
用户(账号,密码;查询) 图书(书名,单价,书名,作者,出版社,序列号)
|
功能性描述 |
||
用户输入要查询的信息,系统显示图书信息 |
表 1.8 查询图书(按书名查询)概念类分析
1.9 查询图书(按作者查询)
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户成功登入系统 选择按书名查询的选项 输入想要查询的图书作者 系统显示对应图书 |
用户 登录信息 图书信息文件 图书管理系统 图书 作者 |
用户(账号,密码;查询) 图书(书名,单价,书名,作者,出版社,序列号)
|
功能性描述 |
||
用户输入要查询的信息,系统显示图书信息 |
表 1.9 查询图书(按作者查询)概念类分析
1.10 买卖信息显示
基本流程 |
候选概念类 |
概念类(属性,服务) |
管理员成功登入系统 选择买卖信息查询的选项 输入想要查询的图书的序列号 系统显示对应图书的买卖信息 |
管理员 登录信息 买卖信息文件 序列号 买卖信息系统 交易信息 |
管理员(账号,密码;查询) 图书(序列号,买卖信息) |
功能性描述 |
||
管理员输入要查询的书号,系统显示交易信息 |
表 1.10 买卖信息显示概念类分析
1.11 图书信息管理
基本流程 |
候选概念类 |
概念类(属性,服务) |
管理员成功登入系统 选择图书信息管理的选项 输入想要查询的图书书号 系统显示对应图书的信息 选择删除操作 系统提示确认删除该图书 管理员可选择确认和返回 |
管理员 登录信息 图书信息文件 书号 图书信息(书号,书名,作者,单价) 删除操作
|
管理员(账号,密码;查询,删除) 图书(书名,单价,书名,作者,出版社,序列号)
|
功能性描述 |
||
管理员进入功能,显示平台中所有图书信息,可以选择输入要删除的书号,系统显示图书信息,再次确认是否删除,确认即成功删除 |
表 1.11 图书信息管理概念类分析
1.12 购买图书
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户成功登入系统 先去查询图书模块获取想要购买图书的序列号 再返回购买图书模块输入序列号购买 系统询问确认是否购买 确认后系统自动扣除用户余额并添加图书为用户购买图书 系统显示用户购买图书成功 |
用户 登录信息 图书信息文件 序列号 购买操作 余额 购买图书系统
|
用户(账号,密码;查询,购买) 图书(书名,单价,书名,作者,出版社,序列号)
|
功能性描述 |
||
用户选择购买图书选项,输入序列号查询后购买成功 |
表 1.12 购买图书概念类分析
1.13 充值服务
基本流程 |
候选概念类 |
概念类(属性,服务) |
用户成功登入系统 用户选择输入序列号购买图书 系统提示余额不足建议充值 用户打开充值服务 选择要充值的金额 输入支付密码 系统审核支付密码 系统审核成功后显示充值成功 |
用户 登录信息 序列号 购买操作 充值操作 金额 余额 支付密码 购买图书系统 |
用户(账号,密码;查询,充值) 图书(书名,单价,书名,作者,出版社,序列号)
|
功能性描述 |
||
用户输入充值金额,输入支付密码,交易成功。 |
表 1.13 充值服务概念类分析
2 领域模型(概念类图)
2.1 用户登录
图一 用户登录概念类图
2.2 用户注册
图二 用户注册概念类图
2.3 信息修改
图三 信息修改概念类图
2.4 密码修改
图四 密码修改概念类图
2.5 发布图书
图五 发布图书概念类图
2.6 修改图书信息
图六 修改图书信息概念类图
2.7 查询图书(用书名查询)
图七 查询图书(用书名查询)概念类图
2.8 查询图书(用作者查询)
图八 查询图书(用作者查询)概念类图
2.9 买卖信息显示
图九 买卖信息显示概念类图
2.10 购买图书
图十 购买图书概念类图
2.11 充值服务
图十一 充值服务概念类图
3 系统顺序图
3.1 登录系统顺序图
图十二 登录系统顺序图(用户包括管理员和用户两者)
3.2 购买图书顺序图
图十三 购买图书顺序图
3.3 按照书号查询图书顺序图
图十四 按照书号查询图书顺序图
3.4 发布图书顺序图
图十五 发布图书顺序图
3.5 修改图书信息顺序图
图十六 修改图书信息顺序图
3.6 买卖信息显示顺序图
图十七 买卖信息显示顺序图
3.7 充值服务顺序图
图十八 充值服务顺序图
实验三 详细设计报告
1.图书管理—系统实现
1.1顺序图
图十九 查询图书与购买图书用例实现之顺序图
1.2类图
图二十 查询图书与购买图书用例实现之设计类图
类图说明:
模块名 |
类名 |
说明 |
图书管理—查询图书与购买图书 |
Booklist |
图书清单类,存储图书的基本信息,需长期保存 |
Transaction_record |
交易记录类,存储用户之间购买图书的交易记录,需长期保存 |
|
UserDatafile |
实现类—实现I_UserDatafile接口 |
|
I_UserDatafile |
接口—负责从用户数据文件提取信息 |
|
I_UserDatabase |
接口—负责从用户数据库提取信息 |
|
Search_book |
控制器类,起协调作用 |
|
Search_bookform |
界面类,实现时是查询图书界面的抽象 |
|
Purchase_book |
控制器类,起协调作用 |
|
Purchase_bookform |
界面类,实现时是购买图书界面的抽象 |
|
Rechargeform |
界面类,实现时是有用户充值界面的抽象 |
2用户管理—系统实现
2.1顺序图
图二十一 用户管理用例实现之顺序图
2.2类图
图二十二 用户管理系统用例实现之设计类图
类图说明:
模块名 |
类名 |
说明 |
用户管理—注册登录与修改用户信息 |
User |
用户类,信息从用户数据库中提取 |
UserDatafile |
实现类—实现I_UserDatafile接口 |
|
I_UserDatafile |
接口—负责从用户数据文件提取信息 |
|
Registerform |
界面类,实现时是用户注册界面的抽象 |
|
Register |
控制器类,起协调作用 |
|
Logonform |
界面类,实现时是用户登录界面的抽象 |
|
Logon |
控制器类,起协调作用 |
|
Revise User_info |
控制器类,负责用户修改用户信息 |
3 管理员信息管理—系统实现
3.1顺序图
图二十三 管理员管理系统用例实现之顺序图
3.2类图
图二十四 管理员管理系统用例实现之设计类图
类图说明:
模块名 |
类名 |
说明 |
管理员管理—买卖信息查询与图书信息管理 |
Manager |
管理员类,信息从用户(管理员)数据文件中提取 |
UserDatafile |
实现类—实现I_UserDatafile接口 |
|
I_UserDatafile |
接口—负责从用户数据文件提取信息 |
|
Logonform |
界面类,实现时是用户(管理员)登录界面的抽象 |
|
Logon |
控制器类,起协调作用 |
|
View transaction_infoform |
界面类,实现时是管理员查询交易信息界面的抽象 |
|
View transaction_info |
控制器类,起协调作用 |
|
Booklist |
图书清单类,存储图书的基本信息,需长期保存 |
|
View Book_infoform |
界面类,实现时是管理员查看图书信息界面的抽象 |
|
View Book_info |
控制器类,起协调作用 |
|
Transaction_record |
交易记录类,存储用户之间购买图书的交易记录,需长期保存 |
|
Delete_book |
控制器类,起协调作用 |
4 用户发布图书—系统实现
4.1顺序图
图二十五 用户发布图书系统用例实现之顺序图
4.2类图
图二十六 用户发布图书系统用例实现之设计类图
类图说明:
模块名 |
类名 |
说明 |
用户管理—发布图书与修改图书信息 |
User |
用户类,信息从用户数据库中提取 |
UserDatafile |
实现类—实现I_UserDatafile接口 |
|
I_UserDatafile |
接口—负责从用户数据文件提取信息 |
|
Logonform |
界面类,实现时是用户(管理员)登录界面的抽象 |
|
Logon |
控制器类,起协调作用 |
|
Publishing Bookform |
界面类,实现时是用户发布图书界面的抽象 |
|
Publishing Book |
控制器类,起协调作用 |
|
Booklist |
图书清单类,存储图书的基本信息,需长期保存 |
|
Revise Book_infoform |
界面类,实现时是用户修改图书信息界面的抽象 |
|
Revise Book_info |
控制器类,起协调作用 |
|
Delete_book |
控制器类,起协调作用 |
本文来自博客园,作者:王回甘,转载请注明原文链接:https://www.cnblogs.com/WScoconut/p/16052143.html