Spring Boot环境下的学生读书笔记共享

news2024/11/15 19:26:01

第4章 系统设计
4.1系统结构设计
读书笔记共享平台的设计主要是为了满足用户的实际需求。 因此,它需要通过Internet实现,因此它必须具备硬件和软件基础。该平台最终可以通过科学技术和各种方式达到支持智能化的信息管理的目的。因此,它必须具备网络读书笔记共享平台管理所需的环境和各种资料,并保证实现开放性,模块性和实用性三个原则。
读书笔记共享平台,主要包括管理员、用户二个权限角色,对于用户角色不同,所使用的功能模块相应不同。
本读书笔记共享平台结构,如下图4-1所示。
在这里插入图片描述

图4-1 读书笔记共享平台结构功能图
4.2数据库设计
数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。
4.2.1实体ER图
数据库是整个软件编程中最重要的一个步骤,对于数据库问题主要是判定数据库的数量和结构公式的创建。读书笔记共享平台使用的是Mysql进行对数据库进行管理,进行保证数据的安全性、稳定性等。
概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。而且Mysql数据库是自我保护能力比较强的数据库,下图主要是对数据库实体的E-R图:
管理员信息实体属性图如图4-2所示。
在这里插入图片描述

图4-2管理员信息实体属性图
用户管理实体属性图如图4-3所示。
在这里插入图片描述

图4-3用户管理实体属性图
笔记分享管理实体属性图如图4-4所示。
在这里插入图片描述

图4-4笔记分享管理实体属性图
个人笔记管理实体属性图如图4-5所示。
在这里插入图片描述

图4-5个人笔记管理实体属性图
4.2.2数据表
每个数据库的应用它们都是和区分开的,当运行到一定的程序当中,它就会与自己相关的协议与用户进行通讯。那么这个系统就会对使这些数据进行连接。当我们选择哪个桥段的时候,接下来就会简单的叙述这个数据库是如何来创建的。当点击完成按钮的时候就会自动在对话框内弹出数据源的名称,在进行点击下一步即可,直接在输入相对应的身份验证和登录密码。
根据系统功能设计的要求和功能模块的划分,读书笔记共享平台的设计与实现一共涉及到四个数据表。下面就介绍一下各别主要数据库表的设计结构及其功能建立数据库表:
表4-1:bijifenxiang表
列名 数据类型 长度 约束
id int 11 PRIMARY KEY
bijimingcheng varchar 50 DEFAULT NULL
bijileixing varchar 50 DEFAULT NULL
bijibiaoqian varchar 50 DEFAULT NULL
bijitupian varchar 50 DEFAULT NULL
bijineirong varchar 50 DEFAULT NULL
fenxiangriqi varchar 50 DEFAULT NULL
yonghuming varchar 50 DEFAULT NULL
youxiang varchar 50 DEFAULT NULL
表4-2:gerenbiji表
列名 数据类型 长度 约束
id int 11 PRIMARY KEY
bijimingcheng varchar 50 DEFAULT NULL
bijileixing varchar 50 DEFAULT NULL
bijibiaoqian varchar 50 DEFAULT NULL
bijitupian varchar 50 DEFAULT NULL
bijineirong varchar 50 DEFAULT NULL
faburiqi varchar 50 DEFAULT NULL
yonghuming varchar 50 DEFAULT NULL
youxiang varchar 255 DEFAULT NULL
表4-3:yonghu表
列名 数据类型 长度 约束
ID int 11 PRIMARY KEY
addtime varchar 50 DEFAULT NULL
yonghuming varchar 50 DEFAULT NULL
mima varchar 50 DEFAULT NULL
xingming varchar 50 DEFAULT NULL
xingbie varchar 50 DEFAULT NULL
touxiang varchar 50 DEFAULT NULL
shouji varchar 255 DEFAULT NULL
youxiang varchar 255 DEFAULT NULL
xingqubiaoqian varchar 255 DEFAULT NULL

