zoukankan      html  css  js  c++  java
  • 团队作业第四次—项目系统设计与数据库设计

    这个作业属于哪个课程 课程地址
    这个作业要求在哪里 作业地址
    团队名称 豌豆射手
    这个作业的目标 团队作业第三次—项目需求分析
    作业正文 作业正文地址
    其他参考文献 《构建之法现代软件工程》

    预期开发计划时间安排(里程碑)

    序号 工作内容 最晚截止时间 负责人 备注
    1 项目选题 2020-03-15 全员 已完成
    2 原型设计讨论 2020-03-23 全员 已完成
    3 需求分析讨论 2020-03-28 全员 已完成
    4 系统设计与数据库设计 2020-04-13 全员
    6 召开讨论会分配个人具体工作,给出代码统一规范 2020-04-13 前后端各司其职
    5 学习开发工具以及语言框架知识等,汇报学习情况 2020-04-20 全员 编码规范完成、平台环境搭建完成、初步架构搭建、接口复审、服务器部署
    8 站立式会议+编码+测试+项目管理同步推进,发布Alpha版本 2020-05-04 全员 完成项目的核心功能开发,包括分享模块、个人中心模块、分布帖子模块、评论模块、管理员模块并测试
    9 项目完善+用户使用反馈+测试计划改进 2020-05-11 全员 完成附加功能的开发以及根据用户反馈改进
    10 站立时会议+测试+项目管理推进,发布Beta版本 2020-05-25 全员 完成分享其他平台、话题模块
    11 正式版本完善+用户手册 2020-06-01 全员
    12 正式版本发布、撰写宣传文案推广 2020-06-08 全员

    预期开发计划分工安排

    模块 前端 后端
    个人中心模块 221701315 221701135
    管理员模块 221701216 221701419
    分享模块 221701315 221701334
    帖子模块 021700531 221701239
    评论模块 021700531 221701117
    广场模块(包括热榜) 221701117 221701117
    话题模块 221600137 221701419

    功能模块设计

    功能层次图

      说明:网站功能模块分为三个部分,针对未登录用户,已登录用户和管理员用户。网站分为前后台。针对未登录用户,可以查看热门推荐、排行榜单等可使用的功能,对于登录用户(session判断是否登陆),可以进入个人主页并且完成个人信息的修改以及帖子、评论的发布。管理员管理评论和帖子内容合法性。
      说明:从用户个人角度考虑用户的功能层次分析,从注册登录,到对个人信息的修改,以及搜索相关内容,发布帖子,评论。
      说明:对评论表,post表的内容审查,以及用户的密码找回功能。

    网站功能模块设计

    部分表格如下,详情见系统设计说明书:

    管理员功能模块设计

    部分内容如下,详情见系统设计说明书:

    类图

      根据项目的需求可划分为如下描述的类图。用户类以id自增方式存储在用户表中,包含属性有用户名,MD5密码,昵称以及积分等,操作包括设置昵称,发布评论,关注,绑定其他平台账号。评论管理类,用户可通过发布分享,以及评论分享,评论类中还有自己调用自己,是个自循环类,同样,包括管理员账户管理类。其中包括发布的分享的状态,以及评论的状态,管理员赋予权限设置以管理后台数据,以及产品运行的过程不法用户的恶意操作,做及时的屏蔽账户,以及普通用户忘记密码等需要后台介入的操作。

    体系结构设计

    ER分析

      本次E-R设计存在3种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),它们用来描述实体集之间的数量约束。上图描绘了整个系统的E-R图,分为很多模块,包括点赞模块、文章模块、用户模块、关注模块、相册模块、评论模块、分享模块。每个模块都描述实体的属性以及属性之间的联系。大多数都是多对多约束,所以中间类就显得十分重要,用于关联两个有多对多关联的实体。

    表结构设计

    部分表格如下,详情见系统设计说明书:

    安全性和健壮性

    对常见Web攻击的预防

    1.XSS 跨站脚本攻击
    处理:用户提交的博客信息进行转义处理。防止被窃取用户的cookie。
    2.sql注入
    处理:使用预编译语句,即使使用sql语句伪造成参数,到了服务端的时候,伪造sql语句的参数也只是简单的字符,并不能起到攻击的作用。

    系统安全设计

    1.数据传输安全性设计
      使用ssh2实现远程上传、下载、执行命令。SSH可以通过将联机的封包加密的技术进行资料的传递; 使用SSH可以把传输的所有数据进行加密,即使有人截获到数据也无法得到有用的信息。同时数据经过压缩,大大地加快了传输的速度。通过SSH的使用,可以确保资料传输比较安全并且传输效率较高。
    2.应用系统安全性设计
      操作人的操作信息需要提供操作记录。对系统的异常信息需进行记录,已备以后查看。只有授权用户才能登录系统,对于某个操作,需要具有相应权限才能进行操作。
    3.数据存储安全性设计
      对于用户的密码等敏感信息采用MD5进行加密。

    权限设计

      以角色为基础的权限管理设计(RABC)
    5.1基础表
      见表设计
      adminuser、auth_assignment、auth_item、auth_item_child表
      auth_assignment存储管理员id和权限
      auth_item存储权限的信息
      auth_item_child存储权限的上下级关系
    5.2权限分配
      当前用户只能分配已有权限的子权限。
      创建新的管理员只能由唯一的超级管理员创建。
    5.3权限验证
      权限控制在控制器里进行拦截。使用yii2框架的ACF(访问控制过滤器)进行过滤。

    针对上次问题改进

    建议 解决
    多考虑一下用户习惯,添加交互性可能会更好一些 1.在用户与系统交互过程中多加一些反馈,比如登陆成功后提示早午晚安等。2.增加签到数赢积分规则,同时可以吸引用户。
    需求分析不够,kano处理部分较少等 1.因为需求处理的部分主要针对不确定是否需要的需求作分析。2.我们是严格按照分析方法计算的。
    类图可以在整理一下有些乱,另外评论功能的话,按照类图设计的话是不是不能指定对某个人回复 1.类图进行了修改2.评论功能可以针对具体的评论来评论,也就是子评论,通过关联评论id就可以处理子评论。
    感觉整个需求文档对“作品”相关的功能讨论不足,比如作品类还比较简单;没有考虑给作品打分、写评论等问题。 1.修改了类图,将作品和评论相关联的类图完善。2.在类图中的post表增加了分数属性。

    贡献度

    学号 工作内容 贡献度
    221701117 接口设计,文档整合,答辩 12
    221600137 填写评审表 5
    221701135 功能层次设计图 12
    221701216 功能模块层次设计 12
    221701239 E-R图 11.5
    221701334 类图、表结构设计、系统安全和权限设计 12.5
    221701419 目录、引言、测试计划、故障处理说明 11.5
    021700531 兼容性要求,输入输出项 12
    221701315 体系结构设计图形表示 11.5

    github团队仓库链接

      github团队仓库点此进入链接

    豌豆射手_系统设计说明书

      豌豆射手_系统设计说明书点此进入链接

    豌豆射手_系统设计答辩PPT

      豌豆射手_系统设计答辩PPT点此进入链接

    豌豆射手_数据库设计说明书

      豌豆射手_数据库设计说明书点此进入链接

    豌豆射手_数据库设计答辩PPT

      豌豆射手_数据库设计答辩PPT点此进入链接

  • 相关阅读:
    C++概念性总结
    友元函数
    C++指针概念
    Linux下多线程(clone()线程)
    Qt5模块化详细总结
    C++有符号与无符号之间的转换问题
    使用C++test工具做Qt代码静态分析
    QT函数带有外部链接但没有在头文件中声明(QT noreturn属性添加)
    Linux之Docker手动创建Docker容器
    我在思考一个很变态的社会趋向
  • 原文地址:https://www.cnblogs.com/insist01/p/12688387.html
Copyright © 2011-2022 走看看