电子文档管理系统论文

毕业设计(论文)

安徽工业职业技术学院

毕业设计(论文)任务书

信息工程 系 09软件一 班 姓名 赵晓丽

毕业设计(论文)题目: 电子文档管理系统 毕业设计(论文)起止日期: 2012年2月—4月 指导教师: 刘兵老师

(输入章及标题)

毕业设计论文

题 目: 电子文档管理系统

毕业学校:安徽工业职业技术学院

专 业: 软件技术

指导老师: 刘兵

姓 名: 赵晓丽

学 号:

日 期 2012.4.28

摘 要

随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现电子文档的管理势在必行,办公自动化是企事业单位在信息化建设基本阶段的典型需求,目的是为了规范企事业单位的日常工作流程和员工的日常行为。电子文档管理是管理事业中一项很重要的管理工作。它以知识管理为核心,以沟通、协调、控制为宗旨,将现代化办公管理思想和计算机、网络、通讯等信息工具高度集成。它的实施能够提高工作效企业中的信息是以文档的形式存储的, 随着电子文档的日益增多, 建立功能全面的文档管理信息系统是非常必要的。在分析了现有文档管理系统不足的基础上, 描述了一个Internet 环境下新型文档管理系统的设计与实现。系统采用关系数据库来保存文档, 方便与其他系统共享数据, 并采用Web Services 技术来实现系统组件的开发, 使系统具有一定的可移植性和可扩展性。

关键词 电子,文档,管理,数据库

目 录

摘 要 .................................................... I II

Abstract .................................. 错误!未定义书签。

第1章 绪论 ............................................... 1

1.1 课题背景 .......................................................................................... 1

1.2 课题意义 .......................................................................................... 1

1.3 课题内容 .......................................................................................... 2

1.4 开发环境 .......................................................................................... 3

1.4.1 硬件环境 . ........................................ 3

1.4.2 软件环境 . ........................................ 3

第2章 基于.NET 的电子文档管理系统分析 . .................... 4

2.1 电子文档管理系统的可行性分析 .................................................. 4

2.2 电子文档管理系统的需求分析 ...................................................... 4

2.3 系统选定的开发工具及关键技术 ................................................... 5

2.3.1 C#开发语言 .................................................................................... 5

2.3.2 J A V A S CRIPT 脚本语言 ..................................................................... 5

2.3.3 ASP.NET 开发技术 . ........................................................................ 6

2.3.4 SQL S ERVER 2000 . ........................................................................... 7

2.3.5 V ISUAL S TUDIO 2005开发工具 ...................................................... 7

第3章 电子文档管理系统的概要设计 ......................... 8

3.1 系统概要设计的原则 ...................................................................... 8

3.2 系统框架图 ...................................................................................... 8

3.3 模块功能简介 ................................................................................... 9

3.3.1 登陆/注册模块 ............................................................................... 9

3.3.2 文档提交模块 ................................................................................ 9

3.3.3 文档查询模块 .............................................................................. 10

3.3.4 文档审批模块 .............................................................................. 10

3.3.5 系统管理模块 .............................................................................. 10

3.4 数据库设计 ..................................................................................... 10

第4章 电子文档管理系统的详细设计 ........................ 14

4.1 系统的整体流程 ............................................................................ 14

4.2 系统登录/注册模块的设计 .......................................................... 15

4.3 文档提交模块的设计 .................................................................... 16

4.3.1 创建新文档 . ..................................... 18

4.3.2修改文档 ........................................ 19

4.3.3 删除文档 . ....................................... 19

4.3.4 查询文档 . ....................................... 19

4.3.5 发送邮件 . ....................................... 19

4.3.6 修改密码 . ....................................... 20

4.3.7 安全退出 . ....................................... 20

4.4 文档查询模块的设计 .................................................................... 20

4.4.1 按日期查询 . ..................................... 21

4.4.2 按部门查询 . ..................................... 22

4.4.3按文件类型查询 .................................. 22

4.5 文档审批模块的设计 .................................................................... 22

4.6 系统管理员模块的设计 ................................................................ 23

4.7普通员工模块的设计 . .................................................................... 26

4.8 公共模块的设计 ............................................................................ 27

4.9 公共类设计 .................................................................................... 28

第5章 系统实现 .......................................... 28

5.1 系统安全控制实现 ........................................................................ 28

5.2 I NTERNET 信息服务器(IIS )的架设 ............................................ 28

5.3 系统的三层C/S实现 .................................................................... 29

第6章 系统测试 .......................................... 31

6.1 单元测试 ........................................................................................ 31

6.2 集成测试 ........................................................................................ 31

6.3 系统测试 ........................................................................................ 32

结论 ...................................................... 32

参考文献 .................................. 错误!未定义书签。

第1章 绪论

1.1 课题背景

随着计算机技术及网络技术的快速发展,以及企业内部各种业务系统的建立,企业内部的文档数量快速增长,为了提高工作效率,便于检索、查询、保密,很有必要通过专门的管理系统对文档实施有效的管理,越来越多的企业开始建立专业的电子文档管理系统对企业内部各种电子文档进行统一管理。 电子文档资料管理是一个大型企业或组织保存和利用其最重要的累积资产-文档信息的重要手段,越来越多的政府部门和大型企业机关认识到这一需求的迫切性,并毫不犹豫地投资其中。事实上,这一投资在今后企业或组织的有序高效的运作中,会迅速地得到成倍的回报。国际上越来越多的公司开始使用电子文档管理系统来提高自己的工作效率,简化工作流程。国内也开始流行电子文档,所以本系统有很好的应用范围和应用前景。

1.2 课题意义

随着企业发展,电子文档数量的不断增加。电子文档的管理将被越来越多的应用在企业管理上,文档管理电子化是网络时代计算机信息处理的必然要求,为了提高运营效率,简化工作流程,越来越多的企业开始从纸质文档工作流程转移至电子文档的工作流程。目前,公司内部流通的文档越来越多以电子文档的形式出现,为了保证电子文档的安全、快速流通和共享,使用WEB 形式对电子文档的发布、审阅、修改、备份、查阅等操作是非常方便的。使用这样一个电子文档管理系统,企业能节省大量的资源和人力,同时大幅度提高自己的工作效率,而准确性和安全性也比纸质文档要高很多,尽可能科学有效地将这些电子文档组织起来,统一保存,以供全企业共享,不仅有助于领导及时了解、查询各部门的运作情况;有助于各部门规范管理自己的文件;有助于部门之间随时互通有无;更将积累成为企业的一笔巨大信息财富,成为提高企业竞争力的源泉。所以,开发这样一个电子文档管理系统有着很好的应用前景和使用意义。

电子文档管理系统能够将计算机内的各类文档分类管理,显示出该文档的文件名、类型及路径等信息,方便各类用户查找和使用,此电子文档管理系统对资料信息在管理上各司其责而在利用上资源共享,可任意调整架构,以适应不同单位、不同部门、不同类别、不同组织机构甚至于同一机构的不同时期的需求,从而完全保护用户的硬件、软件和网络资源的投资,最重要的一点是保护用户已有信息资产的投资,提供海量数据存储功能,提供完善而科学的安全机制,使其在高度安全的前提下具有最大的开放性,可以不断地增加管理的类别,设定每类资料管理的字段项目,如资料名称、项目、主题词、档案形成日期、修改情况等属性,以便快捷全面地重复使用重要的资料信息,按照组织机构的授权体系提供特权项目的授予功能,提供原件电子文档的浏览功能,提供原件电子文档的下载重复利用功能。因此,开发这样的管理系统是现代企事业单位发展的必然需求。

由于各个企业有各自的业务流程和数据表示方法,平时开发的过程中需要对不同的企业实现不同的数据结构和业务流程。而在系统开发的时候往往针对一个企业进行数据定义和建模开发。这种开发方式偏重于应用,没有过多的考虑系统的复用。如果需求有了变化,往往要大面积地修改代码,甚至是重新开发。这样就浪费了大量的人力物力。要达到降低开发成本的目的,最直接的方法就是复用以前的系统。但是企业之间业务流程和数据表达方式的差异提高了系统复用的门槛,降低了不同企业之间软件复用的可能性。但是对于电子文档管理系统来说,所有的企业最终的管理方案无非有增,删,改,查几种,而可见性,机密性,以及部门,类型差异等等将由管理员来设置,最终这个系统将会适合于绝大多数企业使用。在软件复用中,如果一系列的系统共享特定的领域中的明确需求,那么这一系列的系统构成软件的产品线。它们之间能够共享架构,从而缩短类似系统的开发时间,提高开发的效率。所以本系统可以侧重架构设计,从而产生一个能够复用的,支持各种数据库(本文采用SQL Server 2000)。架构确定了系统整体结构、层次划分、不同部分之间的协作关系以后,所形成的具体实现组成了可复用的框架。框架的作用,在于确定企业各种业务的具体技术实现,并规定它们在系统中的组织方式和协作方式,从而组成完整的企业应用解决方案,快速的完成系统开发。在框架的基础上,本系统将适合绝大多数企业使用,根据不同要求进行不同设置即可。

1.3 课题内容

关于本课题的研究,我们将通过本次设计熟悉ASP.NET 技术,使用的主要工具有VS2005, SQL 2000;主要语言有C#,SQL 和JavaScript. 以WEB 形式实现一个管理电子文档的系统, 用户可以方便地使用数据库工具如SQL2000等对电子文档管理系统的数据库进行编辑. 电子文档管理系统的功能:文档的发布、审阅、修改、查阅以及管理员对整个系统的维护等都可以进行组织并管理, 并可随时通过电子文档的提取功能, 方便地打开或执行你在硬盘上任意目录下的各类文件. 方便公司内部流通的大量文档的管理和使用。

从整个系统来看,本系统的业务功能分为以下几部分:

1. 发布电子文档;

2. 修改电子文档;

3. 审阅电子文档;

4. 查阅电子文档;

5. 管理员模块;

系统内部又划分成数据访问层、数据对象层、业务模块层、系统调度程序四个层次,层次分明、结构清晰,整个系统具有非常良好的可扩展能力。此电子文档管理系统采用稳定高效的Client/Server(客户端/服务器)模式。它提供了对相关电子文件进行存储和管理的安全架构。又采用轻松便捷的Browse/Server(浏览器/服务器)模式。它提供了远程WEB 方式的文档资料编辑与查询服务,且提供完全的开放性结构,使文档资料的组织者可以充分地利用软、硬件资源、灵活地选择最佳的管理方案,并可在今后的应用实践中进一步自我完善。

本文将详细叙述电子文档管理系统的分析、设计与实现,从分析到编码都严格遵循软件工程的思想,包括功能模块分析、设计;数据库分析、设计等。本系统基于.Net 开发平台,采用Asp.Net 作为开发工具,用SQL SERVER2000作为后台数据库支持。

1.4 开发环境

1.4.1 硬件环境

CPU : P4 2.8;

内存:512M ;

硬盘:80G 。

这个硬件环境是开发环境,使用环境可根据实际运行情况而定。本系统能在 CPU :Intel Pentium MMX 233MHZ或同等级别以上CPU ;

Memory :64MB ;

下正常运行使用。

1.4.2 软件环境

Windows 系列:Windows2000,Windows XP;

IE5.0以上的浏览器,IIS ;

开发工具:VS2005;

开发语言:ASP.NET,C#,JavaScript;

第2章 基于.NET 的电子文档管理系统分析

2.1 电子文档管理系统的可行性分析

电子文档是企业最重要的智力资产形式。随着企业的发展,企业的电子文档资料不断增长。企业通常采用Email 附件收发文档、文件共享服务器等方法进行电子文档管理。这些方法,对文档的获取、管理、可靠存储、共享、搜索、统计、分发等方面都存在局限性。企业面临效率低下、工作重复、文档丢失、管理混乱等问题,致力寻求一种高效的、智能的办公软件来管理企业内部的各类电子文档,因此电子文档管理系统的开发及应用有着很好的发展前景,所谓的电子文档管理系统,通俗而言就是一种用于PC 文档管理的软件。系统应该具备文档编制辅助系统、文档权限管理、文档变更管理、文档审签管理、技术类文档的发放回收等功能。比如瑞软文档管理系统就是一套应用于企事业单位的办公自动化管理软件,它以知识管理为核心,以沟通、协调、控制为宗旨,将现代化办公管理思想和计算机、网络、通讯等信息工具高度集成而开发的一款OA 软件系统。它的实施能够提高工作效率,加强工作的沟通与协作,实现企事业单位的高效管理。还具备公文收发、电子通知、电子公告、电子信函、网络会议、常用工具等功能。

我们所开发的电子文档管理系统,是能够集中存储企业的海量文档的信息管理系统。系统采用浏览器/服务器(简称B/S)结构,用户可以在线进行电子文档的提交和共享,搜索有利用价值的资料,从而提高了用户办公与开发的效率,缩短了开发周期及减少了开发费用,解决了施工企业分散作业与集中管理的矛盾。

