基于Python的企业知识库管理系统的设计与实现

 摘 要

我们现在所处的的时代是一个以信息技术为基础的时代,信息技术的发展与使用越来越深入到人们的日常生活中去,然而信息技术的快速发展也伴随着大量的知识信息,如何快速的获取有用的知识信息成为了一个难题。通过调查发现,现如今社会上,大多数的个人或者企业都在使用传统的方法查询知识信息,这样既不利于个人或者企业快速获取知识信息,也影响了企业内部的正常运行,所以在这样一个大环境下,知识库管理系统应运而生。

首先,系统开发过程中主要使用的语言为Python语言,框架则是以Flask框架为主进行搭建,对于前端与后端,我们进行了单独开发,数据存储采用PostgreSQL数据库进行存储,首先对系统的需求进行调研分析,根据调研出来的需求进行分类,对系统进行总体设计。实现了用户可以自主注册、添加信息、删除信息、修改信息,对于用户想知道的信息自主搜索。使用此系统用来取代重复繁杂的人力记载及查询,可以有效的为用户推荐关注度高的信息和用户感兴趣的知识信息,极大的方便了用户。

本文的第一章首先介绍了此课题在如今社会的研究背景,阐述了国内与国外的发展现状,也对此课题在经济与技术上的可行性进行了具体的分析。第二章主要介绍了本课题的任务目标、用户特点、系统业务模块说明分析、运行环境,系统业务模块说明分析主要介绍了各个模块的大致功能。第三章本文主要介绍了系统体系结构、系统模块设计、开发环境与运行环境设计。第四章主要介绍了系统的详细设计,主要是对数据库与各个功能模块进行了详细的介绍。第五章本文主要介绍了系统的运行与测试,主要包括测试环境、测试用例、测试结论。

 关键词:知识管理;分析系统;Flask框架

  前 言

时节如流岁月不居,时代在不断的更替,社会也在不断的进步,人们的生活已经步入了信息化时代,信息已经成为人们生活中必不可少的部分。知识领域尤为重要,随着信息化的发展,在知识库管理系统上也应有显著的改变,应运用信息化手段充分利用有限的资源以满足大众的需求,且知识库管理系统作为大众快速便捷了解知识信息的重要组成部分,故知识库管理系统可以快速、准确、有效地满足用户的需求。

增强企业海量知识存储与处理的能力是基于 Python的知识库管理系统一大优点,可以对企业在面向管理时进行知识分析。企业在使用知识库管理系统,大大的减少了企业获取知识的时间,也让企业在与其他竞争对手面前占得先机,实时的为企业出谋划策,即稳定了企业日常的运作,也保障了企业的实际利益。

系统的框架以Flask框架搭建,以Python为基础开发语言采用开源的框架,网络采用内网部署的方式进行服务器搭建,前端采用了Vue.js搭建前端框架,数据存储采用PostgreSQL数据库进行存储。整个环节采用低成本的开发原则。

本知识库管理系统具有如下功能:用户的登录与注册、个人信息管理、知识库管理、产品知识信息管理、硬件知识管理、知识分类管理、数据统计模块功能。通过本系统可以准确、方便快捷、高效的将用户所需的信息呈现出来;用户可以迅速的找到感兴趣的相关所有知识信息,了解详情。还可以通过可视化图表查看分布情况。此外用户可以对其需要的的信息进行搜索。

 第1章绪 论

  1.1课题研究的背景

随着世界经济形式的改变,工业经济已经逐渐转变为了知识经济,日益激烈的市场竞争给企业带来不小的压力,企业需要寻找并研究出新的管理方法来迎接市场发展的需求与挑战[1]。在知识经济时代,全球开始由工业经济转变为知识经济,从根本上改变了知识经济在生产中的基本要素,生产资料从有形变到无形的转变,劳动力也逐步从以体力劳动为主转变成以脑力为主。随着经济时代的发展,知识的影响力逐步增加,企业产品和服务中的知识比例也在逐步提高[2]。

人们必须重新认识和思考如何管理企业。知识经济的发展需要知识管理,知识管理是企业知识与资源的总和,知识整合与共享可以帮助企业获得最大的利益[3]。随着当今社会逐步进入信息化的时代,企业信息化更加便捷,除了传统的渠道能够获取信息外,获得企业所需要的信息也可以通过互联网和其他类型的数据库等途径。但是要从这些海量信息里找到有利信息则不是件容易的事情,尤其是如何将得到的信息进行管理跟提炼更是难上加难。要想增加企业的竞争力,不仅要在硬件上加大投入,更要结合实际,充分运用现有的管理成果,选择适合本企业和社会发展需求的知识管理模式、系统,才能立于不败之地[4]。

1.2国内外研究的现状

  1.2.1国外研究现状

当下所有的企业正面临着激烈的竞争,知识管理可以成为企业竞争中制胜的关键——创造知识、运用知识、创造财富[10]。国外的一些大公司在上个世纪就开始了对知识管理的研究,在企业的内部建立完善的知识管理体系,可以为企业在激烈的竞争下脱颖而出。

目前,知识库建设在很多的国外国家都已经开始。在国际大型企业当中,拥有企业知识库管理系统排名前三位的国家依次为X、英国、德国。这些国家在很多年前就已经开始了对企业知识库管理系统的研究与建设,经过多年的积累,技术层面已经是相当的成熟,系统研发的样式也多种多样,在当前世界激烈的竞争环境下发挥着必不可少的作用。

1.2.2国内研究现状

国内在知识库管理系统的造就上与国外相比就略显得落后。但在近些年,我国的一些大型企业也开始了对企业知识库管理系统的具体研究,比如说新浪、阿里巴巴、京东、华为,他们也陆续地建立起了本企业的知识库管理系统,在企业进行重大决策时,知识库管理系统也给他们带来了理想的解决办法。虽说国内的知识管理系统起步比较晚,但经过企业的不断探索,我国在企业知识库管理系统这一领域也愈发的有生机。

1.3课题研究的目的和意义

当今的社会已经进入了一个全新的大数据时代,随着大数据时代产生的则是海量的信息数据,在这些海量数据大量的涌入企业的日常运作上,给企业带来了很多的烦恼,企业获取知识难、获取知识慢,给企业的效益带来了严重的影响,丢失了许多有用的信息资源,对这些知识资源进行管理已经成为企业不得不面对的问题,企业知识库的建立已经是大趋势,可以帮助企业在海量的信息面前从容不迫。企业知识库的创建可以使企业在获取知识时更加的便捷有效,当企业遇到难题时,企业知识库可以为企业提供知识信息的帮助,避免了传统获取知识难和慢的缺点。企业知识库目前已经成为每个企业所必须要拥有的,不管是当前还是未来,都可以给企业带来持续的动力,也为企业在这激烈的竞争环境下稳住了脚跟。

 1.4 可行性分析

  1.4.1技术可行分析

通过系统功能的实现,设备以及软件的开发,使用的方法和操作过程进行项目分析,通过GITHUB进行版本控制,ROSE以及XMID进行系统原型以及功能的划分,ERstudio数据分析,数据存储使用PostgreSQL数据库处理系统相关数据,后端开发采用流行的语言Python进行深入项目开发,Flask为后端框架,前端采用HTML语言进行开发,标准的javascript,配合VUE主流框架进行前端界面设计,通过PostgreSQL的admin客户端进行数据的浏览查看,便于数据的分析工作。

 1.4.2经济可行性分析

对于本系统的开发,成本低、开发流程简单。对于硬件的要求,只需要一台普通的计算机即可;对于软件方面的要求,服务器端操作系统为Windows7及其以上版本,Linux环境为Centos7.3及以上版本,并安装相关浏览器,WEB应用服务器需Nginx1.6及其以上版本,Python运行时环境为Python2.7及其以上版本,数据库为PostgreSQL9.3标准版,从经济上来说完全可行。

1.5本章小结

该系统的开发语言为Python语言,运用Flask等框架进行项目的建设,使用主流数据库进行数据的存储。首先对该系统进行原型设计和功能以及流程进行分析,实现了系统知识管理等内容。

  第2章 需求分析

  2.1 任务目标