第6章 系统测试
6.1测试定义及目的
关于系统实现的测试,英文名称是System TEST,简称ST,ST是使用完整其系统的各种功能多次、多案例、多环境测试,这是ST的简单描述。ST可以证明该功能对系统的要求是否得到满足以及是否有效。
对于系统开发的实现,不管开发过程多么努力,在系统运行的时候多少都会出现一些错误信息,所以为了系统的安全性及提高系统的使用率及给用户带来更好的体验,系统在完成之前,一定要进行一遍系统的测试,再完美的程序也会有漏洞,再细心的技术开发员也会有疏忽的时候,所以对于程序的测试是必须要做的一步。通过系统测试找到系统存在的问题,并根据问题的原因进行在线解决问题,如果找不到解决问题的办法可以进行通过咨询指导老师或者通过同学帮忙,一定将问题找出,否则将会出现更多的错误。所以程序出现错误时不可避免,系统测试虽然耗时费力,但是为了确保后期系统的长期使用,必须要进行系统测试,问题解决完成后还要再一步测试,直到没有任何问题后方可进行使用。
6.2测试方法
1、功能测试
对于读书笔记共享平台的测试,主要是分别对系统的管理员、用户二个角色进行测试,对于系统用户进入到平台界面,进行在线查看平台已有的数据信息,用户根据需求查看首页、个人中心、笔记分享管理、个人笔记管理、我的收藏管理。管理员可以对用户信息进行在线审批,所涉及到的信息一致没有任何问题时,说明系统数据完善,数据的交互信息没有任何问题。
2、性能测试
(1)对于测试的速度有一定的要求,速度必须快,而且对于测试出来的错误问题一定以最快的速度进行处理解决,并且进行再次测试,保证整个系统运行的安全性。
(2)在系统测试的时候要将测试所用到的测试计划和测试报告保管好,方便后期系统的运行使用后的整体维护操作。
(3)软件测试整个过程中的聚类现象应优先考虑。
(4)对于整体系统测试,不要用自己的思想去认可整个系统,而是从公正的角度的进行对系统进行认可,是否符系统的整合应用。
6.3测试模块
测试系统是最新的Windows 10系统,通过对系统实现的功能模块进行每个功能模块的操作测试,查看每个用户的功能模块所对应的权限信息是否可以操作并且数据信息更新一致。
测试需求 测试重点 是否达成需求 结果
用户登录 输入账号密码 需求达成 通过
用户注册 创建新的账号密码 需求达成 通过
登录失败 输入错误账号密码 需求达成 通过
修改信息 修改成功 需求达成 通过
添加信息管理 增删查改 需求达成 通过
系统管理 增删查改 需求达成 通过
搜索查询管理 增删查改 需求达成 通过
系统测试方面,我们通常运用的是白盒测试以及黑盒测试这两种方法。白盒测试是指在了解系统内部工作流程的前提下,可以根据需求规范验证系统内部操作是否能够正常运行的测试;而黑盒测试指的是,倘若知道了这个系统的全部功能,可以进行测试检测系统中的每一个功能是否满足正常使用。
为了方便用户使用读书笔记共享平台 ,以及尽可能少的减少系统测试错误的发生,我们对该系统进行了相对应的测试。
对该系统的全部的功能界面进行测试,简单来说,就是我们输入一些数据并且对其进行提交,之后我们查看每个页面的反馈,检测页面的相关功能可不可以完全实现。
6.4测试结果
在设计之初,由于缺乏经验,设计并不完美。系统设计存在漏洞,功能设计不能完全满足用户的需求。在后期阶段,系统会反复测试和修改。在使用中出现问题及时修改,系统逐步完善。在系统测试中,对系统的各种功能进行了全面测试,并详细记录了测试数据,以避免可能影响系统性能的操作缺陷。整个系统基本上已达到稳定运行状态,每个模块相互通信。错误的可能性已大大降低。
在测试期间测试了系统的所有功能。鉴于大多数错误条件都被考虑在内,错误消息基本上在单元测试期间得到解决。
测试后得到的性能和用例,系统具有足够的正确性、可靠性、稳定性,并且可以对输入数据进行准确的点击操作处理和响应测试用户的体验也得到了很好的反馈和响应时间。合理的范围,可以兼容所有主流浏览器,设计所需的效果。
测试评估的结果是读书笔记共享平台满足要求中的所有功能,处理大多数错误条件,修复大多数错误并通过测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2137980.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解Python中的生成器:高效迭代与延迟计算的艺术

