需求分析与概念模型——抽奖系统
一.需求分析
普通用户通过抽奖系统可以查询抽奖活动,进行抽奖,查看中将结果;
抽奖发布者可以管理自己发布的抽奖活动,对中将用户进行发奖;
管理员可以通过抽奖系统管理现有的抽奖活动及用户信息;
二.提取用例
第一步,从需求中寻找业务领域相关的动名词和动名词短语
第二步,验证这些业务领域相关的动名词和动名词短语到底是不是用例
- 必要条件一:它是不是一个业务过程?
- 必要条件二:它是不是由某个参与者触发开始?
- 必要条件三:它是不是显式地或隐式地终止于某个参与者?
- 必要条件四:它是不是为某个参与者完成了有用的业务工作?
第三步:在需求中识别出参与者、系统或子系统。
- 参与者会触发某个用例开始,用例也会显式地或隐式地终止于某个参与者;
- 用例会属于系统或子系统。
用例图:



三.业务领域建模
第一步,收集应用业务领域的信息。聚焦在功能需求层面,也考虑其他类型的需求和资料;
第二步,头脑风暴。列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系;
第三步,给这些应用业务领域概念分类。分别列出哪些是类、哪些属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系。
第四步,将结果用 UML 类图画出来。
抽奖系统UML类图:

四.数据模型
数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。
抽奖用户:
| 属性名 | 类型 | 是否可取Null | 备注 |
| id | bigint | N | 用户编号 |
| name | varchar | N | 用户姓名 |
| password | varchar | N | 用户密码 |
| attendAct | set | Y | 参加的抽奖活动 |
| winPrize | set | Y | 赢得的奖品 |
抽奖发布者:
| 属性名 | 类型 | 是否可取Null | 备注 |
| id | bigint | N | 发布者编号 |
| name | varchar | N | 发布者姓名 |
| password | varchar | N | 发布者密码 |
| activities | set | Y | 发布的抽奖活动 |
管理者:
| 属性名 | 类型 | 是否可取Null | 备注 |
| id | bigint | N | 管理者编号 |
| name | varchar | N | 管理者姓名 |
| password | varchar | N | 管理者密码 |
抽奖活动:
| 属性名 | 类型 | 是否可取Null | 备注 |
| id | bigint | N | 抽奖活动编号 |
| name | varchar | N | 抽奖活动名称 |
| Przies | set | Y | 抽奖活动奖品 |
奖品:
| 属性名 | 类型 | 是否可取Null | 备注 |
| id | bigint | N | 奖品编号 |
| name | varchar | N | 奖品名字 |
| description | varchar | N | 奖品描述 |
| num | integer | Y | 奖品个数 |
五.概念原型及其工作过程
概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论。
概念原型是一种虚拟的、理想化的软件产品形式。
概念原型 = 用例 + 数据模型
抽奖系统的概念模型工作过程:
用户查询抽奖活动,查看抽奖活动详情,进行抽奖,可以查看中奖结果,若中奖,可以得到奖品。
发布者,可以增加抽奖活动,查看抽奖活动,修改抽奖活动,删除抽奖活动,查看中奖用户,并发送奖品给中奖用户。
管理者,管理抽奖活动,用户信息,发布者信息。
六.总结与感受
本文对工程实践项目——抽奖系统,进行了用例建模和业务领域建模,以及数据建模,最终形成概念原型。通过从需求分析到软件设计的思路方法去分析和理解项目,从而对项目的实现有了较为明确和完整的蓝图。

浙公网安备 33010602011771号