护林员——项目系统设计与数据库设计

forest_rangers 团队 2024-04-23 23:55:56
这个作业属于哪个课程<2302软件工程>
这个作业要求在哪里<团队作业 概要设计和数据库设计>
这个作业的目标1份《系统设计说明书》、 1份《数据库设计说明书》、1篇博客随笔、答辩PPT
其他参考文献计算机软件文档编制规范

目录

  • 1、资源链接
  • 2、系统和数据库设计
  • 2.1体系结构设计
  • 2.2功能模块层次图
  • 2.2.1 前台
  • 2.2.2 后台
  • 2.3ER分析
  • 2.4表结构设计
  • 2.5设计思路
  • 3、类图、系统安全和权限设计
  • 3.1类图
  • 3.2系统安全
  • 3.3权限设计
  • 3.3.1前台用户权限设计说明
  • 3.3.2后台管理员权限设计说明
  • 3.4设计思路
  • 4、改进分析
  • 4.1 问题一:
  • 4.2 问题二:
  • 5、团队绩效
  • 5.1 工作流程
  • 5.1.1 作业一经发布,组长和组员查看作业内容,熟悉作业要求,组长提炼出所有的任务,进行分工,并制定ddl
  • 5.1.2 组长以迅雷不及掩耳盗铃儿响叮当之势完善需求分析,并详细地在word文件中描述
  • 5.1.3 组长快马加鞭制作最新版本的前台后台思维导图,方便组员根据思维导图设计接口和数据库等分工
  • 5.1.4 组员分为前端和后端,各自再细分分配任务,并完成第一轮的分工
  • 5.1.5 在周日的时候汇报完成情况,进而继续布置第二轮分工
  • 5.1.6 撰写博客,汇总材料并上传(正是现在码字ing QAQ)
  • 5.2 组员分工及其贡献度比例
  • 5.3 分工每日进程
  • 6、开发计划安排
  • 6.1 开发时间安排
  • 6.2 开发分工安排

1、资源链接

  1. 护林员团队GitCode项目仓库
  2. 《系统设计说明书》
  3. 《数据库设计说明书》
  4. 答辩PPT

2、系统和数据库设计

2.1体系结构设计

以下是福大树洞体系结构图,它描述了移动应用的三个主要层次:表现层、业务层和数据层。

  1. 表现层(Presentation Tier)

    • 这一层负责处理用户界面(UI)和用户交互。它包含了用户在设备屏幕上看到的所有元素,如图形、按钮和文本。
    • 表现层通过应用程序编程接口(API)与其它层次交互,负责向用户展示内容并接收用户输入。
  2. 业务层(Business Tier)

    • 也称为应用层,这一层包含了应用的核心业务逻辑。它处理数据访问、业务规则执行、事务管理等。
    • 业务层通常托管在服务器端,不直接是应用本身,但支持应用的功能执行。
  3. 数据层(Data Tier)

    • 负责存储和管理应用的数据,包括数据库和数据访问层。
    • 这一层处理所有数据交易,并通过API和数据访问组件、服务工具、实用程序与业务层交互。

此外,体系结构图还展示了一些辅助组件和服务,例如:

  • 服务代理(Service Proxy):作为客户端和服务器之间的中介,处理网络连接和数据传输。
  • 本地数据和缓存(Local Data & Cache):允许应用在本地存储数据,以提高性能和支持离线功能。
  • 工具(Tools)程序(Utilities):提供辅助功能,如日志记录、数据验证等。

整个体系结构的设计旨在确保应用的性能、兼容性、可扩展性、用户友好性以及安全性。通过分层,可以更好地组织代码,提高应用的可维护性和可测试性。

在这里插入图片描述

2.2功能模块层次图

