首页 > 范文大全 > 正文

基于ASP.NET的办公自动化系统的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于ASP.NET的办公自动化系统的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:论述了三层结构,给出了.NET平台上三层结构的实现方法,并将封装为OACF,讲述了一个基于, OACF和SQL Server 2005相结合的办公自动化系统设计,并通过一个办公自动化系统登录模块的实现,描述了该方法在实际的软件开发中的实现过程。

关键词:三层结构;;;OACF

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)08-1898-02

Designment and Implementation of Office Automation System Based on the

SONG Gui-Juan1, MAO Yi-fei1, XV Nan2

(puter Department of Dalian Neusoft Institute of Information, Dalian 116023, China; 2.Liaoning Public Security Fire Department,Dalian fire brigade detachment, Dalian 116318, China)

Abstract: The basic principle of three layers,the implementation method based on the three layers are discussed, and is encapulated to OACF. with combination of , OACF and SQL Server 2005 technology, the office automation system was developed. At the same time, the implementation method of three layers is emphasized by the example of login module.

Key words: three layers; ; ; OACF

办公自动化是近年随着计算机科学发展而提出来的新概念。办公自动化,简称OA(office automation)。办公自动化由20世纪70年代末80年代初在我国提出,在80年代至90年代得到了飞速的发展。办公自动化作为一门学科已越来越受到人们的重视,它以系统科学为理论基础, 行为科学为主导,综合运用信息技术完成各种办公业务,充分有效地利用信息资源,以提高生产效率、工作效率和工作质量,促进办公活动规范化和制度化,以达到既定的目标,获取更好的效果。近年来,随着计算机及网络技术的迅速发展,采用Web技术开发的应用系统,功能分配更加合理。作为计算机应用重要领域之一的办公自动化系统,在政府机关、企事业单位扮演重要的角色,开发基于Web技术的办公自动化系统已成为很多单位的迫切要求。

作为Microsoft的.NET框架的重要组成部分,给设计者一种全新的Web设计理念。它将软件设计和Web设计融为一体。和、、VC#使用同一个.NET框架对象开发库,提供了极强的代码集成的能力。与ASP技术相比,具有速度快、安全性好、功能强等特点。迅速成为开发Web应用程序的有力工具。我们采用了技术,开发了一个办公自动化系统。在实际应用中收到良好的效果。本文论述了该系统的设计方法和关键技术。

1 用部署三层结构

典型的.NET三层结构,即表现层、业务逻辑层和数据层。如图1上半部分所示。

在部署三层结构时严格遵守以下原则,能使开发节奏快速、稳步有效,代码清晰且可重用性高,系统健壮性好、可靠性高,节约开发成本和开发时间[1] 。

表现层根据用户的请求调用不同的业务逻辑、为用户提供交互接口并显示业务处理结果。它由Web表单、XML Web服务和组件服务组成。其中Web表单是应用程序的核心所在,是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础。在本文给出的方法中,表现层使用的技术为。的主要特点就是页面和代码分离即进行输入输出的界面UI元素和处理用户交互的代码分离。界面UI元素主要使用HTML,CSS,JavaScript和ASP服务器控件实现。

业务逻辑层完成具体的业务逻辑操作,返回处理结果。为提高开发效率,业务层使用C#编写的类封装具体的业务逻辑和数据访问逻辑,名称为OACF,如图1所示。

OACF包括以下内容:

OperationResult(Common.cs)――用于保存页面执行结果和返回URL;

Constants――用于保存系统中所用到的常量;

DataAccess――封装企业库的DAAB以Dictionary形式操作数据;

DictionaryHelper――简化从多个字符串到Dictionary的转换;

BaseService――业务类的基类;

QueryHelper――方便拼凑多条查询;

SecurityHelper――加密字符串。

WindowHelper――封装一些常用的javascript窗口和其他功能。

数据层用来完成业务逻辑对数据库访问的任务。数据层是通过OACF操纵数据为业务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。在数据层中,为了改进应用程序的性能,系统引入了存储过程、函数、视图。由于.NET结构本身的特点决定了在.NET平台下,实现基于组件的三层结构方法变得非常简便、快捷。

2 系统设计

2.1 功能模块设计

整个系统采用技术,开发工具为VS2005,开发语言为C#,后台数据库采用自带的SQL Server 2005数据库,整个系统的总体架构如图1所示。系统包括个人管理、人力资源管理、综合业务、信息管理、系统管理五大模块,各部门模块下又根据具体需完成的任务,进一步细分为若干子模块,系统的总体架构如图2所示。

