人人范文网 范文大全

人事管理系统毕业设计论文

发布时间:2020-03-02 13:03:08 来源:范文大全 收藏本文 下载本文 手机版

摘 要

本文主要分析公司人事工资管理系统的一些基本功能和组成情况,包括系统的需求分析、系统结构、系统功能模块划分以及系统数据库模式分析等,重点对人事工资管理系统的开发实现进行介绍。

人事工资管理系统是不可缺少的部分,它的内容对于其的决策者和管理者来说都至关重要,所以人事工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。人事工资管理系统的主要任务就是使用计算机,对所有公司成员的人事档案资料进行保存;在需要时进行查找、分类、统计或者增加、修改和删除等操作;可以针对不同的目的,对各种档案资料进行查询。

本文重点说明了系统的设计思想、关键技术和解决方案。使用Microsoft公司的SQL Server 2005数据库管理系统进行数据存储;通过使用Microsoft公司的Visual Studio 2008集成开发环境。

关键字:人事管理系统;Visual Studio 2008; SQL

I

Abstract

This article analyzes the personnel management system, the more software companies some of the basic functions and composition, including system requirements analysis, system architecture, system functions and system database module division pattern analysis, with emphasis on the personnel management system, the more software companies developing implementation are introduced.

The personnel management system, the more software companies is a company, the more an indispensable part of its contents for its decision-makers and managers are crucial to, the personnel management system, the more software companies should be able to provide users with adequate of information and fast query tool.The personnel management system, the more software companies the main task is to use computers for all members of the company\'s personnel file information stored; to find when, claification, statistics, or add, modify and delete operations; can be for different purposes, for a variety of archives to search.

This article highlights the system\'s design concept, key technologies and solutions.I, the use of Microsoft\'s SQL Server 2005 database management system for data storage; through the use of Microsoft\'s Visual Studio 2008 integrated development environment technology design front-end interface.

Key Word: Personnel Management System; Visual Studio 2008 ; SQL。

II

言 ................................................................................................................................1 1 基础知识 ......................................................................................................................4

1.1 Visual Studio介绍 ..............................................................................................4 1.2 SQL Server数据库介绍.....................................................................................5 2 系统分析 ......................................................................................................................7

2.1 开发背景及意义 ................................................................................................7 2.2 可行性研究 ........................................................................................................7 2.3 功能需求 ............................................................................................................8

2.3.1 用例分析 ..................................................................................................8 2.3.2 概念类描述 ............................................................................................11 2.3.3 行为描述 ................................................................................................12 2.4 性能需求 ..........................................................................................................13

2.4.1 响应时间 ................................................................................................13 2.4.2 吞吐量 ....................................................................................................13 2.4.3 并发用户数 ............................................................................................15 2.4.4 资源利用率 ............................................................................................15 2.5 环境需求 ..........................................................................................................15

2.5.1 硬件环境 ................................................................................................15 2.5.2 软件环境 ................................................................................................15

3 系统设计 ....................................................................................................................16

3.1 系统结构设计 ..................................................................................................16

3.1.1 软件设计的原则 ....................................................................................16 3.1.2 系统层次结构 ........................................................................................17 3.2 设计阶段类图 ..................................................................................................18 3.3 数据库设计 ......................................................................................................19

3.3.1 数据库概念设计 ....................................................................................19 3.3.2 数据库逻辑设计 ....................................................................................20

I

3.4 系统详细设计 ..................................................................................................22

3.4.1 系统登录PAD图...................................................................................22 3.4.2 档案管理PAD图...................................................................................23 3.4.3 修改口令PAD图...................................................................................23

4 系统实现 ....................................................................................................................25

4.1 语言选择原因 ..................................................................................................25 4.2 软件开发环境 ..................................................................................................28 4.3 系统功能实现 ..................................................................................................28

4.3.1 管理员登录 ............................................................................................28 4.3.2 档案管理 ................................................................................................28 4.3.3 添加员工信息 ........................................................................................30 4.3.4 奖罚管理 ................................................................................................31 4.3.5 调动管理 ................................................................................................32 4.3.6 考勤津贴 ................................................................................................32 4.3.7 工资总结 ................................................................................................33

5 软件测试 ....................................................................................................................35

5.1 测试计划的制定 ..............................................................................................35

5.1.1 调试计划的整体目标 ............................................................................35 5.1.2 定义软件测试的标准 ............................................................................35 5.1.3 测试实施策略的制定 ............................................................................35 5.1.4 测试计划的活动的细分 ........................................................................35 5.1.5 测试计划的要点 ....................................................................................36 5.2 测试的基础 ......................................................................................................36

5.2.1 测试的目标 ............................................................................................36 5.2.2 白盒测试和黑盒测试 ............................................................................37 5.2.3 测试的准则 ............................................................................................37 5.3 测试用例设计 ..................................................................................................38

5.3.1 等价类测试用例设计 ............................................................................38 5.3.2 边界值测试用例设计 ............................................................................39 5.3.3 功能图法测试用例设计 ........................................................................40

II

5.4 软件可靠性 ......................................................................................................42

5.4.1 基本定义 ................................................................................................42 5.4.2 估算平均无故障时间的方法 ................................................................43 5.4.3 MTTF和ASS的估算 ...........................................................................44

论 ..............................................................................................................................45 致

谢 ..............................................................................................................................46 参考文献 ..........................................................................................................................47 附

录 ..............................................................................................................................48

附录A Salary Management System .......................................................................48 附录B 工资管理系统............................................................................................53 附录C 系统使用说明书........................................................................................57

III

沈阳理工大学高等职业技术学院学士学位论文

随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。随着我国市场经济的快速发展,人事工资管理系统在企业的日常管理中发挥着越来越重要的作用。人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,方便处理企业内部员工的相关工资信息。另外,为了更方便的查看员工的工资信息,还可以通过水晶报表对工资信息进行打印。

随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。随着我国市场经济的快速发展,人事工资管理系统在企业的日常管理中发挥着越来越重要的作用。人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,方便处理企业内部员工的相关工资信息。另外,为了更方便的查看员工的工资信息,还可以通过水晶报表对工资信息进行打印。系统效能,是预期一个系统满足一组特定任务的程度的量度。它是系统综合性能的反映,是系统的整体属性。效能评估,就是要对系统进行综合分析,把系统的各项性能与任务要求综合比较,最终得到表示系统的优劣程度的结果。人事工资管理系统的效能,可以细分为系统的自身效能和应用效能。自身效能是人事工资管理系统本身固有的性能,它体现了系统本身的完备性;应用效能是人事工资管理系统在应用过程中体现的效能,是通过对信息的搜集、传输和处理对平时或战时产生有利作用的程度。

在这个信息迅速膨胀,计算机技术以及网络技术飞速发展的社会,计算机在企业管理中的应用也不继得到了普及,利用计算机实现企业人事档案的管理势在必行。

沈阳理工大学高等职业技术学院学士学位论文