主要目标是实现一个准确,方便,高效的企业知识库管理系统,其目的是方便用户可以高效率的对注册登录,查询信息,实时了解信息,防止因为传统的了解方式出现的卡顿,复杂,延迟的现象,以至于用户无法准确的了解信息。

本系统主要给予企业人员及想了解企业知识方面问题的人员使用,此系统主要意义在于为用户提供一个高效、准确、实时信息管理系统,便于资源分配的有效性,达到共享资源方便用户的效果。

首先用户注册账号应根据企业知识库管理系统的要求将自己的用户名、电话、地址、密码信息添加到系统中,之后用户拥有自己的账号,用户在登录账号后,可以更改自己的初始密码,开始正式使用知识库管理系统。

用户使用管理系统时,可以看到本知识库内的知识信息、知识产品信息、硬件知识产品信息,每个信息都会有相应的详情介绍,可供用户参考与查询。用户还可以使用搜索功能,当用户进行搜索时,可根据用户所搜索的关键字进行查询,与关键字相关的信息都会为用户展现出来。用户进入可视化界面后,会看到相应资源的占比情况与数量情况,可视化界面可以给用户带来更好的视觉体验,也为用户带来了更加直观的知识库的具体情况。

系统还有管理员管理模块,管理员可以批量操作信息,对知识库中的各种知识进行增添、删除、修改、查询,还可以对用户进行编辑,包括新增用户、修改用户信息,对于忘记密码的用户,管理员可以对用户进行密码初始化,用户的密码就会改为初始密码,用户输入初始密码即可登录。管理员还可根据可视化界面实时的了解企业知识库的具体情况,可视化界面通过对数据统计模块的运用将可视化图表直观的展现出来,包括各类别资源数量统计、近七天新增知识数量统计、各类别知识数量占比统计、近七日上架知识数量展示、各类别知识数量排行等信息。

 2.2用户特点

主要分为:知识库系统管理员、普通用户。不同的用户所拥有的权限也是不同的;普通用户拥有的权限,可以对自己的信息进行修改,拥有独立账号,可以查看知识库中的各类别的知识信息,还可进入可视化界面查看各类资源的占比情况、数量情况。系统管理员拥有最高权限,可对用户进行的管理与维护,还可对知识库中的各种信息进行增添、删除、修改、查询,以确保系统的稳定运行。

 2.3系统业务模块说明分析

  2.3.1登录与注册管理模块

1、需求描述

为了确保用户体验性以及系统安全性和逻辑完整性,进行知识浏览必须是登录以后的用户才有权限,如果没有系统帐号,则需要点击注册进行信息注册,注册用户的唯一标识是邮箱,系统会对注册用户进行校验,如果用户邮箱已经注册,就会进行提示注册失败,给出失败的原因,如果注册成功后可进行登录,采用邮箱为帐号,输入的邮件必须符合主流邮箱的形式,密码必须为6位以上,注册成功后会自动跳转到登录界面进行登录。注册成功后,只要登录根据系统网址访问该系统一定会打开该网页,只要没有登录用户都会默认跳转到该页面。

2、用例图

企业知识库管理系统系统登录与注册功能用例图如2-1所示。

基于Python的企业知识库管理系统的设计与实现

2-1用户登录注册用例图

3、用例文档

(1)用例编号

UC1:登陆与注册模块。

(2)用例描述

注册用户可以浏览知识库系统中的信息。用户通过注册登陆进入该系统。

(3)参与者

所有用户、系统管理员。

(4)前置条件

用户可以按照实际情况注册登录账号。

系统采用邮件为唯一标识的方式进行校验,注册时会对邮件的规范性进行校验,如果输入不是邮件格式会进行弹出提示。

(5)后置条件

系统将数据库中相应的数据进行相应操作。

(6)基本路径

系统管理员录入用户人员信息。

用户登录系统账号,并且进入浏览信息的界面。

用户更新密码。

系统检查密码是否合理。

系统保存新密码。

页面成功跳转。

进入用户信息界面。

用户修改信息。

页面成功跳转。

系统管理员进入用户信息修改界面。

系统管理员对与实际不相同的内容进行修改。

页面成功跳转。

(7)扩展路径

用户或者系统管理员输入的信息格式不正确,系统提示错误信息。

(8)补充说明

用户或系统管理员输入的信息(如:密码,用户名,地址等)不能为空并且要满足位数等相应要求。

4、活动图

登陆与注册活动图如图2-2所示。

基于Python的企业知识库管理系统的设计与实现

2-2登陆与注册活动图

2.3.2个人信息管理模块

1、需求描述

个人信息管理功能中用户可以对个人基本信息进行修改,个人密码注册时候不能低于六位,个人信息主要包含账号、用户名、地址以及电话信息。

2、用例图

企业知识库管理系统系统个人信息管理功能用例图如2-3所示。

基于Python的企业知识库管理系统的设计与实现

2-3个人信息管理信息用例图

3、用例文档

(1)用例编号

UC2:个人信息管理模块。

(2)用例描述

用户登陆账号后,可以对个人密码、用户名、地址、电话信息进行修改;系统管理员查看修改用户的信息。

(3)参与者

所有用户、系统管理员。

(4)前置条件

用户可以按照实际情况更改信息。系统管理员也可以将与实际情况不对应的人员信息进行对应,如果有人忘记密码,管理员也可以直接将用户密码初始化。

(5)后置条件

系统将数据库中相应的数据进行相应操作。

(6)基本路径

系统管理员录入用户人员信息。

用户登录系统账号,并且进入修改密码的界面。

用户更新密码。

系统检查密码是否合理。

系统保存新密码。

页面成功跳转。

进入用户信息界面。

用户修改信息。

页面成功跳转。

系统管理员进入用户信息修改界面。

系统管理员对与实际不相同的内容进行修改。

页面成功跳转。

(7)扩展路径

用户或者系统管理员输入的信息格式不正确,系统提示错误信息。

(8)补充说明

用户或系统管理员输入的信息(如:密码,用户名,地址等)不能为空并且要满足位数等相应要求。

4、活动图

个人信息管理活动图如图2-4所示。

基于Python的企业知识库管理系统的设计与实现

2-4个人信息管理活动图

2.3.3知识库管理模块

1、需求描述

知识库管理是用于管理发布的知识使用的功能,用户可以浏览界面内各个知识的信息,管理员用户可以在此功能发布新的知识,管理员用户只需要点击新建知识按钮就可以发布,该页面展示的信息有知识名称、知识分类、知识内容、编写时间、编写作者等信息,管理员可以删除发布的信息,可以批量删除,也可以每条删除,管理员用户还可以修改已经发布的信息。

2、用例图

企业知识库管理系统系统功能用例图如2-5所示。

基于Python的企业知识库管理系统的设计与实现

2-5知识管理模块用例图

3、用例文档

(1)用例编号

UC3:知识库管理模块。

(2)用例描述

用户人员通过账号登陆进入系统页面,用户可浏览查看知识信息。

(3)参与者

拥有本系统账号的用户与管理员。

(4)前置条件

拥有本系统账号的用户人员进入系统浏览相关知识信息。

(5)后置条件

后台系统对数据库相应的信息的数据进行修改删除操作。

(6)基本路径

用户人员通过账号登陆进入系统页面,点击知识库管理按钮即可浏览知识库内知识信息与知识详情,输入搜索内容,点击查询即可查询想要知识。

(7)扩展路径

当用户人员输入的内容不符合要求,则提示错误信息。

4、活动图

知识库管理模块活动图如图2-6所示。

基于Python的企业知识库管理系统的设计与实现

2-6知识库管理模块活动图

2.3.4硬件知识信息管理模块

1、需求描述

硬件知识管理是用于管理发布的新研发硬件知识的功能,用户可以查看本企业的硬件知识产品信息,包括硬件知识名称、知识分类、内容简介、内容详情、添加时间、研发人。管理员可以在此模块对各个硬件知识进行操作,管理员只需要点击新建硬件知识按钮就可以添加知识,还可以对已有的硬件知识进行修改、删除。