根据以上的分析可知,这样的管理系统对于企业的发展有着很大的帮助,我们有必要开发出更好的系统来解决企事业单位中大量的电子文档的处理,因此,开发这样一个系统是可行的。

2.2 电子文档管理系统的需求分析

需求分析是软件开发流程中重要的一个环节,需求分析的基本任务是根据用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。它的主要用途是明确系统需求,是用户人员之间进行讨论的基础,并作为系统设计、实现以及测试的依据。只有准确全面的需求获取与分析才能保证系统设计、系统实现的顺利进行,为后期测试提供必要的支持。在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的电子文档管理系统,实现机关,企业,事业等单位电子文档的自动化的计算机管理系统,为各事业单位提供精确,精细,迅速的文档信息,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用浏览器/服务器(简称B/S)结构,用户可以在线进行电子文档的提交和共享,审批人员通过审批后即可发布文档,以供公司员工进行浏览文档信息,为保证电子文档管理系统能够有效地为公司管理人员服务,从功能上必须达到以下目标:

(1) 必须实现企业中电子文档流程的所有必需功能。作为企业的文档管理软件,系统必需能够实现诸如上传文档,修改文档,审批文档,发布文档,删除文档,查看下载文档等功能。保证系统实现的功能的有效性。

(2) 必须保证管理人员得到信息的及时性和真实性。管理人员作为整个系统的调度者,系统的信息必须及时地显示给管理人员。对于重要的信息,系统应该使用弹出警告窗口、修改显示信息的字体颜色等手段引起管理人员的注意,保证系统调度的及时性。同时系统设计日志功能,详细记录系统运行情况,便于管理员查看和维护。

(3) 必须保证管理人员和文档之间进行有效地操作。对于文档管理系统来说,文档操作的有效性,其中对文档机密程度和类型的操作尤其重要。所以,要保证管理人员和文档之间操作的及时性,提高系统处理文档效率,也就是吞吐量。

2.3 系统选定的开发工具及关键技术

2.3.1 C#开发语言

C# (C sharp)是微软推出的一门新语言。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域,最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本,C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。这种框架使C#组件可以方便地转化为XML 网络服务,从而使任何平台的应用程序都可以通过Internet 调用它。 C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。新的开发模式意味着需要更好的利用现有的各种WEB 标准,例如HTML ,XML ,SOAP (简单对象存取协议)。现存的开发工具是在Internet 出现前或是未得到充分应用前出现的,所以都不能很好的适应目前WEB 技术的开发需要,C#开发者可以方便的在微软网络平台上扩展自己的应用。C#可以将任何组件转变为WEB 服务,并且可以被运行于Internet 上的任何平台的任何应用调用,重要的是C#对这一特性提供了内置的支持,更重要的一点,WEB 服务框架可以让任何WEB 服务都看起来类似于C#的内置对象,所以可以让开发人员在开发过程中继续使用他们已经具备的面向对象的开发方法和技巧,因此,C#是一门先进的开发语言。

2.3.2 JavaScript脚本语言

Javascript 是一种由Netscape 的LiveScript 发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl ,遗留的速度问题。当时服务端需要对数据进行验证,由

于网络速度相当缓慢,只有28.8kbps ,验证步骤浪费的时间太多。于是Netscape 的浏览器Navigator 加入了Javascript ,提供了数据验证的基本功能。能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。Javascript 就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet 网页制作上。 Javascript 是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML 基础上,使用Javascript 可以开发交互式Web 网页。Javascript 的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript 编写的程序需要能支持Javascript 语言的浏览器。Netscape 公司 Navigator 3.0以上版本的浏览器都能支持 Javascript程序,微软公司 Internet Explorer 3.0以上版本的浏览器基本上支持Javascript 。微软公司还有自己开发的Javascript ,称为JScript 。 Javascript和Jscript 基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web 网页而量身定做的一种简单的编程语言。

JavaScript 有如下一些特点:JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML 文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。

2.3.3 ASP.NET 开发技术

作为一种软件开发和应用程序执行环境,.NET 是一种允许读者创建、编译、测试、部

署以及执行可以采用遵循单个通用语言运行时(CLR,Common Language Runtime)文件集的多种不同编程语言进行编码的软件。ASP.NET 是 Microsoft 公司的一项崭新技术,用于创建服务器端的 Web 应用程序。它是该公司提供的基于服务器的功能强大的技术,用于为企业的内部网创建动态的、交互的 HTML 页面。与以前的 Web 开发模型相比, ASP.NET 提供了如下几个重要的优点:

1. ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释 的前辈不同, ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。代码被编译执行相比被解释执行, ASP.NET 页面性能显著提高。

2.ASP.NET 基于公共语言运行库,它支持微软开发的主流编程语言(例如, Visual Basic.NET 、 C# 、 J# 等等),所以开发人员可以选用自己最熟悉的语言来进行研发。 3. ASP.NET 框架可以将应用程序的逻辑与表示代码清楚分开,现在 JSP 是用 Javabean 来封装逻辑代码,虽然可以反编译,但毕竟技术向这个方向迈出了一步, Microsoft .net 则用 DLL 封装逻辑代码,使代码的安全性更高。

4. 开发人员可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。 5. 借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。

2.3.4 SQL Server 2000

SQL Server 2000 是Microsoft 公司2000年推出的SQL Server 数据库管理系统的版本。它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等,具有如下几个特点:

1. 真正的客户机/服务器体系结构。 2. 图形化用户界面。 3. 丰富的编程接口工具。

4.SQL Server与Windows NT完全集成。 5. 具有很好的伸缩性。 6. 对Web 技术的支持。

7.SQL Server提供数据仓库功能。

2.3.5 Visual Studio 2005开发工具

Visual Studio 2005 和 .NET Framework 2.0 将在应用程序开发的所有方面取得大幅进展。首先,Visual Studio 2005 根据开发人员个人的需要调整软件开发体验,设置新的开发人员工作效率标准。这一“个性化工作效率”将在开发环境和 .NET Framework 类库中提供相应的功能,以帮助开发人员在最少的时间内克服其最为紧迫的困难。其次,Visual Studio 2005 使开发人员能够通过与 Microsoft Office System 和 SQL Server 2005 的更好集成,在更广泛的应用程序开发方案中应用现有的技能。最后,Visual Studio 2005 将提供一组新的工具和功能,以满足目前大规模企业的应用程序开发需要,Visual Studio 2005 包含了一系列高效的、智能的开发工具,不论是为开发初学者,还是为经验丰富的企业开发团队都提供了很多全新的、强大的功能:全方位的工具平台 不论您是一位编程初学者还是一个富有经验的企业开发团队的一员,为您提供高效的开发工具。减少开发的复杂度 确保您能更加轻松发布基于 Framework 的解决方案,包括 Windows、Web 、移动和基 于 Office 的应用。第三方的生态系统 允许您利用来自 Visual Studio 行业合作伙伴的参与研发的产品,并体验用来补充 Visual Studio 2005 第三方解决方案的全面部署。改善团队的沟通 给您提供高效智能的生命周期工具,通过使用 Visual Studio 2005 Team System,来增强 IT 周期参与者之间的交流与协作。

第3章 电子文档管理系统的概要设计

3.1 系统概要设计的原则

在进行概要设计时,我们应对照系统的需求分析来进行系统的整体设计,在保证实现系统功能需求的基础上,逐步实现系统的概要设计。在整个系统中按照功能的实现可以划分为不同的几大模块,对各个模块再做相关的处理,具体实现方法将在详细设计中阐述,在概要设计中主要的任务就是把整个系统的轮廓描述出来,按照实现的功能的不同确立系统的各个模块。在做此设计时应遵循如下原则:

(1) 低成本。随着技术的进步和系统复杂性的增加,软件成本在整个系统中所占的比重越来越大,企业应用中已经达到

25%左右,而且有继续增加的趋势。为了降低系统的成本,系统中各个模块都采用开源项目中的组件完成。它们不仅能够提供比较完善的功能,而且还能根据系统需求进行适当扩展。

(2) 规范性。从软件周期上来考虑,软件维护阶段在软件生命周期或生存期中占较大比重,有的可达软件生存周期的50-70%。所以需要软件在设计的过程中积极遵循各种规范,保证后期维护和开发人员能够快速理解系统。

(3) 易扩展性。系统的设计直接决定可扩展性。可扩展性是软件工程追求的目标,能够大大提高软件的复用程度,较低开发成本。本系统中采用界面与后台处理完全分离的形式,另外系统采用面向接口编程,这在很大程度上增加了系统的扩展性。系统采用分层机制设计,建立专门的数据访问层、服务层等,采用设计模式中的思想优化设计,从而最大程度上提高系统可扩展性。

3.2 系统框架图

此系统的开发是基于B/S模式的,具有良好的人机交互界面,整个系统对电子文档进行高效的管理,系统的每一部分都实现了其相关的功能,在整个系统中各角色分工明显,各司其职。

系统文件主要架构图如下:

图3.1 系统文件架构图

3.3 模块功能简介

根据系统要实现的功能,此系统可划分为五大模块,下面分别简单介绍一下各个模块所实现的功能。

3.3.1 登陆/注册模块

1). 注册新用户,只能是公司普通员工。 2). 登陆成功根据帐号权限进入对应页面。 3). 有安全退出提示。

3.3.2 文档提交模块

1). 文档创建人员特有权限。

2). 文件起草时设置文件大部分属性,包括文件名,起草日期,起草人,机密等级,文件类型,附件等等的初始值。

3). 提交后文件入库,未返回不能修改。

4). 若被上级返回的文档,可以修改。

3.3.3 文档查询模块

1). 所有用户都具有的权限。

2). 每一级别用户登陆成功页面上都有查询功能按钮。 3). 可以根据时间,部门,文件类型分别查阅文档。

3.3.4 文档审批模块

1). 审批员特有权限,分为一级和二级。

2). 审批过程设置文件的审批意见,审批级别和审批人和审批日期。 3). 一级审批后要么提交,要么返回;二级审批后要么发布,要么返回。

3.3.5 系统管理模块

1). 管理员具有系统中最高权限。 2). 对用户信息的管理包括帐号的删除,权限的更改,其他信息的更新以及添加新用户(一般管理员不使用此权限),编辑人员和审批人员的信息预先设置好。 3). 对文件信息的管理包括删除过期文件,调整等待文件,更改文件信息等等。

3.4 数据库设计

数据库设计是电子文档管理系统设计的很重要的一部分,将影响到系统以后数据的质量、数据库的可扩展性、数据运行的效率等,设计又分逻辑结构和物理结构两部分。

逻辑结构是系统处理的事件的数据之间的关系、分类、结构、这种结构是从用户的角度来看待数据,是面向用户的。逻辑结构的设计影响到数据库的冗余程度及可扩展性。

物理结构是数据在存储设备(如磁带机,硬盘等硬件设备)上的分布,是面向机器的,物理结构的设计将对数据的存储速度、效率,数据的可恢复性产生影响。

关系型数据库是目前广泛应用于管理信息系统的开发一种数据库,关系型数据库是一种通过建立数据之间的关系来减少数据间的冗余,减少对数据的操作,从而减少误操作,提高效率。关系型数据库可通过建立数据间的关系将电子文档管理过程的各个环节的数据整合起来。

关系数据库是由好多表作为基础的,每一个表代表某一组独立的可以描述某一事务的不重复的信息,数据库的设计将各表描述出来,然后定义各表之间的关联,数据库的设计需符合低冗余度、结构清晰、易于管理的原则。冗余度是指同样的信息在不同的表中储存多次或不必要的信息也存储了。

在此系统的设计实现过程中,用到数据库的相关知识,我们采用的数据库是SQL

Server2000,根据系统实现的需求,我们需创建10个数据表以便存储相应的数据信息。对每个数据表的介绍如下:

1. 用户信息表UserInfo, 用于存储用户的相关信息:

2. 文档信息表

DocInf o, 用于存储提交后的文档信息:

3. 文档历史表FileHistory, 用于存储曾经被修改过的文档信息,其目的是保留文档的历史

记录:

4. 附件路径表:FilePath

5. 部门表:Dept

6. 密级表:SecretLevel

7. 文件类型表:FileType

8. 返回标志表:Return_Flag

9. 审批标志表:CheckFlag

10. 权限表: UserType

11. 日志表:Log

第4章 电子文档管理系统的详细设计

4.1 系统的整体流程

本节将介绍系统的具体实现过程,开发出基于B/S模式的电子文档管理系统,实现文档的创建并上传,审批,发布,修改,查看,管理员管理整个系统的运行等,下图是整个系统的简单流程图:

图4-1 系统流程图

4.2 系统登录/注册模块的设计

