目录
一、绪论 13
1.选题背景 13
1.1 项目简介 13
1.2 类似产品或系统的分析 13
1.3 产品或系统的特色及预计达到的目标 13
2.团队组成和计划 14
2.1项目计划 14
2.2 项目成员及背景和各项职责 14
3. 风险评估和规避 15
3.1 过程中存在的技术风险 15
3.2 过程中存在的管理风险 15
3.3 其它可能的风险 15
二、需求分析 16
1. 简介 1
1.1 编写目的 1
1.2 范围 1
2. 总体概述 1
2.1 软件概述 1
2.2 项目介绍 1
2.3 产品环境介绍 1
2.4 软件功能 2
3. 功能需求 2
3.1 用例图 2
3.2 系统模块 3
4. 接口需求 4
5. 用户接口需求 5
6. 总体设计约束 6
7. 其他需求 6
8. 需求分级 6
三、系统设计 7
1. 简介 8
1.1 目的 8
1.2 范围 8
一、软件名称 8
二、软件功能 8
三、软件应用 8
2. 第0层设计描述 8
2.1 软件系统上下文定义 8
2.2 设计思路 9
一、设计可选方案 9
本软件系统采用前后端分离的设计。 9
前端采用成熟的Vue框架实现,根据需求划分页面,每个页面实现对应的功能。 9
后端采用Springboot框架,根据前端需求实现对应的Web API。 9
前后端之间通过Json字符串和Web API进行数据交互。 9
二、 设计约束 9
本软件系统主要存在以下设计约束: 9
1. 时间约束:本系统实现时间共计3周。 9
2. 技术约束: 9
(1)目标部署平台:CentOS 7.9 9
(2)技术成熟度:采用成熟的Vue框架和Springboot框架,技术实现风险低。 9
3. 人员约束:团队总计4名成员,且没有Vue前端开发经验。 9
三、遵循标准 9
四、硬件限制 9
五、技术限制 10
六、其他 10
3. 第一层设计描述 10
3.1 系统结构 10
一、系统结构描述 10
二、业务流程说明 10
3.2 分解描述 11
一、数据模块/用户系统 描述 11
二、数据模块/地址系统 描述 11
三、数据模块/活动系统 描述 11
四、数据模块/收藏系统 描述 11
五、数据模块/订单系统 描述 12
3.3 依赖性描述 12
3.4 接口描述 12
一、 数据模块/用户系统 接口描述 12
二、 数据模块/地址系统 接口描述 15
(1)添加收货地址 15
名称:addAddress 15
说明:给某个用户添加收货地址 15
定义: public Result addAddress (HttpServletRequest request) 15
15
(2)查询用户收货地址 16
名称:queryAddress 16
说明:查询某个用户所有的收货地址 16
定义: public Result queryAddress (HttpServletRequest request) 16
16
(3)删除地址 16
名称:deleteAddress 16
说明:根据地址id删除某个收货地址 16
定义: public Result deleteAddress (HttpServletRequest request) 16
17
(4)修改地址 17
名称:modifyAddress 17
说明:根据地址id修改某个收货地址 17
定义: public Result modifyAddress (HttpServletRequest request) 17
17
三、 数据模块/活动系统 接口描述 18
(1)添加活动 18
名称:addEvent 18
说明:添加活动 18
定义: public Result addEvent (HttpServletRequest request) 18
18
(2)删除活动 18
名称:deleteEvent 18
说明:根据活动id删除某个活动 18
定义: public Result deleteEvent (HttpServletRequest request) 18
19
(3)统计活动数量 19
名称:countEvent 19
说明:统计活动数量 19
定义: public Result countEvent (HttpServletRequest request) 19
19
(4)查询活动 19
名称:queryEvent 19
说明:分页查询所有活动 20
定义: public Result queryEvent (HttpServletRequest request) 20
20
(5)搜索活动 20
名称:searchEvent 20
说明:根据关键词搜索活动 20
定义: public Result searchEvent (HttpServletRequest request) 20
20
(6)修改活动 20
名称:modifyEvent 20
说明:根据活动id修改活动信息 21
定义: public Result modifyEvent (HttpServletRequest request) 21
21
(7)查询特定管理员发起的活动 21
名称:queryAdminEvent 21
说明:查询特定管理员发起的活动 21
定义: public Result queryAdminEvent (HttpServletRequest request) 21
21
四、 数据模块/收藏系统 接口描述 22
(1)添加收藏 22
名称:addFavorite 22
说明:添加收藏 22
定义: public Result addFavorite (HttpServletRequest request) 22
22
(2)删除收藏 22
名称:removeFavorite 22
说明:根据收藏id删除收藏 22
定义: public Result removeFavorite (HttpServletRequest request) 22
23
(3)查询用户收藏 23
名称:queryFavorite 23
说明:查询某个用户的收藏 23
定义: public Result queryFavorite (HttpServletRequest request) 23
23
五、 数据模块/订单系统 接口描述 24
(1)创建订单 24
名称:addOrder 24
说明:创建订单 24
定义: public Result addOrder (HttpServletRequest request) 24
24
(2)删除订单 24
名称:removeOrder 24
说明:根据订单id删除某个订单 24
定义: public Result removeOrder (HttpServletRequest request) 24
25
(3)查询订单 25
名称:queryOrder 25
说明:查询某个用户的订单 25
定义: public Result queryOrder (HttpServletRequest request) 25
25
(4)查询订单详情 26
名称:queryOrderInfo 26
说明:根据订单id查询某个订单的详情 26
定义: public Result queryOrderInfo (HttpServletRequest request) 26
26
(5)检测订单状态 26
名称:checkOrderStatus 26
说明:在缓存中检测某个订单的状态 26
定义: public Result checkOrderStatus (HttpServletRequest request) 26
27
4. 第二层设计描述 27
4.1 数据模块 27
一、模块设计描述 27
1、UserController 27
2、AddressController 28
3、EventController 28
4、FavoriteController 29
5、OrderController 30
二、功能实现说明 30
5. 数据库设计 31
5.1 实体定义 31
一、分解描述 31
二、内部依赖性描述 33
5.2 行为定义 33
一、分解描述 33
二、外部依赖性描述 33
三、内部依赖性描述 33
6. 原型或界面设计 34
总结 36
一、项目基本情况 36
二、项目的完成情况 36
三、学员任务及其工作量总结 37
四、项目进度 37
五、经验教训及改进建议 37
一、绪论
1.选题背景
1.1 项目简介
本项目主要实现的是一个活动票务管理系统,实现对于活动门票的销售管理。
前端网页首页中包括活动详情,通过活动详情中的购买按钮可以跳转到购买页面。每个用户拥有个人页面,在个人页面中可以显示个人资料、个人订单页面(通过订单点击可以跳转到订单详情页面)以及个人收藏页面。
后端中定义了用户注册和登录的功能以及用户在个人资料界面对自身昵称修改,修改账号密码的功能;订单相关的功能有根据用户名查询订单、某一用户新增订单(即用户购买演出票)以及根据订单号删除订单;活动方面,本项目软件预想实现一个1000qps的高并发抢票系统,完成对一具体活动的门票抢购,管理员可以对本网页添加或删除活动,使用者可以分页查看所有活动,可以根据关键词查询,根据地点、日期、价格等条件筛选活动;已登录用户可以收藏一个活动,并且在个人收藏页面可以取消收藏。
1.2 类似产品或系统的分析
类似产品:大麦网。
大麦,是中国综合类现场娱乐票务营销平台,业务覆盖演唱会、 话剧、音乐剧、体育赛事等领域,提供全国演唱会,话剧,音乐会,音乐节,电影,儿童剧等演出票在线订购票服务,安全可靠。
与本项目类似的抢票系统,除各业务定制的抢票监控项外,抢票期大盘的汇总数据监控,可以为每次抢票更好地提供 监控数据支持,方便业务方一目了然得到抢票数据。大麦抢票经历了“原始”阶段、流程建设、技术优化、专项保障等四个阶段建设后系统已稳如磐石,对提升用户体验上也在不断努力。当然可能还是存在或多或少的问题,目前的技术方案也可能不是最优的,比如项目热度智能分析、风控自动调节等等,也已经在技术优化计划中。
1.3 产品或系统的特色及预计达到的目标
本产品相较于一般的活动票务管理软件特色是支持一个高并发的抢票系统,目前项目软件预期打到的并发量是1000qps。