3.4 文档管理系统ER图 图2表示用户与文档间的联系(“浏览”)是多对多的,即一个用户可以浏览多个文档,而每个文档也可以被多个用户浏览。 http://www.paper51.com 内容来自论文无忧网 www.paper51.com 3.5部分存储过程的建立 copyright paper51.com
对于网络应用程序而言,数据库是必不可少的,存储过程是数据库中很重要的一部分,它是存放在数据库中的一个脚本,和视图一样,它都是预编译的对象。它可以输入多个参数,可以修改数据库,也可以以一种非常宽松的方式返回结果集。 内容来自论文无忧网 www.paper51.com 1.添加用户的存储过程Pr_AddUser paper51.com 该存储过程实现向User表中插入一个新的用户信息,它定义参数UserName,RealName,Password,Address,Phone,Email,RoleID。插入之前同时还定义了一个临时变量@RecordCount判断是否存在UserName的记录,如果存在则不再插入记录,否则将插入该记录。存在过程Pr_AddUser的程序代码如下: 内容来自www.paper51.com CREATE PROCEDURE Pr_AddUser http://www.paper51.com (@UserName varchar(200), @RealName varchar(200), @Passwordvarchar(255),@Address varchar(200), @Phone varchar(200), @Email varchar(200), @RoleID int ) paper51.com
AS paper51.com Declare @RecordCount as int SET @RecordCount = (SELECT count (*)FROM [User] WHEREUserName = @UserName) 内容来自论文无忧网 www.paper51.com IF @RecordCount < 1 内容来自www.paper51.com BEGIN paper51.com INSERT INTO [User] ( UserName, RealName,Password, Address, Phone, Email, RoleID ) VALUES ( @UserName, @RealName,@Password, @Address, @Phone,@Email, @RoleID ) RETURN @@Identity 内容来自www.paper51.com END 内容来自www.paper51.com 2.删除用户存储过程Pr_DeleteUser 内容来自www.paper51.com
该存储过程实现在User表中,删除一条记录,它定义了参数UserID,并删除与之相匹配的记录。存储过程Pr_DeleteUser的程序代码如下: 内容来自论文无忧网 www.paper51.com
CREATE PROCEDURE Pr_DeleteUser paper51.com
( @UserID int ) AS DELETE [User] WHERE UserID = @UserID copyright paper51.com 3.修改用户信息的存储过程Pr_UpdateUser 内容来自www.paper51.com 该存储过程在User表中,更新用户信息的操作,它定义了参数UserID,UserName,RealName,Address,Phone,Email,RoleID,然后更新User表中与其选中的ID号匹配的的用户信息。存储过程Pr_UpdateUser的程序代码如下: 内容来自论文无忧网 www.paper51.com CREATE PROCEDURE Pr_UpdateUser paper51.com ( @UserID int, UserName varchar(200), @RealName varchar(200),@Address varchar(200),@Phone varchar(200),@Email varchar(200), @RoleID int ) http://www.paper51.com AS copyright paper51.com UPDATE [User] SET UserName = @UserName, RealName = @RealName,Address = @Address, Phone = @Phone, Email = @Email, RoleID = @RoleID WHEREUserID = @UserID http://www.paper51.com 4.获得用户登录信息的存储过程Pr_GetUserLogin copyright paper51.com 在该存储过程中,实现了获得用户的登录信息,它定义了参数UserName,Password。存储过程Pr_GetUserLogin的程序代码如下: http://www.paper51.com CREATE PROCEDURE Pr_GetUserLogin http://www.paper51.com (@UserName varchar(200),@Password varchar(255)) AS SELECT UserID,RoleID FROM [User] WHERE UserName = @UserName AND Password = @Password 内容来自www.paper51.com 5.获得单用户信息Pr_GetSingleUser 内容来自www.paper51.com 在该存储过程中,主要实现获得所指定用户的信息,其中定义了参数UserID,存储过程Pr_GetSingleUser的程序代码如下: paper51.com CREATE PROCEDURE Pr_GetSingleUser paper51.com (@UserID int) AS SELECT * FROM [User] WHERE UserID = @UserID 内容来自www.paper51.com
6.获得所有用户的信息Pr_GetUsers 内容来自www.paper51.com 在该存储过程中,主要实现获得所有用户的信息,其存储过程程序代码如下: copyright paper51.com CREATE PROCEDURE Pr_GetUsers copyright paper51.com
AS SELECT * FROM [User] copyright paper51.com 4 系统设计 4.1系统的整体设计与构思 copyright paper51.com 本系统采用ASP.NET应用程序的系统架构模式:数据库——数据库访问层——业务逻辑层——页面表示层。 http://www.paper51.com 数据库是应用系统的基础,它保存系统中所有数据。数据访问层封闭对数据库的操作,如创建数据连接,打开数据库连接,执行存储过程和关闭数据连接。在本系统中,数据访问层由SQLHelper实现,这定义了一个类SQLHelper用来处理数据库的各种操作。业务逻辑层与应用系统的上层业务逻辑相关联,它调用数据访问层,同时也为上层页面表示层服务。业务逻辑层通过数据访问层实现对数据库的操作。如添加,修改和删除等,同时为应用系统的页面表示层服务提供访问数据库的接口或函数等。 copyright paper51.com
页面表示层实现应用系统的具体页面,系统页面是利用Dreamweaver里面的框架设计的。页面一般由WEB页面或控件组成,如系统登录页面Default.aspx、用户管理页面UserManage.aspx等。 paper51.com
系统通用类SQLHelper,它是应用程序通过ADO.NET访问数据库的基础类,也是应用程序实现上层业务逻辑的基础。该类主要封装了创建访问数据库的一些对象或方法,如数据库连接对象等,以用执行数据库操作的对象或方法。如Command对象,还封装添加存储过程参数的方法。 内容来自www.paper51.com 系统采用系统日志通用类,该类主要实现写入系统事件的日志功能。特别注意是应用程序必须对日志文件具有写权限,否则会导致应用程序出错。 内容来自www.paper51.com 应用程序定义了几个工具通用类,它们在整个应用程序中将被应用很多次,因此先把它们集中在一起作为系统工具通用类。系统工具通用类由类SystemTools实现。该类定义函数ConvertDataReaderToDataTable(SqlDataReaderdataReader),此函数实现将DataReader对象转化为DataTable对象的功能。 paper51.com 4.2 模块的设定及模块的功能 内容来自论文无忧网 www.paper51.com 根据需求分析和性能分析,对系统各功能进行集中、分块,按照结构化程序设计的要求,为本系统实现了6个的功能,可以根据这些功能设计出系统中的功能模块。 http://www.paper51.com
1.文档管理模块设计 http://www.paper51.com
本系统中,文档管理模块中主要是实现对文档的上传,下载,删除,浏览共享文档和修改文档有些相关的信息等功能。而对于普通用户而言,主要实现对文档的上传,下载共享文档,删除个人发布的文档,浏览共享文档等功能。其设计如图3所示: 内容来自www.paper51.com
内容来自www.paper51.com 2.用户登录模块 copyright paper51.com 用户分为管理员和普通用户两种身份,登录时的身份不同,可操作的权限就不同,这样比较符合公司或企业的人事管理。本系统设计了管理员登录和普通用户登录,其模块图分别如图4和图5所示。 内容来自www.paper51.com 内容来自www.paper51.com 内容来自www.paper51.com 普通用户登录 copyright paper51.com
http://www.paper51.com 内容来自www.paper51.com paper51.com 文档管理 内容来自www.paper51.com 用户管理 http://www.paper51.com 短信管理 内容来自www.paper51.com 图5 普通用户登录模块 内容来自论文无忧网 www.paper51.com 3.用户管理模块设计 内容来自www.paper51.com 在本系统中,管理员能够添加用户,删除用户,修改用户密码和信息等操作,普通用户只能实现对个人有些信息的修改和个人密码的修改。分别如图6和图7所示。 内容来自www.paper51.com
paper51.com
http://www.paper51.com 4.角色管理模块设计 http://www.paper51.com 本系统中,角色管理只针对管理员权限而言,主要实现对角色的添加,角色的修改和删除角色等功能。其关系图如图8所示: copyright paper51.com
paper51.com 5.部门管理模块设计 内容来自www.paper51.com
在本系统中,部门管理模块同角色管理模块一样,都只是针对管理员而言,只有管理员才有权限对部门进行添加、删除和修改。同时在添加部门时,还可以实现添加其附属的上级部门。其设计如图9所示: 内容来自www.paper51.com
内容来自www.paper51.com 6.短信管理模块设计 内容来自论文无忧网 www.paper51.com
在本系统中,短信管理模块主要是针对本站内短信的浏览和写短信。短信只能发给存在于站内的用户,用户也只能浏览从站内发来的短信,其设计图如图10所示: copyright paper51.com
内容来自论文无忧网 www.paper51.com
5 各功能模块的实现5.1文档管理模块 内容来自www.paper51.com
文档管理页面DocumentManage.aspx,它的代码隐藏文件为DocumentManage.aspx.cs。它主要实现文档的上载,文档的下载,文档的浏览查看。针对不同的身份对文档的操作权限是不一样。若为管理员身份登录即可浏览、上载,下载,查看文档,修改文档的某些信息还可删除共享文档等一系列操作。而普通用户则只能上载、下载、浏览共享文档和修改自己上传的文档的有关信息。 内容来自论文无忧网 www.paper51.com 5.1.1 文档上传 内容来自论文无忧网 www.paper51.com 文档的上载也即是添加文档,是由页面AddDocument.aspx,它的代码隐藏文件为AddDocument.aspx.cs。它可由DocumentManage.aspx页面中的[添加]按钮跳转到添加文档页面。 copyright paper51.com
上传文档是管理员和普通用户都能进行的操作的,当合法用户登录时,就可以实现文档的上传功能。Document表中,有一个字段IsShare,当用户在上传文档时,根据是否为共享文档来设定以字段的值。当上传成功后,把上传的信息写入Document表中,表中的DocumentID实现自动增1。同时文档上传还采用了一个函数,可产生随机数,使上传的文档不会因为名字重复而不能上传。实现上传文档名的惟一性。 copyright paper51.com
事件首先调用UploadAttachment()上载指定的文档,然后事件调用类Document中的函数AddDocument(string sDesn,stringsBody,int nUserID,string sAuthor, stringsFromSource,string sUrl,string sRemark, int IsShare)来实现添加文档的相关信息到数据库中。其中上传文档的流程图如图11所示 http://www.paper51.com |