2、用例图

基于Python的企业知识库管理系统的设计与实现

企业知识库管理系统系统硬件知识管理功能用例图如2-7所示。

2-7硬件知识管理模块用例图

3、用例文档

(1)用例编号

UC4:硬件知识库管理模块。

(2)用例描述

用户人员通过账号登陆进入系统页面,用户可浏览查看硬件知识信息。

(3)参与者

拥有本系统账号的用户。

(4)前置条件

拥有本系统账号的用户人员进入系统浏览相关硬件知识信息。

(5)后置条件

后台系统对数据库相应的信息的数据进行修改删除操作。

(6)基本路径

用户人员通过账号登陆进入系统页面,点击知识库管理按钮即可浏览硬件知识库内知识信息与知识详情,输入搜索内容,点击查询即可查询想要硬件知识。

(7)扩展路径

当用户人员输入的内容不符合要求,则提示错误信息。

4、活动图

硬件知识管理模块活动图如图2-8所示。

基于Python的企业知识库管理系统的设计与实现

2-8硬件知识管理模块活动图

 2.3.5产品知识信息管理模块

1、需求描述

产品知识信息管理是用于管理发布的新研发知识的功能,用户可以在此功能发布新的研发知识产品,用户只需要点击新建知识产品按钮就可以发布,该页面展示的信息有知识名称、知识分类、内容简介、添加时间、研发人等信息,管理员可以增添、修改、删除发布的信息。

2、用例图

企业知识库管理系统系统产品知识管理功能用例图如2-9所示。

基于Python的企业知识库管理系统的设计与实现

2-9产品知识管理模块用例图

3、用例文档

(1)用例编号

UC5:产品知识信息管理模块。

(2)用例描述

用户人员通过账号登陆进入系统页面,用户可浏览查看产品知识信息。

(3)参与者

拥有本系统账号的用户。

(4)前置条件

拥有本系统账号的用户人员进入系统浏览相关产品知识信息。

(5)后置条件

后台系统对数据库相应的信息的数据进行修改删除操作。

(6)基本路径

用户人员通过账号登陆进入系统页面,点击产品知识管理管理按钮即可浏览产品知识内知识信息与知识详情,输入搜索内容,点击查询即可查询想要产品知识。

(7)扩展路径

当用户人员输入的内容不符合要求,则提示错误信息。

4、活动图

产品知识管理模块活动图如图2-10所示。

基于Python的企业知识库管理系统的设计与实现

图2-10产品知识信息管理模块活动图

 2.3.6知识分类管理模块

1、需求描述

知识分类管理模块是用于管理知识分类的功能,当企业研发或者添加新的知识信息的时候,管理员可以根据知识的内容添加新的分类,管理员需要点击知识分类管理按钮,再点击新建分类按钮即可添加新的分类,管理员还可以对分类进行删除、修改,修改的内容为类别名称。

2、用例图

企业知识库管理系统系统知识分类管理功能用例图如2-11所示。

基于Python的企业知识库管理系统的设计与实现

2-11知识分类管理模块用例图

3、用例文档

(1)用例编号

UC6:知识分类管理模块。

(2)用例描述

管理人员与用户通过账号登陆进入系统页面,管理员可查看或添加、删除、修改知识分类信息。

(3)参与者

拥有本系统账号的用户与管理员。

(4)前置条件

拥有本系统账号的人员进入系统浏览相关知识分类信息。

(5)后置条件

后台系统对数据库相应的信息的数据进行修改删除操作。

(6)基本路径

用户与管理人员通过账号登陆进入系统页面,用户点击知识分类按钮即可浏览知识分类内分类信息,管理员点击知识分类按钮即可查看或添加、删除、修改知识分类信息。

(7)扩展路径

当用户人员输入的内容不符合要求,则提示错误信息。

4、活动图

知识分类管理模块活动图如图2-12所示。

基于Python的企业知识库管理系统的设计与实现

图2-12知识分类管理模块活动图

 2.3.7用户编辑模块

1、需求描述

知识库管理系统里面会包含大量的用户,用户编辑模块能够使企业更好的管理用户与用户信息。管理员登陆账号,点击用户编辑按钮,即可看到所有用户的信息,包括账号、用户名、用户类型、地址、电话,管理员可以对用户的这些信息进行修改、删除、查看,管理员可以新增用户,还可新增管理员,对于一些忘记密码的用户,管理员还可以使其用户密码初始化。

2、用例图

企业知识库管理系统系统用户编辑功能用例图如2-13所示。

基于Python的企业知识库管理系统的设计与实现

图2-13用户编辑模块用例图

3、用例文档

(1)用例编号

UC7:用户编辑模块。

(2)用例描述

管理人员通过账号登陆进入系统页面,管理员可查看或添加、删除、修改用户信息。

(3)参与者

拥有本系统账号的管理员。

(4)前置条件

拥有本系统账号的管理员进入系统浏览相关用户信息。

(5)后置条件

后台系统对数据库相应的信息的数据进行修改删除操作。

(6)基本路径

用户与管理人员通过账号登陆进入系统页面,管理员点击用户编辑按钮即可浏览、添加、删除、修改用户信息。

(7)扩展路径

当用户人员输入的内容不符合要求,则提示错误信息。

4、活动图

用户编辑模块活动图如图2-14所示。

基于Python的企业知识库管理系统的设计与实现

图2-14用户编辑模块活动图

  2.3.8数据可视化分析模块

1、需求描述

可视化视图展示是用于把数据以图形的形式展示信息,这样可以更加直观,用户可以直接知道需要了解的信息数据,该可视化展示的视图都有各类别资源数量统计柱形图、近7天新增产品知识数量统计波浪图、各类别书籍数量占比统计饼图、近7日上架知识数量展示折线图、各类别知识数量排行菱形图。

2、用例图

企业知识库管理系统系统用户编辑功能用例图如2-15所示。

基于Python的企业知识库管理系统的设计与实现

图2-15数据可视化分析模块用例图

3、用例文档

(1)用例编号

UC8:数据可视化分析模块。

(2)用例描述

管理人员与用户通过账号登陆进入系统页面,管理员与用户可查看各类别资源数量统计柱形图、近7天新增产品知识数量统计波浪图、各类别知识数量占比统计饼图、近7日上架知识数量展示折线图、各类别知识数量排行菱形图。

(3)参与者

拥有本系统账号的管理员与用户。

(4)前置条件

拥有本系统账号的管理员与用户进入系统浏览可视化界面。

(5)后置条件

后台系统对数据库相应的信息的数据进行修改删除操作。

(6)基本路径

用户与管理人员通过账号登陆进入系统页面,管理员与用户点击可视化按钮即可浏览各类别资源数量统计柱形图、近7天新增产品知识数量统计波浪图、各类别书籍数量占比统计饼图、近7日上架知识数量展示折线图、各类别知识数量排行菱形图。

(7)扩展路径

当用户人员输入的内容不符合要求,则提示错误信息;

4、活动图

数据可视化分析模块活动图如图2-16所示。

基于Python的企业知识库管理系统的设计与实现

图2-16数据可视化分析模块活动图

 2.4 运行环境

  2.4.1软件平台

本系统运用的系统为Windows7及以上版本的系统,适用于任意浏览器,服务器为Nginx1.6.1,Python2.7,数据库采用的是PostgreSQL9.4数据库。

 2.3.2硬件平台

为了使系统能够稳定的运行,Windows系统的处理器为Pentium42GHZ,2GB的RAM。电脑的运行内存不得少于4GB。

2.5 本章小结

该章节介绍了系统的任务目标,对管理员和用户角色进行功能需求分析,最后对系统运行环境包括软件和硬件进行详细功能介绍。

第3章 系统总体设计

  3.1系统体系结构