在处理大量数据时,如何有效地管理内存成为了一个关键问题。Python中的生成器(Generator)提供了一种优雅的解决方案,它允许你在迭代过程中按需生成数据,而不是一次性加载所有数据到内存中。本文将详细探讨生成器的工作原…

看Threejs好玩示例,学习创新与技术(三)

本文接上篇内容,继续挖掘应用ThreeJS的一些创新算法。 1、获得鼠标移动对应的地理位置 这个算法如果放在几年前,那肯定会难倒一帮人的。因为是三维投影涉及矩阵变换及求逆,而且还是投影模式下的。在Project Texture这个示例中,作…

Sentaurus TCAD的sdevice求解中选择Math求解方法

目录 并行迭代线性求解器(ILS)并行超节点直接求解器(ParDiSo)超节点直接求解器(Super)详细解释1. 并行迭代线性求解器(ILS)2. 并行超节点直接求解器(ParDiSo)…

windows安装docker、elasticsearch、kibana、cerebro、logstash

文章目录 1. 安装docker1.1. 两大要点1.1.1. 安装启用hyper-v电脑不存在hyper-v的情况 1.1.2. 下载安装docker 2. 在docker里面安装elasticSearch,kibana,cerebro3. 安装logstash-将数据导入到elasticSearch3.1 安装logstash3.1.1 注意事项3.1.1.1. 等了…

vue3中把封装svg图标为全局组件

在vue3中我们使用svg图标是下面这样子的 <svg style="width:30px;height:30px;"><use xlink:href="#icon-phone" fill="red"></use></svg>第次使用图标都要写这么多重复的代码,很不方便,所以,如果我们把它封装成全局…

“拍照赚钱”的任务定价(2017数学建模国赛b题)

文章目录 题目说明解题思路第一问第二问第三问第四问 部分结果图项目地址 题目 赛题地址 说明 数模国赛前的练手题。其实我个人感觉这道题很散&#xff0c;都是找一些规律进行总结统计&#xff0c;最多结合一些机器学习算法进行预测拟合之类的我刚开始用matlab&#xff0c;后…

[进阶]面向对象之 包 final

文章目录 包什么是包包名的规则:什么时候需要导包 final常量 包 什么是包 包就是文件夹。用来管理各种不同功能的Java类&#xff0c;方便后期代码维护。 包名的规则: 公司域名反写包的作用&#xff0c;需要全部英文小写&#xff0c;见名知意。使用其他类时&#xff0c;需要…

基于R语言的统计分析基础:使用键盘输入数据

在R语言中&#xff0c;键盘输入数据是一种灵活且直接的数据获取方式&#xff0c;适用于处理小数据集或需要即时用户交互的场景。通常用于交互式数据探索和分析、临时数据处理、交互式图形绘制、脚本自动化中的用户交互、特定应用场景下的数据录入中。 比如利用readline()函数根…

分享一些智慧农业数据集

持续更新中》》》 1.葡萄叶片病虫害数据集 数据集信息&#xff1a;yolo格式&#xff0c;适用于直接训练YOLO目标检测模型(yolo5 yolo8 yolo9 yolo10等)。数据集是已经标注好。训练集验证集已划分好&#xff0c;包含类别标签yaml文件&#xff0c;数据集可直接用于模型训练&…

第十二周:机器学习笔记

第十二周周报 摘要Abstract机器学习1. Recurrent Neural Network&#xff08;下&#xff09;1.1 RNN的Loss Function怎么求&#xff1f;1.2 RNN奇怪的特性1.3 如何解决 RNN 梯度消失或者爆炸1.4 RNN 其他应用 Pytorch学习1. 现有的网络模型使用以及其修改1.1 在VGG16模型添加Mo…