在整个系统中有五类用户,根据他们对文档操作的权限不同分为系统管理员,文档创建者,一级审批员,二级审批员,普通用户,前四类用户是系统中必有的,他们的信息在信息表已经存在,由管理员进行管理,在登录/注册模块中,系统初始页面是登录页,根据他们的权限分别进入不同的处理页面,此模块是整个系统的入口模块,此模块首先根据用户输入的账号,密码及用户类型来判断系统的下一步运行,此系统的用户分为五类,,系统针对每类用户赋予其各自的职责,当普通用户是第一次使用此系统时,应先进行相应的注册方可使用,其他类型的用户可直接登录此系统进行相应的操作,系统通过判断登录用户的权限分别进入不同的操作页面来进行相应的操作,在此模块中要用到数据库的操作,在登录时要查询数据库来判断输入的用户信息是否存在,若存在即可进入对应页面,在普通用户进行注册时,注册的内容也要存入相应的数据库中以便以后登录时查询。 在整个系统的设计过程中,虽说这部分比较容易实现,但是需要考虑的细节也比较多,在登录页中,需要让用户输入自己的权限、账号、密码、验证码信息。处理此页的后台程序需先判断验证码是否输入正确,此系统中验证码的生成是通过调用一个编写好的程序来实现的,它不是简单的生成随机数,而是把产生的随机数画在一个背景图片上,这就用到C#里的一些类库和相应的函数,若这一步判断成功,则系统开始查询数据库进行判断此用户的信息是否正确,至此才可以进入到相应的页面。在注册时,点击注册按钮,进入注册页面,用户填写必要的信息,在填写时应注意格式的准确性,例如密码必须是6到12位的字符或数字,电话号码必须符合实际中的位数,邮箱的格式也必须正确,至此你才可以成功提交你的相关信息,后台程序通过必要的验证,就可把用户提交的信息插入到数据库中的相应表中。

以上是对这个模块的详细分析及设计,下图是此模块的流程图:

图4-2 登录/注册模块流程图

4.3 文档提交模块的设计

在文档提交模块中,当文档创建者进入自己的页面时,即可进行相应的操作,文档创

建者主要有:提交一个新的文档,查看要修改的文档,修改审批员要求修改的文档,删除审批员要求删除的文档,查询已发布的文档(二级审批员审批后发布),修改自己的密码以及发送邮件等操作。在文档创建者提交一个新的文档后,他可通过给一级审批人发邮件来告知让他对已提交的文档进行审批已防过期。在文档创建时还需对文档的初始信息做好多处理,在此模块中,创建人查看相应的变量,若存在被退回的文档,创建者还应该对相应的文档进行修改再重新提交,修改时根据其审批人提出的意见进行相应的改动再次存入

数据库,这样可保留文档的历史记录,文档创建者也可查阅已发布的所有文档。 此模块的主要功能分为以下几部分: 1. 创建新的文档;

2. 显示需修改的文档并进行修改; 3. 显示需删除的文档并进行删除; 4. 查询文档; 5. 发送邮件;

6. 修改自己的密码; 7. 安全退出; 文档创建者的工作在整个模块中都一一实现,当成功进入文档创建者页面时,整个页面分三个框架,最上面是标题,左边列出了文档创建者所要执行的功能,右边显示的是最近已经发布了的文档信息,任何用户点击下载附件即可打开附件内容查看发布了的文档内容,当文档创建者点击左边相应的操作时,相应的在右边打开其页面进行工作。以上是对此模块的简单功能的说明,在下面的小节中将会详细描述各功能的具体设计思想和实现方法。下图是整个模块的流程图:

图4-3 文档提交模块流程图

4.3.1 创建新文档

这部分的主要内容是提交一个新的文档,提交的文档应包含的信息有:文档名称,文

档类型,版本号,文件号,创建者,创建日期,审批日期,附件,主题,正文等信息,对于我们所设计的系统来说,因为这次提交的文档是以前从没提交的,所以它的版本号在这部分默认为1.0,不需我们填入,文档的文件号在文档信息表中作为主键,所以让去自动生成,也不需我们为其编号,因为在表中有大量的文档,编号是很费时的,在设计此系统时,我们设定了三个文档创建者,分别为三个部门的,每个文档创建者只需负责自己所在

部门的文档创建就可以,在用户登录此系统是,我们就把用户的一些信息存如到环境变量中例如:用户名,用户类型等,以便在后面的操作中会用到,所以在提交文档时,创建者也不需用户填入,为了保证文档的可靠,提交者必须填写创建日期,审批日期是保证此文档尽快通过审批者的审批,由于一个文档的内容一般来说是很大的,所以我们就以附件的形式上传,主题是你这次发布文档的说明,正文是你对这个文档内容的简单概述,当文档创建者完成相应的填写便可提交文档,提交的同时存入相应的数据表中,至此,完成文档的创建并提交。

4.3.2修改文档

当文档创建者进入自己的页面后,可点击修改文档按钮,后台程序将执行相应的操作,首先查询文档信息表DocInfo ,查询条件为返回标志为“修改”且创建者是当前用户的记录,若存在这样的文档,则把其部分信息显示在页面上,点击修改按钮转到修改页进行修改,此时为了保留文档的历史记录,需把要修改的原文档信息转移到文档的历史信息表FileHistory 中保存,历史信息表与文档信息表基本相同,只是没有归档日期,因为在历史表中的文档永远不会被发布,所以就没有此属性,再在原来文档信息表中进行修改文档信息,其需填写的内容和文档创建时是一样的,在这就不需重复说明了,实现这部分功能主要用到ASP.NET 中的DataGrid 控件和其相关的属性。

4.3.3 删除文档

文档创建者提交文档后,文档需通过一级和二级审批者进行审批,在审批过程中,若审批者发现此文档没有任何价值或由于其他原因,没必要发布此文档,则审批者通过把文档的返回标志置为“删除”,文档创建者通过查询文档数据表获知此信息,这部分操作步骤和修改文档差不多,只是在查询数据表时的查询条件不同而已,它的查询条件是返回标志为“删除”且创建者是当前用户的记录,接下来的操作就基本相同了。

4.3.4 查询文档

这部分的操作是基于查询模块的,任何用户只可以查询已经发布了的文档信息,没有发布的文档是不能查看的,查看文档时,有三类查询条件,即按日期查询、按文档类型查询、按部门查询,在按文档类型进行查询时,我们用到了模糊查询,这部分的操作大多都是在查询数据库,查询语句比较难写,具体实现将在查询模块中讲述。

4.3.5 发送邮件

发送邮件是基于网路来实现的,要用到SMTP 协议,这部分的实现也是一个难点,当文

档创建者提交一个新文档后,为了不让文档的审批时间超过一定的范围,他可发送邮件给一级审批者,通知他你已提交一份文档,让他及时审批并提交给二级审批者。要完成这部分功能,我们应需掌握相关的实现技术,要用到C#中的SmtpClient 类和MailMessage 类的相关的属性和方法,前台做相关页面的实现,后台做相关功能的处理。

4.3.6 修改密码

任何用户都有权限修改自己的密码,这部分的实现很简单,输入旧密码和新密码后,系统先判断你的旧密码是否正确,若正确把原来的密码更新为新密码,至此修改密码成功。

4.3.7 安全退出

当文档创建者完成了自己的功能后,不需再提交新文档时,便可退出系统,用户点击安全退出按钮时,即可退出当前页面,若需重新使用此系统则重新登录便可。

4.4 文档查询模块的设计

在查询模块中,此模块用于系统的用户查询已经发布了的文档,查询的方式各种各样,尽可能多地搜集到用户已经知道的关于文档的信息。可以根据文档的创建、批阅和发布的日期查询,也可以根据文件类型,密级和文档的创建人查询,最常用的还是根据文档名称、标题和主题词查询。还可以根据用户需要,查询文档之前的各个历史版本,一般情况下用户查询到的是文档的最近版本,每次查询时根据用户的需要选择相关的查询条件查询所需文档。

下图是此模块的流程图:

图4-4 查询模块流程图

4.4.1 按日期查询

在文档的信息表中有文档的创建日期,审批日期,发布日期,所以在根据日期查询文

档时,我们有三种选择,即按创建,发布,审批三类时间进行查询,查询主页由SearchByDate.aspx 实现,主要是一些ASP.NET 的控件组成,最主要的是时间控件。后台由SearchByDate.cs 实现,实现代码主要是一些查询语句,其结构也是比较复杂的。根据选择的条件查询数据表,若有符合条件的记录则在显示结果页ResultPage.aspx 中显示。

若没有相关信息则提示换一种查询条件。

4.4.2 按部门查询

文档创建时是按不同的部门进行提交的,各部门有各自的文档,所以我们可以根据部门的不同查看不同的文档信息,在设计此系统时我们假定有三个部门,三部门分别对应三个不同的文档创建者,每个创建者只提交自己所在部门的文档,查询页由SearchByDepartment.aspx 实现,查询语句在后台SearchByDepartment.cs 里实现,其查询结果同样显示在显示结果页ResultPage.aspx 中。

4.4.3按文件类型查询

在数据库设计中,我们专门设计了一个数据表用于存放文档的类型,我们在提交文档

时必须选择文档所属类型,在这部分查询中,查询页由SearchByFile.aspx 实现,在此页面中有四项查询选项,你可以选其中一种或几种的结合进行查询,但至少得有一种查询条件。按文件名、文件密级、文件类型、主题词查询,因为一个文档的文件名称和主题词不是文档的主要信息,我们没法分的很细,所以在这部分查询中,我们用的是数据库中的模糊查询,其查询语句由后台SearchByFile.cs 实现,由于设计到好多查询组合条件,其语句是相当复杂的。

4.5 文档审批模块的设计

在文档管理系统中,此模块也是很重要的一部分,当文档创建者提交文档后,审批者就开始审批提交的现有文档,在审批这部分中此系统设计了2级审批,一级审批者按照不同的部门对各自所在部门的文档进行审批,在审批过程中若发现提交的文档有问题则返回给此文档的创建者让其进行修改,审批状态置为“未审批”,若通过审批置为“一审通过”,并进行提交,让二级审批者进行审批,二级审批者审批文档是根据文档的密级程度不同进行审批的,此系统设计时,把文档的密级划分为三个等级,即秘密、机密、绝密,二级审批者对文档进行审批时,若不合要求也可退回给此文档的创建者进行修改或删除该文档,若通过审批则发布此文档,下图是此模块的流程图: 图4.5 审批模块流程图

4.6 系统管理员模块的设计

该模块为系统管理员而设计,包括的功能主要有待办事项,用户管理,文档管理,系统日志和部分公共功能。该模块实现主要通过GridView 实现各种信息的管理。下图是该模块的文件架构图:

图4.6 管理员模块的文件架构图

管理员主页显示待办事项,包括过期的文件处理等,以GridView 显示,左侧功能选项点击用户管理,进入用户页面,以GridView 显示,有详细信息(编辑)和删除选项按钮,详细信息页以TextBox 显示,可修改的可读,不可修改的不可读。左侧功能选项点击文档管理,进入文档页面,以GridView 显示,有详细信息(编辑)和删除选项按钮,详细信息页以TextBox 显示,可修改的可读,不可修改的不可读,点击查看系统日志按钮即可在页面上显示此系统的使用情况,在数据库中建有一个数据表用于存储系统的日志信息,数据表中的每条记录都代表相应的用户的相应操作,在每个用户操作过程中,都有写入日志的函数,我们调用这个函数,便将我们的操作过程插入到日志表中。下图是此模块的流程图:

4.7 系统管理员模块流程图

4.7普通员工模块的设计

整个系统的用户分为五类,每类用户各有自己的工作,他们根据自己的用户权限进入不同的操作界面,在这五类用户中,普通用户只有查看本公司的已经发布了的文档信息,他不能对任何文档做任何的修改,只是查看最近公司都发布了那些文档信息,普通用户和其他四类用户不同,他在初次使用此系统时必先进行相应的注册方可使用,下图是此模块的流程图:

图4.8 普通员工模块流程图

4.8 公共模块的设计

此模块主要不是按流程实现的,是一些来自其他模块的连接页面,主要有密码修改页ChangePwd.aspx 、安全退出页Logout.aspx 、错误页PageError.aspx 、附件下载页Out.aspx ,系统的每一个用户都有权限修改自己的密码,在相应页面点击修改密码按钮即可转到这个页进行密码修改,安全退出是保证系统用户安全的退出此系统,防止有人恶意破坏此系统,考虑到当系统执行时,当发生错误时转到这个页面并把错误信息显示在这个页面上,开发人员可根据此信息来维护整个系统的运行,附件下载页是这部分甚至是整个系统的难点,当我们把文档以附件的形式上传到服务器后,审批者和其他用户查看此文档时,必先把文档下载到本机上才能进行相应的操作,这部分功能的实现,我们同样借助数据库的操作,在文档创建者提交文档的同时,把文档的上传之前的路径、上传后的路径及上传后的文档名称存入到数据库中的FilePath 表中,在下载附件时再根据这个表中的相关信息下载附

件,程序执行时弹出相应的对话框你可以选择保存文件、打开文件、取消文件,至此下载附件工作完成。以上这部分我们实现了系统各模块用到的公共部分。

4.9 公共类设计

根据需要本系统共设计了2个公共类,在整个系统中对数据库的操作特别多,几乎每个功能的实现都得对数据库进行操作,所以我们把对数据库的操作放在了一个公共类Database.cs 中,以方便我们调用,与之对应的还有系统日志的写入,对系统的任何操作几乎都要写入系统日志表中,对他的操作同样的多,因此我们也写了一个公共类SqlExceptionLogger.cs ,在系统的相应地方调用这两个类就可方便的执行相应的操作.