企业知识库管理系统主要包含了用户、管理员角色,用户可进行注册登录、查看修改个人信息,浏览各种知识信息、产品知识信息、硬件知识信息与个人可视化分析展示信息。管理员可对用户管理、知识库系统版块管理与数据统计的可视化分析,其中可视化分析可对所有数据内容进行分析,可以对每一个用户或者是在管理员的视角去看整个知识库的可视化分析,包含对各类别资源数量统计、近7天新增产品知识数量统计、各类别书籍数量占比统计、近7日上架知识数量展示、各类别知识数量排行等信息。

 3.2 系统模块设计

  3.2.1系统功能模块图

系统功能模块图如图3-1所示。

基于Python的企业知识库管理系统的设计与实现

图3-1系统功能模块图

3.2.2功能模块设计

1、用户登录与注册

(1)需求说明

知识浏览必须是登录以后的用户才有权限,如果没有系统帐号,则需要点击注册进行账号注册,注册用户的唯一标识是邮箱,系统会对注册用户进行校验,如果用户邮箱已经注册,就会进行提示注册失败,给出失败的原因,如果注册成功后可进行登录,采用邮箱为帐号,输入的邮件必须符合主流邮箱的形式,密码必须为6位以上,注册成功后会自动跳转到登录界面进行登录。注册成功后,只要用户根据系统网址访问该系统一定会打开该网页,只要没有登录用户都会默认跳转到该页面。

表现层设计用户注册与登录界面以白色为背景,符合知识库系统的清晰明了的特点,用户注册帐号采用邮箱的形式,会对邮箱格式进行校验,输入邮箱以后,会进行密码校验,两次输入一样的密码后会进行下一步,否则,会提示两次密码输入不一致,电话要符合基本的电话特征,其11位号码,点击提交信息后会对该帐号进行数据库匹配,查看是否已经有用户进行注册,如果该帐号已注册则Web界面会弹出提示,否则会跳转到登录界面进行用户名和密码登录。

业务逻辑层设计用户登录进入添加页面,输入完信息点击提交后,即可将所输入的用户信息传入到业务逻辑层,之后在传入到数据访问层。系统平台管理员会对用户信息进行修改,修改时,将业务逻辑层获取到的相关信息的用户编号整理成相关参数,而后将数据信息传入到相关的数据访问层,之后用户可以根据自行注册的账号进行登录。

数据访问层设计用户在注册登录时,数据访问层执行相关操作,而后得到上一层传来用户的相关信息的数据,而后下一层也就是业务逻辑层调用相应的方法,执行与之相对应的SQL语句,而后把数据存储在对应数据库中;当系统管理员对登录账号的用信息进行修改的时候,数据访问层会获得业务逻辑层传来的系统登录用户的账号信息,按照用户的相关信息以及业务逻辑层所使用的相关方法,调用与之相对应的SQL语句,修改数据库中相对应的用户信息。

登录系统账号的用户进入密码编辑页面时,数据访问层会获得业务逻辑层传来的相关用户人员的账号信息,通过SQL语句检索到这位用户人员的所有信息,之后输入新的密码然后提交,数据访问层通过获得的用户人员的账号,将更改后的密码通过SQL语句存储到数据库中,完成密码修改。

2、个人信息管理

(1)需求说明

个人信息管理功能中用户可以对个人基本信息进行修改,个人密码注册时候不能低于六位,个人信息主要包含账号、用户名、地址以及电话信息。

(2)表现层设计

个人信息修改是登录用户可以修改自己注册时的信息,例如当更换手机号时需要就需要该功能,但是不可以更换账号信息,该页面可以修改的信息有用户名、地址、电话,用户修改信息之后点击保存,就可以修改用户信息。页面使用的是VUE开发,为了提高系统的舒适度,页面主要使用的是白色,这样更加舒适整洁。

(3)业务逻辑层设计

当用户进入个人信息界面时,首先业务逻辑层会使用查询用户相关的方法,将从数据访问层获得的用户的所有信息全部在页面中显示出来。当进入到用户更改页面时,会在业务逻辑层得到用户的编号并查询相关用户的所有信息,进行修改,修改后,根据与之相对应的用户编号将修改后的信息传到数据访问层,最终完成用户信息的修改。

当管理员进入用户详情信息的界面时,首先业务逻辑层会调用相关的方法得到这位用户的编号,通过编号调用查询用户详细信息的方式,可以获得到这位用户的所有详情信息。

(4)数据访问层设计

当用户进入个人信息界面时,数据访问层会调用查询用户信息的方法,之后把用户的全部的数据信息传入业务逻辑层;当用户添加修改页面时,使用修改功能,数据访问层会获取业务逻辑层中的所有信息,并根据对应的SQL语句对用户进行信息修改,并显示在页面上,之后将修改完的信息提交后,数据访问层再次得到业务逻辑层的用户编号并会根据用户编号调用更改用户信息的SQL语句,完成更改,并传回业务逻辑层中。此时就完成了对自己信息的修改。

3、知识库管理

(1)需求说明

知识库管理是用于管理发布的知识使用的功能,用户可以浏览界面内各个知识的信息,管理员用户可以在此功能发布新的知识,管理员用户只需要点击新建知识按钮就可以发布,该页面展示的信息有知识名称、知识分类、知识内容、编写时间、编写作者等信息,管理员可以删除发布的信息,可以批量删除,也可以每条删除,管理员用户还可以修改已经发布的信息。

(2)表现层设计

用户可以在此功能发布新的知识,用户只需要点击新建知识按钮就可以发布,该页面展示的信息有知识名称、知识分类、知识内容、编写时间、编写作者等信息,用户可以删除发布的信息,可以批量删除,也可以每条删除,用户还可以修改已经发布的信息,这样可以更加的便捷.

(3)业务逻辑层设计

用户点击知识库管理按钮,进入知识库管理界面,业务逻辑层会调用查询所有信息的方法,并把从数据访问层获取的信息显示出来。点击新建知识按钮,业务逻辑层会调用新建知识的方法,并把表现层输入的信息做为参数传递到数据访问层,再由数据访问层的返回值进行相应的页面跳转。

(4)数据访问层设计

进入系统知识库管理界面,数据访问层调用相应得查询方法而后执行SQL语句,将所得到得全部信息导入到业务逻辑层,执行本次操作,会将本次输入的信息做为参数执行对应的SQL语句,把所得到得信息存入到数据库中,并将所得到得返回值传入业务逻辑层中。最终呈现出来。当用户完成访问时,按返回按钮即完成。

4、产品知识信息管理

(1)需求说明

产品知识信息管理是用于管理发布的新研发知识的功能,用户可以在此功能发布新的研发知识产品,用户只需要点击新建知识产品按钮就可以发布,该页面展示的信息有知识名称、知识分类、内容简介、添加时间、研发人等信息,管理员可以增添、修改、删除发布的信息。

(2)表现层设计

产品知识管理是用于管理发布的新研发的功能,用户可以在此功能发布新的研发问题,用户只需要点击新建知识按钮就可以发布,该页面展示的信息有知识名称、知识分类、内容简介、添加时间、研发人等信息,用户可以删除发布的信息,可以批量删除,也可以每条删除,用户还可以修改已经发布的信息,这样可以更加的便捷,不用删除在发布了,节省了一些操作,为了提高用户使用效率提供了筛选功能,用户可以使用知识名称或者编写时间进行筛选,提高业务效率。

(3)业务逻辑层设计

用户点击产品知识管理按钮,前端访问后台,后台接收数据,调用产品知识列表接口,使用分页查询查询数据,封装数据展示数据,返回给页面展示,用户点击编辑,打开新的页面,查询后台,根据知产品识ID查询知识信息,用户编辑之后,点击保存按钮,提交后台,根据产品知识ID修改信息,修改成功之后调用产品知识列表查询接口查询知识库列表信息,封住数据,跳转到产品知识管理页面。

(4)数据访问层设计

用户登录进入到产品知识信息管理界面,数据访问层调用相应得查询方法而后执行SQL语句,将所得到得全部信息导入到业务逻辑层,执行本次操作,会将本次输入的信息做为参数执行对应添加的SQL语句,把信息存入数据库,并将返回值传入业务逻辑层中,最终表现出来。

