Let's go!——项目系统设计与数据库设计

Let_us_go 团队 2024-04-23 21:39:57
这个作业属于哪个课程 2302软件工程
这个作业要求在哪里团队作业 概要设计和数据库设计
这个作业的目标改进分析、细化团队的开发计划和时间计划、完成系统设计说明书、完成数据库设计说明书
其他参考文献CSDN 、 Let’s go需求规格说明书

目录

  • 链接
  • 一、系统和数据库设计
  • 1.1 体系结构设计
  • 1.2 功能模块层次图
  • 1.2.1 前台功能模块
  • 1.2.2 后台功能模块
  • 1.3 ER分析
  • 1.3.1 总体分析
  • 1.3.2 模块分析
  • 1.3.3 实体分析
  • 1.4 表结构设计
  • 二、类图、系统安全和权限设计
  • 2.1 设计类图
  • 2.2 系统安全与权限设计
  • 2.2.1 安全性
  • 2.2.2 健壮性
  • 三、改进分析
  • 3.1 改进1
  • 3.2 改进2
  • 四、团队绩效
  • 4.1 工作流程
  • 4.2 组员分工和贡献度比例
  • 五、开发计划安排
  • 5.1 团队项目的预期开发计划时间安排
  • 5.2 团队项目的预期开发计划分工安排

链接

一、系统和数据库设计

1.1 体系结构设计

  • 系统整体设计上采用MVC架构并实施前后端分离,在前后端团队共同设计并协调好接口后,将接口放在云服务器上, android 通过 http 请求对应的 api,使前后端开发并行进行,提高开发效率。
    • 前端使用Android,客户端主要的数据处理逻辑都是利用 api 实现。
    • 后端使用SpringBoot框架进行快速开发。
    • 数据库使用MySQL。

1.2 功能模块层次图

1.2.1 前台功能模块

  • 前台主要划分为6个模块:登录模块、首页模块、自习室模块、计划模块、社区模块、我的模块。
    主要的划分依据及步骤如下:
    • 分析系统的需求,该系统基础需求为自习室、计划以及个人信息的管理,在此基础上,该系统增加帖子、评论等需求,依此得出需求列表。
    • 根据操作的相关性及具体内容对需求进行归类,各模块功能与操作尽可能单一。首页相关操作归为一类,自习室相关操作归为一类,帖子相关操作归为一类,计划相关操作归为一类,个人信息等操作归为一类。并划分出优先级。
    • 根据需求对系统进行模块分析,抽取出6大核心模块。
    • 将核心模块进行细化扩展,逐层得到各个子模块,完成模块划分(在下方各模块详细讲述)。

img

1.2.2 后台功能模块

  • 后台主要划分为6个模块:管理员登录模块,用户管理模块,帖子管理模块,自习室管理模块,评论管理模块,管理员信息模块。
  • 主要的划分依据及步骤如下:
    • 分析系统的需求,后台主要为各类信息的管理,可根据前台功能直观地看出自习室、帖子、用户、评论的管理,所以直接将后台模块划分为自习室、用户、帖子和评论的4大管理板块,最后考虑到后台管理员的登录操作和管理员信息。

img

1.3 ER分析

1.3.1 总体分析

img

1.3.2 模块分析

  • 自习室模块
    • 该模块中,用户可创建或修改自习室、收藏自习室、在自习室中发言、获取自习室奖励。

img

  • 事件模块
    • 该模块中,用户可创建或修改事件。

img

  • 帖子模块
    • 该模块中,用户可发帖、点赞帖子、发布评论、点赞评论,管理员可对帖子与评论进行审核。

img

1.3.3 实体分析

  • 用户实体(ID,头像,用户密码,姓名,性别,电话号码,积分)

img

  • 自习室表(ID,用户ID,名称,创建日期,描述)
    • (自习室表:自习室=1:n)
    • 属性约束:用户ID=>(-1:普通列表,其它:收藏列表)

img

  • 自习室(ID,创建者ID,名称,开放状态,背景图片)
    • 属性约束:开放状态=>(true:开放中,flase:未开放)

