基于B/S模式的工资查询系统的设计与实现

时间:2024-11-10 08:57:03 来源:作文网 作者:管理员

摘要:工资查询系统针对单位中普遍存在的工资查询时间滞后、概念落后、资源浪费等弊端,提出了工资查询网络化的解决方案。文章从系统设计、数据库设计、系统功能实现过程及安全设计等方面详细阐述了工资查询系统的设计与实现过程。对三层B/S模式架构、ASP.NET技术和SQL Server数据库在工资查询系统构建过程中的应用进行了研究分析。

关键词:Asp.net;B/S模式;三层架构;工资查询系统

Abstract: The wage system for time lag, query common units in the wage concept backward, waste of resources and other problems, proposed solutions to wage query network. The article from the system design, database design, system function realization process and the safety design, detailed design and implementation process of the wage system, The three layer B/S model, ASP.NET technology and SQL Server database application in the construction process is analyzed on the wage query system.

Key words:Asp.net; B/S mode; three layer architecture; the wage query system

随着互联网及IT技术的深入发展,很多单位逐步实现了日常工作的电子化与网络化,然而在职工工资发放领域,大多数单位依然在延续签领纸质工资条的方式。工资管理是单位管理的一个重要内容,随着工资制度改革的不断深入与工资项目组成的变化,职工对于个人工资发放项目的了解越来越陌生,传统的签领纸质工资条的方式因为受到多方面因素的限制,已经无法满足职工对个人工资了解的需求。因此,开发一个基于局域网的工资查询系统,以工资项目电子化快速展示取代传统的纸质工资条签领模式成为亟待解决的问题。

1 系统设计

1.1 系统功能分析

本系统根据某校工资管理需求进行设计,通过对业务流程的调研,按照业务需求和工作层面的具体要求,采用后台进行人员信息和工资录入或批量导入的模式,前台进行查询信息动态页面显示的形式,形成系统化、自动化、高效率的工资查询系统。

本系统具有两种操作用户角色,即个人用户和系统管理员。个人用户只拥有个人工资信息查询及个人密码维护的权限,通过输入身份证号和密码登录系统,然后选择需要查询的月份便可对自己每个月工资的具体情况有清晰的了解。系统管理员可以进行本系统所有基本信息和用户工资信息的维护工作。对于用户基本信息及工资信息,设计采用Excel模版进行初始信息的录入与批量导入,管理员可以完成用户信息及工资数据的增加、修改、删除等功能。系统可以根据业务具体需求对工资项目进行自定义,方便单位在进行工资管理时的需求。系统功能模块如图1所示。

1.2 系统架构分析

系统在进行整体体系结构规划时,考虑到系统操作与管理的高效性,采用三层B/S模式体系框架,即浏览器和Web服务器模式,以标准化的网络浏览器代替传统的客户机作为客户端,开发适用于系统需求的分布式Web应用✘系统。三层架构依据“高内聚、低耦合”的思想将整个业务应用划分为:

1)表示层:即展现给用户的界面。

2)业✍务逻辑层:即针对具体问题的操作,也可以说是对数据层的操作,对数据业务的逻辑处理,它的目的是将“数据访问层”最基础的存储逻辑组合起来,形成一种业务规则。

3)数据访问层:即直接对数据库进行操作,针对数据的增添、删除、修改、查找等,只管负责存储或读取数据。

在该模式中,客户端只负责提供用户界面,当需要进行数据访问时,用户通过浏览器以超文本形式向Web服务器提出访问数据库的请求,Web服务器对浏览器的请求进行处理或向数据库服务器发出SQL命令,由数据库服务器完成相应的数据操作,然后将处理结果返回给Web服务器,Web服务器再一次将得到的结果进行转化,以超文本形式转发给客户端浏览器呈现在用户眼前。采用三层B/S模式体系框架的Web应用程序实现了真正意义上的“瘦客户端”,有很高的稳定性、扩展性和执行效率,将服务集中在一起管理,统一服务于客户端,具备良好的容错能力和负载均衡能力。系统整体架构如图 2所示。[6]

2 数据库设计[1]