2.2.1 前台

  1. 登录与账户管理模块

    • 用户登录:允许用户登录系统。
    • 注册账号:新用户注册账户的流程。
    • 找回密码:帮助用户找回或重置遗忘的密码。
  2. 个人设置模块

    • 更改信息:用户更新个人信息的选项。
    • 展示个人信息:显示用户的个人信息。
    • 重置密码:用户重置账户密码的功能。
    • 切换主题颜色:允许用户改变界面的视觉主题颜色。
  3. 社交与互动模块

    • 查看我的树洞:用户查看个人帖子的功能。
    • 查看历史记录:展示用户在平台上的查看过的帖子和课程评价历史活动记录。
    • 查看通知详情:用户查看系统或他人发送的通知。
  4. 系统与主题设置模块

    • 推送设置:用户设置哪些通知可以推送到设备。
    • 日间模式:切换到界面的日间显示模式。
    • 深色设置:切换到界面的夜间或深色模式。
  5. 内容探索与评价模块

    • 课程搜索:用户搜索课程的功能。
    • 课程评价:用户对课程进行评价的界面。
    • 帖子搜索:用户搜索帖子的功能。
    • 查看所有评价:展示所有用户评价的列表。
  6. 内容发布与互动模块

    • 发布帖子:用户创建和发布新帖子的界面。
    • 收藏帖子:用户收藏感兴趣的帖子。
    • 回复帖子:用户回复他人帖子的功能。
    • 评论排序:对帖子下的评论进行排序。
  7. 课程与教师模块

    • 教师选择:用户选择或浏览教师的功能。
    • 课程选择:用户选择或浏览课程的功能。
  8. 分享与反馈模块

    • 分享:用户分享帖子或课程到其他社交平台。
    • 举报:用户举报不当内容的选项。
  9. 辅助功能模块

    • 回到顶部:快速跳回页面顶部的功能。
    • 评价搜索:搜索特定评价的界面。
    • 展示评价内容和评论:展示评价及其相关评论的界面。
  10. 用户协议与帮助模块

    • 用户协议:展示用户使用平台前需同意的协议。
    • 个人中心:用户的个人账号管理区域。
    • 退出登录:用户退出当前登录状态的功能。
  11. 前台展示模块

    • 福大树洞前台:特定于该平台的前台展示或特色功能。

在这里插入图片描述

2.2.2 后台

在这里插入图片描述

2.3ER分析

在这里插入图片描述

2.4表结构设计

在这里插入图片描述

2.5设计思路

  1. 需求分析:首先需要了解系统的需求。这包括确定系统中需要存储哪些数据,以及这些数据之间的关系。
  2. 确定实体:基于需求分析,确定系统中的主要实体。例如在本次福大树洞项目中,实体可能包括管理员、帖子、课程评价、用户、评论、教师和课程。
  3. 确定属性:为每个实体确定其属性。属性是实体所具有的数据项。例如,用户实体的属性可能包括用户ID、头像、密码、昵称等。
  4. 确定关系:确定实体之间的关系。这可以是一对一(1:1)、一对多(1:n)或多对多(m:n)的关系。关系定义了不同实体如何相互关联。
  5. 规范化:对数据库进行规范化以减少数据冗余并提高数据完整性。这通常涉及将表分解成更小的、更具体的表。
  6. 设计表结构:基于上述步骤,设计每个表的结构,包括表名、列名和数据类型。
  7. 定义主键和外键:为每个表定义一个主键,它是唯一标识表中每条记录的字段或字段组合。定义外键以建立表之间的关系。

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

3.1类图

在这里插入图片描述

3.2系统安全

  1. 密码安全存储:使用强加密算法如SHA-256对用户密码进行加密,确保即便其他人通过非法手段获得数据库信息,也能确保密码的安全性,防止密码被轻易破解或还原。
  2. 权限控制:实施基于角色的访问控制(RBAC),通过为不同的用户分配不同的角色,并根据这些角色设定相应的访问权限,确保用户只能访问到他们被授权的数据。此外,对于涉及个人隐私的数据,采用水平权限校验的方法,以防止用户访问到其他用户的信息,从而保护用户隐私不被泄露。
  3. 数据脱敏:在展示和传输过程中,像电话号码、身份证号等敏感信息会被特殊处理,以确保即便在数据被意外泄露的情况下,用户的隐私也不会受到威胁。
  4. 防御SQL注入:对所有用户输入进行严格的验证和过滤,确保输入内容的合法性;使用参数化查询技术,避免将用户输入直接嵌入到SQL语句中,从而防止攻击者利用SQL注入的漏洞对数据库进行恶意操作。
  5. 访问频率控制:监测和限制用户的访问请求频率,一旦检测到某个用户的请求频率超出了正常使用的范围,系统将会自动进行限制或封禁,从而有效防止恶意攻击和滥用服务。
  6. 日志记录:日志包括操作的时间、操作的用户等详细信息,并且定期对这些日志进行备份。这样的做法不仅有助于事后的审计和追踪,也为我们提供了一种有效的手段来监控和分析用户行为,以便及时发现和处理异常情况。
  7. 内容过滤:建立违禁词列表,使用正则表达式、字符串匹配等技术,对用户生成的内容进行实时监控和过滤,防止不当信息的传播。

