抽奖系统的设计方案
一.前言
本项目采用的是MVC架构,MVC即为Model-View-Controller(模型-视图-控制器),MVC是一种设计模式,以MVC设计模式为主体结构实现的基础代码框架一般称为MVC框架,如果MVC设计模式决定了整个软件的架构,不管是直接实现了MVC模式还是以某一种MVC框架为基础,只要软件的整体结构主要表现为MVC模式,我们就称为该软件的架构为MVC架构。MVC中M、V和C所代表的含义如下:Model(模型)代表一个存取数据的对象及其数据模型。View(视图)代表模型包含的数据的表达方式,一般表达为可视化的界面接口。Controller(控制器)作用于模型和视图上,控制数据流向模型对象,并在数据变化时更新视图。控制器可以使视图与模型分离开解耦合。
二.软件系统的概念原型的不同视图
1.分解视图
分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,一般分解视图呈现为较为明晰的分解结构(breakdown structure)特点。分解视图用软件模块勾划出系统结构,往往会通过不同抽象层级的软件模块形成层次化的结构。

另外在此处,抽奖发布者实际上是由普通用户转换而成。
2.依赖视图
依赖视图展现了软件模块之间的依赖关系。比如一个软件模块A调用了另一个软件模块B,那么我们说软件模块A直接依赖软件模块B。如果一个软件模块依赖另一个软件模块产生的数据,那么这两个软件模块也具有一定的依赖关系。

3.泛化视图
泛化视图展现了软件模块之间的一般化或具体化的关系,典型的例子就是面向对象分析和设计方法中类之间的继承关系。值得注意的是,采用对象组合替代继承关系,并不会改变类之间的泛化特征。
4.执行视图
执行视图展示了系统运行时的时序结构特点,比如流程图、时序图等。

5.实现视图
实现视图是描述软件架构与源文件之间的映射关系。一般我们通过目录和源文件的命名来对应软件架构中的包、类等静态结构单元,这样典型的实现视图就可以由软件项目的源文件目录树来呈现。

src/main/java中存放Application /Library 的java源代码,src/main/webapps存放Web 应用的网页,WEB-INF目录等,resources中存放存放JSF组件、相关资源等。
6.工作分配视图
工作分配视图将系统分解成可独立完成的工作任务,以便分配给各项目团队和成员。工作分配视图有利于跟踪不同项目团队和成员的工作任务的进度,也有利于在个项目团队和成员之间合理地分配和调整项目资源,甚至在项目计划阶段工作分配视图对于进度规划、项目评估和经费预算都能起到有益的作用。

三.数据库设计




四.运行环境和技术选型说明
运行环境:本系统的服务端在Linux服务器上运行。
数据库:本系统采用MySQL数据库,该数据库在速度、可靠性、适应性上都是较好的选择。
开发语言:java,Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。对于Web开发有得天独厚的优势。
前端框架:Vue
后端框架:Springboot
分布式框架:Dubbo和Zookeeper
五.系统概念原型的核心工作机制
软件系统概念原型要具备概念上的完整性和一致性,这是指是指针对于一个领域,不仅了解该领域的所有对象,并且了解所有对象之间的关系。在软件开发的失败原因中,概念的不完整性和不一致性是主要部分。这在《人月神话》这本书中被重点提到过。
该项目的概念原型的核心工作机制为:
普通用户注册登录后,可以根据抽奖规则,参与到抽奖去,并在开奖日期到来后,查询自己的中奖信息,并填写自己的收货地址与联系方式进行奖品的领取。
对于奖品发布者,可以制定抽奖规则,选定奖品和中奖人数,然后发布抽奖,并且可以查看并编辑自己已发布的抽奖项目。
对于系统管理员而言,可以根据权限查看或者编辑所有发布过的抽奖项目,并通知抽奖发布者中奖者名单。

浙公网安备 33010602011771号