2020软件工程作业——团队05

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/1082
团队名称 旺宝的家
这个作业的目标 项目系统设计与数据库设计
作业正文 如下
其他参考文献 www.baidu.com

一、团队项目的预期开发计划时间安排

此表仅为设计计划,具体进度以最终完成效果为准

日期 目标
6.14 分配工作开始行动
6.14-6.21 完成商城前台前端
6.21-6.25 完成商城前台后端
6.26-7.1 完成商城后台前端
7.2-7.4 完成商城后台后端
7.5 软件测试

二、团队项目的预期开发计划分工安排

序号 组员姓名 在整个项目中的职责
1 陈勇 项目经理
2 何明波 前端
3 郑康 前端
4 常林 项目经理
5 阳晨 后端
6 张顺 后端
7 黄涛 后端

三、图设

(一)体系结构设计+功能模块层次图

体系结构设计

功能模块层次图

(二)设计类图

(三)ER分析+表结构设计



系统管理员表(wb_Admin):管理系统管理员账号和密码的表,主要属性有:用户名和密码。系统管理员根据用户名密码登陆后台系统。

系统管理员表

表名:wb_Admin
字段名 数据类型 长度 主外键 字段说明 备注
AdminID varchar 32 主键 管理员ID 非空
Password varchar 32 管理员密码 非空

会员区域表(wb_Area):网站会员购物地点,主要属性有:AreaID,AreaKM。

系统可以根据会员区域表收取会员需要运输商品的运输费。

会员区域表

表名:wb_Area
字段名 数据类型 长度 主外键 字段说明 备注
AreaID varchar 50 主键 区域ID 非空
AreaKM varchar 50 送货距离

会员购物信息表(wb_BuyInfor):会员购物信息统计表,主要属性有:BuyID,

GoodsID,Num,SumPrice,MemberID。

会员购物信息表

表名:wb_BuyInfor
字段名 数据类型 长度 主外键 字段说明 备注
BuyID varchar 50 主键 购物单号 非空
GoodsID varchar 50 商品ID
Num int 32 商品数量
OrderID varchar 50 订单号
SumPrice varchar 50 总价格
MemberID varchar 50 外键 会员ID

商品类别表(tb_Class):商品类别显示表,主要属性有:ClassID,CategoryUrl。

主要管理所有商品种类及其简易图标。

商品类别表

表名:wb_Class
字段名 数据类型 长度 主外键 字段说明 备注
ClassID varchar 50 主键 商品种类ID 非空
CategoryUrl varchar 50 商品标识图标

商品信息表(wb_GoodsInfo):商品信息表主要负责存储商品名称,商品类别,商品图标,商品图片,商品价格,商品重量等信息。主要属性有:GoodsID,ClassID,GoodsIntroduce,GoodsBrand,GoodsUnit,GoodsWeight,GoodsUrl,MarketPrice,MemberPrice,Isrefinement,IsHot,AddDate,IsDiscount。

商品信息表

表名:wb_GoodsInfo
字段名 数据类型 长度 主外键 字段说明 备注
GoodsID varchar 50 主键 商品名称 非空
ClassID varchar 50 外键 商品类别 非空
GoodsIntroduce Text 250 商品介绍
GoodsBrand varchar 50 商品品牌
GoodsUnit varchar 50 商品计数单位
GoodsWeight float 16 商品重量
GoodsUrl varchar 50 商品图片地址
MarketPrice float 16 商品市场价格
MemberPrice float 16 商品会员价格
Isrefinement bool 1 是否精品
IsHot bool 1 是否热销
AddDate datatime 32 上传日期
IsDiscount bool 1 是否特价

商品图片表(wb_Image):商品图片表,主要用来存储商品的图片,主要属性有:ImageID,ImageName,ImageUrl。

商品图片表

表名:wb_Image
字段名 数据类型 长度 主外键 字段说明 备注
ImageID varchar 50 主键 商品图片ID 非空
ImageName varchar 50 商品图片名称
ImageUrl varchar 50 商品图片地址

会员信息表(wb_Member):会员信息表,主要用来存储会员的一些基本信息,如会员ID,会员性别,会员密码,会员真实名字,会员联系方式(电话号码。E_mail,所在城市,家庭住址,邮政编码等),现有RMB,上一次登陆时间。主要属性有:MemberID,Sex,Password,TrueName,Phonecode,Emails,City,Address,PostCode,AdvancePayment,LoadDate。

会员信息表

表名:wb_Members
字段名 数据类型 长度 主外键 字段说明 备注
MemberID varchar 50 主键 会员ID 非空
Sex bit 1 会员性别
Password varchar 50 会员密码
TrueName varchar 50 会员真实名字
Phonecode varchar 50 电话号码
Emails varchar 50 Email
City varchar 50 所在城市
Address varchar 200 地址
PostCode varchar 10 邮编号码
AdvancePayment varchar 50 现有存款
LoadDate datetime 32 上次登录时间

订单信息表(tb_OrderInfo):订单信息表主要用来存储会员每次订单信息,主要属性有:OrderID,OrderDate,GoodsFee,TotalPrice,ShipFee,ShipType,PayType,MemberID,ReceiverName,ReceiverPhone,IsConfirm,IsPayment,IsConsignment,IsPigeonhole,ReceiverPostCode,ReceiverAddress,ReceiverEmails。

订单信息表

