软件工程第四次团队作业
这个作业属于哪个课程 | 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% |
六.相关文件链接
来源:oschina
链接:https://my.oschina.net/u/4378879/blog/3231928