第5章 系统实现

5.1 系统安全控制实现

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW 端口访问,而且表面看起来跟一般的Web 页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS 日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。

实现系统的安全控制,本系统是典型的数据库开发系统,所以对数据库的攻击一定要加以防范,其中最典型的就是SQL 注入式攻击,本系统采用JS 转化方式,在客户端禁止用户输入特殊字符,以达到防止SQL 注入式攻击的目的。

5.2 Internet信息服务器(IIS )的架设

Internet Information Server作为整个系统的基础平台,因特网信息服务器IIS 是Microsoft 公司的一种集成了多种Internet 服务(WWW 服务、FTP 服务)的服务器软件,利用它,可以很容易的构造Web 站点。由于同一家公司的产品,IIS 和WindowsNT/2000紧密地集成在一起,可以充分利用WindowsNT/2000的多种功能,其安全机制也以WindowsNT/2000的NTFS 安全机制为基础,因此可以实现用IIS 构建Web 站点的安全性。

当我们在自己的机子上安装好IIS 服务器后,我们就可以进行默认Web 站点的设置了。 ● 站点标识

我们需要更正Web 站点标识说明,这个说明不必和Url 完全相同,但是站点的说明必须有一定的代表意义。

● 设定IP 地址和端口

如果要在Internet 上发布主页,那么所设定的IP 必须有效,并且不能和其他已有的IP 重复。如果仅仅是为了在自己的机器上调试或浏览,可以把IP 设定成为127.0.0.1,代表本机。如果你要在Intranet 中建立服务器,那么设定的IP 应为内网段的,在这里我们假定内网的IP 为192.168.0.1。

Web 站点的默认TCP 端口值有80和8080两种

● 设置主目录

设置Web 站点的主目录。输入正确的主目录路径,这就是网站的根目录。如果不作改动的话,默认的主目录就是C:\Inetpub\wwwroot。

● 配置目录访问权限

权限是Internet 服务器安全模式所必须支持的。所以我们一定要确保权限配置是正确的,不正确的配置会使站点工作不正常,甚至将程序的源代码显示给访问者。

至此,就完成了IIS 服务器的设置,你只需要在浏览器中键入“127.0.0.1”就可以访问自己机器上的Web 站点,或者在内网中的任何一台机器上输入192.168.0.1,既访问内网的服务器。这样就可以实现浏览功能。

5.3 系统的三层C/S实现

C/S计算技术在信息产业中占有重要的地位,网络经历从基于宿主机的计算模型到客户机/服务器计算模型的演变。目前流行的三层网络计算模式,前台是浏览器,中间是WEB 服务器和应用程序服务,后台是数据库服务。

在三层模式中,Web 服务器作为一个浏览服务器,可以将整个应用逻辑驻留在应用服务中,而只有表示层存在于客户机上,这种结构被称之为“瘦客户机”。这种结构中,无论是应用的HTML 页还是JavaApplet 都是运行时刻动态下载的,只需随即的增加中间层的服务(应用服务器)。即可满足扩充系统的需要。由此我们可以用较少的资源建立起具有很强伸缩性的系统,这正是网络计算模式带来的重大改进。

三层C/S结构是将应用功能分成表示层、功能层和数据层三部分,其解决方案是:对这三层进行明确分割,并在逻辑上使其独立。原来的数据层作为DBMS 已经独立出来,所以关键是要将表示层和功能层分离成各自的独立程序,并且还要是这两层间的接口简洁明了。一般情况是只将表示层配置在客户机中。如果连功能层也放在客户机中,与二层C/S结构相比,其程序的可维护性要好得多,但是其他问题并未很好的解决,客户机的负荷太重,其业务处理所需的数据要从服务器传给客户机,所以系统的性能容易变坏。

如果将功能层和数据层分别放在不同的服务器中,则服务器和服务器之间也要进行数据传送,但是,由于在这种形态中三层是分别放在各自不同的硬盘系统上的,所以灵活性

很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系统规模越大这种形态的优点就越显著。

在三层C/S中,表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据,为使用户能直观的进行操作,一般要使用图形用户接口(GUI ),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层,检查的形式也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑,功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中,表示层和功能层之间的数据交往要尽可能简洁,数据层就是DBMS ,负责管理对数据库数据的读写。DBMS 必须能迅速执行大量数据的更新和检索,现在的主流是关系数据库管理系统(RDBMS )。因此一般从功能层传送到数据层的要求大都使用SQL 语言。 在三层或N 层C/S结构中,中间件(Middleware )是最重要的部件,所谓中间件是一个用API 定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架,它的功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。

一般而言,三层C/S结构的优势主要表现在以下几个方面:

1.利用单一的访问点,可以在任何地方访问站点的数据库;

2. 对于各种信息源,不论是文本还是图形都采用相同的界面;

3. 所有的信息,不论其基于的平台,都可以用相同的界面访问;

4. 可跨平台操作;

5. 减少整个系统的成本;

6. 维护升级十分方便;

7. 具有良好的开放性;

8. 系统的可扩充性良好;

9. 进行严密的安全管理;

第6章 系统测试

由于软件开发复杂性的原因,软件开发过程中不可避免的会产生各种错误。为了在软件开发的顺利完成以及在软件投入实际运营之前,尽可能多地发现软件当中的错误,需要尽可能全面地对软件进行测试。目前软件测试仍然是保证软件质量的关键步骤,它是对软件需求分析、设计以及编码的最后的检查。

对应于软件开发的各个过程,软件测试也分为几种不同的层次。每一个层次都是下一层次的继续。

(1) 单元测试,单元测试对应于详细设计部分,从软件的详细设计中导出。软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

(2) 集成测试,集成测试对应于系统的概要设计,主要用来的是各个模块之间的接口的正确性。

(3) 系统测试,系统测试的目的是通过测试发现是否需求分析中的功能相符。

6.1 单元测试

单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。本系统的单元测试采用模块与模块分离的办法,单个网页实现,以网页为单位,每个触发时间都进行了测试,主要是针对数据库访问错误和链接错误进行测试,在ASP.NET 中,VS 2005有强大的测试工具,可以断点跟踪,可以运行单个网页,可以进行预览,这都给单元测试提供了极大的方便。

6.2 集成测试

集成测试,也叫组装测试或联合测试。它是在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行的测试。集成测试应该考虑以下问题有:数据在模块接口之间穿越时是否会丢失;各个子功能组合起来,能否达到预计要求的父功能;模块之间是否会有不良的影响;单个模块中的误差是否会在其他模块中进行放大。合理地组织集

成测试,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号和测试的次序、生成测试用例和调试的费用。通常,有两种不同的组装方式:一次性组装方式和增量式组装方式。

本系统的集成测试将所有模块绑在一起,主要的针对性错误是链接错误和Session 对象信息错误和数据错误,网页跳转时信息的存储是本系统一大难点,ASP.NET 提供的Session 对象默认为20分钟的生存周期,如客户端无任何操作时候则Session 对象全部自动释放。模块间的链接也是容易错误的地方之一,经常会有一个路径错误导致系统崩溃。

经过测试,发现系统中管理员修改用户详细信息时的GridView 总提示未发现对象,后经过代码检测,发现在GridView 的详细信息按钮事件中忘记添加跳转页面信息Request[“ID ”]导致,修改后正常运行。

6.3 系统测试

系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。

系统测试的过程中,客户端在IE 和Firefox 下进行分别测试。对需求中描述的所有功能进行全面的测试。

输入服务器的URL 地址,提示无法访问。根据测试,发现系统所在服务器的IIS 服务器配置有问题,重新配置后正常登陆。

结论

本文通过详细了解系统功能的需求,并根据实际情况补充了非功能性需求。在充分考虑了系统的扩展性、复用性和开发成本的前提下,采用分层的思想对系统进行总体设计。对系统中的业务流程进行功能设计。根据实际情况解决了开发中所遇到操作难题,并分别对客户端子系统和服务器端进行了实现。最后通过测试检验了系统的功能实现情况和运行效果。

本文的工作主要包括下面几个方面:

1. 简单介绍了ASP.NET 概念并简要介绍了微软的两大工具VS 2005和SQL Server 2005

的优点,对C#,JavaScript 也进行了简要描述。

2. 按照分层设计的方法对系统进行整体设计,并根据实际需要把系统的整体功能划分为不同模块来实现,每个模块都按功能设计,按流程实现,步步紧扣,有条不紊。最后以实体设计类为依据,完成了数据库表设计并设计了公共类。

3. 通过测试,验证了系统功能实现的正确性和有效性。

开发一个Web 电子文档管理系统,涉及到很多方面内容,从企业的背景和需求,系统结构的选择和设计到开发技术和开发工具的选择一系列的问题,完成一个软件工程的过程。

通过一个完整的系统开发,我从实践中加深对软件工程各个过程的认识,深刻理解到软件开发的前期工作的重要性和决定性,比如数据库的一个表,就是因为一个表的设计出了问题,在编码遇到一个无法解决的问题而不得不对整个数据库的大部分重新设计。在系统的开发过程中,我尽量以编码的规范化以及以后方便维护的原则,对大部分重要的代码都在加以了详细的注释,这样也使得我在以后对系统的扩充有重要的意义。在开发系统的过程中,第一件事就是要了解客户的需求,也就是需求分析及之前的工作,在这一过程中,将会接触到企业内的工作流程,了解到一些企业的工作方式,这将有助于扩大个人的知识面,宽阔个人的视野,增加个人的见识。跟客户交流、分析客户需求和系统需求本身就不是一件简单的事情,需要有一定的技术和技巧去了解用户的需求,这也是一个人一方面能力的体现。而且,系统需求分析决定了整个系统的开发,只有开发出符合用户需求的软件才是成功的软件。

由于这次是我第一次接触到网络编程,所以工作进度比较慢,在系统设计和开发的过程中要不断地学习,所有的东西对我来说都是新的,但也因此从中学到了很多以前没学的东西。在这个过程中,增加了对运用Asp.NET 、C#、JAVASCRIPT 、SQL SERVER进行网络系统的设计和网络编程的了解,了解了如何用B/S体系结构开发系统。

参考文献:

1、 书名:《ASP.NET2.0实用教程(C#版)》 编著:崔良海

出版单位:人民邮电出版社

2、书名:《SQL Server 2005实用教程》 编著: 李伟红 贾振旺 崔玉宝 李瑛

出版单位: 中国水利水电出版社

3、书名:《网页设计与制作教程》

编著:许斗 罗海峰 李华勇

出版单位:合肥工业大学出版社

4、书名:《网页程序设计》

编著:陈俊荣

出版单位:清华大学出版社

5、书名:《C#网络应用编程》

编著:马骏

出版单位:人民邮电出版社

6、书名:《JSP 陈旭设计案例教程》

编著:刘志成

出版单位:清华大学出版社

7、书名:《C#程序设计教程》

编著:刘甫迎 刘光会 王蓉

出版单位:电子工业出版社

毕业设计(论文)

安徽工业职业技术学院

毕业设计(论文)任务书

信息工程 系 09软件一 班 姓名 赵晓丽

毕业设计(论文)题目: 电子文档管理系统 毕业设计(论文)起止日期: 2012年2月—4月 指导教师: 刘兵老师

(输入章及标题)

毕业设计论文

题 目: 电子文档管理系统

毕业学校:安徽工业职业技术学院

专 业: 软件技术

指导老师: 刘兵

姓 名: 赵晓丽

学 号:

日 期 2012.4.28

摘 要

随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现电子文档的管理势在必行,办公自动化是企事业单位在信息化建设基本阶段的典型需求,目的是为了规范企事业单位的日常工作流程和员工的日常行为。电子文档管理是管理事业中一项很重要的管理工作。它以知识管理为核心,以沟通、协调、控制为宗旨,将现代化办公管理思想和计算机、网络、通讯等信息工具高度集成。它的实施能够提高工作效企业中的信息是以文档的形式存储的, 随着电子文档的日益增多, 建立功能全面的文档管理信息系统是非常必要的。在分析了现有文档管理系统不足的基础上, 描述了一个Internet 环境下新型文档管理系统的设计与实现。系统采用关系数据库来保存文档, 方便与其他系统共享数据, 并采用Web Services 技术来实现系统组件的开发, 使系统具有一定的可移植性和可扩展性。

关键词 电子,文档,管理,数据库

目 录

摘 要 .................................................... I II

Abstract .................................. 错误!未定义书签。

第1章 绪论 ............................................... 1

1.1 课题背景 .......................................................................................... 1

1.2 课题意义 .......................................................................................... 1

1.3 课题内容 .......................................................................................... 2

1.4 开发环境 .......................................................................................... 3

1.4.1 硬件环境 . ........................................ 3

1.4.2 软件环境 . ........................................ 3

第2章 基于.NET 的电子文档管理系统分析 . .................... 4

2.1 电子文档管理系统的可行性分析 .................................................. 4

2.2 电子文档管理系统的需求分析 ...................................................... 4

2.3 系统选定的开发工具及关键技术 ................................................... 5

2.3.1 C#开发语言 .................................................................................... 5

2.3.2 J A V A S CRIPT 脚本语言 ..................................................................... 5

2.3.3 ASP.NET 开发技术 . ........................................................................ 6

2.3.4 SQL S ERVER 2000 . ........................................................................... 7

2.3.5 V ISUAL S TUDIO 2005开发工具 ...................................................... 7

第3章 电子文档管理系统的概要设计 ......................... 8

3.1 系统概要设计的原则 ...................................................................... 8

3.2 系统框架图 ...................................................................................... 8

3.3 模块功能简介 ................................................................................... 9

3.3.1 登陆/注册模块 ............................................................................... 9

3.3.2 文档提交模块 ................................................................................ 9

3.3.3 文档查询模块 .............................................................................. 10

3.3.4 文档审批模块 .............................................................................. 10

3.3.5 系统管理模块 .............................................................................. 10

3.4 数据库设计 ..................................................................................... 10

第4章 电子文档管理系统的详细设计 ........................ 14

4.1 系统的整体流程 ............................................................................ 14

4.2 系统登录/注册模块的设计 .......................................................... 15

4.3 文档提交模块的设计 .................................................................... 16

4.3.1 创建新文档 . ..................................... 18

4.3.2修改文档 ........................................ 19

4.3.3 删除文档 . ....................................... 19

4.3.4 查询文档 . ....................................... 19

4.3.5 发送邮件 . ....................................... 19

4.3.6 修改密码 . ....................................... 20

4.3.7 安全退出 . ....................................... 20

4.4 文档查询模块的设计 .................................................................... 20

4.4.1 按日期查询 . ..................................... 21

4.4.2 按部门查询 . ..................................... 22

4.4.3按文件类型查询 .................................. 22

4.5 文档审批模块的设计 .................................................................... 22

4.6 系统管理员模块的设计 ................................................................ 23

4.7普通员工模块的设计 . .................................................................... 26

4.8 公共模块的设计 ............................................................................ 27

4.9 公共类设计 .................................................................................... 28

第5章 系统实现 .......................................... 28

5.1 系统安全控制实现 ........................................................................ 28

5.2 I NTERNET 信息服务器(IIS )的架设 ............................................ 28

5.3 系统的三层C/S实现 .................................................................... 29

第6章 系统测试 .......................................... 31

6.1 单元测试 ........................................................................................ 31

6.2 集成测试 ........................................................................................ 31

6.3 系统测试 ........................................................................................ 32

结论 ...................................................... 32

参考文献 .................................. 错误!未定义书签。

第1章 绪论

1.1 课题背景

随着计算机技术及网络技术的快速发展,以及企业内部各种业务系统的建立,企业内部的文档数量快速增长,为了提高工作效率,便于检索、查询、保密,很有必要通过专门的管理系统对文档实施有效的管理,越来越多的企业开始建立专业的电子文档管理系统对企业内部各种电子文档进行统一管理。 电子文档资料管理是一个大型企业或组织保存和利用其最重要的累积资产-文档信息的重要手段,越来越多的政府部门和大型企业机关认识到这一需求的迫切性,并毫不犹豫地投资其中。事实上,这一投资在今后企业或组织的有序高效的运作中,会迅速地得到成倍的回报。国际上越来越多的公司开始使用电子文档管理系统来提高自己的工作效率,简化工作流程。国内也开始流行电子文档,所以本系统有很好的应用范围和应用前景。

1.2 课题意义

随着企业发展,电子文档数量的不断增加。电子文档的管理将被越来越多的应用在企业管理上,文档管理电子化是网络时代计算机信息处理的必然要求,为了提高运营效率,简化工作流程,越来越多的企业开始从纸质文档工作流程转移至电子文档的工作流程。目前,公司内部流通的文档越来越多以电子文档的形式出现,为了保证电子文档的安全、快速流通和共享,使用WEB 形式对电子文档的发布、审阅、修改、备份、查阅等操作是非常方便的。使用这样一个电子文档管理系统,企业能节省大量的资源和人力,同时大幅度提高自己的工作效率,而准确性和安全性也比纸质文档要高很多,尽可能科学有效地将这些电子文档组织起来,统一保存,以供全企业共享,不仅有助于领导及时了解、查询各部门的运作情况;有助于各部门规范管理自己的文件;有助于部门之间随时互通有无;更将积累成为企业的一笔巨大信息财富,成为提高企业竞争力的源泉。所以,开发这样一个电子文档管理系统有着很好的应用前景和使用意义。

电子文档管理系统能够将计算机内的各类文档分类管理,显示出该文档的文件名、类型及路径等信息,方便各类用户查找和使用,此电子文档管理系统对资料信息在管理上各司其责而在利用上资源共享,可任意调整架构,以适应不同单位、不同部门、不同类别、不同组织机构甚至于同一机构的不同时期的需求,从而完全保护用户的硬件、软件和网络资源的投资,最重要的一点是保护用户已有信息资产的投资,提供海量数据存储功能,提供完善而科学的安全机制,使其在高度安全的前提下具有最大的开放性,可以不断地增加管理的类别,设定每类资料管理的字段项目,如资料名称、项目、主题词、档案形成日期、修改情况等属性,以便快捷全面地重复使用重要的资料信息,按照组织机构的授权体系提供特权项目的授予功能,提供原件电子文档的浏览功能,提供原件电子文档的下载重复利用功能。因此,开发这样的管理系统是现代企事业单位发展的必然需求。

由于各个企业有各自的业务流程和数据表示方法,平时开发的过程中需要对不同的企业实现不同的数据结构和业务流程。而在系统开发的时候往往针对一个企业进行数据定义和建模开发。这种开发方式偏重于应用,没有过多的考虑系统的复用。如果需求有了变化,往往要大面积地修改代码,甚至是重新开发。这样就浪费了大量的人力物力。要达到降低开发成本的目的,最直接的方法就是复用以前的系统。但是企业之间业务流程和数据表达方式的差异提高了系统复用的门槛,降低了不同企业之间软件复用的可能性。但是对于电子文档管理系统来说,所有的企业最终的管理方案无非有增,删,改,查几种,而可见性,机密性,以及部门,类型差异等等将由管理员来设置,最终这个系统将会适合于绝大多数企业使用。在软件复用中,如果一系列的系统共享特定的领域中的明确需求,那么这一系列的系统构成软件的产品线。它们之间能够共享架构,从而缩短类似系统的开发时间,提高开发的效率。所以本系统可以侧重架构设计,从而产生一个能够复用的,支持各种数据库(本文采用SQL Server 2000)。架构确定了系统整体结构、层次划分、不同部分之间的协作关系以后,所形成的具体实现组成了可复用的框架。框架的作用,在于确定企业各种业务的具体技术实现,并规定它们在系统中的组织方式和协作方式,从而组成完整的企业应用解决方案,快速的完成系统开发。在框架的基础上,本系统将适合绝大多数企业使用,根据不同要求进行不同设置即可。

1.3 课题内容

关于本课题的研究,我们将通过本次设计熟悉ASP.NET 技术,使用的主要工具有VS2005, SQL 2000;主要语言有C#,SQL 和JavaScript. 以WEB 形式实现一个管理电子文档的系统, 用户可以方便地使用数据库工具如SQL2000等对电子文档管理系统的数据库进行编辑. 电子文档管理系统的功能:文档的发布、审阅、修改、查阅以及管理员对整个系统的维护等都可以进行组织并管理, 并可随时通过电子文档的提取功能, 方便地打开或执行你在硬盘上任意目录下的各类文件. 方便公司内部流通的大量文档的管理和使用。

从整个系统来看,本系统的业务功能分为以下几部分:

1. 发布电子文档;

2. 修改电子文档;

3. 审阅电子文档;

4. 查阅电子文档;

5. 管理员模块;

系统内部又划分成数据访问层、数据对象层、业务模块层、系统调度程序四个层次,层次分明、结构清晰,整个系统具有非常良好的可扩展能力。此电子文档管理系统采用稳定高效的Client/Server(客户端/服务器)模式。它提供了对相关电子文件进行存储和管理的安全架构。又采用轻松便捷的Browse/Server(浏览器/服务器)模式。它提供了远程WEB 方式的文档资料编辑与查询服务,且提供完全的开放性结构,使文档资料的组织者可以充分地利用软、硬件资源、灵活地选择最佳的管理方案,并可在今后的应用实践中进一步自我完善。

本文将详细叙述电子文档管理系统的分析、设计与实现,从分析到编码都严格遵循软件工程的思想,包括功能模块分析、设计;数据库分析、设计等。本系统基于.Net 开发平台,采用Asp.Net 作为开发工具,用SQL SERVER2000作为后台数据库支持。

1.4 开发环境

1.4.1 硬件环境

CPU : P4 2.8;

内存:512M ;

硬盘:80G 。

这个硬件环境是开发环境,使用环境可根据实际运行情况而定。本系统能在 CPU :Intel Pentium MMX 233MHZ或同等级别以上CPU ;

Memory :64MB ;

下正常运行使用。

1.4.2 软件环境

Windows 系列:Windows2000,Windows XP;

IE5.0以上的浏览器,IIS ;

开发工具:VS2005;

开发语言:ASP.NET,C#,JavaScript;

第2章 基于.NET 的电子文档管理系统分析

2.1 电子文档管理系统的可行性分析

电子文档是企业最重要的智力资产形式。随着企业的发展,企业的电子文档资料不断增长。企业通常采用Email 附件收发文档、文件共享服务器等方法进行电子文档管理。这些方法,对文档的获取、管理、可靠存储、共享、搜索、统计、分发等方面都存在局限性。企业面临效率低下、工作重复、文档丢失、管理混乱等问题,致力寻求一种高效的、智能的办公软件来管理企业内部的各类电子文档,因此电子文档管理系统的开发及应用有着很好的发展前景,所谓的电子文档管理系统,通俗而言就是一种用于PC 文档管理的软件。系统应该具备文档编制辅助系统、文档权限管理、文档变更管理、文档审签管理、技术类文档的发放回收等功能。比如瑞软文档管理系统就是一套应用于企事业单位的办公自动化管理软件,它以知识管理为核心,以沟通、协调、控制为宗旨,将现代化办公管理思想和计算机、网络、通讯等信息工具高度集成而开发的一款OA 软件系统。它的实施能够提高工作效率,加强工作的沟通与协作,实现企事业单位的高效管理。还具备公文收发、电子通知、电子公告、电子信函、网络会议、常用工具等功能。

我们所开发的电子文档管理系统,是能够集中存储企业的海量文档的信息管理系统。系统采用浏览器/服务器(简称B/S)结构,用户可以在线进行电子文档的提交和共享,搜索有利用价值的资料,从而提高了用户办公与开发的效率,缩短了开发周期及减少了开发费用,解决了施工企业分散作业与集中管理的矛盾。

根据以上的分析可知,这样的管理系统对于企业的发展有着很大的帮助,我们有必要开发出更好的系统来解决企事业单位中大量的电子文档的处理,因此,开发这样一个系统是可行的。

2.2 电子文档管理系统的需求分析

需求分析是软件开发流程中重要的一个环节,需求分析的基本任务是根据用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。它的主要用途是明确系统需求,是用户人员之间进行讨论的基础,并作为系统设计、实现以及测试的依据。只有准确全面的需求获取与分析才能保证系统设计、系统实现的顺利进行,为后期测试提供必要的支持。在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的电子文档管理系统,实现机关,企业,事业等单位电子文档的自动化的计算机管理系统,为各事业单位提供精确,精细,迅速的文档信息,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用浏览器/服务器(简称B/S)结构,用户可以在线进行电子文档的提交和共享,审批人员通过审批后即可发布文档,以供公司员工进行浏览文档信息,为保证电子文档管理系统能够有效地为公司管理人员服务,从功能上必须达到以下目标:

(1) 必须实现企业中电子文档流程的所有必需功能。作为企业的文档管理软件,系统必需能够实现诸如上传文档,修改文档,审批文档,发布文档,删除文档,查看下载文档等功能。保证系统实现的功能的有效性。

(2) 必须保证管理人员得到信息的及时性和真实性。管理人员作为整个系统的调度者,系统的信息必须及时地显示给管理人员。对于重要的信息,系统应该使用弹出警告窗口、修改显示信息的字体颜色等手段引起管理人员的注意,保证系统调度的及时性。同时系统设计日志功能,详细记录系统运行情况,便于管理员查看和维护。

(3) 必须保证管理人员和文档之间进行有效地操作。对于文档管理系统来说,文档操作的有效性,其中对文档机密程度和类型的操作尤其重要。所以,要保证管理人员和文档之间操作的及时性,提高系统处理文档效率,也就是吞吐量。

2.3 系统选定的开发工具及关键技术

2.3.1 C#开发语言

C# (C sharp)是微软推出的一门新语言。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域,最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本,C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。这种框架使C#组件可以方便地转化为XML 网络服务,从而使任何平台的应用程序都可以通过Internet 调用它。 C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。新的开发模式意味着需要更好的利用现有的各种WEB 标准,例如HTML ,XML ,SOAP (简单对象存取协议)。现存的开发工具是在Internet 出现前或是未得到充分应用前出现的,所以都不能很好的适应目前WEB 技术的开发需要,C#开发者可以方便的在微软网络平台上扩展自己的应用。C#可以将任何组件转变为WEB 服务,并且可以被运行于Internet 上的任何平台的任何应用调用,重要的是C#对这一特性提供了内置的支持,更重要的一点,WEB 服务框架可以让任何WEB 服务都看起来类似于C#的内置对象,所以可以让开发人员在开发过程中继续使用他们已经具备的面向对象的开发方法和技巧,因此,C#是一门先进的开发语言。

2.3.2 JavaScript脚本语言

Javascript 是一种由Netscape 的LiveScript 发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl ,遗留的速度问题。当时服务端需要对数据进行验证,由

于网络速度相当缓慢,只有28.8kbps ,验证步骤浪费的时间太多。于是Netscape 的浏览器Navigator 加入了Javascript ,提供了数据验证的基本功能。能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。Javascript 就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet 网页制作上。 Javascript 是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML 基础上,使用Javascript 可以开发交互式Web 网页。Javascript 的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript 编写的程序需要能支持Javascript 语言的浏览器。Netscape 公司 Navigator 3.0以上版本的浏览器都能支持 Javascript程序,微软公司 Internet Explorer 3.0以上版本的浏览器基本上支持Javascript 。微软公司还有自己开发的Javascript ,称为JScript 。 Javascript和Jscript 基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web 网页而量身定做的一种简单的编程语言。

JavaScript 有如下一些特点:JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML 文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。

2.3.3 ASP.NET 开发技术

作为一种软件开发和应用程序执行环境,.NET 是一种允许读者创建、编译、测试、部

署以及执行可以采用遵循单个通用语言运行时(CLR,Common Language Runtime)文件集的多种不同编程语言进行编码的软件。ASP.NET 是 Microsoft 公司的一项崭新技术,用于创建服务器端的 Web 应用程序。它是该公司提供的基于服务器的功能强大的技术,用于为企业的内部网创建动态的、交互的 HTML 页面。与以前的 Web 开发模型相比, ASP.NET 提供了如下几个重要的优点:

1. ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释 的前辈不同, ASP.NET 可利用早期绑定、实时编译、本机优化和盒外缓存服务。代码被编译执行相比被解释执行, ASP.NET 页面性能显著提高。

2.ASP.NET 基于公共语言运行库,它支持微软开发的主流编程语言(例如, Visual Basic.NET 、 C# 、 J# 等等),所以开发人员可以选用自己最熟悉的语言来进行研发。 3. ASP.NET 框架可以将应用程序的逻辑与表示代码清楚分开,现在 JSP 是用 Javabean 来封装逻辑代码,虽然可以反编译,但毕竟技术向这个方向迈出了一步, Microsoft .net 则用 DLL 封装逻辑代码,使代码的安全性更高。

4. 开发人员可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。 5. 借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。

2.3.4 SQL Server 2000

SQL Server 2000 是Microsoft 公司2000年推出的SQL Server 数据库管理系统的版本。它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等,具有如下几个特点:

1. 真正的客户机/服务器体系结构。 2. 图形化用户界面。 3. 丰富的编程接口工具。

4.SQL Server与Windows NT完全集成。 5. 具有很好的伸缩性。 6. 对Web 技术的支持。

7.SQL Server提供数据仓库功能。

2.3.5 Visual Studio 2005开发工具

Visual Studio 2005 和 .NET Framework 2.0 将在应用程序开发的所有方面取得大幅进展。首先,Visual Studio 2005 根据开发人员个人的需要调整软件开发体验,设置新的开发人员工作效率标准。这一“个性化工作效率”将在开发环境和 .NET Framework 类库中提供相应的功能,以帮助开发人员在最少的时间内克服其最为紧迫的困难。其次,Visual Studio 2005 使开发人员能够通过与 Microsoft Office System 和 SQL Server 2005 的更好集成,在更广泛的应用程序开发方案中应用现有的技能。最后,Visual Studio 2005 将提供一组新的工具和功能,以满足目前大规模企业的应用程序开发需要,Visual Studio 2005 包含了一系列高效的、智能的开发工具,不论是为开发初学者,还是为经验丰富的企业开发团队都提供了很多全新的、强大的功能:全方位的工具平台 不论您是一位编程初学者还是一个富有经验的企业开发团队的一员,为您提供高效的开发工具。减少开发的复杂度 确保您能更加轻松发布基于 Framework 的解决方案,包括 Windows、Web 、移动和基 于 Office 的应用。第三方的生态系统 允许您利用来自 Visual Studio 行业合作伙伴的参与研发的产品,并体验用来补充 Visual Studio 2005 第三方解决方案的全面部署。改善团队的沟通 给您提供高效智能的生命周期工具,通过使用 Visual Studio 2005 Team System,来增强 IT 周期参与者之间的交流与协作。

第3章 电子文档管理系统的概要设计

3.1 系统概要设计的原则

在进行概要设计时,我们应对照系统的需求分析来进行系统的整体设计,在保证实现系统功能需求的基础上,逐步实现系统的概要设计。在整个系统中按照功能的实现可以划分为不同的几大模块,对各个模块再做相关的处理,具体实现方法将在详细设计中阐述,在概要设计中主要的任务就是把整个系统的轮廓描述出来,按照实现的功能的不同确立系统的各个模块。在做此设计时应遵循如下原则:

(1) 低成本。随着技术的进步和系统复杂性的增加,软件成本在整个系统中所占的比重越来越大,企业应用中已经达到

25%左右,而且有继续增加的趋势。为了降低系统的成本,系统中各个模块都采用开源项目中的组件完成。它们不仅能够提供比较完善的功能,而且还能根据系统需求进行适当扩展。

(2) 规范性。从软件周期上来考虑,软件维护阶段在软件生命周期或生存期中占较大比重,有的可达软件生存周期的50-70%。所以需要软件在设计的过程中积极遵循各种规范,保证后期维护和开发人员能够快速理解系统。

(3) 易扩展性。系统的设计直接决定可扩展性。可扩展性是软件工程追求的目标,能够大大提高软件的复用程度,较低开发成本。本系统中采用界面与后台处理完全分离的形式,另外系统采用面向接口编程,这在很大程度上增加了系统的扩展性。系统采用分层机制设计,建立专门的数据访问层、服务层等,采用设计模式中的思想优化设计,从而最大程度上提高系统可扩展性。

3.2 系统框架图

此系统的开发是基于B/S模式的,具有良好的人机交互界面,整个系统对电子文档进行高效的管理,系统的每一部分都实现了其相关的功能,在整个系统中各角色分工明显,各司其职。

系统文件主要架构图如下:

图3.1 系统文件架构图

3.3 模块功能简介

根据系统要实现的功能,此系统可划分为五大模块,下面分别简单介绍一下各个模块所实现的功能。

3.3.1 登陆/注册模块

1). 注册新用户,只能是公司普通员工。 2). 登陆成功根据帐号权限进入对应页面。 3). 有安全退出提示。

