基于抽奖系统的需求分析与建模

1.项目介绍

本项目为实现一个抽奖系统,项目的要求有实现一个简单的用户管理系统,用户能够抽奖并领奖,抽奖发布者能够发布抽奖项目,系统管理员可以编辑所有的抽奖项目并修改概率,还要求能够承受高并发。

2.需求分析与用例建模

用例(Use Case)的核心概念中首先它是一个业务过程(business process),经过逻辑整理抽象出来的一个业务过程,这是用例的实质。

什么是业务过程?在待开发软件所处的业务领域内完成特定业务任务(business task)的一系列活动就是业务过程。

在准确理解用例概念的基础上,我们可以进一步将用例划分为三个抽象层级:
• 抽象用例(Abstract use case):只要用一个干什么、做什么或完成什么业务任务的动名词短语,就可以非常精简地指明一个用例;

• 高层用例(High level use case):需要给用例的范围划定一个边界,也就是用例在什么时候什么地方开始,以及在什么时候什么地方结束;

• 扩展用例(Expanded use case):需要将参与者和待开发软件系统为了完成用例所规定的业务任务的交互过程一步一步详细地描述出来,一般我们使用一个两列的表格将参与者和待开发软件系统之间从用例开始到用例结束的所有交互步骤都列举出来。

 

在此抽奖系统项目中,首先对普通用户的需求进行分析可以得到:

1.注册/登录

2.参与抽奖

3.查询中奖信息

4.领取奖励

 

 

 

然后是对抽奖发布者进行需求分析:

1.发布抽奖

2.制定抽奖规则

3.编辑已发布的抽奖

4.发放奖励

 

 

最后是对系统管理员进行需求分析:

1.管理所有的抽奖

2.管理所有用户

 

 

 

3.业务类图建模

 

业务领域建模是开发团队用于获取业务领域知识的过程。描述的是业务中涉及到的实体及其相互之间的关系,它是需求分析的产物,与问题域相关。

 

领域模型是“需求到面向对象的桥梁”。领域建模的一个简单方法就是从需求模型(即用例图)中去识别出概念类,逐步开展,具体步骤为:

 

  • 收集应用业务领域的信息。

    主要指收集功能需求层面的资料,前面工作已经基本完成

  • 头脑风暴

    列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系

  • 给这些应用业务领域概念分类

    即具体化上一步,识别出哪些是类,哪些是属性,具体的关系(关联、继承、依赖等)是什么

  • 将结果用UML类图表示出来

 

 

根据需求分析与用例建模可以得出以下的类以及属性:

1.普通用户:用户名、密码、收货地址、联系方式

2.抽奖发布者:用户名、密码、已发布的抽奖记录和联系方式

3.抽奖项目:参与抽奖人数、抽奖发布者、抽奖者、抽奖规则、奖品、开奖日期和中奖者

4.奖品:名字、介绍、图片和价格

5.系统管理员:用户名、密码和权限

 

 

 

 

4.数据模型建模

由前面的UML图可得如下数据模型:

 1.用户表

用户表如下:

表中各个变量的含义与类型:

 2.抽奖发布者表

 抽奖发布者表如下为:

 

 表中各个变量的含义与类型:

  3.抽奖项目表

抽奖项目表如下为:

表中各变量含义与类型为:

  4.奖品表

奖品表如下:

表中出现的各变量的含义与类型如下:

 5.系统管理员表

系统管理员表如下:

表中出现的各变量含义与类型如下:

 

5.概念原型

概念原型=用例+数据模型。

 

 

普通用户注册登录后,可以根据抽奖规则,参与到抽奖去,并在开奖日期到来后,查询自己的中奖信息,并填写自己的收货地址与联系方式进行奖品的领取。

对于奖品发布者,可以制定抽奖规则,选定奖品和中奖人数,然后发布抽奖,并且可以查看并编辑自己已发布的抽奖项目。

对于系统管理员而言,可以根据权限查看或者编辑所有发布过的抽奖项目,并修改中奖概率和相应的抽奖算法。

posted @ 2020-12-15 17:33  imDH  阅读(639)  评论(0)    收藏  举报