实在不知道取什么名字——项目系统设计与数据库设计
实在不知道取什么名字——项目系统设计与数据库设计
| 软件工程 | https://edu.cnblogs.com/campus/zswxy/2018SE |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/zswxy/2018SE/homework/11622 |
| 作业目标 | 《系统设计说明书》(pdf文件);《数据库设计说明书》(pdf文件) |
| 其他参考文献 | 《系统设计说明书》《数据库设计说明书》国标规范文本;百度 |
一.团队项目的预期开发计划时间安排
| 计划开发时间 | 任务安排 | 完成情况 |
|---|---|---|
| 10.19-10.25(第8周) | 小组讨论项目具体内容和需要学习的技术 | 已完成 |
| 10.26-11.1(第9周) | 学习HTML+CSS+JS,与本学期课程网络应用程序设计(Javaweb)同步进行,前端框架大致确定 | 已完成 |
| 11.2-11.8(第10周) | 学习JSP,编写前端代码 | 已完成 |
| 11.9-11.15(第11周) | 学习Servlet监听器过滤器,编写前端与后端代码 | 已完成 |
| 11.16-11.22(第12周) | 学习SSH框架,编写后端代码 | 已完成 |
| 11.23-11.29(第13周) | 学习SSH框架,编写后端代码 | 已完成 |
| 11.30-12.9(第14-15周) | 整合项目 | 已完成 |
| 12.10-12.15(第15-6周) | 软件测试 | 已完成 |
二.团队项目的预期开发计划分工安排
| 成员 | 角色 | 负责的开发部分 |
|---|---|---|
| 郑菲 | 软件设计人员:主要负责原型设计,软件设计文档编写,总结 | 业务层编码实现(service)、项目整合 |
| 刘媛媛 | 需求分析人员:主要负责撰写需求规格说明书 | 数据库编码实现 |
| 陈圣兰 | 开发人员:主要负责后端开发 | 表示层编码实现(action) |
| 王悦 | 开发人员:主要负责前端开发 | 前端开发(JSP) |
| 周蓉婕 | 测试人员:主要负责测试以及测试文档的编写 | 持久层编码实现(JavaBean、dao) |
三.体系结构设计:
1.软件技术架构设计
本软件的设计主要是基于MVC设计模式,M代表模型Model, V代表视图View, C代表控制器 Controller。MVC设计模式将系统分为三层,层与层之间又通过一定的模式联系,使数据实体、业务逻辑与呈现视图分离,同时降低耦合性、提高重用性和可维护性。使用Struts+spring+hibernate框架实现MVC模式的各层分离。
Struts封装了servlet,负责在控制器和页面之间传递数据和验证方法,处理业务逻辑。Struts框架使前端与后台的代码分离。hibernate对JDBC进行了非常轻量级的对象封装,它将Javabean与数据库表建立映射关系,是一个全自动的orm(对象关系映射)框。hibernate通过Javabean与数据库表的映射自动更新访问数据,使得Java程序员可以使用对象编程思维来操纵数据库。spring负责控制整个业务的控制反转,解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。降低了系统代码的耦合,使系统的后期维护和更改更方便。
2.功能结构设计
本网站主要分为三个功能模块:用户模块、管理员模块、论坛管理员模块,三个模块的子功能模块如下图所示:

四.程序模块设计:
| 功能模块名称 | 子功能名称 | 子功能简述 |
|---|---|---|
| 管理员 | 输入登录信息 | 管理员在首页点击后台管理打开管理员登录页面,输入登录信息,点击“登录”按钮,登陆成功即可进入管理员首页,如果登录错误则可以返回到登录页面重新登录 |
| 管理员 | 个人修改密码 | 管理员可以修改自己的密码,此功能须在管理员登录成功的情况下进行 |
| 管理员 | 论坛板块管理 | 管理员对论坛板块进行管理,包括查看、添加、删除功能,此功能须在管理员登录成功的情况下进行 |
| 管理员 | 论坛用户管理 | 管理员在登录成功的情况下可以在用户管理的页面查看用户信息和删除用户 |
| 管理员 | 论坛管理员管理 | 管理员在登录成功的情况下可以点击论坛管理员管理页面查看、添加、删除论坛管理员 |
| 用户 | 注册 | 用户可以点击首页的注册按钮进入注册页面进行注册 |
| 用户 | 登录 | 用户可以在导航条上输入用户名和密码进行登录 |
| 用户 | 查看帖子 | 用户可以查看自己发布的帖子 |
| 用户 | 发布帖子 | 用户可以发布帖子,此功能须在用户登录成功的情况下进行 |
| 用户 | 回复帖子 | 用户可以评论其他用户的帖子,此功能须在用户登录成功的情况下进行 |
| 用户 | 个人信息 | 用户可以查看和修改个人信息 |
| 论坛管理员 | 登录 | 论坛管理员可以在导航条上选择登陆身份“论坛管理员”,然后输入用户名和密码进行登录 |
| 论坛管理员 | 查看帖子 | 论坛管理员可以查看用户发布的帖子 |
| 论坛管理员 | 发布帖子 | 论坛管理员可以发布帖子,此功能须在论坛管理员登录成功的情况下进行 |
| 论坛管理员 | 删除帖子 | 论坛管理员可以删除用户发布的帖子,此功能须在论坛管理员登录成功的情况下进行 |
| 论坛管理员 | 回复帖子 | 论坛管理员可以回复用户发布的帖子,此功能须在论坛管理员登录成功的情况下进行 |
| 论坛管理员 | 删除评论 | 论坛管理员可以删除用户的评论和自己的评论,此功能须在论坛管理员登录成功的情况下进行 |
五.设计类图
该项目中的角色分类及其角色间的相互联系如下图所示:

六.ER分析+表结构设计
1.概念结构设计
概念设计是在需求分析的基础上将无结构的数据描述转换为有结构的、易于理解的精确表达。再将概念结构转换为DBMS所支持的数据模型。通过E-R模型描述概念结构。
注意:当前管理员表数据只设置一个后台管理员。专门设置一个管理员表是为了以后如果要添加管理员更方便修改维护。
通过需求分析的文档初步建立的E-R模型如下:

2.表结构设计
板块表:
用来存放板块id,板块名称,是否删除这三个属性的数据

用户表:
存放用户id、登录名、密码、姓名、性别、年龄、地址、电话、QQ、头像的数据

回贴表:
表的属性为回帖id、标题、回帖内容、时间还是附件、回帖人id(用户id)、所回帖id(帖子id)、是否删除

帖子表:
帖子id、标题、内容、附件、时间、发帖人(用户)id、所属板块id(板块id)、是否删除

管理员表:
管理员id、用户名、密码

七.系统安全和权限设计
(1)权限控制
根据不同的用户角色,给予其对应的权限:
所有角色都可以查看帖子详情
登录成功的普通用户可以发贴、评论帖子,可以修改个人信息。
登录成功的论坛管理员可以发帖、评论、删除用户和自己的帖子、删除用户和自己的评论。
登录成功的后台管理员可以修改个人密码、管理论坛的板块(查看、添加、删除)、管理论坛管理员(查看、添加、删除)、管理用户(查看、删除)
(2)重要数据加密
对一些重要的数据进行加密,如用户账号密码。
八.描述为完成这次作业的工作流程、组员分工、组员贡献度比例
1.撰写《数据库设计说明书》的工作流程:
(1)进行数据库设计
(2)参考《软件需求规格说明书》撰写我们自己的规范的需求规格说明书
2.撰写《系统设计说明书》的工作流程:
(1)根据之前的用例图、用例描述、类图、数据库设计说明书来完成
(3)参考《软件需求规格说明书》撰写我们自己的规范的需求规格说明书
3.组员分工、组员贡献度比例:
| 成员 | 分工 | 组员贡献度比例 |
|---|---|---|
| 郑菲 | 主要负责原型设计,软件设计,编写随笔,上传git | 22% |
| 刘媛媛 | 主要负责撰写需求规格说明书 | 19% |
| 陈圣兰 | 主要负责后端开发 | 20% |
| 王悦 | 主要负责前端开发 | 19% |
| 周蓉婕 | 主要负责测试以及测试文档的编写 | 19% |
十.Github地址
Github地址:https://gitee.com/zheng-fei/database-and-system-design

浙公网安备 33010602011771号