3.3.2 文档提交模块

1). 文档创建人员特有权限。

2). 文件起草时设置文件大部分属性,包括文件名,起草日期,起草人,机密等级,文件类型,附件等等的初始值。

3). 提交后文件入库,未返回不能修改。

4). 若被上级返回的文档,可以修改。

3.3.3 文档查询模块

1). 所有用户都具有的权限。

2). 每一级别用户登陆成功页面上都有查询功能按钮。 3). 可以根据时间,部门,文件类型分别查阅文档。

3.3.4 文档审批模块

1). 审批员特有权限,分为一级和二级。

2). 审批过程设置文件的审批意见,审批级别和审批人和审批日期。 3). 一级审批后要么提交,要么返回;二级审批后要么发布,要么返回。

3.3.5 系统管理模块

1). 管理员具有系统中最高权限。 2). 对用户信息的管理包括帐号的删除,权限的更改,其他信息的更新以及添加新用户(一般管理员不使用此权限),编辑人员和审批人员的信息预先设置好。 3). 对文件信息的管理包括删除过期文件,调整等待文件,更改文件信息等等。

3.4 数据库设计

数据库设计是电子文档管理系统设计的很重要的一部分,将影响到系统以后数据的质量、数据库的可扩展性、数据运行的效率等,设计又分逻辑结构和物理结构两部分。

逻辑结构是系统处理的事件的数据之间的关系、分类、结构、这种结构是从用户的角度来看待数据,是面向用户的。逻辑结构的设计影响到数据库的冗余程度及可扩展性。

物理结构是数据在存储设备(如磁带机,硬盘等硬件设备)上的分布,是面向机器的,物理结构的设计将对数据的存储速度、效率,数据的可恢复性产生影响。

关系型数据库是目前广泛应用于管理信息系统的开发一种数据库,关系型数据库是一种通过建立数据之间的关系来减少数据间的冗余,减少对数据的操作,从而减少误操作,提高效率。关系型数据库可通过建立数据间的关系将电子文档管理过程的各个环节的数据整合起来。

关系数据库是由好多表作为基础的,每一个表代表某一组独立的可以描述某一事务的不重复的信息,数据库的设计将各表描述出来,然后定义各表之间的关联,数据库的设计需符合低冗余度、结构清晰、易于管理的原则。冗余度是指同样的信息在不同的表中储存多次或不必要的信息也存储了。

在此系统的设计实现过程中,用到数据库的相关知识,我们采用的数据库是SQL

Server2000,根据系统实现的需求,我们需创建10个数据表以便存储相应的数据信息。对每个数据表的介绍如下:

1. 用户信息表UserInfo, 用于存储用户的相关信息:

2. 文档信息表

DocInf o, 用于存储提交后的文档信息:

3. 文档历史表FileHistory, 用于存储曾经被修改过的文档信息,其目的是保留文档的历史

记录:

4. 附件路径表:FilePath

5. 部门表:Dept

6. 密级表:SecretLevel

7. 文件类型表:FileType

8. 返回标志表:Return_Flag

9. 审批标志表:CheckFlag

10. 权限表: UserType

11. 日志表:Log

第4章 电子文档管理系统的详细设计

4.1 系统的整体流程

本节将介绍系统的具体实现过程,开发出基于B/S模式的电子文档管理系统,实现文档的创建并上传,审批,发布,修改,查看,管理员管理整个系统的运行等,下图是整个系统的简单流程图:

图4-1 系统流程图

4.2 系统登录/注册模块的设计

在整个系统中有五类用户,根据他们对文档操作的权限不同分为系统管理员,文档创建者,一级审批员,二级审批员,普通用户,前四类用户是系统中必有的,他们的信息在信息表已经存在,由管理员进行管理,在登录/注册模块中,系统初始页面是登录页,根据他们的权限分别进入不同的处理页面,此模块是整个系统的入口模块,此模块首先根据用户输入的账号,密码及用户类型来判断系统的下一步运行,此系统的用户分为五类,,系统针对每类用户赋予其各自的职责,当普通用户是第一次使用此系统时,应先进行相应的注册方可使用,其他类型的用户可直接登录此系统进行相应的操作,系统通过判断登录用户的权限分别进入不同的操作页面来进行相应的操作,在此模块中要用到数据库的操作,在登录时要查询数据库来判断输入的用户信息是否存在,若存在即可进入对应页面,在普通用户进行注册时,注册的内容也要存入相应的数据库中以便以后登录时查询。 在整个系统的设计过程中,虽说这部分比较容易实现,但是需要考虑的细节也比较多,在登录页中,需要让用户输入自己的权限、账号、密码、验证码信息。处理此页的后台程序需先判断验证码是否输入正确,此系统中验证码的生成是通过调用一个编写好的程序来实现的,它不是简单的生成随机数,而是把产生的随机数画在一个背景图片上,这就用到C#里的一些类库和相应的函数,若这一步判断成功,则系统开始查询数据库进行判断此用户的信息是否正确,至此才可以进入到相应的页面。在注册时,点击注册按钮,进入注册页面,用户填写必要的信息,在填写时应注意格式的准确性,例如密码必须是6到12位的字符或数字,电话号码必须符合实际中的位数,邮箱的格式也必须正确,至此你才可以成功提交你的相关信息,后台程序通过必要的验证,就可把用户提交的信息插入到数据库中的相应表中。

以上是对这个模块的详细分析及设计,下图是此模块的流程图:

图4-2 登录/注册模块流程图

4.3 文档提交模块的设计

在文档提交模块中,当文档创建者进入自己的页面时,即可进行相应的操作,文档创

建者主要有:提交一个新的文档,查看要修改的文档,修改审批员要求修改的文档,删除审批员要求删除的文档,查询已发布的文档(二级审批员审批后发布),修改自己的密码以及发送邮件等操作。在文档创建者提交一个新的文档后,他可通过给一级审批人发邮件来告知让他对已提交的文档进行审批已防过期。在文档创建时还需对文档的初始信息做好多处理,在此模块中,创建人查看相应的变量,若存在被退回的文档,创建者还应该对相应的文档进行修改再重新提交,修改时根据其审批人提出的意见进行相应的改动再次存入