5、硬件知识信息管理

(1)需求说明

硬件知识管理是用于管理发布的新研发硬件知识的功能,用户可以查看本企业的硬件知识产品信息,包括硬件知识名称、知识分类、内容简介、内容详情、添加时间、研发人。管理员可以在此模块对各个硬件知识进行操作,管理员只需要点击新建硬件知识按钮就可以添加知识,还可以对已有的硬件知识进行修改、删除。

(2)表现层设计

硬件知识管理是用于管理发布的新研发硬件知识的功能,用户可以在此功能发布新的研发硬件知识问题,用户只需要点击新建知识按钮就可以发布,该页面展示的信息有知识名称、知识分类、内容简介、添加时间、研发人等信息,用户可以删除发布的信息,可以批量删除,也可以每条删除,用户还可以修改已经发布的信息。

(3)业务逻辑层设计

用户进入到硬件知识管理界面,前端访问后台,后台接收数据,调用硬件知识列表接口,使用分页查询查询数据,封装数据展示数据,返回给页面展示,用户点击编辑,进入到新的页面,触发Ajax查询后台,根据硬件知识ID查询硬件知识信息,用户编辑之后,点击保存按钮,提交后台,根据硬件知识ID修改信息,修改成功之后调用硬件知识列表查询接口查询硬件知识库列表信息,封住数据,跳转到硬件知识管理页面。

(4)数据访问层设计

访问数据库使用的是Postgresql,用户进入到硬件知识信息管理界面时,数据访问层会根据从业务逻辑层中获取到的数据信息的SQL命令,并将执行SQL命令后的返回值传递到业务逻辑层。

6、知识分类管理

(1)需求说明

知识分类管理模块是用于管理知识分类的功能,当企业研发或者添加新的知识信息的时候,管理员可以根据知识的内容添加新的分类,管理员需要点击知识分类管理按钮,再点击新建分类按钮即可添加新的分类,管理员还可以对分类进行删除、修改,修改的内容为类别名称。

(2)表现层设计

知识分类管理是用于把知识分类使用的功能,该功能实知识管理之前使用的功能,该功能是联动的功能,只要在此功能上编辑了新的分类,编辑知识时就可以查询到新的知识类别,这样可以有助于用户区分不同种类的知识,该页面展示的是知识分类列表,展示的信息有知识分类、添加时间等信息。

(3)业务逻辑层设计

打开知识分类管理页面,前端访问后台,后台接收数据,调用产品分类列表接口,使用分页查询查询数据,封装数据,返回给页面展示,用户点击编辑,打开新知识分类编写页面,触发Ajax查询后台,根据知识分类ID查询知识分类信息,用户编辑之后,点击保存按钮,最后提交给后台,根据知识分类ID修改信息,修改成功之后调用知识分类列表查询接口查询知识分类列表信息,封住数据,跳转到知识分类管理页面。

(4)数据访问层设计

用户进入到知识分类管理界面时,数据访问层会根据从业务逻辑层中获取到的数据信息的SQL命令,并将执行SQL命令后的返回值传递到业务逻辑层。

7、用户编辑

(1)需求说明

用户编辑模块是用于管理用户信息的功能,知识库管理系统里面会包含大量的用户,用户编辑模块能够使企业更好的管理用户与用户信息。管理员登陆账号,点击用户编辑按钮,即可看到所有用户的信息,包括账号、用户名、用户类型、地址、电话,管理员可以对用户的这些信息进行修改、删除、查看,管理员可以新增用户,还可新增管理员,对于一些忘记密码的用户,管理员还可以使其用户密码初始化。

(2)表现层设计

用户编辑是用于方便管理员管理用户的功能,该功能是联动的功能,只要在此功能上编辑了用户,编辑用户时就可以编辑用户的所有信息,这样可以有助于系统管理用户,该页面展示的是用户列表,展示的信息有账号、用户名、用户类型、地址、电话。为了提高业务效率增加了批量删除,这样有助于快速的删除信息,该功能支持新增、修改、删除功能,页面上还有初始化密码功能,便于用户忘记密码时更改。

(3)业务逻辑层设计

用户点击用户编辑连接,使用VUE打开新的页面,使用Ajax访问后台,后台接收数据,调用硬件知识列表接口,使用分页查询查询数据,封装数据展示数据,返回给页面展示,用户点击编辑,使用VUE打开新的页面,触发Ajax查询后台,根据用户ID查询硬件知识信息,用户编辑之后,点击保存按钮,VUE使用Ajax提交后台,根据用户ID修改信息,修改成功之后调用用户列表查询接口查询用户列表信息,封住数据,跳转到用户编辑页面。

(4)数据访问层设计

用户登录进入到用户编辑界面,数据访问层调用相应得查询方法而后执行SQL语句,将所得到得全部信息导入到业务逻辑层,执行本次操作,会将本次输入的信息做为参数执行对应添加的SQL语句,把信息存入数据库,并将返回值传入业务逻辑层中,最终表现出来。

8、数据可视化分析

(1)需求说明

可视化视图展示是用于把数据以图形的形式展示信息,这样可以更加直观,用户可以直接知道需要了解的信息数据,该可视化展示的视图都有各类别资源数量统计柱形图、近7天新增产品知识数量统计波浪图、各类别书籍数量占比统计饼图、近7日上架知识数量展示折线图、各类别知识数量排行菱形图。

(2)表现层设计

可视化视图展示是用于把数据以图形的形式展示信息,这样可以更加直观,用户可以直接知道需要了解的信息数据,该可视化展示的视图都有各类别资源数量统计柱形图、近7天新增产品知识数量统计波浪图、各类别知识数量占比统计、饼图、近7日上架知识数量展示折线图、各类别书籍数量排行菱形图,可视化视图使用的都是VUE插件,视图是可以点击的,当点击数据时会出现不同的效果。

(3)业务逻辑层设计

用户点击可视化视图展示目录链接,使用VUE的ajax访问后端,后端获取数据,后台岁数据进行封装处理,把数据封装成json,返回给前端页面,页面接收数据,把数据发给插件展示可视化图形。

(4)数据访问层设计

用户登陆账号进入可视化界面,前端就会调用查询所有可视化信息的SQL语句而后将信息传入到下一次也就是业务逻辑层,会将本次输入的信息做为参数执行对应添加的SQL语句,把信息存入数据库,并将返回值传入业务逻辑层中。

 3.3本章小结

该章节对系统功能模块设计、对软件开发环境与运行环境进行了详细的介绍。

系统功能模块设计主要介绍了系统中每个功能模块的需求说明、表现层设计、业务逻辑层设计、数据访问层设计。

第4章 系统详细设计

  4.1 系统数据库设计

  4.1.1数据库描述

系统数据进行信息存储采用的是PostgreSQL数据库,数据库支持本地安装同时也可采用阿里云服务器安装相应的数据库进行永久性存储数据。

4.1.2系统E-R图

基于Python的企业知识库管理系统的设计与实现

 

4.1.2数据库逻辑设计

作为表现实体之间关系的设计,在实际开发中具有至关重要的作用,逻辑设计也是数据库关系的体现,是指导接下来开发进程的重要参照。在对需求反复研究后遂决定本系统使用4张 分别独立的表来完成系统中数据存储的功能,四张表分别是:用户信息表(sys_login)、硬件信息表(hardware_info)、产品信息表(product_info)、知识信息表(knowledge_info),以及知识分类表(knowledge_type)所涉及的表下表所示。

(1)用户表sys_login,如表4-1所示。

表4-1用户表sys_login

字段名 字段类型 字段长度 字段描述
user_id integer 32 主键ID
email charactervarying 12 用户邮箱
passwd charactervarying 128 用户密码
address charactervarying 135 用户地址
role charactervarying 128 用户角色
state charactervarying 128 用户状态
r_time Time Time 创建时间

(2)硬件信息表(hardware_info),如表4-2所示。

表4-2硬件信息表hardware_info