计算机在企业管理中的应用越来越受到人们的欢迎。利用计算机来实现对公司员工基本资料等的管理和公司内部之间的信息交流势在必行。这是在现代化的社会中任何公司所要解决的问题,也是公司现代化管理的趋势。

信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定工作计划,研究投资策略,都离不开对信息的充分利用。管理信息系统(Management Information System,缩写MIS)是一种“人机系统”,它以特定的模式支持一个组织内各级组织机构之间的通讯,对信息资源进行综合开发,管理和利用,实现对该组织的有效管理。它通过对数据的加工处理,及时为管理与决策分析提供信息。

随着公司不断的发展壮大,员工的数量也在不断的增加,随之而来的管理成本也在不断的提高,以及考虑到公司的人事管理现在尚处于传统的人工管理的作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据公司提供的需求,设计此人事管理系统,以帮助该公司达到人事管理办公自动化、节约管理成本、提高该公司人事管理工作效率的目的。

人事管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用,界面美观等特点。人事管理系统可以提供丰富的功能,降低人事管理工作的强度,提高其公司人事管理工作的效率,并依靠系统的强大的功能为人事管理的使用创造良好的条件,从而能够适应其公司人事管理的要求,推动其公司人事管理的信息化建设。人事管理的需求,本文就该人事管理系统的设计与实现进行了分析探讨:首先对系统的需求分析做了叙述,然后介绍了系统的设计和实现,最后进行了系统测试。嘉晟公司人事管理系统采用基于客户端/服务端(C/S)模式开发,服务端采用SQL Server2005数据库服务器作为数据处理和存储平台,客户端应用程序采用Visual Stdio.NET 2008集成开发环境中的WPF(Windows Presentation Foundation)技术进行开发,开发语言选用开发环境中C#的语言。用户使用客户端应用程序对服务端数据进行操作。

现在,已经认识到计算机管理在企业管理中的重要性,这是其公司科学化、正规化管理并能与世界接轨的重要标志。因此,开发这样的人事管理系统是很必要的,下面的各章中将介绍人事管理系统的开发过程和在开发过程中所涉及以及所解决的问题。

沈阳理工大学高等职业技术学院学士学位论文

本文分五章介绍,第一章为基础知识,介绍了系统开发工具的相关知识。第二章为系统分析,主要是对系统的功能需求、性能需求、环境需求进行分析以及系统的可行性分析。第三章为系统设计,根据系统的需求分析,制定相应的设计计划,包括结构设计、数据库设计、界面设计、系统详细设计等。第四章为系统实现,通过需求分析和系统的设计计划,来选择合适的语言及软件卡发环境完成系统功能的实现。第五章为软件测试,对系统进行一系列的测试,包括测试计划的目的、测试的原则、测试用例以及软件的可靠性。

沈阳理工大学高等职业技术学院学士学位论文

1 基础知识

1.1 Visual Studio介绍

C#(读做 “C sharp”,中文译音暂时没有。专业人士一般读“C sharp”,现在很多非专业一般读“C井”。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。

C#是一种安全的、稳定的、简单的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

并且C#成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB等。

在本文中,笔者将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了C#的出现。然后笔者将介绍C#和它与Java、C、C++的相似之处。其次笔者将讨论一些存在于Java和C#之间的高层次的,和基础的差别。笔者将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是.NET和C#的一个主要战略。目前,C#和.NET还只能以C#语言规则,以及Windows 2000的一个“预览版本”,还有MSDN上迅速增多的文档集子的形式获得(还没有最终定型)。

微软C#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点。C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义)。但它还太不成熟,不可能挤垮Java。C#还需要进化成一种开发者能够接受和采用的语言,而微软当前为它的这种新语言大造声势也是值得注意的。目前大家的反应是:“这是对Java的反击”。

沈阳理工大学高等职业技术学院学士学位论文

C#更象Java一些,虽然微软在这个问题上保持沉默。这也是意料中的事情,笔者觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高。

Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java)。由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话)。C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席Kalpathi S.Suresh指出来的那样,“我发现所有这些都是渐进的。如果C#不存在,我们总能回到Java或C和C++。这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头。我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响”。

1.2 SQL Server数据库介绍

SQL Server是微软公司开发的一个关系数据库管理系统,以Transact SQL的数据库查询和编程语言。T-SQL 是结构化查询语言SQL的一种,支持ANSI SQL-92标准。

但说起它的历史,却得从Sybase开始的。SQL Server从20 世纪80年代后期开始开发,最早起源于1987年的Sybase SQL Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把该产品移植到OS/2上。后来Aston-Tate公司退出了该产品的开发,而Microsoft公司、Sybase公司则签署了一项共同开发协议,这两家公司的共同开发结果是发布了用于Windows NT操作系统的SQL Server,1992年,将SQL Server移植到了Windows NT平台上[6]。

在SQL Server 4版本发行以后,Microsoft公司和Sybase公司在SQL Server的开发方面分道扬镳,取消了合同,各自开发自己的SQL Server。Microsoft公司专注于Windows NT平台上的SQL Server开发,而Sybase公司则致力于UNIX平台上的SQL Server的开发。本文中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。

SQL Server6.0版是第一个完全由Microsoft公司开发的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接着在1998年又推出了具有巨大变化的7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。又经过两年的努力开发,Microsoft公司于2000年9月布了SQL Server 2000,其中包括企业版、标准版、开发版、

沈阳理工大学高等职业技术学院学士学位论文

个人版四个版本。从SQL Server 7.0到SQL Server 2000的变化是渐进的,没有从6.5到7.0变化那么大,只是在SQL Server 7.0的基础上进行了增强[7]。

数据库技术从60年代末期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用[8]。

数据库通常有两个主要部分:一个是保存物理数据库的文件,一个是应用程序用于访问数据的数据库管理系统 (DBMS) 软件。DBMS 负责维护数据库的结构,包括:

1.据库内数据间的关系。

2.数据存储正确,定义数据间关系的规则未被违反。 3.系统崩溃的情况下,按照已知的一致性程度恢复所有数据

沈阳理工大学高等职业技术学院学士学位论文

2 系统分析

2.1 开发背景及意义

随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

本系统就是基于本公司的人事管理而设计的,是对公司的人事资料进行管理,为人事管理人员提供了一套操作简单、使用可靠、界面友好、易于管理和使用的处理工具。本系统对人事各种数据进行统一处理,避免数据存取、数据处理的重复,提高工作效率,减少了系统数据处理的复杂性。本系统不仅使公司人事管理人员从繁重的工作中解脱出来,而且提高了人事管理的效率,提高了人事管理的科学性,方便了用户查询、管理人员进行管理。

2.2 可行性研究

可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。

可行性分析是项目在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。

(1)可行性分析阶段的主要工作包括以下几个方面: ①新系统目标可行性分析:

分析新系统的目标是否符合企业的现状和发展的需要。通过到嘉晟公司调研,其公司要求的目标可行。

