基于vb+VB.NET+SQL Server的公文管理系统设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于vb+VB.NET+SQL Server的公文管理系统设计与实现 ,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
- 基于vb+VB.NET+SQL Server的公文管理系统设计与实现(毕业论文+程序源码)
- 1、项目简介
- 2、资源详情
- 3、关键词:
- 4、毕设简介
- 5、资源下载
1、项目简介
- 本公文系统实现了公文处理的自动化流转,包括公文起草、已发公文、待办公文、已办公文、公文委托、流程监控以及类别定制。系统完成了创建公文流的路径;起草的公文能按照已创建的公文流路径流转;能对其起草的公文进行统计及实时的监控;能够查看自己审批过的公文;能委托其他人代自己审批公文;能够添加、维护人员信息。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:10305个字26页
包含内容:整套源码+完整毕业论文
3、关键词:
公文管理系统;B/S模式;VB.NET;SQL SERVER
4、毕设简介
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1 引言
省略
公文管理系统在实际应用上概括起来说是向着普及性和高层次两个方向发展。从普及性方面来说,随着计算机和网络功能的增强和广泛应用,以微型计算机为主要信息处理工具的、功能完善的公文管理系统将越来越多地受到各级管理者的欢迎,并且要逐渐地向着取代原始的公文发布方式的方向发展。
从公文管理系统应用的高层次上来讲,以大型计算机为中央处理机的分布式公文管理系统也是一个重要的发展方向,利用微型计算机和大型主机联网,可以为管理者提供更加方便的信息发布渠道和支持。
从公文管理系统的体系结构看,传统的公文管理系统一般采用两层C/S结构,这种结构集中了大中型系统及文件服务器的优点,并有良好的系统开放性和可扩展性,它一般应用于局域网。但是,随着信息的全球化,区域的界限己经被打破,人们己经越来越不满足于只在一个小的区域内共享信息,尤其是近年来的电子商务在Internet的兴起,已成为一种强大的驱动力,迫使C/S模式从局域网(LAN)向广域网(WAN)延伸。如今,Internet己经成为全球最大的网络互连环境,在Internet的环境下实现数据的B/S计算模式正是目前的流行趋势。因此,作为一个科技工作者,我们应该密切地注意公文管理系统的发展方向,尽量吸收各种有益的经验,积极开展对公文管理系统的理论研究和实际应用,促进计算机应用在我国的进一步发展。
Internet的出现和发展己经给这个世界带来了巨大的冲击。但随着Internet上信息资源的爆炸增长出现了新的问题。例如:有用信息的查找极为困难:Internet的响应速度越来越慢;WEB信息处理的智能化得不到深入发展等等。针对这些问题,XML近几年来迅速崛起XML又称为可扩展标记语言(Extensible Markup Language,7CNL ),事实上它并不是一种真正意义上的标记语言,而是一种允许用户对自己的标记语言进行定义的源语言。XML具有对数据的自描述性和可扩展性,符合Internet进一步发展的需要,WK组织制定XML标准的初衷也是定义一种互联网上交换数据的标准,也是公文管理系统在未来的技术发展的趋势和方向。ASP也向ASP.NET升级。随着技术的发展,公文管理系统的开发和维护功能都达到新的高度。
2 公文管理系统系统分析
2.1 系统需求分析
根据公文管理系统的基本需求,本系统需要完成以下任务。
根据公司的实际情况,创建公文流路径。
员工能够起草公文,并且起草的公文可以按照已创建的公文流路径流转。
能够对起草的公文进行统计及实时监控。
能够统计查看自己审批过的公文。
能够委托其他员工代自己审批公文。
能够添加、维护员工信息。
2.1.1 用户身份级别要求
即根据身份的不同对系统的使用权限有所不同。从权限大小大致可以分为:系统管理员、用户、一般用户。系统提供灵活的角色设定和权限的分配功能,每个用户的审批、通知、查看、归档可以在系统赋予。
2.1.2 系统功能模块设置
公文起草
通过公文起草模块,可以创建要流转的文件。
已发公文
通过已发公文模块,可以查看自己发送的公文的详细信息,包括公文现在的所处的节、公文要流转的路径以及公文具体信息。
待办公文
通过待办公文模块,可以查看需要自己审批的公文,并对其进行审批。
已办公文
通过已办公文模块,可以查看自己审批过公文的详细信息,包括公文现在的所处环节、公文要流转以及公文的具体信息。
公文委托
通过公文委托模块,可以委托其他同事代替自己审批公文。
流程监控
通过流转监控模块、可以查看自己所发公文所处的环节以及已批环节的审批内容。
类别定制
通过类别定制模块,可以定制公文类别、流程路径、员工角色、部门以及管理员工信息。
2.2 系统设计目标
公文管理系统可以满足现代办公的需要,在Internet上实现公文流。系统的基本设计原则有:先进性与方便性原则、功能实用性原则、开放性与可扩展性原则等。系统设计时采用较好的设备与技术,协议符合国家和国际标准,能保证公文的正常运行,确保系统有较长的生命周期。
本系统总体目标是将网络技术、信息技术、现代管理技术和科学的公文管理结合,实现了公文处理的自动化流转。
本系统首先要实现动态性和交互性。所谓的动态性就是能动态更新内容,如更新个人信息、公文信息、流转信息等。这要求与数据库有良好的连接;交互性则要求公文的及时审批和归档。
实现系统的安全性和可靠性,避免他人进入破坏数据库信息。
2.3 开发环境
2.3.1 .NET框架
Visual Studio.NET是Microsoft公司推出的具有战略性发展的新一代开发平台,Visual Studio.NET框架将Microsoft公司所有编程语言的开发环境同意起来,并且可以创建、配置和运行Web服务以及Windows平台的应用。在.NET框架中,所有的编程语言,从高层JavaScript到低层的C++语言,一律是等同的,他们都将生成托管代码,并且可以一次编写,随处运行。.NET框架还可以使不同的语言进行交互,即一种语言可以使用另一种语言所编写的组件。
2.3.2 ASP.NET的工作原理
在多数场合下,可以将ASP.NET页面简单地看成一般的HTML页面,页面包含标记有特殊处理方式的一些代码段。当安装.NET时,本地的IIS Web服务器自动配置成查找扩展名为.aspx的文件,且用ASP.NET模块(名为aspnet_isapi.dll的文件)处理这些文件。
从技术上讲,ASP.NET模块分析ASPX文件的内容,并将文件内容分解成单独的命令以建立代码的整体结构。完成此工作后,ASP.NET模块将各命令放置到预定义的类定义中(不需要放在一起,也不需要按编写顺序放置)。然后使用这个类定义一个特殊的ASP.NET对象Page。该对象要完成的任务之一就是生成HTML流,这些HTML流可以返回到IIS,再从IIS返回到客户。简言之,在用户请求IIS服务器提供一个页面时,IIS服务器就根据页面上的文本、HTML和代码(这对我们来说是最重要的)建立该页面。
2.3.3 VB.NET
VB.NET采纳了包括Java在内的许多其它面相对象编程语言的功能和特点。Visual Basic .NET把基本数据类型(字符串、整型、双精度等等)转换成带有属性和方法的对象;它还引入了Java类型的错误捕获机制(用Try和Catch);VB.NET还把代码编译成微软中间语言(Microsoft Intermediate Language,IL);它还提供了基于XML的应用程序配置。更重要的是设计面向对象解决方案的能力可以用任何语言实现。在本文中,我将比较Visual Basic .NET语言和Java;不过与其它面相对象编程语言来说,VB.NET现在本质上在走它自己的路。
2.3.4 MVC介绍
MVC(Model/View/Controller)是一个设计模式,是国外用得比较多的一种设计模式, MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
模型(Model)
模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑。
视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
2.3.5 编程运行环境
硬件环境:
CPU: AMD Athlon™ 2800+
内存:512 MB
硬盘:80 G
软件环境:
操作系统:Microsoft Windows
应用软件:SQL Server 、 Microsoft.NET操作平台
3 公文管理系统系统设计
3.1 数据库设计与实现
3.1.1 数据库的需求分析
根据系统需求,本系统需要设计9张表。
人员基本信息表:公司人员信息保存在这张表中。
部门信息表:存放部门信息。
公文流转路径信息表:存放制定的公文路径。
公文类别表:存放公文紧急等级信息。
公文委托表:存放公文委托处理的相关信息。
公文信息表:存放公文的详细信息。
角色字典表:存放公文处理的各个角色。
公文流转环节信息表:存放公文流转的各个环节信息。
3.1.2 数据库的逻辑设计
本系统的数据库设计(Database Design)把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。
设计数据库应该具备数据库的基本知识和数据库设计技术,计算机科学的基础知识和程序设计的方法和技巧及软件工程的原理和方法应用领域的知识。
根据公文管理系统系统的一般要求,通过对整个系统运行过程和数据流程分析,得出本系统的实体表:人员基本信息表(WF_User)、公文流转路径信息表(WF_FLOW)、公文类别表(WF_DocClass)、部门信息表(WF_Department)、公文紧急等级表(WF_DocGrade)、公文委托表(WF_DocTrust)、公文信息表(WF_DOCUMENT)、角色字典表(WF_Role)、公文流转环节信息表(WF_WATCHFLWO)。
根据公文管理系统的一般要求,通过对整个系统运行过程和数据流程分析,设计出实际的数据库实体,以及他们之间的关系,为后边的数据库逻辑结构设计打基础。
根据对数据项和数据结构的分析以及对实际的数据库实体的设计,使用数据库设计工具ER/Studio设计出数据表以及数据表之间的逻辑关系,如图1。
图1 数据表与数据表之间的逻辑关系
数据库设计中重要的一环首先就是概念设计,也就是说,要从实际问题出发,排除非本质的东西,抽象出现实的数据结构之客观规律——即画出数据结构图——ER图。这是数据库设计的重点,也是数据库设计的难点。
本系统使用Microsoft SQL Server 作为数据库开发工具,设计如下数据项和数据结构:
人员基本信息表
人员基本信息表(WF_User)用来存放人员信息,结构如表1所示。
表1 人员基本信息表
公文流转路径信息表
公文流转路径信息表(WF_FLOW)用来记录公文的流转路径,结构如表2所示。
表2 公文流转路径信息表
公文类别表
公文类别表(WF_DocClass)用来保存公文的类别,结构如表3所示。
表3 公文类别表
部门信息表
部门信息表(WF_Department)用来保存部门信息,结果如表4所示。
表4 部门信息表
公文紧急等级表
公文紧急等级表(WF_DocGrade)用来保存公文等级信息,结构如表5所示。
表5 公文紧急登记表
公文委托表
公文委托表(WF_DocTrust)用来保存公文的委托信息,结构如表6所示。
表6 公文委托表
其中AddDate字段的默认值为“getdate()”,表示默认为当前系统日期;Type字段的默认值为0,表示当前委托还没有被执行。
公文信息表
公文信息表(WF_DOCUMENT)用来保存公文的相关信息,结构如表7所示。
表7 公文信息表
角色表
角色字典表(WF_Role)用来保存公文处理各个环节的角色,结构如表8所示。
表8 角色表
公文流转环节信息表
公文流转环节信息表(WF_WATCHFLWO)用来保存公文流转的各个环节信息,结构如表9所示。
表9 公文流转环节信息表
其中Type字段为审批环节的状态,“0”表示当前状态,“1”表示已处理状态,“2”表示退回状态,“3”表示后续状态。
3.1.3 数据库存储过程
存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程有如下几个优点:
可维护性好。
存储过程在服务器端运行,执行速度快。
存储过程执行一次后,起执行规划就驻留在高速缓冲存储器,在以后的操作中,只需要执行高速缓冲器中已编译好的二进制代码,提高了系统性能。
确保数据库的安全。
自动完成需要预先执行的任务。
利用存储过程可以保持应用程序的执行效率并简化数据曾,也可以增加系统设计的灵活性。
本系统充分利用存储过程的优势,实现了很多复杂的数据访问过程。部分存储过程如表10。
表10 存储过程
3.2 系统模块分析与设计
总体任务是为公文的起草审批等公文流操作提供更便捷的方式。
系统登录
登录模块采用基于标准的MVC架构的开发模式。与一般的登录系统相似,主要是对登录用户的身份进行合法性验证。系统连接后台数据库对身份进行验证,如果出错系统提醒:“Error: 用户名或密码错误!”。如果没有错误系统进入系统正页面。
公文起草
通过公文起草模块,可以创建要流转的文件。文件按照定制好的一个或多个路径选择流转。公文起草中涉及发文字号、发送部门、发送的紧急程度的选择、发送日期、正文及附注等。起草完公文,可以按发送公文,如果格式填写不全,系统提示并且无法发送,当填写完毕后方能发送。
已发公文
通过已发公文模块,可以查看自己发送的公文的详细信息,包括公文现在的所处的节、公文要流转的路径以及公文具体信息。并且可以对已发公文进行删除操作。
待办公文
通过待办公文模块,可以查看需要自己审批的公文,并对其进行审批。审批不通过可以写上处理意见后退回公文,满意就审批通过。同样可以对公文进行进行删除操作。
已办公文
通过已办公文模块,可以查看自己审批过公文的详细信息,包括公文现在的所处环节、公文要流转以及公文的具体信息。同样可以对公文进行删除操作。
公文委托
通过公文委托模块,如果用户有其他原因不能对公文的内容进行审批,可以交以他人进行动态的公文流传递,由其他用户进行审批。委托他人要填写其他用户的部门和用户的登录名及委托原由,此方能发出。
流程监控
通过流转监控模块、可以查看自己所发公文的名称、创建时间以及所处的环节以及已批环节的审批内容。
类别定制
通过类别定制模块,可以定制公文类别、流程路径、员工角色、部门以及管理员工信息。
退出
所有的系统合法用户登录完成操作后退出系统都要进行“退出”操作、或者进行用户转换也需要进行“退出”操作。
3.3 界面设计
3.3.1 系统色彩规划
省略
3.3.2 系统框架设计
总体思想是上下,下分两栏,使用框架做布局,此方法可以使整个系统更加符合信息空间的信息存储,运行速度更快,信息层次更加清晰,用户操作则更方便,更有条理。
整体界面的设计的下栏为工作区,通过点击左边导航栏的栏目,使下栏的右框架内页面显示相关栏目的内容。
3.4 系统总体功能设计
本系统分为7个功能模块,在进入每个功能模块前,首先进入系统登录页面,输入用户名和密码,点击提交后,系统将根据用户输入的用户名和密码判断该用户是否为合法用户;如果用户输入的用户名和密码出错,系统将提示出错,并返回到登录界面;如果用户输入的用户名和密码正确,系统将根据用户的身份选择相应的主页以及功能;所有合法用户在处理完业务后,都需要进行退出工作,以免被他人窃取信息。退出后,将返回到登录界面。首先判断用户是否登录,如果未登录,则自动跳转到登录页面。如果已经登录,则进入相应操作页面。用户系统登入流程图如图2。
当用户密码正确就进入主页,可以进行相关公文的纂写、公文的批复等操作。本系统功能模块有公文起草、已发公文、待办公文、已发公文、公文委托、流程监控、类别定制。而类别的定制中包含了公文类别的定制,比如研发部、市场部、技术部等;角色定制,比如通知、查看、审批、归档;用户管理,流程定制,公文等级定制,部门管理的定制。本系统的功能模块如图3。
图3 公文管理系统模块
由此活动图可以看出,公文管理系统中的子模块在操作上相互是平行的,他们的内在关系通过数据库和程序来控制。
3.5 功能模块设计
在整个系统中公文的起草、审批、通知、查看、归档都需要用户来完成,而完成的顺序就是公文流顺序,本系统提供了两种方案:一种是预先设定流程;另一种是在审批过程中设定流程。
第一种:公文的整个起草、审批、通知、查看、归档都有一个预先设定好的审批流程。这个是在类别定制中的流程路径中实现的固定路径,见图4。
图4 预先设定公文审批路径图
第二种:是审批人在审批过程中因为有其他的原因交由其他人来审批,就要确定另一个审批人。此种方法符合实际办公中的需要,也优越于市场上固有的公文系统的中的预先设定流程,大大提高了办公效率,如图5。
根据预先设定的公文审批路径或者动态的公文审批路径,就可以完成公文的起草审批以及归档工作了,在本公文管理系统的公文流转路径如图6示。
图6 公文流转路径
4 功能模块具体实现
公文流管理用户可以根据数据管理中已经定义好的类别、角色、用户、流程、公文等级、部门设定进行公文的起草审批归档操作。数据管理就是对其各种类别在页面中进行的设定,不用再数据库中纂改。
4.1 公文流的实现代码
取得当前用户待批的公文,根据当前用户ID取得当前用户待批的公文列表。
Public Function GetCurUserWaitDealDocList(ByVal StrStoreParam As String, ByVal UserID As String) As DataSet
Dim DocData As DataSet
'调用数据库访问对象,取得数据
With New DataAccess.WorkFlow.DataAccess. WorkFlowClass
DocData = .GetCurUserWaitDealDocList
(StrStoreParam, UserID)
End With
If Not DocData Is Nothing Then
'判断是否取得了数据
If DocData.Tables(0).Rows.Count <> 0 Then
GetCurUserWaitDealDocList = DocData
Else
GetCurUserWaitDealDocList = Nothing
End If
End If
End Function
4.2 数据管理代码
新增用户,保存用户输入的用户信息的实现代码。
Public Function AddUser(ByRef StoreParam As String, ByVal strUserName As String, ByVal strUserRealName As String, ByVal
strPassWord As String, ByVal strDepID As String) As String
Dim OperFlag As Integer
Dim returnValue As String
With New DataAccess.WorkFlow.DataAccess.Users
'取得操作的状态值
OperFlag = .AddUser(StoreParam, strUserName, strUserRealName, strPassWord, strDepID)
End With
If OperFlag <> 0 Then
returnValue = "添加成功!"
ElseIf OperFlag <> -1 Then
returnValue = "对不起,该用户名已经存在!"
Else
returnValue = "对不起,保存用户名时出现异常,请联系管理员!"
End If
AddUser = returnValue
End Function
5 系统测试
5.1 软件测试
软件测试的目的是尽可能多地发现软件产品(主要指程序)中的错误和缺陷。
测试时主要考虑以下有关的原则:
1.确定预期输出结果。
2.程序员应避免测试自己的程序。
3.彻底检查每个测试结果。
4.对非法的和非预期的输入数据也要像合法的和预期的输入数据一样编写测试用
例。
5.不要扔掉测试用例。
6.程序模块经测试后,遗留的错误数目往往与己发现的错误数目成比例。
本系统在成都信息工程学院局域网中测试,测试结果符合设计要求。
5.2 调试
调试是软件开发过程中最艰巨的脑力劳动,任何一个软件系统在开发、测试过程中,都不可能忽略对软件的调试,一个开发软件只有经过反复的调试和测试才能投入实际使用,特别对于行政公文管理软件,它对准确性要求更是不言而喻。一个新的源程序几乎总是包含错误,既可能是设计的,也可能是编码上的,仅通过看是不能解决问题的,一定要借助调试程序。从发现错误到修改完成,一般来说,调试由如下几步组成:
⑴错误鉴定与识别。
⑵错误诊断。
⑶错误更正。
经过静态测试后,仍然留在程序中的错误是十分隐蔽的,为找到这些错误,首先要捕获一些与错误有关的线索。改正程序中的错误没有什么捷径可走,必须踏实,仔细的分析。经验是很重要的,在调试程序中要经常总结一下调试程序所得的经验。随着经验的积累,识别错误的能力也就越来越强。编程也就充满了挑战与乐趣。
结 论
公文管理系统建设并不是简单的技术引进,它的建立涉及部门的内部制度、资源分配、职责划分、人员素质等各个方面,受到多种因素的制约和影响。
本文是从软件开发的需要来研究软件过程模型的。所提出的软件模型,实现了公文管理系统的重要功能。实现了灵活定义工作流程。工作流程发生变化后,可以新建,也可在原流程图上做适当地修改。
省略
参考文献
[1] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005。
[2] 吉根林,崔海源. ASP.NET程序设计教程[M]. 北京:电子工业出版社,2005。
[3] 郭兴成. Visual Basic.NET程序设计培训教程[M].北京:机械工业出版社,2003。
[4] Matthew Reynolds[英] ,Richard Blair[英]. VB.NET入门经典[M].康博译.北京:清华大学出版社,2002。
[5] 卢镇波,李青.ASP.NET程序设计专家门诊[M].北京:清华大学出版社,2005。
[6] 张玉平.ASP.NET+SQL组建动态网站[M].北京:电子工业出版社,2006。
[7] 网冠科技.ASP.NET时尚编程百例[M].北京:机械工业出版社,2003。
[8] 季久峰.ASP.NET办公自动化系统开发实例导航[M].北京:人民邮电出版社,2005。
致 谢
省略