系统使用Miscrosoft Asp.Net进行开发,数据库采用Miscrosoft sqlserver2000,它们与服务器环境IIS均采用一致的开发策略,在界面技术、面向对象技术、组件技术等方面都可以相互调用,配合密切。Sqlserver2000数据库充分利用了Windows操作系统的内部优势,不仅操作方便,而且功能强大,安全性高,完全可以满足系统的需要。

2.1 数据库需求分析

根据系统开发需求,考虑到对系统操作的达到最方便管理,数据库设计遵循如下原则:

1)根据具体工作的要求来决定数据库整体组织形式和数据表的结构;

2)遵循独立原则,按规范化的原则设计数据库,减少数据间的依赖和冗余;

3)考虑程序的运行效率及程序设计的复杂度;

4)要有很高的数据库安全性。

工资查询系统数据库的功能主要体现在对工资信息及人员基本信息的提供、更新和查询操作以及系统管理界面数据的操作上。包括员工用户的信息、工资项目的信息以及管理界面导航信息,其中员工信息及工资信息数据存在内在的联系。针对该系统的数据特点,总结出如下需求:员工用户信息比较简单,主要是对使用该系统的用户进行一个身份验证,同时为修改用户角色提供预留空间,即可以定义用户为系统管理员ภ或普通用户,不同类型的用户登录可以实现不同的功能要求。工资信息根据具体需求进行定义。

通过对系统的上述功能的分析,该工资查询系统需要包含以下数据项和数据结构信息。

1)用户部门信息部门编号、部门名称、部门工资模板

2)员工用户信息包括员工编号、姓名、密码、首次登录标记、部门编号、部门名称。

3)工资模板信息包括部门工资类型、工资项目编号、项目字段、项目名称、总计项标记

4)工资信息包括工资编号、员工编号、工资时间及所需工资项目。

5)用户角色信息包括角色编号、角色名称、员工编号。

2.2 数据库概念模型[4]

3 工资查询系统的实现

系统采用ASP.NET技术, ASP.NET是建立在.NET框架平台上的完全面向对象的强大的动态网页开发技术,它采用编译型的程序语言,大大加快了执行速度。采用Code_Behind技术,即把网页的内容与程序代码分开,使得页面的编码井井有条,便于协作开发和功能的重复使用。

ASP.NET引入了Web表单的概念,它被看成是一个对象而被赋予了属性、方法、事件。Web表单中包含了表单内部控件、相应的布局信息和数据提交后的数据处理代码,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础。ASP.NET通过表单与服务器进行交互,这个交互的过程是一个“往返行程”,只要用户在该页面中工作,此过程就会循环继续。传递Web页面的过程如下[2]:

1)用户请求页面。使用HTTP GET方法请求页面,页面第一次运行,执行初步处理。

2)页面将标记动态呈现到浏览器中。

3)用户键入信息或从可用选项中进行选择,然后单击按钮。

4)页面发送到Web服务器。浏览器执行HTTP POST方法,该方法在ASP.NET中称为“回发”,即页面发送回其自身。

5)在Web服务器上,该页面再次运行,并且可以在页面上使用用户键入或选择的信息。

6)页面执行通过编程所要实行的操作。

7)页面将其自身呈现回浏览器。

在工资查询系统的制作过程中,通过表示层、数据访问层及业务逻辑层三层的耦合关系,采用了用户登录验证技术、动态菜单导航技术等实现用户对工资的查询及系统维护功能。

下面以用户登录验证为例分别是说明各层的实现[3]。

3.1 web.config配置

身份验证采用Forms验证,loginUrl指定了登录页面,当匿名用户访问需要验证后才能访问页面时,将会到自动导航到这里所设置的default.aspx页面。创建一个 deny 元素,并将其 users 属性设置为“?”,这是指定将拒绝未通过身份验证的用户访问该应用程序中的资源。

3.2 创建用户数据表、业务逻辑层和数据访问层

Web.config配置好后,需要到登录页面对用户进行验证

在Sqlserver2000数据库中创建gzdata数据库,然后添加一张person人员信息表,用于存储员工基本信息。创建名为default的类库,这样就新建立了一个default组件,它负责sqlserver数据库的存取,核心代码如下:

从上述代码可以看出,表示层只是通过服务器控件传递参数,通过onclick服务器端事件处理方法使用户通过表单输入的参数tb_user、tb_password运行于服务器端,执行Submit1_ServerClick事件,完成对用户身份的验证工作,由此可见具体的逻辑处理完全由业务逻辑层负责,充分方便了代码的复用及应用程序的扩展。

4 安全设计

工资查询系统的安全主要数据库的安全,即防止因非法使用数据库造成人员数据及工资数据的泄露、篡改或破坏。基于数据库安全控制的逐级设置考虑,在进行系统设计时将系统分为二级用户使用,即一级用户为熟悉工资工作及本系统的管理人员,一级用户可以行驶系统及用户信息的管理权限;二级用户为普通教职工,在得到初始密码后可以进行自己工资信息的查询。

在系统设计时,从数据库的安全机制分析,对访问用户进行四次安全性检验。

第一次安全性检验,使用户获得客户机操作系统的使用权限。为了确保用户信息的安全性,设置独立的服务器,操作系统管理员对服务器操作系统进行安全性定义。系统管理员要及时关注系统漏洞,打补丁程序;关闭Guest账号,删除不必要的用户;注意管理员账号的隐蔽及伪装;更改文件共享的默认权限;根据Windows安全策略设计安全密码等。

第二次安全性检验,设置用户的访问权及获得访问权后对数据库的操作权限。将SQL Server安全认证模式设计为混合身份验证模式,即在Windows身份验证机制之后加入SQL Server身份验证机制,这样可以让系统表中未设置登录账户或密码不符的登录账户身份验证失败,登录被拒绝。

第三次安全性检验,设置用户通过安全性检验¢后,所面对的数据库入口,默认情况下用户的权限将局限在master数据库内,根据用户访问需要设置到gzdata数据库。

第四次安全性检验,数据库对象的安全性。每个数据库都有自己独立的权限系统,在系统数据库设计时根据一级用户和二级用户的不同权限设置用户对数据库对象的操作权限。如对一级用户可赋予其Select、Insert、Update、Delect等对象权限及语句权限,而二级用户可以只赋予其Select对象权限。

本系统的开发采用ASP.NET与IIS及操作系统的底层安全性服务相结合的技术,可以实现多种身份验证和授权机制。在系统开发中采用Froms窗体身份验模式,这种验证模式使用客户端重定向功能,将未能通过身份验证的用户转发到特定的登录窗体,在用户登录验证时即做好安全性的审核。系统设计由多个模块组成,每个模块都由独立的功能,在用户登录系统时,根据用户角色的不同,显示不同的模块页面,采用功能分散机制在一定程度上提高了系统的安全性。

5 结束语

น系统在开发过程中采用三层B/S模式,使表示层、业务逻辑层、数据访问层“高内聚、低耦合”,让系统具有良好的稳定性和容错能力。ASP.NET、IIS及SQL Server相结合的系统开发平台,合理的数据库设计和多模块划分,使系统在安全性上得到了有效的保障。工资查询系统的开发实现了对工资信息的网络自助查询,其方便、快捷的查询方式满足了职工对个人工资信息及时掌握的需求,同时极大地简化了工资管理工作,在人事工资管理工作中具有现实意义。

参考文献:

[1] 刘芳.SQL Server数据库技术及应用项目教程[M].北京: 清华大学出版社, 2010.

[2] 张正礼, 王坚宁. ASP.NET4.0从入门到精通[M]. 北京: 清华大学出版社, 2011.

[3] 范振钧. 基于ASP.net的三层结构实现方法研究[J]. 计算机科学, 2007,34:289-291.

[4] 吕橙, 张翰韬, 周小平. SQL Server数据库原理与应用安全汇编[M]. 北京: 清华大学出版社, 2011.

[5] 李新峰, 亮剑. NET: 图解C#开发实战[M]. 北京: 电子工业出版社,2009.

[6] 李菁菁, 房芳, 王英. 基于院内局域网的Web工资查询系统的设计与实现[J]. 医疗卫生装备, 2012, 2: 56-57.

[7] 冯涛. ASP.NET动态网站开发教程[M]. 北京: 清华大学出版社, 2011.

[8] 任泰明. 基于B/S结构的软件开发技术[M]. 西安: 西安电子科技大学出版社, 2006.


热门排行: 教你如何写建议书