②社会可行性分析:

沈阳理工大学高等职业技术学院学士学位论文

社会可行性分析主要是指管理信息系统的开发是否符合国家法律、政策,是否能够与社会大系统实现良好的对接。开发本系统没有触犯到法律,也能很好地与社会对接。

③技术可行性分析:

技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。WPF,C#已是微软成熟的技术,所以完全可以开发出来本系统。

④经济可行性分析

经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。嘉晟公司正在快速发展,所以能够支付本系的开发费用。

⑤管理可行性分析:

管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。嘉晟公司的管理水平还没有达到现代化的管理水平,所以开发本系统正是其急需的。

2.3 功能需求

人事工资管理系统主要实现对人事工资信息和操作的管理,系统的用户是负责管理设备的管理人员,系统具有人事管理模块(档案管理、奖罚管理、调动管理、考评管理)、工资管理(考勤津贴、工资总结)、系统管理(部门管理、数据备份)、用户管理(操作员管理、修改口令、更改操作员)等主要功能。 2.3.1 用例分析

用例图主要用来图示化系统的主事件流程,它主要用来描述需求,即希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,是设计系统分析阶段的起点,设计人员根据需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图图符如表2.1所示。

沈阳理工大学高等职业技术学院学士学位论文

表2.1 uml用例图图符

可视化图符

名称 系统

描述

用来表示系统边界,所有用例放在系统之中

用例

用来表示用例图中的用例

用于描述与系统功能有关的外部实体,可以是用户,

执行者

也可以是外部系统

关联 连接执行者和用例

通过系统的功能需求分析,可得到系统的执行者为管理员、管理员添加人员和数据库系统,系统的用例为人事管理、工资管理、用户管理、系统管理,系统总体用例图如图2.1所示。

图2.1 系统总体用例图

人事管理:对公司的基本信息进行管理,包括档案管理、奖罚管理、调动管理、考评管理,人事管理的用例图如图2.2所示。

沈阳理工大学高等职业技术学院学士学位论文

图2.2 人事管理用例图

工资管理管理:考勤津贴、工资总结,工资管理的用例图如图2.3所示。

图2.3 工资管理用例图

用户管理:有操作员管理、更改操作员、修改口令,用户管理的用例图如图2.4所示。

图2.4 用户管理用例图

系统管理:有部门管理,可以调动部门,系统备份可以把数据库存到电脑。系统管理的用例图如图2.5所示。

沈阳理工大学高等职业技术学院学士学位论文

图2.5 系统管理用例图

2.3.2 概念类描述

类图是由若干类关联在一起,反映系统或者子系统组成结构的静态图。类图的建模贯穿工程的分析和设计阶段的始终,通常从商务伙伴能够理解的类开始建模,最终往往成为只有开发小组才能够完全理解的类。

类图是在面向对象的系统模型中使用得最普遍的图。类图包含了一组类、接口和协作以及其之间的关系。使用类图来为系统的静态视图建模。通常这包括模型化系统的词汇(从系统的词汇表中发现类),模型化协作,或则模型化模式。类图还是一些相关的图的基础,包括组件图、分布图。

类图的重要性不仅仅体现在为系统建立可视化的、文档化的结构模型,同样重要的是构建通过正向和反向工程建立执行系统。

没有类是单独存在的,类通常和别的类协作,创造比单独工作更大的语义。因此,除了捕获系统的词汇以外,还要将注意力集中到这些类是如何在一起工作的。使用类图来表达这种协作,类图图符如表2.2所示。

创建类图最好的起点是用例图,根据上面的用例图很容易确定类及其关联、属性和操作。由上面的用例图得到员工类的方法包含查看员工信息、添加员工信息、修改员工信息、删除员工,属性包含姓名、性别等;员工调动类(属性:调后职位等)、员工调薪类(属性:调后薪资等)、员工考评类(属性:考评成绩等)、员工奖惩类(属性:奖惩原因等)的方法都包含新增、修改、删除、快速查询、高级查询、导出和报表打印等功能,属性包含姓名、部门、职位等,所有可以将它们归为人事信息类;管理员类的方法包含新增用户、修改和删除、修改密码、备份和还原数据库等,属性包含登录名、密码、权限、联系方式等。概念类的类图如图2.6所示。

沈阳理工大学高等职业技术学院学士学位论文

表2.2 类图图符

可视化图符

名称

描述

表示具体的一个类,第一

栏为类名,第二栏为类的属性,第三栏为类的方法

一种分组机制,表示一个类图的集合

表示类的对象间的关系,

关联

包括聚集关联和组成关联 描述类或包的一般元素与特

泛化关系

殊元素之间的分类关系

图2.6 概念类图

2.3.3 行为描述

系统的行为是通过对象的动作来描述的,通常可以通过顺序图来描述对象之间如何进行消息的传递。顺序图是一种动态建模方法。一般用于确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。通过观察什么消息被发送给一个对象,以及通过概略的观察运行被调用的方法需要花费多长

沈阳理工大学高等职业技术学院学士学位论文

时间,很快就能了解哪里的设计需要变化,以达到在系统内部平衡负荷的目的,uml顺序图图符如表2.3所示。

表2.3 uml顺序图图符

可视化图符

名称

带有生命线的对象

激活 消息 返回消息

描述

用于表示顺序图中参与交互的对象 表示在这个时间段内,对象处于活动状态 用于表示对象之间传递的消息 用于表示对象之间传递的消息

要绘制系统的顺序图首先要了解系统的过程,根据系统类图中的方法可以获得详细的系统过程,系统管理操作顺序图如图2.7所示。

2.4 性能需求

系统的性能是系统的一种非功能特性,它关注的不是系统是否能够完成特定的功能,而是在完成功能时展示出来的及时性。为了能够客观地度量系统的性能,定义了一系列的性能指标,以便于在不同情况下度量系统的性能。 2.4.1 响应时间

从用户向系统发出一个作业请求开始,经系统处理后,再给出应答结果的时间称为系统的响应时间。如果要求一个系统的响应时间快,那么计算机CPU的运算速度就应该快,并且通讯线路的传递速率也应该高,如实时系统就是这样。

本系统采用C#语言编写对用户本机要求低,响应时间也相对较短,最大为4秒平均为2~3秒,完全符合需求。 2.4.2 吞吐量

每秒钟执行的作业数称为系统的吞吐量。系统的吞吐量越大,则说明系统的处理能力越强。系统的吞吐量与系统硬、软件的选择有着直接的关系,如果要求系统具有较大的吞吐量,就应当选择具有较高性能的计算机和网络系统。

沈阳理工大学高等职业技术学院学士学位论文

图2.7 系统管理操作顺序图

沈阳理工大学高等职业技术学院学士学位论文

2.4.3 并发用户数

并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。

2.4.4 资源利用率

