智创未来队——项目系统设计与数据库设计

智创未来队 团队 2024-04-23 23:10:47
这个作业属于哪个课程202302软件工程
这个作业要求在哪团队作业三—概要设计与数据库设计
这个作业的目标1. 系统设计说明书及PPT 2. 数据库设计说明书及PPT 3. 建立GitCode团队仓库 4. 博客撰写 5.制定好计划和分工
其他参考文献UML之类图 , UML类图详解,详解设计模式六大原则,数据库表结构设计的几条准则,数据库表设计(一对多、多对多),常见web攻击方法及防御手段总结,用户密码加密,JavaWeb项目前后端分离,RBAC用户、角色、权限、组设计方案

目录

  • 零、相关链接
  • 一、系统和数据库设计
  • 1.1、 体系结构设计图
  • 1.2、功能模块层次图
  • 1.3、数据库ER图设计
  • 1.4、数据库表结构设计
  • 二、类图、接口设计展示、系统安全和权限设计
  • 2.1、类图
  • 2.2、接口设计展示
  • 2.3、系统安全和权限设计
  • 三、改进分析
  • 3.1问题一
  • 3.2问题二
  • 四、团队绩效
  • 4.1、工作流程
  • 4.2、具体安排
  • 4.3、部分交流记录
  • 4.4、贡献度表格
  • 4.5、commit记录
  • 五、预期开发计划
  • 5.1、团队项目的预期开发计划时间安排
  • 5.2、团队项目的预期开发计划分工安排

零、相关链接

GitCode团队仓库链接
智创未来队_系统设计说明书
智创未来队_数据库设计说明书
智创未来队_系统设计和数据库设计答辩PPT

一、系统和数据库设计

1.1、 体系结构设计图

  • 系统结构总体描述
    系统采用MVC模式进行设计,前后端分离。前端专注于页面的呈现和用户交互,后端则负责处理业务逻辑、数据存储以及与数据库的交互。前后端之间通过API进行通信。降低了代码的耦合度,提高了代码的可维护性和可重用性。分离架构允许前端和后端开发团队独立工作,使用各自擅长的技术和工具,提高了开发效率。
  • 系统设计架构图

    用户层:明确目标用户群体及其具体需求,包括他们对产品的功能期望、操作便捷性、数据安全等要求。根据这些需求设计用户交互界面和操作流程,确保用户能够轻松上手并高效完成任务。同时,还要注重用户体验的持续优化,通过收集用户反馈和数据分析,不断调整和改进用户层的设计。
    应用层:应用层是连接用户与底层技术的桥梁,功能包括智能创作、知识检索、垂直行业应用等多个方面
    数据处理层:数据处理层是体系结构中的核心部分,其设计思路在于实现对海量数据的存储、管理和高效处理。通过引入Redis、MySQL等数据库和缓存技术,可以确保数据的快速读写和实时更新。同时,利用Kafka等消息队列技术实现数据的异步处理和流式计算,提高数据处理效率。此外,还需要建立完善的数据备份和恢复机制,确保数据的安全性和可靠性。
    模型层:其设计思路在于构建高性能、可扩展的模型来处理和分析数据。通过引入通用云端大语言模型、多模态模型等技术,可以实现自然语言理解、图像识别等多种智能功能。
    基础层:其设计思路在于提供稳定、高效的基础设施和服务支撑。通过引入高性能的CPU和GPU计算资源、大容量的存储设备以及高速的网络连接,可以确保整个体系的运行效率和稳定性。
    共性技术:通过引入Spring Cloud、Gateway等微服务网关技术,可以实现服务的统一管理和调度;通过引入Nacos等动态配置和服务发现平台,可以实现服务的自动发现和配置管理。共性技术的引入可以简化体系结构的复杂度,提高系统的可维护性和可扩展性。

    在这里插入图片描述

  • 前端结构设计图
    设计思路:前端技术栈划分为多个模块,如视图层、渲染层和代码层。每个模块都负责特定的功能,并且模块之间通过清晰的接口进行交互。这种模块化设计有助于减少代码耦合,提高代码的可维护性和可重用性。详细列出了各个层次所使用的技术和工具,如React、Redux、Webpack等。通过箭头和标签指明了组件之间的数据流和交互方式。例如,视图层的页面组件通过HTTP请求与渲染层的服务进行交互,渲染层则通过Redux Toolkit进行状态管理。这种明确的展示有助于开发者理解系统的工作原理,以及如何进行数据传递和组件通信。

    在这里插入图片描述

  • 前后端数据流程图
    数据层负责数据处理和存储,网络层负责请求和响应的传输,API层提供对外的接口服务。AJAX技术使得前端可以在不重新加载整个页面的情况下与后端进行通信,提高了用户体验。JSON数据格式作为一种轻量级的数据交换格式,使得前后端之间的数据传输更加高效和灵活。

    在这里插入图片描述


    在这里插入图片描述

  • 后端结构设计图

    设计思路:
    在流程的开始,数据库中的数据进行初始化,并通过restful风格的rbac权限校验数据,确保数据的访问安全。这一过程中,在网关进行了全局鉴权,进一步增强了系统的安全性。生产者负责将消息投递给消费者,而消费者在拉取(监听)到消息后进行相应的处理。这一过程保证了系统的异步通信和松耦合特性。通过Sentinel进行流量削峰,优化系统性能,防止因流量过大而导致的系统崩溃或性能下降。

