zoukankan      html  css  js  c++  java
  • 刚下飞机——项目系统设计与数据库设计

    软件工程第四次团队作业

    这个作业属于哪个课程 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
  • 相关阅读:
    03 Python之变量以及常量介绍
    看女程序员是如何处理男友出轨,网友回复更精彩
    四面美团,收割 offer
    MySQL 优化实战记录
    龙岗一个月350的出租房,我搬出来了
    程序员工作 996 生病 ICU ?
    真的有人在偷听我们讲话么?
    一次非常有趣的 SQL 优化经历
    如何阅读Java源码?
    从 0 开始手写一个 Mybatis 框架,三步搞定!
  • 原文地址:https://www.cnblogs.com/JustGotOffThePlane/p/12642717.html
Copyright © 2011-2022 走看看