2.2 数据库设计

在信息管理系统的整个开发过程当中,数据库设计的好坏是成败的关键。本系统涉及到的数据种类繁多且数据量很大,因此数据库的合理性及优劣性将直接影响到整个应用系统开发工作的难易和开发效率的高低[2]。

根据前面对系统功能模块的分析,建立数据库OA。系统的数据库中涵盖的数据主要包括个人管理、人力资源部分、综合业务部分、信息模块和系统管理模块,涉及到的数据表非常多,表与表之间的关系也比较多样,有一对一的关系,一对多的关系、多对多的关系。限于篇幅,以人力资源相关数据表之间的关系为例,分析数据关系结构。人力资源表格包括员工表、请假表、加班表、工资表、考勤表、劳动合同表、培训表等。表之间E-R关系如图3所示。

3 登录功能的实现

现以登录功能为例,描述系统的实现。登录过程如下:如果用户的用户名或密码框内的内容为空,则警告用户,并要求重新登录。用户的用户名或密码框内的内容不为空,则在数据库的员工信息表中查找用户信息。如果未查到,则警告此用户不存在。如果用户名存在,则检查密码框中的内容是否与数据库中员工信息表中的密码相符。相符则登录成功,不相符则警告密码不正确,要求用户重新输入。在登录页面隐藏文件中要引入名字空间:

using OACF;//引入OACF

using OA.Services;//引入Services

Dictionary user =

UserService.getUserInfoByLoginName(txtLoginName.Text); //调用Service中的方法,获得用//户名对应的全部信息

if (user == null)//如果不存在用户名

{

WindowHelper.Alert("用户不存在!", this);

return;

}

if (!UserService.checkPassword(user["Password"], txtPassword.Text))

//调用Service中的方法checkPassword,检查

//密码是否正确,如果密码不正确

{

WindowHelper.Alert("密码不正确!", this);

return;

}

Session[Constants.LOGIN_USER] = userInfo

//用户名和密码都正确把用户信息存储在//Session中。

在OA.Services中的实现方法如下:

using System.Collections.Generic;

using System.Text;

using OACF;

using System.Data;

using mon;//引入企业库

using Microsoft.Practices.EnterpriseLibrary.Data;

//引入企业库

private static String SQL_EMP_INFO_BY_LOGINNAME =

@"select * from employee where LoginName = @loginName";

public static Dictionary getUserInfoByLoginName(String loginName)

{

return DataAccess.ExecuteToSet(SQL_EMP_INFO_BY_LOGINNAME, "loginName", loginName);

//执行DataAccess类的查询方法,返回满足给//定参数的数据库中一行的信息

}

OACF的引入,使得开发人员只需要关注页面的处理逻辑和SQL语句,极大提高了系统的开发效率。

4 系统安全策略的实现

本系统在模块访问上采用用户―角色―模块的三层安全模式,第一层为户,第二层为角色,第三层为系统模块。此模型将系统的模块权限和用户分使用角色作为一个中间层,用户和角色之间,角色和模块权限之间建立关系,而用户和模块权限之间没有直接的关系[3] 。用户和角色的关系是,一个用户可以同时属于一个或多个角色,一个角色也可以同时包含一个或多个用户。同样,角色和模块之间的关系也是多对多的关系,并且可以设置角色对模块的具体操作权限(浏览、查询、添加、修改和删除)。用户访问模块时,通过其所在的角色对模块的访问权限来获得访问该模块的权限,当用户进入模块后,用户的所有操作都要经过权限判断,不具备操作权限时,则给出提示信息,禁止操作继续。这种分层的管理模式使得用户对系统数据的每一步操作都要进行权限判断,能保证系统安全、可靠地运行。

5 结束语

Intemet/lntranet及其应用技术的不断发展必然给社会生活的各个方面带来广泛的影响。这种基于B/S模式的办公自动化系统必将会得到更广泛的应用,它解决了办公业务的跨部门处理,消除了企业内部各类信息孤立的现象,大大提高了劳动效率。该系统可作为其他B/S系统的模型进行改进,系统的功能还有待进一步完善。

参考文献:

[1] 苏学花,杨寿保,王丽侠. 基于技术的网上论坛的设计[J].计算机科学,2004(31):106-108.

[2] Meszoly A B,Levendovszky T,Charaf H.Performance Factors in Web Applications with Limited Queue Model[C].INES Intemational Conference on Intelligent Engineering Systems,2006:253-257.

[3] Spetic A,Gennick J.Transact-SQLCookbook[M].Oreilly,2002:80-113.