3.3权限设计

在设计权限系统时,我们需要为不同的用户角色分配适当的权限,以确保系统的安全性和数据的完整性。

3.3.1前台用户权限设计说明

  1. 个人信息管理:用户可以查看和更新自己的个人资料,包括昵称、签名、性别、出生日期等。
  2. 安全与隐私:用户能够通过密码重置功能保护其账户安全,并可以切换主题颜色以个性化体验。
  3. 内容互动:用户可以浏览、搜索、发布和收藏帖子和课程评价,以及参与树洞聊天和评论。
  4. 通知与推送:用户可以接收系统通知,并根据自己的偏好设置推送选项。

3.3.2后台管理员权限设计说明

  1. 用户管理:管理员可以查看用户列表,审核用户信息,以及在必要时修改或封禁用户。
  2. 内容监管:管理员负责审核和删除不当的帖子、评价和评论,确保平台内容的合规性。
  3. 系统维护:管理员可以处理用户的举报,维护社区的秩序和健康。
  4. 数据监控:管理员能够查看详细的用户、帖子、评价和评论信息,进行必要的数据管理和分析。

3.4设计思路

  1. 需求分析

    • 明确项目的目标和需求。
    • 确定项目的范围和功能。
  2. 识别实体

    • 根据需求分析,识别出系统中的主要实体。
    • 这些实体通常对应于现实世界中的对象或概念。
  3. 创建E-R图

    • 使用实体-关系(E-R)图来表示实体之间的关系。
    • 确定实体的属性和实体间的联系。
  4. 定义类

    • 将E-R图中的实体转换为类。
    • 每个类应该有一个唯一的名称,并且包含数据成员(属性)和方法(操作)。
  5. 确定属性

    • 为每个类定义属性,这些属性应该能够充分描述类的属性。
    • 属性应该是私有的(private),并通过公共的(public)方法进行访问。
  6. 定义操作

    • 确定每个类应该具有的操作(方法),这些操作定义了可以对类的实例执行的行为。
    • 操作可以是查询(获取信息)或更新(修改状态)。
  7. 确定关系

    • 关联关系
    • 继承关系
    • 依赖关系
  8. 封装和抽象

    • 确保类的实现细节被封装,只通过操作暴露必要的接口。
    • 使用抽象类来定义一组相关操作的接口。
  9. 使用UML类图符号画图

    • 使用统一建模语言(UML)的类图符号来表示类、属性、操作和关系。
  10. 维护

    • 随着项目的发展,定期更新类图以反映新的或更改的需求。

4、改进分析

4.1 问题一:

Q(老师):你们有没有做手机通知功能?就是像微信一样有消息通知的时候,手机会有弹窗提示。

A(学生):由于消息通知功能是提升用户使用体验的,我们在项目的需求分析中,过于注重项目具有实用性的核心功能,而忽略了一部分的用户额外体验。再加上可能我们日常生活中都喜欢打开手机软件的免打扰模式,才得以清净,就没考虑到实现这部分的功能。但为了提高用户粘性,消息通知提示无疑是吸引用户打开软件使用的最好方式之一,我们会尝试使用一些插件,使用vue3+插件开发uni-app,来实现此功能。

4.2 问题二:

Q(老师):为什么你们导航栏是使用侧边栏而不是底部导航栏?

A(学生):首先是我们软件的特点是从下往上滑动屏幕浏览帖子,再加上目前市面上大部分手机是全面屏手机,即手机底部没有系统导航栏,我们希望可以增加用户使用界面的视野,即在软件中仍然保持全面屏(没有底部导航栏)的样式,可以增加用户的浏览体验。另外由于我们在页面顶部中间设计了页面标题,顶部右侧设计了通知按钮,顶部左边刚好空余,可以作为弹出式导航菜单,合理利用页面局部空间。但我们后期调查发现,国内绝大部分软件都是采用底部导航栏的形式,为了适应校内大学生,我们决定改成底部导航栏的形式,来方便用户上手使用。

5、团队绩效

5.1 工作流程

5.1.1 作业一经发布,组长和组员查看作业内容,熟悉作业要求,组长提炼出所有的任务,进行分工,并制定ddl

在这里插入图片描述


在这里插入图片描述

5.1.2 组长以迅雷不及掩耳盗铃儿响叮当之势完善需求分析,并详细地在word文件中描述

在这里插入图片描述


在这里插入图片描述

5.1.3 组长快马加鞭制作最新版本的前台后台思维导图,方便组员根据思维导图设计接口和数据库等分工