img

  • 自习室背景图片实体(ID,url,自习室ID)

img

  • 组件(ID,组件描述)

img

  • 组件列表(ID,自习室ID,组件ID)

img

  • 发言(ID,用户ID,自习室ID,日期,发言内容)

img

  • 奖励实体(ID,奖励描述,所需积分,折算积分)

img

  • 自习室奖励(ID,奖励实体ID,自习室ID,用户ID)

img

  • 事件项(ID,标签,描述,开始时间,结束时间)

img

  • 事件列表(ID,用户ID,事件项ID)

img

  • 帖子(ID,用户ID,发布时间,内容,点赞数,评论数,审核状态)
    • 属性约束:审核状态=>(true:已审核,flase:未审核)

img

  • 帖子列表(ID,用户ID,创建日期)

img

  • 评论(ID,帖子ID,用户ID,内容,发布时间,点赞数,审核状态)
    • 属性约束:审核状态=>(true:已审核,flase:未审核)

img

  • 帖子点赞实体(ID,用户ID,帖子ID)

img

  • 评论点赞实体(ID,用户ID,评论ID)

img

  • 帖子图片实体(ID,url,帖子ID)

img

  • 管理员(ID,头像,名称,密码)

img

1.4 表结构设计

  • 由 E-R 图得出以下关系模式和分析之后得出表结构:

img

img

  • assembly

img

  • assembly_list

img

  • assembly_list_with_assembly

img

  • Comment

img

  • comment_thumb

img

  • Event

img

  • event_list

img

  • Limits

img

  • Manager

img

  • Post

img

  • post_list

img

  • post_list_with_post

img

  • post_photo

img

  • post_thumb

img

  • Reward

img

  • Speech

img

  • study_room

img

  • study_room_list

img

  • study_room_list_with_study_room

img

  • study_room_reward

img

  • User

img

  • 总体结构

img

二、类图、系统安全和权限设计

2.1 设计类图

img

2.2 系统安全与权限设计

2.2.1 安全性

  1. 数据加密:所有用户数据应在存储和传输时进行加密。
  2. 防止SQL注入:编写sql脚本时时采用预编译,防止用户输入非法sql语句对数据库造成破坏。
  3. 访问控制:只有经过身份验证的用户才能访问某些功能。
  4. 异常处理:系统能够处理各种异常情况,如输入错误、服务器错误等。
  5. 安全审计和监控:系统定期进行安全审计和监控,以检测潜在的安全风险和异常行为,并及时采取措施应对。
  6. 防止恶意攻击:配置了防火墙或防病毒软件,以防止恶意攻击和非法访问。

2.2.2 健壮性

  1. 错误处理和异常处理:系统内置健壮的错误处理和异常处理机制,能够捕获和处理各种运行时错误和异常情况,防止系统因单点故障而崩溃。
  2. 数据备份和恢复:定期对系统数据进行备份,并建立完善的数据恢复机制,以防止数据丢失或损坏,确保数据的持久性和可恢复性。
  3. 系统监控和性能优化:通过使用监控工具和性能分析工具,监控系统的运行状态和性能指标,及时发现和解决潜在的性能瓶颈和问题。
  4. 代码质量和维护:遵循软件工程的最佳实践,如代码审查、单元测试、集成测试等,确保代码质量,降低系统维护的难度和成本。

三、改进分析

3.1 改进1

  • 问题:自习室中的摄像功能没有体现
  • 解决:经过老师的提醒,我们决定在自习室设置时,添加是否开启摄像头抓拍功能的权限设置按钮,若用户打开这一功能,在进行自习时,即可进行不定时的抓拍。

3.2 改进2

  • 问题:后台中缺乏帖子管理
  • 解决
    • 经过小组讨论后,我们决定在后台中添加帖子管理模块,使管理员能对帖子进行增删改查等操作,从而完善软件逻辑,丰富软件功能。
    • 针对此,我们在后台原型中新增了帖子管理页面,让改动更加形象,同时也便于后续页面开发。
    • 同时,我们也在数据库与接口设计中考虑了这部分改动,设计了相应的评论类与接口。

      img