字段名 字段类型 字段长度 字段描述
id integer 50 主键ID
author charactervarying 64 作者
name charactervarying 512 硬件名称
detail charactervarying 512 硬件描述
state charactervarying 12 发布状态
r_time Time Time 发布时间

(3)产品信息表product_info,如表4-3所示。

表4-3产品信息表(product_info)

字段名 字段类型 字段长度 字段描述
id integer 50 主键ID
author charactervarying 64 作者
name charactervarying 512 产品名称
detail charactervarying 512 产品描述
state charactervarying 12 发布状态
r_time Time Time 发布时间

(4)知识信息表knowledge_info,如表4-4所示。

表4-4知识信息表knowledge_info

字段名 字段类型 字段长度 字段描述
id integer 50 主键ID
author charactervarying 64 作者
name charactervarying 512 知识名称
detail charactervarying 512 知识描述
state charactervarying 12 发布状态
r_time Time Time 发布时间

(5)知识分类表knowledge_type,如表4-5所示。

表4-5知识分类表knowledge_type

字段名 字段类型 字段长度 字段描述
id integer 50 主键ID
name charactervarying 512 分类名称
state charactervarying 12 数据状态
r_time Time Time 记录时间

 4.1.3数据库物理设计

根据用户的功能需求,对数据库进行详细设计,数据库设计是重要环节,设计应满足易于维护,表功能简单,采用主表以及附表的形式进行关联创建,易于后期的维护。

 4.2 功能模块详细设计

  4.2.1用户登录与注册

1、功能描述

此模块主要的功能是创建用户的账号,用户需要录入相关信息,将信息上传完成后,将账号分配给用户人员,用户进入系统可以修改的初始密码,系统管理员还可以修改用户的信息。

2、输入项目

账号、密码、地址、电话。

3、输出项目

(1)当用户添加正确信息时,页面成功跳转。

(2)当用户输入格式有误时,提示输入格式有误。

(3)当用户申请成功时,页面成功跳转。

(4)当用户申请不成功时,提示相应错误信息。

4、实现方式

用户进入知识库管理系统登陆界面,点击注册按钮,然后进入注册界面,会弹出四个文本框,分别为:账号、密码、确认密码、地址、电话。之后用户按照相应的文本框,填写相应的信息。当填写信息不正确时,系统会提示输入格式错误即显示申请不成功;当填写信息正确时页面跳转成功,系统会显示申请成功。用户得到相应的账号。

5、顺序图

登录与注册顺序图如图4-1所示。

基于Python的企业知识库管理系统的设计与实现

图4-1登录与注册顺序图

 4.2.2个人信息管理

1、功能描述

本模块是对个人信息管理的模块,此功能用于对用户的个人信息进行修改等操作。

2、输入项目

账号、用户名、地址、电话、密码。

3、输出项目

(1)用户添加个人信息成功,页面成功跳转。

(2)用户查看个人信息成功,页面成功跳转。

(3)用户信息修改个人信息成功,页面成功跳转。

(4)用户信息输入有误时,提示对应的错误信息。

4、实现方式

用户进入个人信息管理界面,界面上包含账号、用户名、地址、电话、修改个人密码四个文本框,当用户点击用户名、地址、电话时,可以对个人的信息进行修改,用户点击修改个人密码按钮时,会跳转到修改个人密码界面,界面上有三个文本框,包括原始密码、新密码、确认新密码,用户根据自己想要修改的信息即可修改密码。

5、顺序图

个人信息管理顺序图如图4-2所示。

基于Python的企业知识库管理系统的设计与实现

图4-2个人信息管理顺序图

  4.2.3知识库管理

1、功能描述

此项功能主要是用户可以对知识库内的信息可以查看,管理员可以对知识库内的信息进行增添、删除、修改、查看,对于用户自身想要查找自己想要的信息是,搜索功能可以帮助用户进行关键字搜索。

2、输入项目

知识名称、知识分类、内容描述、编写作者、详情。

3、输出项目

(1)用户添加知识信息成功,页面成功跳转。

(2)用户修改知识信息成功,页面成功跳转。

(3)用户搜索知识信息成功,页面成功跳转。

(4)用户信息输入有误时,提示对应的错误信息。

4、实现方式

用户进入知识知识库管理界面后,用户可以随机查看知识信息,点击新建知识按钮,界面跳转到新建知识界面,界面上包含知识名称、知识分类、内容描述、编写作者、详情五个文本框,用户可将想要添加的信息输入进去,点击保存按钮即可新增知识。点击编辑按钮,用户就可对以上五个信息进行修改。点击删除、批量删除、全部删除按钮即可对知识信息进行删除。点击界面上知识名称文本框,输入想要查询的知识名称或者关键字,即可对知识进行搜索。

5、顺序图

知识库管理顺序图如图4-3所示。

基于Python的企业知识库管理系统的设计与实现

图4-3知识库管理顺序图

 4.2.4产品知识信息管理

1、功能描述

此项功能主要是用户可以对产品知识库内的信息可以查看,管理员可以对产品知识库内的信息进行增添、删除、修改、查看,对于用户自身想要查找自己想要的信息是,搜索功能可以帮助用户进行关键字搜索。

2、输入项目

产品名称、知识分类、内容描述、研发人、详情、知识名称。

3、输出项目

(1)用户添加产品知识信息成功,页面成功跳转。

(2)用户修改产品知识信息成功,页面成功跳转。

(3)用户搜索产品知识信息成功,页面成功跳转。

(4)用户信息输入有误时,提示对应的错误信息。

4、实现方式

用户进入产品知识信息管理界面后,用户可以随机查看产品知识信息,点击新建产品知识按钮,界面跳转到新建产品知识界面,界面上包含产品名称、知识分类、内容描述、研发人、详情五个文本框,用户可将想要添加的信息输入进去,点击保存按钮即可新增产品知识。点击编辑按钮,用户就可对以上五个信息进行修改。点击删除、批量删除、全部删除按钮即可对知识信息进行删除。点击界面上知识名称文本框,输入想要查询的产品知识名称或者关键字,即可对产品知识进行搜索。

5、顺序图

产品知识信息管理顺序图如图4-4所示。

基于Python的企业知识库管理系统的设计与实现

图4-4产品知识信息管理顺序图

 4.2.5硬件知识信息管理

1、功能描述

此项功能主要是用户可以对硬件知识库内的信息可以查看,管理员可以对硬件知识库内的信息进行增添、删除、修改、查看,对于用户自身想要查找自己想要的信息是,搜索功能可以帮助用户进行关键字搜索。

2、输入项目

硬件名称、知识分类、内容描述、研发人、详情、知识名称。

3、输出项目

(1)用户添加硬件知识信息成功,页面成功跳转。

(2)用户修改硬件知识信息成功,页面成功跳转。

(3)用户搜索硬件知识信息成功,页面成功跳转。

(4)用户信息输入有误时,提示对应的错误信息。

4、实现方式

用户进入硬件知识信息管理界面后,用户可以随机查看硬件知识信息,点击新建硬件知识按钮,界面跳转到新建硬件知识界面,界面上包含硬件名称、知识分类、内容描述、研发人、详情五个文本框,用户可将想要添加的信息输入进去,点击保存按钮即可新增硬件知识。点击编辑按钮,用户就可对以上五个信息进行修改。点击删除、批量删除、全部删除按钮即可对硬件知识信息进行删除。点击界面上知识名称文本框,输入想要查询的硬件知识名称或者关键字,即可对硬件知识进行搜索。

5、顺序图

硬件知识信息管理顺序图如图4-5所示。

基于Python的企业知识库管理系统的设计与实现

4-5硬件知识信息管理顺序图

 4.2.6知识分类管理

1、功能描述

此功能主要是可以让用户更好的查看知识的类别,管理员可以对知识分类内的信息进行添加、修改、删除、查看。

2、输入项目

知识分类名称。

3、输出项目

(1)用户添加知识类别信息成功,页面成功跳转。

(2)用户修改知识类别信息成功,页面成功跳转。