在这里插入图片描述

1.2、功能模块层次图

在这里插入图片描述

设计思路:
从顶层开始,考虑了用户的基本需求,如“账号”、“登录”、“密码”等,这些是用户进入平台的前提,也是保护用户信息和安全的基础。接着,设计师将用户的进一步操作进行分类,如“登录注册”、“账号管理”等,方便用户进行个性化的设置和管理。

在内容创作方面,考虑到用户的不同需求,提供了“根据关键词生成文章”、“智能创作”等功能,帮助用户快速生成内容。同时,也提供了“编辑文章”、“富文本编辑器”等功能,让用户可以对内容进行深入的编辑和格式化,提高内容的质量和可读性。

在内容管理方面,设置“内容中心”、“查看历史发布内容”、“管理历史发布内容”等功能,让用户可以方便地查看和管理自己的内容。此外,“键多平台发布”、“自动分发”等功能,还可以帮助用户将内容一键发布到多个平台,提高传播效率。

最后,在用户体验方面,考虑到用户的操作便捷性和个性化需求,如“日历表格”可以帮助用户安排发布计划,“设置”则可以让用户根据自己的喜好进行个性化设置。

1.3、数据库ER图设计

设计思路: 根据已创建的类图,我们可以深入分析类与类之间的关联,进而确定每个类的实体及其属性。随后,将类图中的关系映射到ER图(实体-关系图)中,以确保数据库设计的准确性和一致性。

在这里插入图片描述

1.4、数据库表结构设计

在这里插入图片描述


在这里插入图片描述

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

二、类图、接口设计展示、系统安全和权限设计

2.1、类图

在这里插入图片描述

2.2、接口设计展示

  • 网关接口

    在这里插入图片描述

  • 用户认证接口

    在这里插入图片描述

  • 知识库接口

    在这里插入图片描述

  • 聊天接口

    在这里插入图片描述

2.3、系统安全和权限设计

  • 网络隔离和防火墙策略

      1. Docker容器化部署: 利用Docker容器化技术,为数据库系统创建隔离的环境。
      1. Linux防火墙:使用iptables或firewalld等防火墙工具,设置规则以进一步限制对容器的访问。
      1. 华为云VPC安全组: 安全组策略与最小化开放端口。
  • 安全配置和监控

      1. 定期审查:定期审查和更新安全配置,确保所有安全措施都是最新且安全的最佳实践。
      1. 日志监控:利用安全信息和事件管理系统监控网络和系统日志,以便及时发现可疑活动。
      1. 入侵检测系统:部署入侵检测系统来监控和分析流量,以便检测和响应潜在的安全威胁。
  • 数据安全

      1. SSL/TLS:对所有数据库通信使用SSL/TLS加密,以保护数据在传输过程中的安全。
      1. 脱敏处理:对存储和传输中的敏感数据进行脱敏处理,即使数据被截获或泄露,也无法直接读取敏感信息。
      1. 防止SQL注入: 使用预编译防止用户输入非法sql语句对数据库造成破坏;
  • 访问控制和身份验证

      1. 多因素认证:实施多因素认证机制,增加账户安全性。
      1. 访问控制:基于角色的访问控制:确保只有授权用户才能访问数据库,并且他们只能访问其角色所需的数据。
      1. 身份验证:
        用户注册: 要求用户提供有效的手机号码;
        用户登录: 要求用户提供正确的账号和密码;

三、改进分析

3.1问题一

问题:要将创作的内容发布到各个平台上,你们有考虑过内容的审核机制吗?

  1. 自动审核:使用AI技术对内容进行初步审核,检测可能的敏感词汇、违规内容或低质量内容。

    在AI对话和AI绘画中,我们首先要对使用者输入的数据(文字、图片)进行审核,如果识别出有违规的数据,应该提示使用者并驳回这次生成请求,对于提示后还频繁输入违规数据的使用者账号要进行进一步的处罚。

    对于收到正常数据请求后,经过AI算法推理生成的内容数据,审核违规的应该驳回,让模型重新生成,如果多次生成都有问题,要进行降级处理(反馈使用者服务失败等方式),并交由人工介入排查原因。

  2. 人工审核:对于AI无法完全确定的内容,可以设置人工审核机制,由专业的审核团队对内容进行二次审核。

  3. 平台规则匹配:针对不同的发布平台,设定特定的审核规则,确保内容满足每个平台的要求。

  4. 反馈机制:允许用户对审核结果提供反馈,以便及时修正和改进审核机制。

  5. 持续更新:随着社交媒体平台的政策和规定的变化,定期更新审核机制,确保与各平台的规则保持一致。