在这里插入图片描述


在这里插入图片描述

5.1.4 组员分为前端和后端,各自再细分分配任务,并完成第一轮的分工

在这里插入图片描述


在这里插入图片描述

5.1.5 在周日的时候汇报完成情况,进而继续布置第二轮分工

在这里插入图片描述

5.1.6 撰写博客,汇总材料并上传(正是现在码字ing QAQ)

5.2 组员分工及其贡献度比例

学号工作内容贡献度
222100434黄楠任务分配、ER图补充、数据库的分析建立、接口文档校验、截图、数据库设计说明书第一二四五章、汇报15.5
222100101卢雨纯博客,接口文档前台登录模块、后台登录模块8
222100128黄煦陶系统设计说明书二三四章、接口文档前台树洞聊天模块、后台帖子内容管理模块12.5
222100129梅明胜博客,接口文档前台课程评价模块、后台课程评价模块、汇报12.5
222100221林炳昌ER图的补充、数据库的分析、接口文档校验、数据库设计说明书第三章13.5
222100304林雅婷接口文档校验、文案任务规划分配、两份说明书框架、PPT14.5
222100404余诗怡系统设计说明书二六七章、接口文档前台个人中心模块、后台用户管理模块12.5
222100411刘畅初版ER图、接口文档校验、部分PPT11

5.3 分工每日进程

在这里插入图片描述

6、开发计划安排

6.1 开发时间安排

时间任务产出里程碑
4.18 ~ 4.23完成《数据库设计说明书》的撰写
完成《系统设计说明书》的撰写
确认项目开发时间安排
确认项目开发分工安排
确认项目开发技术栈
《数据库谁说明书》
《系统设计说明书》
完成了项目开发前的基础准备工作
4.24 ~ 4.30进行成员间的磨合
熟悉项目开发流程
总结合作过程中遇到的问题
共同讨论解决办法
组员磨合完成,可以随时进行代码编写
5.1 ~ 5.7完成服务器数据库的部署
完成账号登录模块的开发
考虑代码架构以便功能复用
完成树洞聊天模块主界面的开发
服务器的部署
登录功能
菜单栏
树洞聊天主界面
前台基本框架搭建完成
5.8 ~ 5.14完成树洞聊天模块帖子详情的开发
完成课程评价模块的开发
树洞聊天功能
课程评价功能
前台最基本功能完成开发
5.15 ~ 5.21完成个人中心模块的开发
对前台功能进行单元测试和集成测试
完成前台 APP 打包
个人中心查看
软件 v1.0.0
前台开发完成
软件 Alpha 版本完成
5.22 ~ 5.28完成管理员登录模块的开发
完成用户信息管理模块的开发
完成帖子内容管理模块的开发
完成课程评价管理模块的开发
进行前后台系统测试,并修改前后台遗留 Bug
管理员登录功能
用户信息管理功能
帖子内容管理功能
课程评价管理功能
软件 v1.1.0
后台开发完成
5.29 ~ 6.4进行验收测试
进行性能测试
进行压力测试
解决测试中发现的问题
软件 v1.1.1软件功能完成度得到确保
软件性能得到确保
6.5 ~ 6.11进行稳定性测试
进行安全性测试
进行可用性测试
进行回归测试
解决测试中发现的问题
软件 v1.1.2软件安全性得到确保
软件可用性得到确保
软件 Beta 版本完成

6.2 开发分工安排

职务成员
项目经理222100434 黄楠
产品经理
前端开发负责人
222100129 梅明胜
后端开发负责人222100221 林炳昌
前端开发团队222100409 梅明胜
222100101 卢雨纯
222100128 黄煦陶
222100404 余诗怡
后端开发团队222100221 林炳昌
222100304 林雅婷
222100411 刘畅
222100434 黄楠
时间工作人员任务具体描述
第一周前端开发团队系统设计说明书完成类图、用况图、接口文档等内容
后端开发团队数据库设计说明书完成 ER 图、完成数据库的设计等内容
第二周至第六周前端开发团队前端界面开发根据文档中的要求,完成各个模块的前端界面,并正确向后端发送请求
对自己开发部分功能进行测试
后端开发团队后端数据处理根据文档中的内容,完成各个接口的数据处理,并转换为前端要求的格式
对自己开发部分功能进行测试
第七周至第八周全体团队应用测试针对不同测试要求,对软件进行充分的测试,将问题以测试报告的形式发出
针对测试报告修改各自负责的代码
...全文
182 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

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

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