(3)用户搜索知识类别信息成功,页面成功跳转。

(4)用户信息输入有误时,提示对应的错误信息。

4、实现方式

用户进入知识分类管理界面后,用户可以随机查看知识的类别信息,点击新建分类按钮,界面跳转到新建分类界面,界面上包含请输入只是分类名称一个文本框,用户可将想要添加的类别输入进去,点击确定按钮即可新增分类。点击编辑按钮,用户就可对类别信息进行修改。点击删除、批量删除、全部删除按钮即可对硬件知识信息进行删除。

5、顺序图

基于Python的企业知识库管理系统的设计与实现

知识分类管理顺序图如图4-6所示。

图4-6知识分类管理顺序图

 4.2.7用户编辑

1、功能描述

此功能只有管理员用户才会拥有,管理员可以查看所有用户的信息,还可以对用户进行添加、修改、删除与重置密码。

2、输入项目

账号、用户名、用户类别、地址、电话。

3、输出项目

(1)管理员添加用户信息成功,页面成功跳转。

(2)管理员修改用户信息成功,页面成功跳转。

(3)管理员删除用户信息成功,页面成功跳转。

(4)管理员信息输入有误时,提示对应的错误信息。

4、实现方式

管理员进入用户编辑界面后,管理员可以查看所有用户的信息,管理员点击新建用户按钮,页面跳转到新建用户界面,界面上会出现账号、用户名、用户类别、地址、电话五个文本框,输入想要添加用户的信息点击保存按钮即可添加用户。管理员点击删除、批量删除、全部删除按钮即可删除用户。管理员点击编辑按钮即可对用户的以上五个信息进行修改。管理员点击重置密码按钮即可使用户密码初始化。

5、顺序图

用户编辑顺序图如图4-7所示。

基于Python的企业知识库管理系统的设计与实现

图4-7用户编辑顺序图

 4.2.8数据可视化分析

1、功能描述

本模块是对所有信息进行统计的模块,此功能用于对用户对信息可视化图表直接浏览,包含对各类别资源数量统计、近7天新增产品知识数量统计、各类别知识数量占比统计、近7日上架知识数量展示、各类别知识数量排行等信息。

2、输入项目

点击各类内容模块。

3、输出项目

用户点击成功,页面成功跳转。

4、实现方式

当用户进入可视化信息界面时,业务逻辑层会调用查询所有信息的方法,并把从数据访问层获取的信息在前台显示出来。点击“可视化”链接时,业务逻辑层会调用可视化申请的方法,并把表现层输入的信息做为参数传递到数据访问层,再由数据访问层的返回值进行相应的页面跳转。

5、顺序图

数据可视化分析顺序图如图4-8所示。

基于Python的企业知识库管理系统的设计与实现

图4-8数据可视化分析顺序图

  4.3 本章小结

该章节对系统数据库设计和功能模块进行了详细的功能描述,系统数据库设计主要包含了数据库描述、系统E-R图、数据库逻辑设计、数据库物理设计。功能模块详细设计主要包含了八大模块,对这几个模块功能进行了详细介绍。

 第5章 系统运行与测试

  5.1 测试环境

  5.1.1软件配置

1、Windows7及其以上版本,Linux环境为Centos7.3及以上版本,并安装相关浏览器;Web应用服务器Nginx1.6及其以上,在Nginx的安装目录下找到conf文件夹,找到nginx.conf文件,使用文本编辑器打开,root属性指在运行时要请求的url;dist-bolg;属性指项目所在的路径位置;Python运行时环境Python2.7及其以上版本;数据库系统PostgreSQL9.3标准版。

2、数据库配置

def __init__(self, sql):

self.sql = sql

def mysql_connect(self):

import MySQLdb

import MySQLdb.cursors

db = MySQLdb.connect(“”, “”, “”, “”, charset=’utf8′, cursorclass = MySQLdb.cursors.DictCursor )

cursor = db.cursor()

cursor.execute(self.sql)

data = cursor.fetchall()

db.close()

return data

  5.2测试用例

  5.2.1 用户登陆功能测试用例

1、测试方案

用户登录系统时,要输入用户名和密码,且输入用户名和密码不能为空,用户名长度不能超过16个字符;所输入用户名和密码必须是被注册过的用户。

2、测试用例

表5.1用户登录测试用例

序号 输入数据 预期结果 实际结果 结果分析
1 账号:admin@qq.com

密码:123456

登录成功登录成功输入正确,登录成功
2账号:user@qq.com

密码:123456

登录成功登录成功输入正确,登陆成功
3账号:adf

密码:123456

登录失败登陆失败用户名不存在
4账号:admin@qq.com

密码:111111

登录失败登录失败密码错误

3、测试效果图

用户登录功能测试如图5-1所示。

基于Python的企业知识库管理系统的设计与实现

5.1用户登录功能测试图

用户登录功能测试如图5-2所示。

5.2错误提示信息

基于Python的企业知识库管理系统的设计与实现

 5.2.2 用户注册功能测试用例

1、测试方案

当用户登录到系统时,点击注册账户按钮,页面就会跳转到注册界面,注册账户需要用户填写账号、密码、确认密码、地址、电话,用户填写注册信息如果说准确无误,用户就会注册成功,如果说填写错误,就会提示错误信息。

2、测试用例

表5-2用户注册测试用例

序号 输入数据 预期结果 实际结果 结果分析
1 账号:admin1@qq.com

密码:123456

确认密码:123456

地址:黑龙江

电话:13163689753

注册成功注册成功输入正确,注册成功
2账号:admin

密码:123456

确认密码:123456

地址:黑龙江

电话:13163689645

注册失败注册失败账号非邮箱,注册失败
3账号:lyl@qq.com

密码:111111

确认密码:111111

地址:黑龙江

电话:1234567

注册失败注册失败手机号位数不正确,注册失败
4账号:wangli@qq.com

密码:111111

确认密码:123456

地址:黑龙江

电话:13163687777

注册失败注册失败两次密码不一致

3、测试效果图

用户注册功能测试如图5-3所示。

基于Python的企业知识库管理系统的设计与实现

图5.3用户注册功能测试图

用户注册功能错误提示图如图5-4所示。

基于Python的企业知识库管理系统的设计与实现

图5.4用户注册功能错误提示图

用户注册功能错误提示图如图5-5所示。

基于Python的企业知识库管理系统的设计与实现

5.5用户注册功能错误提示图

用户注册功能错误提示图如图5-6所示。

基于Python的企业知识库管理系统的设计与实现

5.6用户注册功能错误提示图

 5.2.3个人信息管理功能测试用例

1、测试方案

用户进入个人信息管理界面,就会对个人的信息进行修改,包括用户名、地址、电话,如果说个人信息修改后格式正确,点击保存,用户修改个人信息成功,如果说填写格式错误就会提示错误信息。用户点击修改个人密码按钮,进入到修改密码界面,用户需要填写原始密码、新密码、确认新密码,信息填写正确,用户修改密码成功,信息填写错误,提示错误信息。

2、测试用例

表5-3个人信息管理测试用例

序号 输入数据 预期结果 实际结果 结果分析
1 用户名:admin@qq.com

地址:黑龙江

电话:13155556666

修改成功修改成功输入格式正确,修改成功
2用户名:user@qq.com

地址:黑龙江

电话:123456

修改失败修改失败输入格式不正确,修改失败
3原始密码:123456

新密码:345678

确认新密码:345678

修改成功修改成功输入信息正确,修改成功
4原始密码:123

新密码:345678

确认新密码:345678

修改失败修改失败输入信息不正确,修改失败

3、测试效果图

个人信息管理功能测试如图5-7所示。

基于Python的企业知识库管理系统的设计与实现

图5-7个人信息管理功能测试图

个人信息管理功能测试如图5-8所示。

基于Python的企业知识库管理系统的设计与实现

图5-8 个人信息管理功能错误提示图

个人信息管理功能测试如图5-9所示。

基于Python的企业知识库管理系统的设计与实现