资源利用率反映的是在一段时间内资源平均占用的情况。对于数量为1的资源(如CPU),资源利用率可以表示为资源被占用的时间与整段时间的比值;对于数量不为1的资源(如内存),资源利用率可以表示为在该段时间内平均被占用的资源数与总资源数的比值。对于本系统当用户数增加时,系统可以通过提高提高系统的资源利用率来提高吞吐量,但是也不是可以无限增大的,关键原因在于本系统的资源利用率不能无限提高。

2.5 环境需求

2.5.1 硬件环境

服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能的硬件,本系统服务器端的配置如下:

处理器:Inter Pentium 4 2.0GHz 或更高 内存:2GB 硬盘空间:160GB 显卡:SVAG显示适配器。 2.5.2 软件环境

服务器端要求如下:

操作系统:Windows 2000 Server 数据库:Mircrosoft SQLserver2005 开发工具:Microsoft Visual Studio 2005

沈阳理工大学高等职业技术学院学士学位论文

3 系统设计

3.1 系统结构设计

3.1.1 软件设计的原则

1、模块化

模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

下面五条标准可以评价一种设计方法定义有效的模块系统的能力。 (1)模块可分解性

如果一种设计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。

(2)模块可组装性

如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。

(3)模块可理解性

如果可以把一个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。

(4)模块连续性

如果对系统需求的微小修改只导致对个别模块,而不是对整个系统的修改,则修改所引起的副作用将最小。

(5)模块保护性

如果在一个模块内出现异常情况时,它的影响局限在该模块内部,则由错误引起的副作用将最。

采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。

2、抽象

人类在实践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方面。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。

沈阳理工大学高等职业技术学院学士学位论文

3、逐步求精

逐步求精是人类解决复杂问题时采用的基本技术,是许多软件工程技术的基础。可把逐步求精定义为:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑”。

求精实际上是细化过程。要从在高抽象级别定义的功能陈述(或信息描述)开始。求精要求设计者细化原始陈述,随着每个后续求精(细化)步骤的完成而提供越来越多的细节。

4、信息隐藏

应用模块化原理时,自然会产生的一个问题是:“为了得到最好的一组模块,应该怎样分解软件”。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。 3.1.2 系统层次结构

HIPO图是IBM公司发明的“层次图加输人/处理/输出图”的英文缩写。它既可以描述软件总的模块层次结构H图(层次图),又可以描述每个模块输入/输出数据/处理功能及模块调用的详细情况IPO图(也称IPO表)。HIPO图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。

本系统的最顶层的矩形框代表人事工资管理系统的主控模块,调用下层模块以完成全部管理功能;第二层的每个模块控制完成系统的一个主要功能,如此实现自顶向下逐步求精,系统的H图如图3.1所示。

图3.1 系统的H图

沈阳理工大学高等职业技术学院学士学位论文

H图只说明了系统由那些模块组成及其控制层次结构,并未说明模块间的信息传递及模块内部的处理。因此对一些重要模块还必须根据H图绘制具体的IPO表。用户和管理人员可利用IPO表编写、修改和维护程序。IPO表中包含的附加信息主要有系统名称、图的作者,完成的日期,本图描述的模块的名字,模块在层次图中的编号,调用本模块的模块清单,本模块调用的模块的清单、注释以及本模块使用的局部数据元素等。

信息查询的上层调用模块为人事管理,没有下层模块可调用,信息查询的IPO表如表3.1所示。

表3.1 信息查询的IPO表

系统名称:人事工资管理系统 模块名:信息查询 模块编号:2.1 上层调用模块:人事管理 输入数据:要查询的人事信息

设计者:杨凌霄 日期:2009-10-20

下层被调用的模块:无 输出数据:查询得到的结果

处理:根据查询的信息判断库中是否有相应的记录,如果有则显示查询的结果

修改信息的上层调用模块为人事管理,没有下层模块可调用,修改信息的IPO表如表3.2所示。

表3.2 修改信息的IPO表

系统名称:人事工资管理系统 模块名:修改信息 模块编号:2.3 上层调用模块:工资管理 输入数据:填写要修改的信息

设计者:杨凌霄 日期:2009-10-20

下层被调用的模块:无

输出数据:对数据库的更新结果

处理:判断修改信息的合法性,修改成功后显示更新的结果

3.2 设计阶段类图

在系统分析阶段,已经找出了主要的概念类和类的方法、类间的关系。到了系统设计阶段,需要从软件系统的角度来重新设计类图。分析阶段的类到了设计阶段有的可能变成一组类,有的可能消失。

沈阳理工大学高等职业技术学院学士学位论文

分析阶段的类图主要是用来描述现实世界中的问题;而设计阶段的类图主要是对解决方案进行描述。因此设计阶段的类图描述了软件的系统结构。创建设计类图的过程包括以下几步:

1.识别设计阶段出现的类,为这些类添加属性和方法。 2.建立类间关系,最终完成对属性和方法的细节描述。 系统设计阶段的类图如图3.2所示。

图3.2 系统设计阶段的类图

3.3 数据库设计

3.3.1 数据库概念设计

1.考评管理信息表:用于保存员工考评管理基本信息 2.员工档案信息表:用于保存员工档案的详细信息 3.员工工资信息表:用于保存员工工资的详细信息 4.奖罚管理信息表:用于保存奖罚管理信息 5.调动管理信息表:用于保存员工的调动管理信息

沈阳理工大学高等职业技术学院学士学位论文

3.3.2 数据库逻辑设计

用户信息表是用来存放管理员的详细信息的数据表,里面存有不同级别的用户,可以在系统中实现不同的功能操作,内容如表3.3所示。

表3.3 考评管理信息表

字段名

ID PID Pname Pdep PKpcontent PKpResult PKpscore PKpPeople PKkDate 类型

int varchar varchar varchar varchar varchar int varchar dateime

长度

4 10 10 10 20 10 4 10 8

主键否

主键 否 否 否 否 否 否 否 否

描述

系统编号 员工编号 员工姓名 员工部门 考评内容 考评结果 考评分数 考评人 考评日期

员工档案信息表:用于保存员工档案的详细信息,内容如表3.4所示。

表3.4 员工档案信息表

字段名

id employeeID employeeName employeeSex employeeDept employeeBirthday employeeNation employeeMarriage employeeDuty employeePhone employeeAcceion employeePay

类型

int varchar varchar varchar varchar datetime varchar varchar varchar varchar datetime decimal

长度

4 10 10 2 10 8 10 10 10 11 8 9

主键否

主键 否 否 否 否 否 否 否 否 否 否 否

描述

系统编号 员工编号 员工姓名 员工性别 员工部门 员工生日 员工民族 婚姻状况 职务名称 联系电话 就职日期 基本工资

沈阳理工大学高等职业技术学院学士学位论文

员工工资信息表:用于保存员工工资的详细信息,内容如表3.5所示。

表3.5 员工工资信息表

字段名