数据库,这样可保留文档的历史记录,文档创建者也可查阅已发布的所有文档。 此模块的主要功能分为以下几部分: 1. 创建新的文档;

2. 显示需修改的文档并进行修改; 3. 显示需删除的文档并进行删除; 4. 查询文档; 5. 发送邮件;

6. 修改自己的密码; 7. 安全退出; 文档创建者的工作在整个模块中都一一实现,当成功进入文档创建者页面时,整个页面分三个框架,最上面是标题,左边列出了文档创建者所要执行的功能,右边显示的是最近已经发布了的文档信息,任何用户点击下载附件即可打开附件内容查看发布了的文档内容,当文档创建者点击左边相应的操作时,相应的在右边打开其页面进行工作。以上是对此模块的简单功能的说明,在下面的小节中将会详细描述各功能的具体设计思想和实现方法。下图是整个模块的流程图:

图4-3 文档提交模块流程图

4.3.1 创建新文档

这部分的主要内容是提交一个新的文档,提交的文档应包含的信息有:文档名称,文

档类型,版本号,文件号,创建者,创建日期,审批日期,附件,主题,正文等信息,对于我们所设计的系统来说,因为这次提交的文档是以前从没提交的,所以它的版本号在这部分默认为1.0,不需我们填入,文档的文件号在文档信息表中作为主键,所以让去自动生成,也不需我们为其编号,因为在表中有大量的文档,编号是很费时的,在设计此系统时,我们设定了三个文档创建者,分别为三个部门的,每个文档创建者只需负责自己所在

部门的文档创建就可以,在用户登录此系统是,我们就把用户的一些信息存如到环境变量中例如:用户名,用户类型等,以便在后面的操作中会用到,所以在提交文档时,创建者也不需用户填入,为了保证文档的可靠,提交者必须填写创建日期,审批日期是保证此文档尽快通过审批者的审批,由于一个文档的内容一般来说是很大的,所以我们就以附件的形式上传,主题是你这次发布文档的说明,正文是你对这个文档内容的简单概述,当文档创建者完成相应的填写便可提交文档,提交的同时存入相应的数据表中,至此,完成文档的创建并提交。

4.3.2修改文档

当文档创建者进入自己的页面后,可点击修改文档按钮,后台程序将执行相应的操作,首先查询文档信息表DocInfo ,查询条件为返回标志为“修改”且创建者是当前用户的记录,若存在这样的文档,则把其部分信息显示在页面上,点击修改按钮转到修改页进行修改,此时为了保留文档的历史记录,需把要修改的原文档信息转移到文档的历史信息表FileHistory 中保存,历史信息表与文档信息表基本相同,只是没有归档日期,因为在历史表中的文档永远不会被发布,所以就没有此属性,再在原来文档信息表中进行修改文档信息,其需填写的内容和文档创建时是一样的,在这就不需重复说明了,实现这部分功能主要用到ASP.NET 中的DataGrid 控件和其相关的属性。

4.3.3 删除文档

文档创建者提交文档后,文档需通过一级和二级审批者进行审批,在审批过程中,若审批者发现此文档没有任何价值或由于其他原因,没必要发布此文档,则审批者通过把文档的返回标志置为“删除”,文档创建者通过查询文档数据表获知此信息,这部分操作步骤和修改文档差不多,只是在查询数据表时的查询条件不同而已,它的查询条件是返回标志为“删除”且创建者是当前用户的记录,接下来的操作就基本相同了。

4.3.4 查询文档

这部分的操作是基于查询模块的,任何用户只可以查询已经发布了的文档信息,没有发布的文档是不能查看的,查看文档时,有三类查询条件,即按日期查询、按文档类型查询、按部门查询,在按文档类型进行查询时,我们用到了模糊查询,这部分的操作大多都是在查询数据库,查询语句比较难写,具体实现将在查询模块中讲述。

4.3.5 发送邮件

发送邮件是基于网路来实现的,要用到SMTP 协议,这部分的实现也是一个难点,当文

档创建者提交一个新文档后,为了不让文档的审批时间超过一定的范围,他可发送邮件给一级审批者,通知他你已提交一份文档,让他及时审批并提交给二级审批者。要完成这部分功能,我们应需掌握相关的实现技术,要用到C#中的SmtpClient 类和MailMessage 类的相关的属性和方法,前台做相关页面的实现,后台做相关功能的处理。

4.3.6 修改密码

任何用户都有权限修改自己的密码,这部分的实现很简单,输入旧密码和新密码后,系统先判断你的旧密码是否正确,若正确把原来的密码更新为新密码,至此修改密码成功。

4.3.7 安全退出

当文档创建者完成了自己的功能后,不需再提交新文档时,便可退出系统,用户点击安全退出按钮时,即可退出当前页面,若需重新使用此系统则重新登录便可。

4.4 文档查询模块的设计

在查询模块中,此模块用于系统的用户查询已经发布了的文档,查询的方式各种各样,尽可能多地搜集到用户已经知道的关于文档的信息。可以根据文档的创建、批阅和发布的日期查询,也可以根据文件类型,密级和文档的创建人查询,最常用的还是根据文档名称、标题和主题词查询。还可以根据用户需要,查询文档之前的各个历史版本,一般情况下用户查询到的是文档的最近版本,每次查询时根据用户的需要选择相关的查询条件查询所需文档。

下图是此模块的流程图:

图4-4 查询模块流程图

4.4.1 按日期查询

在文档的信息表中有文档的创建日期,审批日期,发布日期,所以在根据日期查询文

档时,我们有三种选择,即按创建,发布,审批三类时间进行查询,查询主页由SearchByDate.aspx 实现,主要是一些ASP.NET 的控件组成,最主要的是时间控件。后台由SearchByDate.cs 实现,实现代码主要是一些查询语句,其结构也是比较复杂的。根据选择的条件查询数据表,若有符合条件的记录则在显示结果页ResultPage.aspx 中显示。

若没有相关信息则提示换一种查询条件。

4.4.2 按部门查询

文档创建时是按不同的部门进行提交的,各部门有各自的文档,所以我们可以根据部门的不同查看不同的文档信息,在设计此系统时我们假定有三个部门,三部门分别对应三个不同的文档创建者,每个创建者只提交自己所在部门的文档,查询页由SearchByDepartment.aspx 实现,查询语句在后台SearchByDepartment.cs 里实现,其查询结果同样显示在显示结果页ResultPage.aspx 中。

4.4.3按文件类型查询

在数据库设计中,我们专门设计了一个数据表用于存放文档的类型,我们在提交文档

时必须选择文档所属类型,在这部分查询中,查询页由SearchByFile.aspx 实现,在此页面中有四项查询选项,你可以选其中一种或几种的结合进行查询,但至少得有一种查询条件。按文件名、文件密级、文件类型、主题词查询,因为一个文档的文件名称和主题词不是文档的主要信息,我们没法分的很细,所以在这部分查询中,我们用的是数据库中的模糊查询,其查询语句由后台SearchByFile.cs 实现,由于设计到好多查询组合条件,其语句是相当复杂的。

4.5 文档审批模块的设计

在文档管理系统中,此模块也是很重要的一部分,当文档创建者提交文档后,审批者就开始审批提交的现有文档,在审批这部分中此系统设计了2级审批,一级审批者按照不同的部门对各自所在部门的文档进行审批,在审批过程中若发现提交的文档有问题则返回给此文档的创建者让其进行修改,审批状态置为“未审批”,若通过审批置为“一审通过”,并进行提交,让二级审批者进行审批,二级审批者审批文档是根据文档的密级程度不同进行审批的,此系统设计时,把文档的密级划分为三个等级,即秘密、机密、绝密,二级审批者对文档进行审批时,若不合要求也可退回给此文档的创建者进行修改或删除该文档,若通过审批则发布此文档,下图是此模块的流程图: 图4.5 审批模块流程图

4.6 系统管理员模块的设计

该模块为系统管理员而设计,包括的功能主要有待办事项,用户管理,文档管理,系统日志和部分公共功能。该模块实现主要通过GridView 实现各种信息的管理。下图是该模块的文件架构图:

图4.6 管理员模块的文件架构图

管理员主页显示待办事项,包括过期的文件处理等,以GridView 显示,左侧功能选项点击用户管理,进入用户页面,以GridView 显示,有详细信息(编辑)和删除选项按钮,详细信息页以TextBox 显示,可修改的可读,不可修改的不可读。左侧功能选项点击文档管理,进入文档页面,以GridView 显示,有详细信息(编辑)和删除选项按钮,详细信息页以TextBox 显示,可修改的可读,不可修改的不可读,点击查看系统日志按钮即可在页面上显示此系统的使用情况,在数据库中建有一个数据表用于存储系统的日志信息,数据表中的每条记录都代表相应的用户的相应操作,在每个用户操作过程中,都有写入日志的函数,我们调用这个函数,便将我们的操作过程插入到日志表中。下图是此模块的流程图:

4.7 系统管理员模块流程图

4.7普通员工模块的设计

整个系统的用户分为五类,每类用户各有自己的工作,他们根据自己的用户权限进入不同的操作界面,在这五类用户中,普通用户只有查看本公司的已经发布了的文档信息,他不能对任何文档做任何的修改,只是查看最近公司都发布了那些文档信息,普通用户和其他四类用户不同,他在初次使用此系统时必先进行相应的注册方可使用,下图是此模块的流程图:

图4.8 普通员工模块流程图

4.8 公共模块的设计

此模块主要不是按流程实现的,是一些来自其他模块的连接页面,主要有密码修改页ChangePwd.aspx 、安全退出页Logout.aspx 、错误页PageError.aspx 、附件下载页Out.aspx ,系统的每一个用户都有权限修改自己的密码,在相应页面点击修改密码按钮即可转到这个页进行密码修改,安全退出是保证系统用户安全的退出此系统,防止有人恶意破坏此系统,考虑到当系统执行时,当发生错误时转到这个页面并把错误信息显示在这个页面上,开发人员可根据此信息来维护整个系统的运行,附件下载页是这部分甚至是整个系统的难点,当我们把文档以附件的形式上传到服务器后,审批者和其他用户查看此文档时,必先把文档下载到本机上才能进行相应的操作,这部分功能的实现,我们同样借助数据库的操作,在文档创建者提交文档的同时,把文档的上传之前的路径、上传后的路径及上传后的文档名称存入到数据库中的FilePath 表中,在下载附件时再根据这个表中的相关信息下载附

件,程序执行时弹出相应的对话框你可以选择保存文件、打开文件、取消文件,至此下载附件工作完成。以上这部分我们实现了系统各模块用到的公共部分。

4.9 公共类设计

根据需要本系统共设计了2个公共类,在整个系统中对数据库的操作特别多,几乎每个功能的实现都得对数据库进行操作,所以我们把对数据库的操作放在了一个公共类Database.cs 中,以方便我们调用,与之对应的还有系统日志的写入,对系统的任何操作几乎都要写入系统日志表中,对他的操作同样的多,因此我们也写了一个公共类SqlExceptionLogger.cs ,在系统的相应地方调用这两个类就可方便的执行相应的操作.

第5章 系统实现

5.1 系统安全控制实现

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW 端口访问,而且表面看起来跟一般的Web 页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS 日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。

实现系统的安全控制,本系统是典型的数据库开发系统,所以对数据库的攻击一定要加以防范,其中最典型的就是SQL 注入式攻击,本系统采用JS 转化方式,在客户端禁止用户输入特殊字符,以达到防止SQL 注入式攻击的目的。

5.2 Internet信息服务器(IIS )的架设

Internet Information Server作为整个系统的基础平台,因特网信息服务器IIS 是Microsoft 公司的一种集成了多种Internet 服务(WWW 服务、FTP 服务)的服务器软件,利用它,可以很容易的构造Web 站点。由于同一家公司的产品,IIS 和WindowsNT/2000紧密地集成在一起,可以充分利用WindowsNT/2000的多种功能,其安全机制也以WindowsNT/2000的NTFS 安全机制为基础,因此可以实现用IIS 构建Web 站点的安全性。

当我们在自己的机子上安装好IIS 服务器后,我们就可以进行默认Web 站点的设置了。 ● 站点标识

我们需要更正Web 站点标识说明,这个说明不必和Url 完全相同,但是站点的说明必须有一定的代表意义。

● 设定IP 地址和端口

如果要在Internet 上发布主页,那么所设定的IP 必须有效,并且不能和其他已有的IP 重复。如果仅仅是为了在自己的机器上调试或浏览,可以把IP 设定成为127.0.0.1,代表本机。如果你要在Intranet 中建立服务器,那么设定的IP 应为内网段的,在这里我们假定内网的IP 为192.168.0.1。

Web 站点的默认TCP 端口值有80和8080两种

● 设置主目录

