知识库管理系统.docx
《知识库管理系统.docx》由会员分享,可在线阅读,更多相关《知识库管理系统.docx(67页珍藏版)》请在冰豆网上搜索。
![知识库管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/5/fdc08642-1dda-4fc3-b670-89697fe866ac/fdc08642-1dda-4fc3-b670-89697fe866ac1.gif)
知识库管理系统
XX学院信息科学与工程学院
数据结构课程设计
题目:
知识库管理系统
学生姓名:
学号:
专业:
计算机科学与技术
班级:
XX级(X)班
指导教师姓名及职称:
起止时间:
20**年3月——20**年6月
一、需求分析
1.1课题背景及意义
知识库管理系统软件将来自工作中、生活中、培训中、组织内的各类资料和领域知识进行管理维护并提供关联分析和综合查询服务。
系统是一个b/s结构的底层服务软件,其中的服务端均部署在服务器上后台运行,并提供配置web管理界面,以达到知识辅助管理的目的。
1.2课题要求
知识库管理系统包括文件集中存储上传、文档链接、关联文档、规则使用、智能检索等主要功能。
文件集中存储上传:
支持文件的批量上传及压缩包导入,支持Office文档、PDF、图像、音视频和图纸等各类型文件。
文档链接:
支持将文档发送至常用文档,用户无需每次在打开各个目录中查找;支持将文档发送至目录,方便其他用户查阅;
关联文档:
文档新建或上传后,系统会自动或手动为文件生成唯一编号,支持文档的批量关联。
支持通过文件唯一编号,实现文档与相关文档、图纸、图片及其它格式附件进行关联,点击链接即可一键快速查看。
系统支持为图片、音、视频类文件增加摘要及缩略图。
规则使用:
系统支持为文件设定规则,指定动作(组合)、条件和操作,当动作触发符合设定的条件,系统则自动执行规则的操作。
智能检索:
快速从海量资料中精准检索所需文件,可根据依据文件类型、文件关键信息、时间等,也可在完成检索操作后对信息进行接受、判断、提取、分析和概括之后形成自己的知识,然后保存,成为下一次分析、概括的依据和基础。
可以直接在系统中预览各类格式的图片、播放视频、音频以及浏览各类Office文件,包括Word、Excel、PowerPoint、WPS、Visio等格式
.
1.3设计目标
(1)名称:
知识库管理系统
(2)Web主页:
(3)开发工具、搭建环境:
visualstudio2015,windowsserver2012R,sqlserver2008。
(4)运行环境:
IE,chrome,firefox,opera
(5)Web特点:
1.图形化且易于导航,具有同一页可以显示丰富的色彩,图形和文本的功能。
2.提供将图形,音频,视频信息集合于一体的特征。
3.与平台无关,无论什么系统,只要通过Internet访问www。
4.Web是分布式的,使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。
5.Web是动态的,经常更新内容信息。
6.Web是交互的,主要表现在超链接,另外通过FORM的形式可以从服务器方获得动态的信息。
用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。
(6)功能:
文件上传,文件检索,文件下载,系统简介
二、概要设计
2.1问题解决的思路概述
首先是确定了系统设计的流程图,选定较成熟的bootstrapsqlserver技术进行开发,利用已经存在的数据结构和函数方法来构造系统的结构,接着把系统实现分为3个步骤:
数据库的设计,前台页面的设计,后台程序逻辑的设计。
2.2前端界面介绍说明
前端界面运用的目前很成熟的bootstrap框架,可以快速搭建系统的前端页面。
该系统总共有7个页面(index.htmlabout.htmlviewer.htmllib_flieList.aspxlib_upload.aspxlogin.aspxvideo.aspx)
2.3主要程序函数调用说明
数据库操作类:
///
///获取数据库链接
///
///webconfig的数据库链接名称
///数据库链接
publicstaticstringGetConnSting(stringconnName)
{
returnConfigurationManager.ConnectionStrings[connName].ConnectionString.ToString();
}
///
///一个有效的数据库连接对象
///
///
publicstaticSqlConnectionGetConnection(stringconnName)
{
SqlConnectionConnection=newSqlConnection(SqlHelper.GetConnSting(connName));
returnConnection;
}
///
///执行指定数据库连接对象的命令
///
///
///示例:
///intresult=ExecuteNonQuery(conn,CommandType.StoredProcedure,"PublishOrders",newSqlParameter("@prodid",24));
///
///一个有效的数据库连接对象
///命令类型(存储过程,命令文本或其它.)
///T存储过程名称或T-SQL语句
///SqlParamter参数数组
///返回影响的行数
publicstaticintExecuteNonQuery(SqlConnectionconnection,CommandTypecommandType,stringcommandText,paramsSqlParameter[]commandParameters)
{
if(connection==null)thrownewArgumentNullException("connection");
//创建SqlCommand命令,并进行预处理
SqlCommandcmd=newSqlCommand();
boolmustCloseConnection=false;
PrepareCommand(cmd,connection,(SqlTransaction)null,commandType,commandText,commandParameters,outmustCloseConnection);
//Finally,executethecommand
intretval=cmd.ExecuteNonQuery();
//清除参数,以便再次使用.
cmd.Parameters.Clear();
if(mustCloseConnection)
connection.Close();
returnretval;
}
///
///执行指定数据库连接字符串的命令,返回DataSet.
///
///
///示例:
///DataSetds=ExecuteDataset(connString,CommandType.StoredProcedure,"GetOrders",newSqlParameter("@prodid",24));
///
///一个有效的数据库连接字符串
///命令类型(存储过程,命令文本或其它)
///存储过程名称或T-SQL语句
///SqlParamters参数数组
///返回一个包含结果集的DataSet
publicstaticDataSetExecuteDataset(stringconnectionString,CommandTypecommandType,stringcommandText,paramsSqlParameter[]commandParameters)
{
if(connectionString==null||connectionString.Length==0)thrownewArgumentNullException("connectionString");
//创建并打开数据库连接对象,操作完成释放对象.
using(SqlConnectionconnection=newSqlConnection(connectionString))
{
connection.Open();
//调用指定数据库连接字符串重载方法.
returnExecuteDataset(connection,commandType,commandText,commandParameters);
}
}
#regionExecuteScalar返回结果集中的第一行第一列
///
///执行指定数据库连接字符串的命令,返回结果集中的第一行第一列.
///
///
///示例:
///intorderCount=(int)ExecuteScalar(connString,CommandType.StoredProcedure,"GetOrderCount");
///
///一个有效的数据库连接字符串
///命令类型(存储过程,命令文本或其它)
///存储过程名称或T-SQL语句
///返回结果集中的第一行第一列
publicstaticobjectExecuteScalar(stringconnectionString,CommandTypecommandType,stringcommandText)
{
//执行参数为空的方法
returnExecuteScalar(connectionString,commandType,commandText,(SqlParameter[])null);
}
三、详细设计
3.1用户注册和登录
前台页面:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="login.aspx.cs"Inherits="datastruct.login"%>
DOCTYPEhtml>
//www.w3.org/1999/xhtml">
登陆
登录系统
TextBoxID="login1"name="login"placeholder="帐号"runat="server">
TextBox>
TextBoxID="password"type="password"name="password"placeholder="密码"runat="server">
TextBox>
ButtonID="commit"name="commit"runat="server"Text="登录"OnClick="commit_Click"/>