毕业设计:基于springboot的线上辅导班系统的开发与设计(源码)
4 系统设计线上辅导班系统的设计方案比如功能框架的设计比如数据库的设计的好坏也就决定了该系统在开发层面是否高效以及在系统维护层面是否容易维护和升级因为在系统实现阶段是需要考虑用户的所有需求要是在设计阶段没有经过全方位考虑那么系统实现的部分也就无从下手所以系统设计部分也是至关重要的一个环节只有根据用户需求进行细致全面的考虑才有希望开发出功能健全稳定的程序软件。4.1 系统概要设计本次拟开发的系统为了节约开发成本也为了后期在维护和升级上的便利性打算通过浏览器来实现系统功能界面的展示让程序软件的主要事务集中在后台的服务器端处理前端部分只用处理少量的事务逻辑。下面使用一张图如图4.1所示来说明程序的工作原理。图4.1 程序工作的原理图4.2 系统功能结构设计在分析并得出使用者对程序的功能要求时就可以进行程序设计了。如图4.2展示的就是管理员功能结构图管理员在后台主要管理字典管理、论坛管理、公开课管理、课程管理、课程报名管理、课程收藏管理、课程留言管理、师资力量管理、用户管理、管理员管理等。图4.2 管理员功能结构图4.3 数据库设计开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合存储在一起的这些数据也是按照一定的组织方式进行的。目前数据库能够服务于多种应用程序则是源于它存储方式最佳具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务但它与程序之间也可以保持较高的独立性。总而言之数据库经历了很长一段时间的发展从最初的不为人知到现在的人尽皆知其相关技术也越发成熟同时也拥有着坚实的理论基础。4.3.1 数据库概念设计这部分内容需要借助数据库关系图来完成也需要使用专门绘制数据库关系图的工具比如Visio工具就可以设计E-R图数据库关系图。设计数据库也需要按照设计的流程进行首先还是要根据需求完成实体的确定分析实体具有的特征还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法绘制本系统的E-R图。不管是使用亿图软件还是Visio工具对于E-R模型的表示符号都一样通常矩形代表实体实体间存在的关系用菱形符号表示实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。1下图是论坛实体和其具备的属性。图4.1 论坛实体属性图2下图是用户实体和其具备的属性。图4.2 用户实体属性图3下图是公开课实体和其具备的属性。图4.3 公开课实体属性图4下图是师资力量实体和其具备的属性。图4.4 师资力量实体属性图5下图是课程实体和其具备的属性。图4.5 课程实体属性图6下图是课程报名实体和其具备的属性。图4.6 课程报名实体属性图7下图是课程收藏实体和其具备的属性。图4.7 课程收藏实体属性图8下图是课程留言实体和其具备的属性。图4.8 课程留言实体属性图4.3.2 数据库表结构设计数据库系统一旦选定之后需要根据程序要求在数据库中建立数据库文件并在已经完成创建的数据库文件里面为程序运行中产生的数据建立对应的数据表格数据表结构设计就是对创建的数据表格进行字段设计字段长度设计字段类型设计等当数据表格合理设计完成之后才能正常存储相关程序运行产生的数据信息。表4.1字典表序号列名数据类型说明允许空1IdIntid否2dic_codeString字段是3dic_nameString字段名是4code_indexInteger编码是5index_nameString编码名字是6super_idInteger父字段id是7beizhuString备注是8create_timeDate创建时间是表4.2论坛表序号列名数据类型说明允许空1IdIntid否2forum_nameString帖子标题是3yonghu_idInteger用户是4users_idInteger管理员是5forum_contentString发布内容是6super_idsInteger父id是7forum_typesInteger帖子类型是8forum_state_typesInteger帖子状态是9insert_timeDate发帖时间是10update_timeDate修改时间是11create_timeDate创建时间是表4.3公开课表序号列名数据类型说明允许空1IdIntid否2gongkaike_nameString公开课名称是3gongkaike_photoString公开课照片是4gongkaike_typesInteger公开课类型是5gongkaike_videoString公开课视频是6gongkaike_contentString公开课介绍是7insert_timeDate添加时间是8create_timeDate创建时间是表4.4课程表序号列名数据类型说明允许空1IdIntid否2kecheng_nameString课程名称是3kecheng_photoString课程照片是4kecheng_typesInteger课程类型是5kecheng_laoshiString上课老师是6kaike_timeDate开课日期是7shangke_shijianString上课时间是8kecheng_clicknumInteger点击次数是9shangxia_typesInteger是否上架是10kecheng_deleteInteger逻辑删除是11kecheng_contentString课程介绍是12insert_timeDate添加时间是13create_timeDate创建时间是表4.5课程报名表序号列名数据类型说明允许空1IdIntid否2kecheng_baoming_uuid_numberString报名流水号是3kecheng_idInteger课程是4yonghu_idInteger用户是5kecheng_baoming_yesno_typesInteger状态是6insert_timeDate报名时间是7create_timeDate创建时间是表4.6课程收藏表序号列名数据类型说明允许空1IdIntid否2kecheng_idInteger课程是3yonghu_idInteger用户是4kecheng_collection_typesInteger类型是5insert_timeDate收藏时间是6create_timeDate创建时间是表4.7课程留言表序号列名数据类型说明允许空1IdIntid否2kecheng_idInteger课程是3yonghu_idInteger用户是4kecheng_liuyan_textString留言内容是5insert_timeDate留言时间是6reply_textString回复内容是7update_timeDate回复时间是8create_timeDate创建时间是表4.8师资力量表序号列名数据类型说明允许空1IdIntid否2shizililiang_nameString老师姓名是3shizililiang_xuexiaoString毕业学校是4jiaoxuenianxianString教学年限是5shanchangkechengString擅长课程是6shizililiang_photoString老师头像是7sex_typesInteger性别是8shizililiang_contentString详细介绍是9create_timeDate创建时间是表4.9用户表序号列名数据类型说明允许空1IdIntid否2yonghu_nameString用户姓名是3yonghu_phoneString用户手机号是4yonghu_id_numberString用户身份证号是5yonghu_photoString用户头像是6yonghu_emailString电子邮箱是7create_timeDate创建时间是表4.10管理员表序号列名数据类型说明允许空1IdIntid否2usernameString用户名是3passwordString密码是4roleString角色是5addtimeDate新增时间是5 系统实现系统实现部分就是将系统分析系统设计部分的内容通过编码进行功能实现以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析系统设计最主要还是进行功能系统操作逻辑的设计也包括了存储数据的数据库方面的设计等内容系统实现就是一个最终的实施阶段将前面的设计成果进行物理转化最终出具可以运用于实际的软件系统。5.1 管理员功能介绍5.1.1 课程列表如图5.1显示的就是课程列表页面此页面提供给管理员的功能有查看课程、新增课程、修改课程、删除课程等。图5.1 课程列表页面5.1.2 课程留言信息管理课程留言信息管理页面提供的功能操作有新增课程留言修改课程留言删除课程留言操作。下图就是课程留言信息管理页面。图5.3 课程留言信息管理页面5.1.3课程类型管理课程类型管理页面显示所有课程类型在此页面既可以让管理员添加新的课程信息类型也能对已有的课程类型信息执行编辑更新失效的课程类型信息也能让管理员快速删除。下图就是课程类型管理页面。图5.4 课程类型列表页面