四、团队绩效

4.1 工作流程

  • 首先,大家共同商讨会议时间,并做会议的前期准备

img


img

  • 在会议中,我们商讨了:

    • 分别确定了两份说明书的负责人,一份说明书三个人,负责人负责一份书的任务分配,部分编写和收尾工作。
    • 确定了团队分工
    • 讨论了基本的类和接口
  • 以下是部分会议记录

    img

img

  • 随后,大家在3(数据库)+3(系统设计)+2(其他)的分工模式下,工作有序进行

img

4.2 组员分工和贡献度比例

学号工作内容贡献度
222100401 丁念团队项目分工、博客撰写、汇报演讲、改进分析12%
052106114 杨必烨数据库设计说明书2.1标识符和状态+3.32物理结构+4.1安全性设计12.5%
222100102 关心悦系统设计说明书修正汇总和除四五部分的编写13.5%
222100105 黄娇茹PPT、改进分析11%
222100118 赵大伟系统设计说明书第四部分模块设计编写12%
222100121 洪恒辉数据库设计说明书3.1.1实体分析+3.2逻辑结构+剩余部分 、负责人13.5%
222100403 江滢怡数据库设计说明书3.1.2E-R模块分析+3.1.3总体E-R图12.5%
222100413 刘家伟系统设计说明书第五部分接口设计编写13%

五、开发计划安排

5.1 团队项目的预期开发计划时间安排

时间任务产出里程碑
第一周(4.17-4.23)1.项目系统设计与数据库设计
2.规划项目开发时间、分工
1.系统设计说明书
2.数据库设计说明书
完成系统设计说明书和数据库设计说明书,进入开发阶段
第二周(4.24-4.30)1.开始自习室模块的开发,包括自定义自习室场景等,尝试解决自习室模块三维显示、强制自习等技术实现难点
2.完成我的信息模块的开发
3.完成To do list模块的开发,包括事件的增删改查等
4.进行集成测试,并及时修复和优化出现的问题
1.初始自习室模块
2.我的信息模块
3.To do list模块
第三周(5.1-5.7)1.完成自习室模块的基础功能开发,对继续尝试解决技术难点
2.完成后台管理模块的开发,包括用户、自习室、帖子管理等
3.完成社区模块,包括帖子创建、显示等
4.进行集成测试,并及时修复和优化出现的问题
1.基础自习室模块
2.后台管理模块
3.社区模块
alpha版本完成,完成初步开发
第四周(5.8-5.14)1.优化自习室模块
2.进行综合测试,并及时修复和优化出现的问题
第五周(5.15-5.21)1.编写测试计划和测试用例,进行功能测试与性能测试,包括单元测试、集成测试、系统测试、负载测试、压力测试等1.测试报告
第六周(5.22-5.28)1.进行安全测试
2.修复发现的缺陷和问题
1.测试报告
第七周(5.29-6.4)1.继续优化软件功能
第八周(6.5-6.11)1.正式部署到生产环境
第九周(6.12-6.18)1.进行最后的测试与优化1.测试报告
2.最终版本
beta版本完成,项目已经完成开发和测试

5.2 团队项目的预期开发计划分工安排

周数成员职责任务
第一周222100102
222100118
222100413
系统设计协作完成系统设计
052106114
222100121
222100403
数据库设计协作完成数据库设计
222100401
222100105
团队项目分工、文档编写等完成项目协调工作
成员职责任务
第二周至第三周222100102
222100403
222100118
前端开发完成基本界面与交互动作
222100413
052106114
222100401
后端开发完成基本功能
222100105
222100121
测试单元测试,集成测试等
成员职责任务
第四周至第六周222100102
222100403
222100118
前端测试与优化包括交互优化测试等
222100413
052106114
222100401
后端测试与优化包括后端功能测试完善等
222100105
222100121
总体测试包括单元测试、集成测试等
成员职责任务
第七周至第九周222100102
222100403
222100118
222100413
052106114
222100401
产品测试与优化包括界面优化、性能优化、功能优化等
222100105
222100121
项目部署正式部署到生产环境
...全文
166 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