AD原理图编译

AD原理图检查项包括&#xff1a; 1.位号重复 2.网络悬浮 3.电源悬浮 4.单端网络 网络悬浮&#xff0c;在多页原理图时会比较明显,大部分是编译范围不是全部原理图&#xff0c;导致出现该情况&#xff0c;解决方法就是修改编译范围&#xff0c;将网络识别符范围改为全部即可。…

Qt常用控件——QComboBox

文章目录 核心属性、方法、信号模拟点餐文件加载 核心属性、方法、信号 QComboBox表示下拉框 核心属性&#xff1a; 属性说明currentText当前选中文本currentIndex当前选中的条目下标editable是否允许修改设置为true时&#xff0c;QComboBox的行为就非常接近于QLineEdit&…

Python | Leetcode Python题解之第406题根据身高重建队列

题目&#xff1a; 题解&#xff1a; class Solution:def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:people.sort(keylambda x: (-x[0], x[1]))n len(people)ans list()for person in people:ans[person[1]:person[1]] [person]return ans

SpringCloudAlibaba:Seata

1. 面试题 2.1 你简历上写用微服务boot/cloud做过项目&#xff0c;你不可能只有一个数据库吧&#xff1f;谈谈多个数据库之间如何处理分布式事务&#xff1f; 2.2 阿里巴巴的Seata-AT模式如何做到对业务的无侵入&#xff1f; 在一阶段&#xff0c;Seata 会拦截“业务 SQL”&a…

Python版《天天酷跑+源码》,详细讲解,手把手教学-python游戏开发

天天酷跑游戏 游戏效果: 游戏主要是躲避障碍物&#xff0c;这里也添加了金币&#xff0c;增加一点积分的娱乐性&#xff0c;人物设置是三条命&#xff0c;障碍物有6种&#xff0c;包括金币&#xff0c;障碍物随机生成&#xff0c;碰到障碍物掉一滴血&#xff0c;没血了结束游戏…

消失的数字:

Q&#xff1a;数组nums包含从0到n的所有整数&#xff0c;但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗&#xff1f; 示例 1&#xff1a; 输入&#xff1a;[3,0,1] 输出&#xff1a;2 示例 2&#xff1a; 输入&#xff1a;[9,6,4,2,3,5,7,0,1] …

产品经理如何转型为AI产品经理,如何理解AI产品工程化

技术领域,特别是人工智能和机器学习,其优秀模型的成功应用是一个复杂过程,它不仅要求技术本身的卓越,还须与现有解决方案竞争,这涉及到技术成熟度、成本有效性、市场接受度等多维度因素。 在这一过程中,产品经理扮演着核心角色,负责协调各方利益,确保技术能够转化为满…

5.1 溪降技术:个人装备

Content 5.1 个人装备概览设备概览视频电子书&#xff1a;个人装备安全装备非安全装备 峡谷探险个人安全装备个人安全装备视频*安全扣结构*峡谷探险个人非安全装备 湿峡谷湿峡谷装备视频个人安全装备个人非安全装备 干峡谷干峡谷装备视频个人安全装备个人非安全装备 团队装备&a…

【415】【数字小镇中的捣蛋鬼】

第2场周赛&#xff0c;又是被佬薄纱的一天 简单题 秒杀啊 class Solution:def getSneakyNumbers(self, nums: List[int]) -> List[int]:dictdefaultdict(int)ret[]for num in nums:dict[num]1for key in dict.keys():if dict[key]2:ret.append(key)return ret

前端基础知识+算法(一)

文章目录 算法二分查找条件注意方式基本原理左闭右闭正向写法 左闭右开正向写法 前端基础知识定时器及清除盒子垂直水平居中的方式垂直水平1.flex布局2.grid布局3.定位对于块级元素 解决高度塌陷的方式1.给父元素一个固定的高度2.给父元素添加属性 overflow: hidden;3.在子元素…