前言
✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅
哈喽兄弟们,好久不见哦~ 最近整理了一下之前写过的一些小项目/毕业设计。发现还是有很多存货的,想一想既然放在电脑里面也吃灰,那么还不如分享出去,没准还可以帮助到一些同学。
研究背景
在这个推荐个性化的时代,采用新技术开发一个多维分类的知识管理系统来分享和展示内容是一个永恒不变的需求。本次设计的多维分类的知识管理系统有管理员和用户两个角色。 管理员可以管理用户信息,知识分类,知识信息等,用户可以查看和下载管理员发布的各种知识信息,还可以进行评论操作。
系统结构设计
本程序在设计结构选择上首选B/S,也是为了满足程序今后升级便利,以及程序低维护成本的要求。本程序的网络拓扑设计也会在下图展示,通过图形的方式来描述更容易理解。
图4.1 系统网络拓扑设计图
系统功能模块设计
程序的功能在系统分析这部分已经确定了,这部分主要还是针对程序功能进行更加详细的设计,设计成果使用结构图展示直观明了,也更容易让人理解。绘制结构图采用的工具是Visio,使用它可以快速绘制出不同角色拥有的功能结构。
图4.2 功能结构图
数据库设计
对程序的功能分析与结构设计之后,也要对程序数据存储的工具进行选择,本程序选用的数据存储仓库是Mysql,选用这个工具就需要根据该数据库的特点进行数据库文件的创建,并设计与之对应的数据表。
数据库E-R图
设计一个数据库,不仅包含了数据库实体的设计,也包括了数据库表的结构设计,此部分内容设计的就是确认数据库的实体,并在此基础上对每个实体应该有的属性值进行分析设计,这些确认好的属性值对接下来的数据表的设计也是有很大帮助的,因为它们代表数据表里面的字段值。通常每个程序的数据库里面都具备用户这样的一个数据表。那么在分析用户这个实体的时候,都会设计出它的属性,有最基本的登录程序的账号属性,有用户的姓名属性,有用户的电话或联系地址属性等内容。一旦确认实体具备的属性之后,就可以采用相应的设计软件绘画出实体属性图,或者是实体之间的E-R图。设计E-R模型的软件有很多,这里列举常用的几个,一个是PowerDesigner,一个是Navicat绘制E-R模型,本设计模块用到的还是之前课堂上就了解并接触的Visio工具,这个工具跟办公软件Word,Excel一样都属于Office里面的一部分。使用Visio工具不仅在软件安装上快捷高效,而且它不会占用很多计算机的存储空间。
(1)下图是知识信息评论表实体和其具备的属性。
知识信息评论表实体属性图
(2)下图是用户实体和其具备的属性。
用户实体属性图
(3)下图是知识分类实体和其具备的属性。
知识分类实体属性图
(4)下图是收藏表实体和其具备的属性。
收藏表实体属性图
(5)下图是知识信息实体和其具备的属性。
知识信息实体属性图
(6)下图是用户表实体和其具备的属性。
用户表实体属性图
管理员功能实现
用户管理
管理员可以对用户信息进行添加,修改,删除,查询操作。
图5.1 用户管理页面
知识分类管理
管理员可以对知识分类信息进行添加,修改,删除,查询操作。
图5.2 知识分类管理页面
知识信息管理
管理员可以对知识信息进行添加,修改,删除,查询操作。
图5.3 知识信息管理页面
知识信息添加
管理员可以对知识信息进行添加操作。
图5.4 知识信息添加管理页面
用户功能实现
首页
用户可以在首页查看多维分类的知识管理系统所有信息,可以看到有导航栏,点击就可以跳转到导航的项目。
图5.5 首页页面
知识信息
用户可以查看知识信息,也可以下载,评论,收藏知识信息。
图5.6 知识信息管理页面
个人中心
用户可以在个人中心修改自己的个人信息。
图5.7 个人中心页面
我的收藏
用户可以在个人中心里面点击我的收藏,可以看到自己收藏过的知识信息,还可以进行取消收藏操作。
图5.8 我的收藏页面
虽然自己已经接触并大致学习过网页技术,但是对于该项技术目前来说还并未完全掌握,因此在进行程序开发时,遇到的困难不计其数,在初步进行程序开发时,对于程序的功能只是凭空想象,也并未有一个详细的开发计划,虽然在开发多维分类的知识管理系统期间,也抽出时间通过网络查看多个与此系统类似的程序,也对项目程序的开发流程有个大致印象,了解到程序的开发不只是通过代码实现功能,而是开发之前一定要捋清楚程序的功能,也就是需要进行需求分析这样一个过程,而且这个步骤还非常重要,不能缺失,因为此步骤主要就是明确用户的需求来设计程序功能,这样才能保证开发的程序是用户需要的软件。
在程序的功能已经确定之后,也需要明确程序的操作流程,也需要把程序看成一个整体,然后将其功能分成多个小模块进行编程开发,这样的设计思路才是正确可行的,虽然程序的每个小功能模块都需要花费大量时间进行实现,好在现在互联网技术发达,可以通过网络搜索开发期间遇到的问题,查看前人对这些问题的总结,再加上自己锲而不舍的进行编码调试,最终可以实现一个个程序小功能。程序开发一方面是解决遇到的各种问题,另一方面随着开发的结束,自己的能力也得到了迅速提升。得出的经验就是设计程序功能之前,先要深刻了解需要设计的程序,也要认真去分析用户对程序功能的需求,并列出程序大致功能,这样可以保证自己在进入功能详细设计时不慌乱,可以保持有条不紊的进行。通过程序的编制,让我明白知识的学习与掌握真的非常重要,关键时刻能够用得上,还有一个就是要始终保持认真,细心的做事风格,这会让自己可以把事情做得又快又好。
在这个竞争相当激烈的社会,尤其是计算机的发展非常迅猛,对自己提出的要求就是要更加努力的学习知识,要真正融入当今社会,即使毕业之后步入社会进行工作,也要加强学习,才能让自己具备价值。
源码下载链接:
https://pan.baidu.com/s/1dkpBBFXiZ_6l9o-iqyB35w?pwd=32t9