啥都有——项目系统设计与数据库设计

写在前面

这个作业属于哪个课程 <班级的链接>
这个作业要求在哪里 <作业要求的链接>
团队名称 啥都有
这个作业的目标 系统、数据库设计及整体计划安排
作业正文 正文如下
其他参考文献 ...
  • 仓库地址(说明书等文档上传至dev分支)
    master分支
    dev分支
     

Part1.项目的整体计划安排表

时间 周数 任务计划
3.16-3.22 5 界面原型设计
3.23-3.28 6 项目需求分析
3.29-4.04 7 数据库设计以及个人技术学习
4.05-4.11 8 个人技术学习、代码风格制定以及任务详细分工
4.12-4.18 9 前端页面的设计和后台数据的简单操作
4.19-4.25 10 用户端买卖功能的基本实现
4.26-5.02 11 后台功能的基本实现,管理员承担所有审核
5.03-5.09 12 用户即时聊天功能的实现
5.10-5.16 13 敏感字过滤器的实现,以书易书专区的界面实现
5.17-5.23 14 实现毕业专区的推送,前端美化
5.24-6.06 15-16 功能优化和修复发现的bug
6.07- 17- 维护

 


Part2.功能结构图等描述

  • 功能结构图
    我们的分为用户端即客户端和管理端两大部分,这两个部分共同组成了“啥都有”二手交易平台。管理员的主要功能模块由公告管理、个人信息管理、用户管理、处理模块、管理员管理模块组成,其中个人信息管理分为个人信息的浏览与修改,公告管理分为对公告的增、删、查、改,处理模块分为对投诉、违规商品、举报的处理,管理员管理分为对管理员账户的增、删、改;普通用户的主要功能模块由个人信息管理、公告查看、商品购买模块、商品发布模块、消息管理模块、订单管理模块组成,其中个人信息管理分为个人信息的浏览与修改,商品购买模块分为商品查找、商品信息咨询、商品下单三个部分,消息管理分为消息的查看与回复,订单管理。功能结构图如下
    啥都有——项目系统设计与数据库设计_第1张图片
    查看原图
  • 设计类图
    我们的针对参与交易平台的对象设计了:管理员、普通用户、用户列表、公告、商品、商品列表、评论、订单等几各类,各类的属性、操作以及各类之间的关系如下图所示。特别的,基于二手平台交易的特性,我们设置一个订单只包含一类商品(具体原因将在博客余下的QA部分介绍)
    啥都有——项目系统设计与数据库设计_第2张图片
  • ER分析与表结构
    我们针对参与交易平台的各个实体,设计了普通用户、管理员、公告、商品订单、评论、申诉、商品共7个表,下面对部分实体间的关系做详细描述
    1、所有管理员都可以对公告进行管理,因此管理员与公告是多对多的关系
    2、同时所有管理员也可以对用户账户进行管理,因此管理员与用户也是多对多的关系
    3、一个用户可以发表多条评论,显然评论与用户是1对多
    4、一个商品订单可以产生一条投诉,而一个订单也由一位用户产生,用户可以产生多个订单,因此申诉与订单时一对一的关系,订单与用户时多对一的关系
    5、其余实体间的关系如下图所示
    啥都有——项目系统设计与数据库设计_第3张图片
    啥都有——项目系统设计与数据库设计_第4张图片
  • 系统安全和权限设计
    安全性
    1、数据库不直接存储用户的敏感信息的明文(如收货地址、联系方式等),而是将相关信息通过MD5、HASH等方式加密后存入数据库
    2、防止sql注入:在后台代码中以预编译spl语句等方式防止sql注入,降低通过原生sql语句攻击数据库的风险
    3、存取控制与权限分配:通过给不同身份账户分配不同权限,特别是对管理端进行权限限制,确保相应的数据操作人员都经过身份验证
    4、将用户输入信息经行转义处理,防止数据中因含有html标签而被执行成代码
    5、数据部署到云端,防止本地数据丢失
    6、审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人,时间和内容等
    7、用户标识符和鉴别:该方法由系统提供一定 的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才能提供系统的使用权
    健壮性:
    1、在数据库物理设计时,降低范式,增加冗余,少用触发器,多用存储过程
    2、对数据库管理系统DBMS 进行系统优化,即优化各种系统参数,如缓冲区个数
    3、在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法
    4、当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用 C++语言计算处理完成之后,最后才入库追加到表中去

 


Part3.需求Q&A回答

Q1:补充说明下图用例之间的关系 原图

  • A1:我们对该处用例图做了修改,补充了用例关系extend,如图(完整用例图请下载系统设计说明书)
    啥都有——项目系统设计与数据库设计_第5张图片

Q2:下图中红圈处的关系是何意?子圈处表示一个订单只能有一个商品吗?乐助教:应该加一个订单项
啥都有——项目系统设计与数据库设计_第6张图片

  • A2:红圈表示用户列表由普通用户组成。关于一个订单一个商品的问题,考虑到淘宝上是由店铺商家发布同一大类(如数码类)的多种商品,买家可能在同一商户购买多种不同的商品,因此一个订单可以购买多个商品,且由多个订单项组成。而在二手交易平台上,用户作为卖家发布的商品通常没有关联(如同一用户可能发布一本书和一颗篮球,这两件商品并没有什么关联),用户一般不会点击某个卖家对他发布的所有商品进行挑选,因此我们设置一个订单只购买一种商品,不增设订单项。

Q3:下图部分类的方法设置有误
啥都有——项目系统设计与数据库设计_第7张图片

  • A3:已针对相关错误修改并完善,具体如下图
    啥都有——项目系统设计与数据库设计_第8张图片
     

Part4.项目计划分工

学号 预期任务分配
221701212 用户模块的首页、个人信息页、历史信息页的前端实现
221701218 用户模块的商品发布、以书易书、历史订单页的前端实现
221701229 管理模块和用户模块的商品详情页面的前端实现
221701207 管理员模块所有功能的后端实现
221701226 数据库存取数据管理,提供接口,辅助用户模块后端实现
221701235 用户模块的所有后端功能

 


Part5.本次作业贡献度与分工

学号 任务 贡献度
221701207 数据流图、功能模块图 16.5%
221701212 系统说明书的接口设计、系统设计说明书的功能模块设计部分、整合 17%
221701218 系统设计说明书的引言、总体设计部分 15%
221701226 数据库结构设计、PPT与汇报 20%
221701229 类图的修改完善、用例图完善、泳道图等 16.5%
221701235 数据库设计说明书的引言、外部设计、验收验证标准 15%

 


Part6.文档链接

  • 系统、数据库设计答辩ppt
  • 系统设计说明书说明书
  • 数据库设计说明书

你可能感兴趣的:(啥都有——项目系统设计与数据库设计)