刚下飞机——项目系统设计与数据库设计

六月ゝ 毕业季﹏ 提交于 2020-04-13 11:13:10

【今日推荐】:为什么一到面试就懵逼!>>>

软件工程第四次团队作业

这个作业属于哪个课程 2020春丨w班
这个作业要求在哪里 作业要求
团队名称 刚下飞机
这个作业的目标 项目系统设计与数据库设计
作业正文 如下
其他参考文献 软件工程国家标准文档
  • deadline:2020-04-10 23:00

一.整体计划安排

整体计划安排
时间 前端
第9周 用户部分完成:登录、注册、修改个人信息、发布问题、查看问题
第10周 用户部分完成:发布回答、查看回答、采纳回答、置顶回答
第11周(Alpha版本演示) 用户部分完成:发布评论、发布回复、细节完善、整体测试
第12周 用户部分完成:修改密码、修改绑定邮箱
第13周 用户部分完成:收藏问题、支持回答、反对回答、查看收藏问题;管理员部分完成:登录
第14周 用户部分完成:举报问题、举报回答、举报评论、举报回复;管理员部分完成:用户管理
第15周 用户部分完成:认证、用户动态
第16周(Beta版本演示)

补充

  • 第7周:讨论并确定项目系统设计方案
  • 第11周:前后端交互完成后,交由测试人员测试,测试完成后发布Alpha版本
  • 第16周:前后端交互完成后,交由测试人员测试,测试完成后发布Beta版本

二.预期开发计划分工安排

学号 工作内容
221701317 后端
221701328 前端页面设计,前后端交互
221701337 前端页面设计
221701312 后端
221701319 后端
221701340 后端
221701338 前段页面设计
221701333 后端

三.项目系统及数据库设计

1.体系结构设计+功能模块层次图

体系结构设计
项目采用BS(浏览器/服务器)模式,主体分为三层:
表现层(视图层):
表现层使用基于Vue.js的前端开发。
行为层(应用层):
后端使用JavaEE的SSH(Spring + Struts + Hibernate)框架进行开发。
开发模式参照JavaEE分层架构,分别是DAO(数据访问对象)层、Domain(领域对象)层、Service(业务逻辑)层、Controller(控制器)层。
持久层(数据层):
持久层使用MySql进行数据存储。







功能层次图

问题的功能模块由查看问题、提出问题、搜索问题、收藏问题和举报问题等主要功能模块组成。

管理员的功能模块由登录,重置密码,封禁,举报处理等功能等主要子功能模块组成,详细参见下图:

回答的功能模块由评论回答、发布回答、举报回答、置顶回答、采纳回答、支持回答、反对回答等主要子功能模块组成。

评论模块分为查看评论、点赞评论、发布评论、举报评论功能

账户的功能模块由注册、登录、查看通知消息、查看个人信息、修改个人信息、重置密码、找回密码、修改绑定邮箱等主要子功能模块组成。如下图所示:

回复的功能模块由查看回复、举报回复、点赞回复、发布回复等主要子功能模块组成。如下图所示:

2.类图

3.ER分析+表结构设计

数据实体图

实体关系图

表结构设计
例如:用户表
同义词(别名):用户表
主键:用户id
外键:用户状态id
索引:主键索引
约束:id:primary key,unique,not null;
email:unique,not null;








4.系统安全和权限设计
系统安全

a. 对用户密码进行hash加密。
b. 在cookie中使用密文来保存用户信息。
c. 使用阿里云ECS安全策略防止网络攻击。
d. 对输入数据进行过滤,确保输入符合我们的预期,以此防止XSS注入。
e. 使用Hibernate持久化框架防止SQL注入。
f. 多次登录失败触发验证码机制,防止暴力破解。




权限设计

本系统使用Struts的拦截器进行权限控制。
后台:
a. 没有登录无法使用任何功能。
前台:
a. 没有登录只能进行浏览、搜索,无法进行提问、回答、评论、点赞以及个人系统模块中的任何功能。
b. 被封禁的用户无法进行提问、回答、评论、点赞等功能。
只有题主才能对回答进行采纳、置顶。





四.问题回答

乐:1、不应该出现列表,应该用一对多关系描述
A:以对类图进行修改
2、那你们之间是怎么沟通的
A:描述具体功能的实现流程,较好让对方理解


傅:1、点赞回复是什么意思?
A:这里是添加对回复点赞的记录,当时对类和类成员方法名的命名方式有误,以想象中的功能命名方法了
2、你们的贡献度区分度太小了,基本上就是均分,最好贡献度不要出现小数了
A:已修改


汪:1、分工有什么心得?是每个人都完成需求模型的一部分吗?
A:3到5个人进行需求模型的构建,每个人都会参与到每个部分的设计。

2、组织秉承一碗水端平,可是老师和助教不同意,所以麻烦组长重新给予组员不同的贡献度,不可以通过小数点的不同来区分
A:已进行修改

五.组内分工

学号 工作内容 贡献度
221701317 设计类图、顺序图3张、系统说明书、参与数据库说明书编写与检查 15%
221701328 系统设计说明书2、3、5和模块接口,ER图和数据库设计说明书,说明书格式调整 14%
221701337 系统说明书、数据库系统设计、结构图 12%
221701312 数据库表建立,系统设计说明书用户部分,数据库实体描述,数据表名修改 13%
221701319 博客撰写,管理员系统设计 10%
221701340 编写了一部分的ER图,主要完成功能层次结构图,参与系统设计说明书(20%),数据库设计说明书(25%) 14%
221701338 系统设计说明书1 2 3 和数据库设计说明书的3 4 数据库 10%
221701333 功能层次图初设计,系统设计管理员模块编写,顺序图两张,ppt,演讲 12%

六.相关文件链接

  1. github团队仓库链接
  2. 刚下飞机_系统设计说明书
  3. 刚下飞机_数据库设计说明书
  4. 刚下飞机_系统设计和数据库设计答辩PPT
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!