2020软件工程作业——团队05
恰分王——项目系统设计与数据库设计
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/2018SE/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/2018SE/homework/11622 |
团队名称 | 恰分王 |
作业目标 | 努力完成老师布置的任务 |
GitHub链接 | https://gitee.com/li-hu-chen-xie/cake-shop/blob/master/博客园第五次作业 .docx |
一、团队项目的预期开发计划时间安排
日期 | 任务计划 |
---|---|
10月2日——10月5日 | 完成项目需求分析确定项目 |
10月6日——11月11日 | 完成前端整体框架的架构 |
10月15日——11月16日 | 完成数据库的设计 |
11月5日——12月4日 | 完成各功能的实现 |
12月5日——12月13日 | 完成编码测试和维护 |
12月14日——12月17日 | 完成软件交付 |
二、团队项目的预期开发计划分工安排
姓名 | 分工内容 | 贡献程度 |
---|---|---|
李健 | 代码编译运行,数据库设计 | 20% |
胡鹏 | 环境部署,数据库设计 | 20% |
胡威鸿 | 项目文档分析,前端开发 | 20% |
谢睿 | 项目测试和维护,前端开发 | 20% |
陈文龙 | 项目测试和维护,前端开发 | 20% |
三、项目设计相关图
1.体系结构设计图
这张图较为详细的介绍我们项目的总体功能和思路,分为用户使用路径和管理员管理路径。用户可以通过在商品模板挑选商品加入购物车,在购物车里支付订单。管理员登录后在管理员界面修改商品模板的商品,增加删除修改,在订单管理确认修改客户订单。
2.功能模块层次图
此图笼统的介绍了我们项目的主要功能分布,分为用户使用平台和管理员使用平台,再延伸至各平台实现的功能。
3.设计类图
3.1管理人员:可以登录和注销;在管理员界面有订单管理.客户管理.类目管理.商品管理。
3.2订单管理:连接着购物车模板,管理员对订单进行管理,检查是否有异常下单情况,处理客户已下单订单。
3.3类目管理:连接着商品分类模板,对商品的分类进行管理,及时配合新品与过季商品进行即时的类目增删。商品分类模板显示冰激凌系列,零食系列,儿童系列等内容的商品分类。
3.4商品管理:对商品进行上下架管理以及更新库存和详情页。连接着热销模板和新品模板,采用商品热销界面,让客户获得商品热销推荐,加大购买量。然后让各种各类型的新品蛋糕一目了然。
3.5客户管理:对注册的现有客户进行管理与检查,排查虚假注册用户。
3.6用户:用户可以用用户名或者邮箱,设置密码注册,已经注册的用户,并且用户已经激活后,输入用户名(用户名或邮箱)和密码即可登录到Cake shop网络订餐系统购买蛋糕。
3.7搜索项模板:登录的客户可以在自己买卖中随意搜索相关词汇,即可完成搜索,很快就能看到搜索的项目所有相关信息的展示。商家可以根据搜索项目来看到更多蛋糕推荐已经蛋糕详情。
4.ER图
此图介绍了我们项目的概念模型,提供了表示实体类型、属性和联系的方法。
四、表结构设计
4.1总体结构
Cakeshop系统总体数据结构关系如下:
4.2表结构
表4.1users用于用户登录注册,储存和访问用户个人数据。
表4.1 Users
列名 | 数据类型 | 主键 | 注释 |
---|---|---|---|
id | int | * | 用户数据库id |
Username | varchar | 用户名称 | |
varchar | 邮件 | ||
password | varchar | 用户密码 | |
name | varchar | 姓名 | |
phone | varchar | 电话号码 | |
address | varchar | 地址 | |
isadmin | bit | 身份 | |
isvalidate | bit | 登录状态 |
表4.2 order记录系统购物车结算提交过来的用户订单信息
表4.2 order
列名 | 数据类型 | 主键 | 注释 |
---|---|---|---|
id | int | * | 用户数据库id |
total | float | 总价 | |
amount | int | 订单数量 | |
status | int | 订单状态 | |
paytype | varchar | 支付方式 | |
name | varchar | 姓名 | |
phone | varchar | 电话号码 | |
address | varchar | 地址 | |
datetime | datetime | 订单时间 | |
user_id | int | 用户id |
表4.3 orderitem主要为购物车界面商品的清算
表4.3 orderitem
列名 | 数据类型 | 主键 | 注释 |
---|---|---|---|
id | int | * | 数据库购物车商品id |
price | float | 购物车价格 | |
amount | int | 购物车数量 | |
goods_id | int | 购物车商品id | |
order_id | int | 购物车订单id |
表4.4 goods记录的是商品基本显示信息,如展示的文字信息、图片信息以及在库状态。
表4.4 goods
列名 | 数据类型 | 主键 | 注释 |
---|---|---|---|
id | int | * | 数据库商品id |
name | varchar | 商品名称 | |
cover | varchar | 商品封面 | |
image1 | varchar | 内容图片1 | |
image2 | varchar | 内容图片2 | |
price | float | 商品价格 | |
intro | varchar | 商品简介 | |
stock | int | 商品库存 | |
type_id | int | 商品类型 |
表4.5 type主要为定义并存储分类类型。
表4.5 type
列名 | 数据类型 | 主键 | 注释 |
---|---|---|---|
id | int | * | 数据库类型id |
name | varchar | 类型名称 |
表4.6 recommend主要为定义并存储推荐商品类型以及商品id指向。
表4.6 recommend
列名 | 数据类型 | 主键 | 注释 |
---|---|---|---|
id | int | * | 数据库推荐id |
type | tinyint | 类型 | |
goods_id | int | 商品id |
五、系统安全和权限设计
5.1系统安全
1.系统中的构件可以实现应用需求,并且能将任意复杂度的功能封装在一起;
2.系统设计之初,对实体数字结构进行了严格管理与控制。
5.2权限设计
软件需求分析和模块设计阶段,分析与讨论了功能需求与用户权限的划分与控制,Cakeshop系统进行了严格的权限分离,能够很好地实现功能需求。