ID YID YName YSex Ydep YBasePay YJintie Yjiangli YFK Yquanqin Yjiaban Yyingfa Ypay YMonth

类型

int varchar varchar varchar varchar decimal decimal decimal decimal decimal decimal decimal decimal varchar

长度

4 10 10 2 10 9 9 9 9 9 9 9 9 50

主键否

主键 否 否 否 否 否 否 否 否 否 否 否 否 否

描述

系统编号 员工编号 员工姓名 员工性别 员工部门 基本工资 职务津贴 奖励金额 罚款金额 全勤奖金 加班工资 应发工资 员工工资 工资月份

奖罚管理信息表:用于保存奖罚管理信息,内容如表3.6所示。

表3.6 奖罚管理信息表

字段名

id UserID UserName UserJF UserJFcontent UserJLMoney UserFKMoney UserJFDate UserCXDate 类型

int varchar varchar varchar varchar decimal decimal varchar varchar

长度

4 10 10 10 10 9 9 50 50

主键否

主键 否 否 否 否 否 否 否 否

描述

系统编号 员工编号 员工姓名 奖罚类型 奖罚内容 奖励金额 罚款金额 奖罚日期 撤销日期

21

沈阳理工大学高等职业技术学院学士学位论文

调动管理信息表:用于保存员工的调动管理信息,内容如表3.7所示。

表3.7 调动管理信息表

字段名

id UID UName URemoveDate UOldDep UNewDep UOldJob UNewJob UOldPay UNewPay UPayExplain 类型

int varchar varchar varchar varchar varchar varchar varchar decimal decimal varchar

长度

4 10 10 10 10 10 10 10 9 9 10

主键否

主键 否 否 否 否 否 否 否 否 否 否

备注

系统编号 员工编号 员工姓名 调动日期 原部门 现部门 原职务 现职务 原工资 现工资 工资说明

3.4 系统详细设计

系统开发人员根据PAD图写出可运行的代码。所以过程设计的结果决定了程序代码的质量。过程设计的任务不是编写代码,是要设计出程序的“蓝图”,在软件的生命周期中,对长期使用的软件来说,人阅读程序的时间可能比写程序的时间要长。故,衡量程序的质量不仅要看它的逻辑是否正确,性能是否能够满足要求,更主要的是看它是否容易阅读。过程设计的目标不仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程是尽可能简明易懂的。

PAD 是问题分析图(Problem Analysis Diagram)的英文缩写,它用二维树形结构的图来表示程序的控制流,是一种用结构化程序设计思想表现程序逻辑结构的图形工具,将这种图翻译成程序代码比较容易。 3.4.1 系统登录PAD图

用户经过登录模块验证成功后可以进行系统,在用户进行人事查询时要输入查询员工的信息,系统对库存中的记录进行遍历,找到后显示给用户否则无查询结果,系统登录的PAD图如图3.6所示。

22

沈阳理工大学高等职业技术学院学士学位论文

图3.3 系统登录PAD图

3.4.2 档案管理PAD图

用户进行档案管理操作时,首先要找到要员工的信息,修改、删除、添加等操作,档案管理的PAD图如图3.7所示。

图3.4 档案管理PAD图

3.4.3 修改口令PAD图

用户进行修改口令时,首先要输入原始密码,在输入新的密码,密码验证成功时,则显示修改成功,反之显示错误信息,修改口令PAD图如图3.8所示。

23

沈阳理工大学高等职业技术学院学士学位论文

图3.5 修改口令PAD图

24

沈阳理工大学高等职业技术学院学士学位论文

4 系统实现

4.1 语言选择原因

本系统在实现系统功能时使用的是C#语言。C#语言具有许多先进的特性,也正是因为其有这些特性所以才选择用C#语言来开发本系统,C#的特点如下:

一、简洁的语法

在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C++中被疯狂使用的操作符(例如:“::”、“->”和“.,”)已经不再出现。C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。

C#用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。

语法中的冗余是C++中的常见的问题,比如“const”和“#define“、各种各样的字符类型等等。C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。

二、精心地面向对象设计

也许,从Smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。的确,C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。

在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中将进行更为详细的介绍。

C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中你很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。

25

沈阳理工大学高等职业技术学院学士学位论文

整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成部分。在下面将会谈到,这样做的另一个好处是兼容性。

借助于从VB中得来的丰富的RAD经验,C#具备了良好的开发环境。结合自身强大的面向对象功能,C#使得开发人员的生产效率得到极大的提高。对于公司而言,软件开发周期的缩短将能使它们更好应付网络经济的竞争。在功能与效率的杠杆上人们终于找到了支点。

三、与Web的紧密结合

.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hypertext Markup Language,HTML)和XML。由于历史的原因,现存的一些开发工具不能与Web紧密地结合。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。

由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。举个例子,XML已经成为网络中数据结构传递的标准,为了提高效率,C#允许直接将XML数据映射成为结构。这样就可以有效的处理各种数据。

四、完整的安全性与错误处理

语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。任何人都会犯错误,即使是最熟练的程序员也不例外:忘记变量的初始化,对不属于自己管理范围的内存空间进行修改,......。这些错误常常产生难以预见的后果。一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。

26

沈阳理工大学高等职业技术学院学士学位论文

.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。在缺省情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。比方说,一个在网络上的共享目录中运行的程序,如果它要访问本地的一些资源,那么异常将被触发,它将会无情地被异常扔出去,若拷贝到本地硬盘上运行则一切正常。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。.NET平台提供的垃圾收集器(Garbage Collection,GC)将负责资源的释放与对象撤销时的内存清理工作。

变量是类型安全的。C#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;C#不支持不安全的指向,不能将整数指向引用类型,例如对象,当进行下行指向时,C#将自动验证指向的有效性;C#中提供了边界检查与溢出检查功能。

五、版本处理技术

C#提供内置的版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。

升级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会象在C++或java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。

六、灵活性和兼容性

在简化语法的同时,C#并没有失去灵活性。尽管它不是一种无限制语言,比如:它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中你将发现,它仍然是那样的灵巧。

如果需要,C#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。此外,它还提供了一个另外的东西(这样的称呼多少有些不敬)来模拟指针的功能--delegates,代表。再举一个例子:C#不支持类的多继承,但是通过对接口的继承,你将获得这一功能。

27

沈阳理工大学高等职业技术学院学士学位论文

4.2 软件开发环境

软件开发环境(Software Development Environment)是指在基本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。

开发本系统所用的软件工具集合为, SQL Server数据库开发工具、Visual Studio2008 Photo Shop图片处理工具等。

4.3 系统功能实现

4.3.1 管理员登录

在管理员登录中,主要实现的是对管理员合法性的验证。管理员在此输入其姓名、证件号并通过软键盘输入密码,经过与后台数据库中的记录进行相应的对比确定其为合法用户,管理员才得到进入系统的权限,如图4.1所示:

图 4.1 管理员登录界面

功能实现:

1.由于用户在登录系统时,可能会有某些信息忘记输入,这时可能会出现错误。本系统通过获取用户信息框中的信息并进行判断,如果有未输入的信息,则会警告用户并提示用户将信息输入完整。 4.3.2 档案管理

在这个功能模块中,管理员可以对员工的基本信息进行查看。如果有必要,还可以查看某个员工的详细信息以此来了解此员工的职位及工资。档案管理窗体用于管理所有员工的档案信息,在档案管理窗体中可以添加、修改、删除和查找员工信息,双击某条

28

沈阳理工大学高等职业技术学院学士学位论文

员工信息,可以打开修改员工档案的窗体,在此窗体中可以对信息进行修改并显示员工的详细信息。如图4.2所示。

图 4.2 档案管理窗体

功能实现:

1.档案管理窗体加载时,检索员工档案表员工档案信息表中所有的信息,并将其绑定到DataGridView控件上,同时设置TreeView控件的节点图标以及选择后的节点图标,并且动态的将所有的部门名称添加到TreeView空间中。

2.如果要按姓名查找员工档案,可以在ToolStripTextBox控件的TextChanged事件中编写代码,实现当控件中输入关键字后,马上就能检索出相应的数据

3.当单击TreeView控件中某个部门时,主窗体右侧的DataGridView控件中将显示选中部门的所有员工档案,该功能是在TreeView控件的AfterSelect事件下实现的。

4.当双击某条员工档案后,会弹出相应的窗体用于显示其详细信息,并且可以对详细信息进行修改,该功能是在DataGridView控件的CellDoubleClick事件下实现的。

29

沈阳理工大学高等职业技术学院学士学位论文

4.3.3 添加员工信息

添加员工模块主要是实现对员工的信息进行管理的模块。如果添加员工,单击增加按钮,打开添加员工信息窗体,该窗体可以向数据库中添加新的员工信息,添加员工信息窗体如图4.3所示。

图 4.3 添加员工信息

功能实现:

1.为了使员工档案信息更加生动和形象,在录入员工档案时,需要指定员工的头像,这样当查找某个员工是可以看到该名员工的相片。因此在录入员工档案时,提供了选择员工头像的按钮,当单击“选择员工头像“按钮后,会将选择的头像显示出来。

2.当添加员工信息加载时,使用公共类中的BindDropdownlist方法绑定ComboBox控件,分别用于显示婚姻状况、性别、部门、民族、和担任的职务等。

3.当员工档案信息填写完整后,单击“保存”按钮,首先对输入的数据进行检查验证,如果符合条件,就会将输入的员工档案信息添加到数据库中

4.当为新增的员工选择员工编号时,首先要判断指定的编号在数据库中是否已经存在,该功能就是在输入员工编号文本框TextChanged事件中实现的。

5.单击“修改”按钮,打开修改员工信息窗体,该窗体可以对员工信息进行修改,修改员工信息窗体。

6.当双击某条员工信息或者选中信息后,单击“修改”按钮会打开修改员工信息的窗体,当打开此窗体时,会触发窗体的load事件,首先对ComboBox控件进行数据

30

沈阳理工大学高等职业技术学院学士学位论文

绑定,以便显示员工的部门信息和职务信息,然后根据员工编号检索数据,将员工的各项信息检索出来并显示子啊相应的空间上。

7.如果要修改某条员工信息,只需要更改员工的某些数据,然后单击“修改”按钮即可。在“修改按钮的CLICK事件中首先判断的数据是否符合条件,如果符合条件,则将修改后的数据更新到数据库中”。 4.3.4 奖罚管理

公司的发展离不开完善的奖罚制度,奖罚制度可以提高员工的工作热情,同时,也可以对员工的所制约。在本系统中,开发了奖罚管理窗体,用于添加,修改或者删除奖罚信息,方便在发工资时进行工资统计。如图4.4所示。

图4.4 奖罚管理窗体

功能实现:

1.奖罚管理窗体加载时,首先要将数据库所有的奖罚信息检索出来绑定到DataGridView控件上,当单击“删除”按钮,会删除指定的奖罚信息,其实现的原理是,首先编写一条根据指定员工编号进行删除操作的SQL语句,然后调用公共类中的OperateData方法执行删除操作。

2.当双击某条奖罚信息后,会打开修改奖罚信息的窗体,同时还可以查看某个员工的详细奖罚信息,该功能主要是在DataGridView控件的CellDoubleClick事件中实现的,当双击控件中的某条信息时会触发该事件中的代码

31

沈阳理工大学高等职业技术学院学士学位论文

4.3.5 调动管理

公司的经营会根据员工能力的不同而分配不同的工作,这时在企业内部会出现员工调动的问题,这就需要对员工调动有详细的记录,方便员工档案管理,以及统计工资时发放员工现任职务的薪水。如图4.5所示。

图4.5 调动管理窗体

功能实现:

1.当窗体加载时,系统将所有的调动信息检索出来绑定到DataGridView控件上,并且统计数据库中的调动信息数量。

2.当用户双击DataGridView1空间中的某条信息时,打开修改信息的窗口,在窗口中可以修改用户选择的信息,同时可以查看所选信息的详细内容,该功能主要在DataGridView1控件的CellDoubleClick事件中实现。 4.3.6 考勤津贴

为了提高员工的积极性,如果员工每月全勤上班,则公司会对其进行奖励,这就需要一个考勤津贴窗体用于管理公司颁发的考勤奖。如图4.6所示。

32

沈阳理工大学高等职业技术学院学士学位论文

图4.6 考勤津贴窗体

功能实现:

1.打开考勤津贴窗体,系统首先使用BindDropdownlist方法检索出所有的员工编号并绑定到ComboBox控件中,然后使用for语句将12个月份添加到toolStripComboBox1控件中。

2.当选择了某个员工编号后,系统会自动将相关的员工信息检索出来并显示在相应的控件中,并且使用Switch语句计算员工的职务津贴。

3.当信息输入完毕,单击“增加”按钮,检查数据输入是否正确,如果输入的数据没有问题,则将其添加到数据库中。 4.3.7 工资总结

在月末发工资时,需要对指定月份的员工信息进行统计,此时,需要一个工资总结窗体用于统计所有员工的工资情况,其中包括员工的基本工资、职务津贴、全勤奖金、加班工资等,方便为每位员工发放工资。如图4.7所示。

图4.7 工资总结窗体

33

沈阳理工大学高等职业技术学院学士学位论文

功能实现:

1.打开工资总结窗体可以浏览员工工资的所有信息,当次窗体加载时,通过BindDataGridView方法将所有的工资总结信息检索出来绑定到dataGridView1控件上并进行显示。

2.如果要打印某个月份员工的工资条,可以选择相应的月份,然后单击“打印”按钮,边可以打开水晶报表的浏览窗口。

3.当选择某个月份后,系统会根据选择的月份检索其工资总结数据,并调用BingDataGridView方法绑定dataGridView1控件,然后向水晶报表的现实窗体中传递参数months。

