这个作业属于哪个课程 | 软工-2018级计算机2班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 需求分析模型 |
小组的组号和队名 | 组号:3 队名:合理 |
小组的队长姓名 | 何磊 |
序号 | 工作内容 | 最晚截止时间 | 负责人 | 备注 |
---|---|---|---|---|
1 | 原型设计讨论 | 2020-03-23 | 李代传、何磊 | |
2 | 需求分析讨论 | 2020-03-28 | 李代传、何磊 | |
3 | 系统设计与数据库设计 | 2020-04-13 | 李代传、何磊 | |
4 | 召开讨论会分配个人具体工作,给出代码统一规范 | 2020-04-13 | 李代传、何磊 | |
5 | 学习开发工具以及语言框架知识等,汇报学习情况 | 2020-04-20 | 李代传、何磊 | |
6 | 站立式会议+编码+测试+项目管理同步推进,发布Alpha版本 | 2020-05-04 | 李代传、何磊 | |
7 | 项目完善+用户使用反馈+测试计划改进 | 2020-05-11 | 李代传、何磊 | |
8 | 站立时会议+测试+项目管理推进,发布Beta版本 | 2020-05-25 | 李代传、何磊 | |
9 | 正式版本完善+用户手册 | 2020-06-01 | 李代传、何磊 | |
10 | 正式版本发布、撰写宣传文案推广 | 2020-06-08 | 李代传、何磊 |
模块 | 前端 | 后端 |
---|---|---|
登录注册模块 | 何磊 | 李代传 |
搜索模块 | 何磊 | 李代传 |
主页模块 | 何磊 | 李代传 |
发布任务模块 | 何磊 | 李代传 |
聊天模块 | 何磊 | 李代传 |
功能层次图
说明:功能模块分为三个部分,针对未登录用户,已登录用户
针对未登录用户,可以查看热门推荐、排行榜单等功能
对于登录用户(session判断是否登陆),可以进入个人主页并且完成个人信息的修改以及任务、评论的发布。
说明:从用户个人角度考虑用户的功能层次分析,从注册登录,到对个人信息的修改,以及搜索相关内容,发布任务,评论。
网站功能模块设计详情见系统设计说明书:
根据项目的需求可划分为如下描述的类图。用户类以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(访问控制过滤器)进行过滤。
学号 | 工作内容 | 贡献度 |
---|---|---|
20188450 | 数据库设计说明书 | 50% |
20188437 | 系统设计说明书 | 50% |
《系统设计说明书》《数据库设计说明书》