表名:wb_OrderInfo
字段名 数据类型 长度 主外键 字段说明 备注
OrderID varchar 50 主键 订单ID 非空
OrderDate Datetime 32 订单提交日期
GoodsFee varchar 50 商品价格
TotalPrice varchar 50 商品总费用
ShipFee varchar 50 运输费
ShipType varchar 50 运输方式
PayType varchar 50 付款方式
MemberID varchar 200 会员ID
ReceiverName varchar 50 接收人名字
ReceiverPhone varchar 50 接收人电话
IsConfirm bit 1 是否确认
IsPayment bit 1 是否付款
IsConsignment bit 1 是否托付商品
IsPigeonhole bit 1 是否托运
ReceiverPostCode Char 10 接收人邮编
ReceiverAddress Varchar 200 接收人名地址
ReceiverEmails Varchar 50 接收人邮件

付款方式表(wb_PayType):付款方式表主要存储会员的付款方式,主要属性有:PayID,PayWay。

付款方式表

表名:wb_PayType
字段名 数据类型 长度 主外键 字段说明 备注
PayID varchar 50 主键 付款ID 非空
PayWay varchar 50 付款方式

邮寄方式表(wb_ShipType):邮寄方式表,主要负责存储商品发送的方式。比如:邮寄,快递。主要属性有:ShipID,ShipWay,ShipFee,ClassID。

邮寄方式表

表名:wb_ShipType
字段名 数据类型 长度 主外键 字段说明 备注
ShipID varchar 50 主键 邮寄ID 非空
ShipWay varchar 50 邮寄方式
ShipFee varchar 50 邮寄费用 非空
ClassID varchar 50 外键 商品类别 非空

购物车信息表(wb_ShopCart):购物车信息表,主要负责存储会员临时性添加的一些商品,主要属性有:CartID,GoodsID,Num,MemberPrice,MarketPrice,MemberID,GoodsWeight。

购物车信息表

表名:wb_ ShopCart
字段名 数据类型 长度 主外键 字段说明 备注
CartID varchar 50 主键 邮寄ID 非空
GoodsID varchar 50 外键 邮寄方式 非空
Num int 50 购买数量 非空
MemberPrice float 50 会员价格 非空
MarketPrice float 16 市场价格 非空
MemberID varchar 50 外键 会员ID 非空
GoodsWeight float 16 商品重量 非空

(四)系统安全和权限设计

迄今为止最为普及的权限设计模型是RBAC模型,基于角色的访问控制(Role-Based Access Control)
这是权限最基础也是最核心的模型,它包括用户/角色/权限,其中用户和角色是多对多的关系,角色和权限也是多对多的关系。
用户是发起操作的主体,按类型分可分为2B和2C用户,可以是后台管理系统的用户,可以是OA系统的内部员工,也可以是面向C端的用户,比如阿里云的用户。
角色起到了桥梁的作用,连接了用户和权限的关系,每个角色可以关联多个权限,同时一个用户关联多个角色,那么这个用户就有了多个角色的多个权限。有人会问了为什么用户不直接关联权限呢?在用户基数小的系统,比如20个人的小系统,管理员可以直接把用户和权限关联,工作量并不大,选择一个用户勾选下需要的权限就完事了。但是在实际企业系统中,用户基数比较大,其中很多人的权限都是一样的,就是个普通访问权限,如果管理员给100人甚至更多授权,工作量巨大。这就引入了"角色(Role)"概念,一个角色可以与多个用户关联,管理员只需要把该角色赋予用户,那么用户就有了该角色下的所有权限,这样设计既提升了效率,也有很大的拓展性。
权限是用户可以访问的资源,包括页面权限,操作权限,数据权限:

页面权限: 即用户登录系统可以看到的页面,由菜单来控制,菜单包括一级菜单和二级菜单,只要用户有一级和二级菜单的权限,那么用户就可以访问页面
操作权限: 即页面的功能按钮,包括查看,新增,修改,删除,审核等,用户点击删除按钮时,后台会校验用户角色下的所有权限是否包含该删除权限,如果是,就可以进行下一步操作,反之提示无权限。有的系统要求"可见即可操作",意思是如果页面上能够看到操作按钮,那么用户就可以操作,要实现此需求,这里就需要前端来配合,前端开发把用户的权限信息缓存,在页面判断用户是否包含此权限,如果有,就显示该按钮,如果没有,就隐藏该按钮。某种程度上提升了用户体验,但是在实际场景可自行选择是否需要这样做
数据权限: 数据权限就是用户在同一页面看到的数据是不同的,比如财务部只能看到其部门下的用户数据,采购部只看采购部的数据,在一些大型的公司,全国有很多城市和分公司,比如杭州用户登录系统只能看到杭州的数据,上海用户只能看到上海的数据,解决方案一般是把数据和具体的组织架构关联起来,举个例子,再给用户授权的时候,用户选择某个角色同时绑定组织如财务部或者合肥分公司,那么该用户就有了该角色下财务部或合肥分公司下的的数据权限。

四、工作流程、组员分工、组员贡献度比例

序号 组员姓名 在整个项目中的职责 在本次任务中的职责 本次任务的贡献度
1 陈勇 项目经理 分配工作 10%
2 何明波 前端 完成博客、github 25%
3 郑康 前端 画类图 12%
4 常林 项目经理 查找资料 10%
5 阳晨 后端 系统说明书 13%
6 张顺 后端 完成e-r图和表 20%
7 黄涛 后端 查找资料 10%

五、GitHub链接

https://github.com/hmbbbbbb/txjg

posted @ 2020-06-14 19:05  hmbbb  阅读(497)  评论(0编辑  收藏  举报