设置Web 站点的主目录。输入正确的主目录路径,这就是网站的根目录。如果不作改动的话,默认的主目录就是C:\Inetpub\wwwroot。

● 配置目录访问权限

权限是Internet 服务器安全模式所必须支持的。所以我们一定要确保权限配置是正确的,不正确的配置会使站点工作不正常,甚至将程序的源代码显示给访问者。

至此,就完成了IIS 服务器的设置,你只需要在浏览器中键入“127.0.0.1”就可以访问自己机器上的Web 站点,或者在内网中的任何一台机器上输入192.168.0.1,既访问内网的服务器。这样就可以实现浏览功能。

5.3 系统的三层C/S实现

C/S计算技术在信息产业中占有重要的地位,网络经历从基于宿主机的计算模型到客户机/服务器计算模型的演变。目前流行的三层网络计算模式,前台是浏览器,中间是WEB 服务器和应用程序服务,后台是数据库服务。

在三层模式中,Web 服务器作为一个浏览服务器,可以将整个应用逻辑驻留在应用服务中,而只有表示层存在于客户机上,这种结构被称之为“瘦客户机”。这种结构中,无论是应用的HTML 页还是JavaApplet 都是运行时刻动态下载的,只需随即的增加中间层的服务(应用服务器)。即可满足扩充系统的需要。由此我们可以用较少的资源建立起具有很强伸缩性的系统,这正是网络计算模式带来的重大改进。

三层C/S结构是将应用功能分成表示层、功能层和数据层三部分,其解决方案是:对这三层进行明确分割,并在逻辑上使其独立。原来的数据层作为DBMS 已经独立出来,所以关键是要将表示层和功能层分离成各自的独立程序,并且还要是这两层间的接口简洁明了。一般情况是只将表示层配置在客户机中。如果连功能层也放在客户机中,与二层C/S结构相比,其程序的可维护性要好得多,但是其他问题并未很好的解决,客户机的负荷太重,其业务处理所需的数据要从服务器传给客户机,所以系统的性能容易变坏。

如果将功能层和数据层分别放在不同的服务器中,则服务器和服务器之间也要进行数据传送,但是,由于在这种形态中三层是分别放在各自不同的硬盘系统上的,所以灵活性

很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系统规模越大这种形态的优点就越显著。

在三层C/S中,表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据,为使用户能直观的进行操作,一般要使用图形用户接口(GUI ),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层,检查的形式也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑,功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中,表示层和功能层之间的数据交往要尽可能简洁,数据层就是DBMS ,负责管理对数据库数据的读写。DBMS 必须能迅速执行大量数据的更新和检索,现在的主流是关系数据库管理系统(RDBMS )。因此一般从功能层传送到数据层的要求大都使用SQL 语言。 在三层或N 层C/S结构中,中间件(Middleware )是最重要的部件,所谓中间件是一个用API 定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架,它的功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。

一般而言,三层C/S结构的优势主要表现在以下几个方面:

1.利用单一的访问点,可以在任何地方访问站点的数据库;

2. 对于各种信息源,不论是文本还是图形都采用相同的界面;

3. 所有的信息,不论其基于的平台,都可以用相同的界面访问;

4. 可跨平台操作;

5. 减少整个系统的成本;

6. 维护升级十分方便;

7. 具有良好的开放性;

8. 系统的可扩充性良好;

9. 进行严密的安全管理;

第6章 系统测试

由于软件开发复杂性的原因,软件开发过程中不可避免的会产生各种错误。为了在软件开发的顺利完成以及在软件投入实际运营之前,尽可能多地发现软件当中的错误,需要尽可能全面地对软件进行测试。目前软件测试仍然是保证软件质量的关键步骤,它是对软件需求分析、设计以及编码的最后的检查。

对应于软件开发的各个过程,软件测试也分为几种不同的层次。每一个层次都是下一层次的继续。

(1) 单元测试,单元测试对应于详细设计部分,从软件的详细设计中导出。软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

(2) 集成测试,集成测试对应于系统的概要设计,主要用来的是各个模块之间的接口的正确性。

(3) 系统测试,系统测试的目的是通过测试发现是否需求分析中的功能相符。

6.1 单元测试

单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。本系统的单元测试采用模块与模块分离的办法,单个网页实现,以网页为单位,每个触发时间都进行了测试,主要是针对数据库访问错误和链接错误进行测试,在ASP.NET 中,VS 2005有强大的测试工具,可以断点跟踪,可以运行单个网页,可以进行预览,这都给单元测试提供了极大的方便。

6.2 集成测试

集成测试,也叫组装测试或联合测试。它是在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行的测试。集成测试应该考虑以下问题有:数据在模块接口之间穿越时是否会丢失;各个子功能组合起来,能否达到预计要求的父功能;模块之间是否会有不良的影响;单个模块中的误差是否会在其他模块中进行放大。合理地组织集

成测试,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号和测试的次序、生成测试用例和调试的费用。通常,有两种不同的组装方式:一次性组装方式和增量式组装方式。

本系统的集成测试将所有模块绑在一起,主要的针对性错误是链接错误和Session 对象信息错误和数据错误,网页跳转时信息的存储是本系统一大难点,ASP.NET 提供的Session 对象默认为20分钟的生存周期,如客户端无任何操作时候则Session 对象全部自动释放。模块间的链接也是容易错误的地方之一,经常会有一个路径错误导致系统崩溃。

经过测试,发现系统中管理员修改用户详细信息时的GridView 总提示未发现对象,后经过代码检测,发现在GridView 的详细信息按钮事件中忘记添加跳转页面信息Request[“ID ”]导致,修改后正常运行。

6.3 系统测试

系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。

系统测试的过程中,客户端在IE 和Firefox 下进行分别测试。对需求中描述的所有功能进行全面的测试。

输入服务器的URL 地址,提示无法访问。根据测试,发现系统所在服务器的IIS 服务器配置有问题,重新配置后正常登陆。

结论

本文通过详细了解系统功能的需求,并根据实际情况补充了非功能性需求。在充分考虑了系统的扩展性、复用性和开发成本的前提下,采用分层的思想对系统进行总体设计。对系统中的业务流程进行功能设计。根据实际情况解决了开发中所遇到操作难题,并分别对客户端子系统和服务器端进行了实现。最后通过测试检验了系统的功能实现情况和运行效果。

本文的工作主要包括下面几个方面:

1. 简单介绍了ASP.NET 概念并简要介绍了微软的两大工具VS 2005和SQL Server 2005

的优点,对C#,JavaScript 也进行了简要描述。

2. 按照分层设计的方法对系统进行整体设计,并根据实际需要把系统的整体功能划分为不同模块来实现,每个模块都按功能设计,按流程实现,步步紧扣,有条不紊。最后以实体设计类为依据,完成了数据库表设计并设计了公共类。

3. 通过测试,验证了系统功能实现的正确性和有效性。

开发一个Web 电子文档管理系统,涉及到很多方面内容,从企业的背景和需求,系统结构的选择和设计到开发技术和开发工具的选择一系列的问题,完成一个软件工程的过程。

通过一个完整的系统开发,我从实践中加深对软件工程各个过程的认识,深刻理解到软件开发的前期工作的重要性和决定性,比如数据库的一个表,就是因为一个表的设计出了问题,在编码遇到一个无法解决的问题而不得不对整个数据库的大部分重新设计。在系统的开发过程中,我尽量以编码的规范化以及以后方便维护的原则,对大部分重要的代码都在加以了详细的注释,这样也使得我在以后对系统的扩充有重要的意义。在开发系统的过程中,第一件事就是要了解客户的需求,也就是需求分析及之前的工作,在这一过程中,将会接触到企业内的工作流程,了解到一些企业的工作方式,这将有助于扩大个人的知识面,宽阔个人的视野,增加个人的见识。跟客户交流、分析客户需求和系统需求本身就不是一件简单的事情,需要有一定的技术和技巧去了解用户的需求,这也是一个人一方面能力的体现。而且,系统需求分析决定了整个系统的开发,只有开发出符合用户需求的软件才是成功的软件。

由于这次是我第一次接触到网络编程,所以工作进度比较慢,在系统设计和开发的过程中要不断地学习,所有的东西对我来说都是新的,但也因此从中学到了很多以前没学的东西。在这个过程中,增加了对运用Asp.NET 、C#、JAVASCRIPT 、SQL SERVER进行网络系统的设计和网络编程的了解,了解了如何用B/S体系结构开发系统。

参考文献:

1、 书名:《ASP.NET2.0实用教程(C#版)》 编著:崔良海

出版单位:人民邮电出版社

2、书名:《SQL Server 2005实用教程》 编著: 李伟红 贾振旺 崔玉宝 李瑛

出版单位: 中国水利水电出版社

3、书名:《网页设计与制作教程》

编著:许斗 罗海峰 李华勇

出版单位:合肥工业大学出版社

4、书名:《网页程序设计》

编著:陈俊荣

出版单位:清华大学出版社

5、书名:《C#网络应用编程》

编著:马骏

出版单位:人民邮电出版社

6、书名:《JSP 陈旭设计案例教程》

编著:刘志成

出版单位:清华大学出版社

7、书名:《C#程序设计教程》

编著:刘甫迎 刘光会 王蓉

出版单位:电子工业出版社


相关内容

  • 财务报表 - 企业档案 - 道客巴巴(在线分享平台)
  • 搜索 高级搜索 热门关键词: 高考 课件 小学 论文 方案 金融 汉和防务 财务报表 公司年报 公务员法 行业资料 交通运输 能源电力 设备制造 广电传媒 采矿施工 机械机电 纺织服装 食品饮料 媒体广告 电子电信 洗涤化妆 冶金钢铁 医药卫生 石油化工 家电行业 印刷出版 农林牧渔 酒店餐饮 旅游 ...

  • 毕业论文选题
  • 毕业论文(设计)选题 一.信息管理专业 题目1.基于PHP的投票管理系统(设计类) 参考语言:PHP,MYSQL 要求:能够使用PHP编程语言及MYSQL的数据库知识设计一个投票管理系统,能够实现:申请投票主题.投票.统计投票结果.版主管理等主题模块 题目2.基于PHP的产品进销存管理系统(论文类) ...

  • 企业档案管理实践的创新论文
  • 企业档案管理实践的创新 论文 摘 要:在企业大力实施信息化建设的背景下,文件与档案管理迎来了巨大的创新机遇和空间.为此,从工作平台.流程.管理.制度和服务等五个方面,探讨了档案工作者如何适应信息时代新的节拍,在管理实践活动中,探索新的管理领域和方法,提炼新的管理理念,从而创新文件与档案管理之路. 关 ...

  • 论文参考文献的类型及标注
  • 论文参考文献的类型及标注,脚注和尾注,[EB/OL] ( 光标放在引用参考文献的地方,在菜单栏上选[插入|脚注和尾注],弹出的对话框中选择"尾注",点击[选项]按钮修改编号格式为阿拉伯数字,位置为"文档结尾",确定后Word就在光标的地方插入了参考文献的编号, ...

  • 高校教师管理系统_详细设计文档
  • [项目名称] 详细设计说明书 2009 年 05 月 9 日 1.引言 1.1编写目的 高校的教师档案管理一直是一个非常棘手的问题.以往的档案管理多采用人工管理的方式,以电子文档和纸质文档存储.然而教师档案的动态性使得这种方式捉襟见肘.教师档案的实际变化同档案记录同步性较差.另一方面各大高校往往有自 ...

  • 17个专业的学术文章和学术论文搜索引擎
  • 目前绝大多数论文学术文章在网上是以pdf或者ps文件形式存在,也有少量的doc文件,google能够搜索上述文件内的东西,但google并不是搜索学术文章或者论文的最佳工具.下面左腿网推荐几款比较实用的专业学术文章或者学术论文搜索网站. 1 . Google Scholar Google 推出的免费 ...

  • 扬州大学研究生学位论文格式要求
  • 扬州大学研究生学位论文格式要求 学位论文是研究生申请学位的重要依据材料,它反映了研究生的科研能力和学术水平.为了提高研究生论文质量,做到学位论文在格式上的规范化,特作如下要求: 研究生学位论文必须用中文撰写,一般应由十个主要部分组成,依次为: 1.封面,2.中文摘要,3.英文摘要,4.目录,5.符号 ...

  • 暨南大学课程论文模版
  • 暨 南 大 学 本科生课程论文 论文题目: 学 院: 学 系: 专 业: 课程名称: 学生姓名: 学 号: 指导教师: 年 月 日 职场"不败玫瑰"的秘密-- 试析女性职业经理人的核心竞争力 [摘 要] [关键词] /*关键词是供检索用的主题词条,应采用能覆盖论文主要内容的通用技 ...

  • 英文版模板2016届[中国传媒大学南广学院本科毕业论文]
  • 保密类别 编 号 本 科 毕 业 论 文 XXXXX :(英文标题为小二号Times New Roman,居中) XXXXXXXX (副标题可有可无.四号Times New Roman,居中) XXXXX (中文标题为小二号黑体,居中) --XXXXXXXX (副标题可有可无.四号仿宋,居中) 院( ...