一个抽奖系统的需求分析和概念原型
一、项目概述
该系统为一个抽奖系统,用户可以进行通过微信登录,查看中奖信息,抽奖等功能,能够支持一定的并发量。抽奖界面可以显示中奖用户的滚动名单。
管理员记录用户的信息,根据奖品个数动态调整抽奖概率。管理员界面支持添加奖项和奖品个数功能。
二、项目用例建模
在待开发软件所处的业务领域内完成特定业务任务的一系列活动称为业务过程,用例就是经过逻辑整理抽象出来的业务过程。
用例的基本要素:
- 一个用例应该由业务领域内的某个参与者所触发。
- 用例必须能为特定的参与者完成一个特定的业务任务。
- 一个用例必须终止于某个特定参与者,也就是特定参与者明确地或者隐含地得到了业务任务完成的结果。
本项目的参与者为用户和管理员。
用户可以触发的用例如下:
- 用户扫描抽奖页面二维码
- 用户微信授权登录
- 用户参与抽奖
- 查看已获取奖品
用户用例图

管理员可以触发的用例如下:
- 登录
- 奖项维护
- 奖品维护
管理员用例图

三、业务领域建模
业务领域建模是开发团队用于获取业务领域知识的过程。因为软件工程师往往需要工作在不同的业务领域或者不同项目中,他们需要业务领域知识来开发软件系统。软件工程师往往来自不同的专业背景,这可能会影响他们对业务领域的认知。因此业务领域建模有助于开发团队获取业务领域知识形成统一的业务认知。
业务领域建模的基本步骤:
第一步,收集应用业务领域的信息。聚焦在功能需求层面,也考虑其他类型的需求和资料;
第二步,头脑风暴。列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系;
第三步,给这些应用业务领域概念分类。分别列出哪些是类、哪些属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系。
第四步,将结果用 UML 类图画出来。
UML图实现业务类图

四、数据模型
数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。
用户表
| 字段名称 | 字段类型 | 可否为null | 是否为主键 | 备注 |
|---|---|---|---|---|
| id | bigint | N | Y | 用户id |
| winPrize | set | Y | N | 获奖列表 |
| attendPro | set | Y | N | 参与项目表 |
| contact | varchar | N | N | 联系方式 |
管理员表
| 字段名称 | 字段类型 | 可否为null | 是否为主键 | 备注 |
|---|---|---|---|---|
| id | bigint | N | Y | 管理员id |
| account | varchar | N | Y | 管理员账户 |
| password | varchar | N | N | 账户密码 |
| varchar | N | N | 邮箱 |
奖品表
| 字段名称 | 字段类型 | 可否为null | 是否为主键 | 备注 |
|---|---|---|---|---|
| id | bigiint | N | Y | 奖品id |
| name | varchar | N | N | 奖品名称 |
| photoURL | varchar | N | N | 图片地址 |
| description | text | Y | N | 奖品描述 |
抽奖项目表
| 字段名称 | 字段类型 | 可否为null | 是否为主键 | 备注 |
|---|---|---|---|---|
| id | bigint | N | Y | 项目id |
| name | varchar | N | N | 项目名称 |
| times | bigint | N | N | 抽奖次数 |
| dateStart | varchar | N | N | 开始日期 |
| dateEnd | varchar | N | N | 结束日期 |
| prizelist | set | N | N | 奖品列表 |
五、概念原型
概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论。
概念原型是一种虚拟的、理想化的软件产品形式。
其定义用以下公式描述:
概念原型 = 用例 + 数据模型。
概念原型需要结合具体的用例与数据模型去分析,本项目中运用了用户用例和管理员用例。涉及的数据模型为用户,管理员,奖品和抽奖项。
用户通过微信扫码参与抽奖,填写自己联系方式,查看自己中奖信息。管理员对抽奖项目管理和维护,对奖品进行发布维护和回收。
六、总结
通过对抽奖系统的需求分析和概念原型,对项目进行了需求分析和用例建模,然后对项目进行业务建模,最后得出了项目的数据模型和概念原型。这种分析和建模的方法在以后的项目实践中会经常使用。
浙公网安备 33010602011771号