3.2问题二

问题二:市面上的有这么多平台,你们都要做吗

市场上确实有许多自媒体和内容创作平台,每个平台都有其独特的优势和受众群体。

我们的计划:

  1. 在前期会考虑这些平台的API开放情况文档详细程度,先打通一两平台的整个创作分发流程。
  2. 开发阶段做好模块化的设计,使得可以方便地添加或移除支持的平台。这样,随着市场和用户需求的变化,你可以灵活地调整平台支持。
  3. 与初期用户紧密合作,了解他们的需求和使用习惯。根据反馈调整和优化平台功能,确保满足用户的实际需求。
  4. 不断关注市场动态和技术发展,保持平台的竞争力。考虑引入新的技术和功能,提供更好的用户体验。

四、团队绩效

4.1、工作流程

组长根据每个人的技术特点和擅长领域,分发不同的工作给组员,同时协调前后端负责人共同进行更细致的工作分工。组员完成任务后,发到群里,所有组员共同参与审核和修改。

4.2、具体安排

  • 222100229:协调分工、答辩、参与博客和文档撰写和审核
  • 222100209:主要负责《系统设计说明书》《数据库设计说明书》的撰写
  • 222100222:完成功能模块层次图,参与博客的撰写和文档审核
  • 022000808:共同负责《数据库设计说明书》的撰写
  • 222100119:协助完成《数据库设计说明书》,画类图等
  • 222100219:完成系统设计架构图,参与文档审核
  • 222100421:设计PPT
  • 222100202:负责博客的撰写

4.3、部分交流记录

由于难以经常将团队中8个人聚集在一起讨论,所以本次作业我们团队采取了线上讨论+线下讨论。分工及具体的任务我们在线上商讨之后,将要完成的任务分为四个小组:说明书攥写小组、PPT制作小组、博客小组、画图小组。在完成各组内具体任务和商讨具体细节时,多为组内线下讨论,因为这样比较高效。小组完成工作后发到群里给所有人查阅一遍并跟根据组员意见修改

  • 全员讨论
    

    请添加图片描述


    请添加图片描述

  • 组内讨论

    请添加图片描述

4.4、贡献度表格

学号贡献度
22210022912.0%
22210020918.9%
22210022211.5%
02200080812.4%
22210011911.5%
22210021911.0%
22210042111.7%
22210020211.0%

4.5、commit记录

在这里插入图片描述

在这里插入图片描述

五、预期开发计划

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

日期里程碑产出
4.25前alpha冲刺准备原型设计文档、前后端完成项目基本结构搭建,完成数据库的设计和建立,各组员掌握对应技术栈
4.25-5.1alpha冲刺第一周前端:完成主页和整体框架开发
后端:完成网关模块开发
5.2-5.7alpha冲刺第二周前端:完成知识库模块页面开发,实现富文本编辑器功能
后端:对接知识库部分接口,完成服务注册与发现中心、配置中心搭建
ai:完成ai接口开发,并针对具体场景测试
5.8-5.22冲刺缓冲期团队总结,结合进度调整开发规划,完善代码细节,进行模块测试,重审项目需求
5.23-5.29beta冲刺第一周前端:完成智能创作模块、运营管理开发
后端:完成微信公众号等平台api对接,进一步封装接口提供给前端
ai:继续完善接口,并对prompt进行工程调试
5.30-6.5beta冲刺第二周对第一周进行反思,继续完善项目功能。基本完成所有功能开发。
6月10日 - 16日beta冲刺第三周完成所有功能开发,项目正式上线,运用白盒测试、黑盒测试等方法,对模块和应用整体开始测试。
开放内测版本,收集用户反馈
6.16后项目收尾继续测试计划,完成用户手册、部署文档等,收集用户反馈以更新新版本

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

成员职位负责部分
222100229俞炜昆产品经理、AI工程师项目整体规划、协调、沟通,应用AI技术解决项目中的具体问题,原型设计
222100209李炎东项目经理、后端开发工程师后端SpringCloud微服务基本架构设计搭建,网关模块开发,服务注册与发现中心、配置中心搭建。微信公众号等平台api对接,业务微服务基本框架搭建
222100222林致超前端开发工程师项目搭建、通用组件封装 、知识库、内容创作、运营管理主页与部分视图
222100219陈智鑫AI、后端开发工程师内容管理业务开发:内容日历相关接口开发,数据分析相关接口开发,评论回复等相关接口开发,AI接口开发
222100119柯昊旸前端开发工程师登录注册、账号管理、团队主页、自动分发、运营管理部分视图
222100202李刘琛产品经理、测试工程师原型设计,文档编写,协助对整个项目进行测试
222100421林宜斌后端测试工程师对整个项目进行测试,编写测试工具,设计测试框架等
022000808陈晓宇后端开发工程师知识库模块开发: 对接前端需求,开发对应的api接口
...全文
214 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

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

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