34

沈阳理工大学高等职业技术学院学士学位论文

5 软件测试

5.1 测试计划的制定

测试计划是从测试项目实施和管理的角度,讨论软件测试计划的实施目标和标准、计划阶段的细分、测试项目计划的要点和编制测试计划的技巧。 5.1.1 调试计划的整体目标

调试计划的整体目标是为确定测试的任务、所需的各种资源和投入,预见可能出现的问题和风险,以指导测试的执行,最终实现测试的目标。

(1)为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果。

(2)为项目实施建立组织模型,并定义测试项目中每个角色的责任与工作内容。 (3)开发有效的测试模型,能正确地验证正在开发的软件系统。 (4)确定测试所需的时间和资源,以保证其可获得性和有效性。 (5)确立每个测试阶段的测试完成及测试成功的标准和实现的目标。 5.1.2 定义软件测试的标准

为了保证测试工作能按计划执行,必须确认测试在满足什么外部条件下才能开始。这就是要在测试计划中定义软件测试项目的输入标准,然后定义测试项目的输出标准。 5.1.3 测试实施策略的制定

测试策略描述当前测试项目的目标和所采用的测试方法。这个目标不是测试计划的目标,而是针对某个应用软件系统或程序、具体的测试项目要达到的预期结果,包括在规定的时间内哪些测试内容要完成、软件产品的特性或质量在哪些方面得到确认。

测试策略还要描述测试不同阶段的测试对象、范围和方法以及每个阶段内要进行的测试类型。

5.1.4 测试计划的活动的细分

测试计划不可能一气呵成,而是要经过计划初期、起草、讨论和审查等不同阶段,才能将测试计划订好,且不同测试阶段或不同测试任务都可能要有具体的测试计划。测试计划活动的基本流程如图6.1所示:

35

沈阳理工大学高等职业技术学院学士学位论文

图 5.1测试计划活动基本流程

5.1.5 测试计划的要点

(1)目标和范围:包括产品特性、质量目标、各个阶段的测试对象、目标范围。 (2)项目估算:根据历史数据和采用恰当的评估技术,对测试工作量、所需资源做出合理估算。

(3)风险计划:测试可能存在的风险分析、识别以及风险的回避监控和管理。 (4)日程:项目工作分解结构,并采用时限图、甘特图等方法制定时间和资源表。 (5)项目资源:人员、硬件和软件等资源的组织和分配,人力资源是重点,而且和日程安排联系紧密。

(6)跟踪和控制机制:质量保证和控制、变更管理和控制。

5.2 测试的基础

5.2.1 测试的目标

在软件生存周期的每个阶段都不可避免地会产生错误。力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。

G.Myers 给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义: (1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。

36

沈阳理工大学高等职业技术学院学士学位论文

5.2.2 白盒测试和黑盒测试

测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一个方法称为黑盒测试,后一个方法称为白盒测试。

对于软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如,数据库或文件)的完整性。黑盒测试又称为功能测试。与黑盒测试法相反,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构测试。 5.2.3 测试的准则

为了能设计出有效的测试方案,软件工程师必须充分理解并正确运用指导软件测试的基本准则。主要的测试准则如下所述。

(1)所有的测试都应该能追溯到用户需求。正如前面讲过的,软件测试的自标是发现错误。从用户角度看,最严重的错误是导致程序不能满足用户需求的那些错误。

(2)应该在测试开始之前的相当长时间,就制定出测试计划。一旦完成了需求模型就可以着手制定测试计划,在确定了设计模型之后就可以立即开始设计详细的测试方案。因此,在编码之前就可以对所有测试工作进行计划和设计。

(3)把Pareto 原理应用于软件测试。 Pareto 原理指出,测试发现的错误中的 80 %很可能是由程序中 20 %的模块造成的。当然,问题是怎样找出这些可疑的模块并彻底地测试它们。

(4)测试应该从“小规模”开始,并逐步进行“大规模”测试。通常,首先重点测试单个程序模块,进一步的测试重点转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。

(5)穷举测试是不可能的。所谓穷举测试就是把程序所有可能的执行路径都检查遍的测试。即使是一个中等规模的程序,其路径排列数也是非常大的,由于受时间、人力和资源的限制,在测试过程中不可能执行路径的每一种组合。这就表明,测试只能证

37

沈阳理工大学高等职业技术学院学士学位论文

明程序中有错误,不能证明程序中没有错误。但是,通过精心设计测试方案,有可能充分覆盖程序逻辑并确保把过程设计中使用的所有条件都检查一遍。

(6)为了达到最佳的测试效果,应该由独立的第三方来从事测试工作。所谓“最佳效果”是指具有最大可能性发现错误的测试(这是测试的基本目标)。软件系统的软件工程师并不是完成全部软件测试工作的最佳人选( 通常由其主要承担模块测试工作)。

5.3 测试用例设计

5.3.1 等价类测试用例设计

验证管理员的规格说明

在嘉晟公司人事管理系统中对管理员的信息的规定:“登录名可以是任意数字、字母或汉字的组合,长度为1-10个字符。密码由任意字母、数字和特殊字符的组合,规定长度为1-20个字符”,也可以为空。

用等价类划分的方法得到上述规格说明的要求,建立输入等价类表格。

表5.1 登录名等价类表

输入条件

登录名组成 登录名长度

有效等价类

数字(1),字母(2),汉字(3) 1-10个任意字符(5)

无效等价类

特殊字符(4) >10个(6)

下面选取了4个测试用例,其中前两个覆盖了所有的有效等价类,其他的覆盖了2个无效等价类。

输入:admin1

}覆盖(1),(2),(5)等价类 输入:杨凌宵

}覆盖(3)等价类

输入:wer.sad*

}登录名中包含非法字符,覆盖(4)等价类 输入:12345678901

}登录名多于8个字符,覆盖(6)等价类

表5.2 密码等价类表

输入条件

密码组成 密码字符个数

有效等价类

数字(1)字母(2),特殊字符(3)

1-20个(5)

无效等价类

汉字(4) >20个(6)

38

沈阳理工大学高等职业技术学院学士学位论文

下面选取了4个测试用例,其中第一个覆盖了所有的有效等价类,其他的覆盖了3个无效等价类。

输入:pa@word1

}覆盖(1),(2),(3),(5)等价类 输入:杨凌宵

}覆盖(4)等价类

输入:123456789012345678901

}密码多于20个字符,覆盖(6)等价类 5.3.2 边界值测试用例设计

员工资料的规格说明

员工资料输入数据由员工基本资料信息组成,选择其中重要信息组成如下的几组: (1)姓名。通常最多由8个汉字组成。

(2)基本工资。员工的基本工资有只能为数字限制,根据学历的不同工资也有所不同,专科800,本科1000,研究生1200。