图5-9个人信息管理功能测试图

个人信息管理功能测试如图5-10所示。

基于Python的企业知识库管理系统的设计与实现

图5-10个人信息管理功能错误提示图

  5.2.4知识库管理功能测试用例

1、测试方案

用户进入到知识库管理界面,点击新建知识按钮,就会进入到新建知识界面,输入信息就会添加成功。用户点击删除按钮,就会对知识库内的知识进行删除操作。用户点击编辑按钮,就会对知识进行修改。

2、测试用例

序号 输入数据 预期结果 实际结果 结果分析
1 知识名称:电脑使用手册

知识分类:文学

内容描述:电脑的使用规则

编写作者:李强

详情:电脑

添加成功添加成功输入信息正确,添加成功
2知识名称:电脑使用手册

知识分类:规划

内容描述:电脑的使用规则

编写作者:李艳

详情:电脑

修改成功修改成功修改信息正确,修改成功
3点击删除删除成功删除成功正确操作,删除成功

3、测试效果图

知识库管理功能测试如图5-11所示。

基于Python的企业知识库管理系统的设计与实现

图5-11知识库管理功能测试图

知识库管理功能测试如图5-12所示。

基于Python的企业知识库管理系统的设计与实现

5-12知识库管理功能测试图

知识库管理功能测试如图5-13所示。

基于Python的企业知识库管理系统的设计与实现

 图5-13知识库管理功能测试图

5.2.5 用户编辑功能测试用例

1、测试方案

管理员进入用户编辑界面,可以对用户信息进行增加、修改、删除、重置密码。管理员点击新建用户按钮输入新建用户信息即可添加用户,添加信息格式正确,添加成功,添加信息格式错误,提示错误信息。点击删除按钮,即可对用户进行删除。点击编辑按钮,即可对用户信息进行修改,修改的信息格式正确,修改成功,格式不正确,提示错误信息。点击初始化密码按钮,即可对用户密码初始化。

2、测试用例

序号 输入数据 预期结果 实际结果 结果分析
1 账号:adm@qq.com

用户名:soldat

用户类别:普通用户

地址:黑龙江

电话:13163689753

添加用户成功添加用户成功输入正确,添加成功
2账号:admqq.com

用户名:soldat

用户类别:普通用户

地址:黑龙江

电话:1316368975

添加用户失败添加用户失败输入信息格式错误,添加失败
3用户名:soldat

用户类别:普通用户

地址:黑龙江

电话:13245677765

修改成功修改成功输入信息格式正确,修改成功
4点击删除删除成功删除成功操作正确,删除成功
5点击重置密码重置密码成功重置密码成功操作正确,重置成功

3、测试效果图

用户编辑功能测试如图5-14所示。

基于Python的企业知识库管理系统的设计与实现

图5-14用户编辑功能测试图

用户编辑功能测试如图5-15所示。

基于Python的企业知识库管理系统的设计与实现

图5.15用户编辑功能错误提示图

用户编辑功能测试如图5-16所示。

基于Python的企业知识库管理系统的设计与实现

图5-16用户编辑功能测试图

用户编辑功能测试如图5-17所示。

基于Python的企业知识库管理系统的设计与实现

图5-17用户编辑功能测试图

 5.2.6 数据可视化功能测试用例

1、测试方案

用户进入到可视化界面后,可以对各种知识信息的分析情况进行查看。

2、测试效果图

用户编辑功能测试如图5-18所示。

基于Python的企业知识库管理系统的设计与实现

图5-18数据可视化功能测试图

 5.3测试结论

系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。

 5.4本章小结

任何系统需要可以使用经过测试阶段,测试过程是找出系统实现过程错误,系统用户需求标准找到程序和系统用户的需求之间的差距或矛盾,系统问题,提出解决方案,以更好地服务于知识库管理系统。

 结 论

本系统的全名为企业知识库管理系统,主要是对知识信息进行规划管理,在当今飞速发展的信息社会,社会上所出现的知识信息越来越多,对于知识的管理也是越来越难。本系统的出现,对于企业,是他们所迫切需要的,解决了他们对于纷繁复杂的知识难以管理的难题,也为企业在未来的发展过程中带来巨大的效益。

本文主要介绍了国内外现状、可行性分析、需求分析、系统的总体设计、系统的详细设计、系统的运行与测试。针对现如今社会上知识管理难、管理乱等问题,从企业的角度出发,主要采用的框架以Flask框架为主,系统开发的主要语言为Python语言,网络采用内网部署的方式进行服务器搭建,采用Vue.js搭建前端框架,使用PostgreSQL数据库进行数据存储,主要设计了登录与注册管理模块、个人信息管理模块、知识库管理模块、硬件知识信息管理模块、产品知识信息管理模块、知识分类管理模块、用户编辑模块、数据可视化分析模块,通过这些模块的功能,企业能够更加清晰明了的管理知识,解决了企业以往管理知识信息难、乱等问题,也为企业在未来的竞争环境下可以脱颖而出。

本系统的亮点在于页面简约大方,操作简单实用,在最后数据可视化分析模块更是给用户带来了更好的视觉分析。但由于时间的仓促,系统当中还存在着一些需要完善的地方,主要包括:一、当知识信息的存储量比较大时,界面的响应速度会有所降低,需要对检索算法进一步的优化。二、数据库的安全性不是很高,有待加强。三、在未来数据量会越来越大,系统可能更不上数据增长的速度。因为自身的能力问题,希望各位老师可以指出系统的不足之处,本人必将全力整改。

 参考文献

[1]李嘉明.基于Node.js多人博客系统的设计与实现[J].电脑知识与技术,2020,16(09):71-72+75.

[2]鞠宏军,林涛.基于SpringBoot的博客系统的设计与实现[J].电脑知识与技术,2019,15(33):50-52+60.

[3]吴昊.基于JavaWeb的学生云博客的设计与实现[J].电脑知识与技术,2019,15(16):57-58.

[4]冯禹. 基于微博关键词的辅助营销系统的设计与实现[D].西安电子科技大学,2019.

[5]王欣,周文龙.基于Python的微博情感分析系统设计[J].信息与电脑(理论版),2019(06):76-77+80.

[6]李一铭. 公安舆情监管管理系统的设计与实现[D].大连海事大学,2018.

[7]金海.基于改进神经网络算法的微博热点预测系统设计[J].现代电子技术,2018,41(12):157-160.

[8]余思源,张伟.基于JAVA的农业博客系统的设计与实现[J].电脑知识与技术,2018,14(17):129-131.

[9]李竹瑶. 基于Node爬虫的微博舆情采集系统分析与设计[D].江西农业大学,2018.

[10]王刚成. 基于SSH框架模式的博客系统的设计与实现[D].西北师范大学,2018.

[11]王国娟. 微博舆情分析可视化系统的设计与实现[D].燕山大学,2018.

[12]李杰. 基于并行频繁模式挖掘算法的博客推荐系统的设计与实现[D].内蒙古大学,2018.

[13]赵一博,刘俊男.现代网络示范中心混合式在线教育平台系统设计与实现[J].计算机产品与流通,2018(03):146-147.

[14]吴翠鸿.基于Java的校园博客系统设计研究[J].电子技术与软件工程,2018(02):59.

[15]冯岩. 基于Node.js的轻博客系统的设计与实现[D].华中科技大学,2018.

[16] StevenMaxPatterson,StevenMaxPatterson. TwoquestionsremainafterFBIunlocksSanBernardinoshooter’siPhone[J]. NetworkWorld(Online),2016.

[17] E. Hoque,G. Carenini. ConVis: AVisualTextAnalyticSystemforExploringBlogConversations[J]. ComputerGraphicsForum,2014,33(3).

基于Python的企业知识库管理系统的设计与实现

基于Python的企业知识库管理系统的设计与实现

价格 ¥9.90 发布时间 2023年5月7日
已付费?登录刷新
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/135296.html,

Like (0)
1158的头像1158编辑
Previous 2023年5月7日
Next 2023年5月7日

相关推荐

My title page contents