一个抽奖项目的需求分析与概念模型

目录

一、需求分析

一个抽奖项目,它可主要分为普通参与抽奖的用户,抽奖活动的发布者,管理者。

1、用户需求:

  • 注册/登陆账户
  • 搜索/查看抽奖活动
  • 参与抽奖
  • 查看已参与的抽奖
  • 接收奖品

2、发布者需求:

  • 编写抽奖内容
  • 发布抽奖活动
  • 管理已发布的抽奖活动
  • 动态修改抽奖活动属性
  • 查看中奖用户
  • 发送奖品

3、管理者

  • 在职能范围内,管理所有的抽奖活动,包括禁止,限制,删除等
  • 在职能范围内,管理所有的发布者,对其行为进行监督
  • (超级管理者)管理所有的管理者,分配职能等

二、用例建模

根据需求分析的结果,大致可分为以下几种用例情况:

  • 抽奖用户

    • 注册/登陆
    • 参与抽奖
    • 领奖
    • 管理个人信息
      一个抽奖项目的需求分析与概念模型
  • 奖项发布者

    • 编辑抽奖
    • 发布抽奖
    • 管理抽奖信息
    • 发送奖品
      一个抽奖项目的需求分析与概念模型
  • 管理员

    • 管理所有抽奖
    • 管理发布者
      一个抽奖项目的需求分析与概念模型

三、业务领域建模

业务领域建模是开发团队用于获取业务领域知识的过程。因为软件工程师往往需要工作在不同的业务领域或者不同项目中,他们需要业务领域知识来开发软件系统。软件工程师往往来自不同的专业背景,这可能会影响他们对业务领域的认知。因此业务领域建模有助于开发团队获取业务领域知识形成统一的业务认知。

1、业务领域建模的过程

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

2、抽奖项目UML类图

一个抽奖项目的需求分析与概念模型

四、数据模型

1、数据表

(1)用户信息

字段 类型 说明
id INTEGER 主键
name VARCHAR 姓名
password VARCHAR 密码
gender VARCHAR 性别
group INTEGER 用户组

用户信息表主要存放所有用户的用户名和密码,用于验证登录,用户类型号用于区分不同角色,如普通用户,发布者,管理员等,主键为用户编号。

(2)抽奖活动

字段 类型 说明
id INTEGER 主键
name VARCHAR 姓名
publisher_id INTEGER 发布者的id
style_id INTEGER 抽奖类型号
desc VARCHAR 内容描述
times INTEGER 抽奖次数
times_limit INTEGER 次数限制
pub_date DATE 发布日期
time_expr DATE 到期时限

抽奖活动表主要存放所有发布的抽奖活动信息,发布者编号为用户信息表中的用户编号,抽奖类型号代表不同的抽奖方式,主键为活动编号。

(3)用户—抽奖

字段 类型 说明
user_id INTEGER 用户id
lottery_id INTEGER 活动id
times_remain INTEGER 剩余抽奖次数

用户/抽奖活动表保存用户参加抽奖的记录,是一张中间表,主键为用户编号,抽奖活动编号。

(4)奖品

字段 类型 说明
id INTEGER 主键
name VARCHAR 奖品名
nums INTEGER 奖品个数
rank INTEGER 奖品等级
lottery_id INTEGER 活动id

奖品表主要存放各抽奖活动对应奖品的信息,奖品编号为主键。

(5)用户—奖品

字段 类型 说明
id INTEGER 主键
user_id INTEGER 用户id
reward_id INTEGER 奖品id

​用户/奖品表用来记录用户中奖记录,中奖信息编号是主键。

2、逻辑模型

一个抽奖项目的需求分析与概念模型

四、概念原型

概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论。
概念原型是一种虚拟的、理想化的软件产品形式。

一个抽奖项目的需求分析与概念模型

所以抽奖项目概念原型如下:

  • 用户,注册并登陆账号,浏览抽奖活动,可按类型搜索并选择活动,查看剩余抽奖次数,如果大于0,可选择参加,等待结果,期间可查看所参加的活动。等到奖品开奖,可以查看是否得奖,若得奖,会受到奖品。
  • 活动发布者,可以选择抽奖类型,设置奖品及数量,等级;可设置到期时间,总的抽奖次数等等。在抽奖过程中,其可以动态修改抽奖活动的属性。等到开奖,查看中奖用户,并发送奖品。
  • 管理者,可按职能分,可监管抽奖活动,和管理发布者。
  • 超级管理者,只有一个,可安排不同职能的管理者,可管理和维护所有内容。

参考链接
https://gitee.com/mengning997/se/tree/master/ppt

发表评论

相关文章