(3)部门。每个员工都要属于一个部门,在公司中有如下几个部门,分别是:总经理部门、根副总经理部门、C#部门等等。据输入条件和边界条件所选择的测试用例,如表5.3所示。

39

沈阳理工大学高等职业技术学院学士学位论文

表5.3 员工资料的测试用例

输入条件

姓名

测试用例

姓名为空的记录 姓名只有1到10个字符 姓名超过10个字符 姓名只有一到五个汉字 姓名超过五个汉字

基本工资

基本工资小于800 基本工资为800 基本工资为1000 基本工资为1200 基本工资大于1200 基本工资中含有非数字字符

部门

没有部门的记录 部门为开发部 部门为企划部 部门为人事部 部门为事业部 部门为财务部

5.3.3 功能图法测试用例设计

管理员查询员工资料信息的功能图,如图5.2所示。其规格说明如下。

40

沈阳理工大学高等职业技术学院学士学位论文

图5.2 员工资料查询功能图

其规格说明如下。

(1)要进入到系统需要管理员进行登录。

(2)在登录界面要求管理员选择登录名和录入其密码。

(3)在数据库中对管理员录入的数据进行比较。若符合,则可以登录到系统中进行查询员工资料操作;若不符合,则判断是否已经录入了三次且不正确;如是,则警告其为非法用户,并要其退出系统,重新启动;若未达到三次,则管理员可以再次录入信息。

(4)管理员输入要查询的员工资料信息后,后台数据库检查表中是否有与其对应的记录,若没有则显示提示信息“没可显示的员工资料”;否则显示相应的查询结果。

根据功能图和规格说明,设计出了测试用例,如图5.3所示。

41

沈阳理工大学高等职业技术学院学士学位论文

图5.3 员工资料查询测试用例

5.4 软件可靠性

5.4.1 基本定义

1.软件可靠性的定义

对于软件可靠性有许多不同的定义,其中多数人承认的一个定义是:

软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功运行的概率。 在上述定义中包含的随机变量是时间间隔。显然,随着运行时间的增加,运行时遇到程序错误的概率也将增加,即可靠性随着给定的时间间隔的加大而减少。

42

沈阳理工大学高等职业技术学院学士学位论文

根据IEEE的规定,术语“错误”的含义是由开发人员造成的软件差错(bug),而术语“故障”的含义是由错误引起的软件的不正确行为。在下面的论述中,将按照IEEE 规定的含义使用这两个术语。

2.软件的可用性

通常用户也很关注软件系统可以使用的程度。一般来说,对于任何其故障是可以修复的系统,都应该同时使用可靠性和可用性衡量它的优劣程度。

软件可用性的一个定义是:

软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。 可靠性和可用性之间的主要差别是可靠性意味着在0到t这段时间间隔内系统没有失效,而可用性只意味着在时刻t,系统是正常运行的。因此,如果在时刻t系统是可用的,则有下述种种可能:在0到t这段时间内,系统一直没失效(可靠);在这段时间内失效了一次,但是又修复了;在这段时间内失效了两次修复了两次如此反复进行。

如果在一段时间内,软件系统故障停机时间分别为td1,td2…,正常运行时间分别为:tu1, tu2….,则系统的稳态可用性,如式(5.1)所示。

A=Tup/(Tup+Tdown)

(5.1)

Tup为成功运行的时间总和;Tdown为失败的时间总和。

如果引人系统平均无故障时间MTTF和平均维修时间MTTR的概念,则(5.1)式将会改变,如式(5.2)所示。

A=MTTF/(MTTF+MTTR)

(5.2)

平均维修时间MTTR的是修复一个故障平均需要用的时间,它取决于维护人员的技术水平和对系统的熟悉程度,也和系统的可维护性有重要关系。平均无故障时间MTTF是系统按规格说明书规定成功地运行的平均时间,它主要取决于系统中潜伏的错误的数目,因此和测试的关系十分密切。 5.4.2 估算平均无故障时间的方法

软件的平均无故障时间MTTF是一个重要的质量指标,往往作为对软件的一项要求,由用户提出来。为了估算 MTTF,首先引入一些有关的量。

在估算MTTF的过程中使用下述符号表示有关的数量:

ET——————测试之前程序中错误总数;

43

沈阳理工大学高等职业技术学院学士学位论文

IT——————程序长度(机器指令总数);

————————测试(包括调试)时间; Ed()Ec()——————在0至期间发现的错误数;

————在0至期间改正的错误数;

经验表明,平均无故障时间与单位长度程序中剩余的错误数成反比,如式(5.3)所示。

MTTF=1/(K*(Et/It-Ec/It))

(5.3) 其中K为常数,它的值应该根据经验选取。美国的一些统计数字表明,K的典型值是200。估算平均无故障时间的公式,可以评价软件测试的进展情况。 5.4.3 MTTF和ASS的估算

对公司人事工资管理系统进行为期20天的集成测试,平均每天测试2个小时。在测试期间记录了数据如下:

(1)在测试之前程序存在40条错误。 (2)程序中指令的长度为30000行。

(3)测试了20天每天2个小时共40小时,期间维护了6次共花费5小时。 (4)在测试期间发现并改正了32条错误。

综合上述测试数据,根据式5.1可计算系统的稳态可用性。

A= Tup/(Tup+Tdown)=40/(40+5)=0.89 根据式5.3可计算系统的平均无故障工作时间。

MTTF=1/(200*(40/30000-32/30000))=19小时

44

沈阳理工大学高等职业技术学院学士学位论文

本系统基本符合公司或单位的需求,能够完成人事工资的管理和信息的查询以及各类相关功能的实现。对于数据的一致性的问题也通过程序进行了有效的解决。总体上看可以将管理员从传统繁重的人工管理中解脱出来。

人事工资管理系统主要包括四大部份:系统登录管理模块、员工基本资料管理模块、员工人事管理模块、统计管理模块与系统设置模块。员工基本资料管理模块和员工人事管理模块实现对员工资料、员工人事进行查询、添加、删除和修改等操作。统计模块包括综合信息统计、员工工资统计、人事信息统计。综合信息统计主要统计各部门各职位员工的人数平均工资及工领。人事统计是按员工的性别、年龄、专业、职位、职称、基本工资等信息进行统计。系统设置模块主要实现基础信息设置、操作日志管理、备份恢复数据、操作员管理、系统设置、初始化数据库。

本系统还有很多不足,程序不是很完善,用户管理设计部全面,不能自动生成员工编号,对系统的基本维护不够,没有还原数据库,对数据库不能初始化,工资不能自动显示,必须逐条添加。

45

企业人事管理系统(论文)

人事管理系统

人事管理系统

企业人事管理系统论文完整版

一篇人事管理系统毕业设计之开题报告

毕业设计论文管理系统

毕业设计论文管理系统

计算机论文开题报告——人事管理系统

人事管理系统总结

人事管理系统任务书

人事管理系统毕业设计论文
《人事管理系统毕业设计论文.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档