电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

管理系统设计毕业论文

来源:文库作者:开心麻花2025-11-191

管理系统设计毕业论文(精选6篇)

管理系统设计毕业论文 第1篇

本科生毕业论文设计在线管理系统设计与实现

一、前言毕业论文(设计)是高等院校毕业生提交的有一定的学术价值和实际价值的文章或设计。它是高校培养人才的重要实践教学环节,是对学生四年学习的专业知识、研究能力、自学能力以及各种综合能力的检验。目前很多高校对于本科学生毕业论文(设计)的管理均采用传统的手工方式。随着因特网的普及、现代远程教育的发展以及现代本科教育模式的发展,继续采用传统手工管理模式对毕业论文(设计)进行管理就显得费时、费力、工作量大、效率低。

另外,传统的手工管理模式对于教学管理者来说难以及时准确地把握毕业论文(设计)的进展情况,给管理带来一定的难度。在这种状况下,笔者结合淮北师范大学对毕业论文(设计)的管理规定,开发出一套管理软件,以对毕业论文(设计)这一重要教学环节进行现代化管理。它不但是实现教学管理现代化和网络化的一个重要手段,同时也是促进传统教学模式改革的一个方法,对于改进教学管理、提高教学质量具有重要的意义和较大的实用价值。

二、系统开发环境本系统采用B/S(Browser/Server,即浏览器/服务器)架构。主机选用戴尔(DELL)PowerEdge R410机架式服务器,操作系统选用Windows Server 2008,它能够提供稳定、高速可靠、较大规模的数据处理能力。以IIS作为Web服务器,数据库选用MicrosoftSQL Server 2008,服务器端脚本语言采用Asp.net(C#),使用Microsoft Visual Studio 2008作为开发工具,系统中还用到Office组件、Asp.net Ajax、在线编辑组件FCKEditor。

三、系统的总体设计本系统包括四类用户,即系统管理员、教师、学生、审核员。

系统管理员用户可以进行如下的操作:进行系统初始化,设置系统功能开关,导出相关数据,对教师的命题、学生的选题、用户信息进行统一管理,上传毕业论文工作流程、写作格式要求、填表说明、模板等相关http:///文档,信息查询。教师用户可以进行如下操作:在线命题、审核学生的开题报告、论文指导、撰写论文评语及答辩成绩、信息查询。学生用户可以进行如下的功能操作:在线选题、在线撰写开题报告、在线撰写论文并接受指导教师的在线指导,系统对论文格式进行检查、自动更正、信息查询。审核员用户可以审核教师提交的选题表,只有经过审核,课题才能生效,才能被学生选用。除了以上功能外,系统还要提供一个公共信息交流的平台,允许教师、学生、审核员、管理员对公共的问题进行讨论。

管理系统设计毕业论文 第2篇

毕业设计(论文)

企业人事管理系统的设计与实现

学 院 楚州学院 专 业 计算机信息管理 年级班别 2009年 学 号 20097320081048 学生姓名 张 美 玲 指导教师 张 震

摘 要

在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。考虑到当前大量企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据部分企业提供的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。

本企业人事管理系统采用C/S结构,主要对企业员工的信息以及跟人事相关的工作流程进行集中的管理,方便企业建立一个完善的、强大的员工信息数据库。它是以.NET2005.和SQL 2005 Express数据库作为开发平台。使用C# 设计操作控件和编写操作程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL 2005数据库形成数据表,进行数据存储。

本文详细介绍了企业人事管理系统的功能需求,系统设计和具体实现。并简要介绍了系统开发采用的过程方法。

关键词

企业人事管理系统;C/S;员工信息数据库

II

1企业人事管理系统

企业人事管理系统....................................................3 1前言..............................................................3

1.1 应用的目的与意义............................................3 1.2 人事管理系统发展趋势.......................................3

1.2.2 世界趋势...............................................3 1.2.3 技术革新...............................................4 1.2.4 工作目标和价值观的改变.................................4 1.3 系统调研....................................................4

1.3.1 社会可行性分析.........................................4 1.3.2 技术可行性分析.........................................4 1.3.3 经济可行性分析.........................................5 1.3.4 管理可行性分析.........................................5 1.4 研究内容....................................................5 2开发工具及其语言特点..............................................6

2.1 Visual Studio.NET主要特点如下...............................6

2.2.1简洁的语法.............................................7 2.2.2精心地面向对象设计.....................................8 2.2.3与Web的紧密结合.......................................8 2.2.4完整的安全性与错误处理.................................9 2.2.5版本处理技术...........................................9 2.2.6灵活性和兼容性........................................10 3.1SQL2005主要特点.............................................10 3.1.1.NET框架..............................................10 3.1.2XML技术...............................................11 3.1.3ADO.NET2.0版本........................................11 3.1.4增强的安全性..........................................11 3.1.5Transact-SQL的增强性能................................11 3.1.6SQL服务中介...........................................11 3.1.7通告服务..............................................11 3.1.8Web服务...............................................12 3.1.9报表服务..............................................12 3.1.10全文搜索功能的增强...................................12 3.2C#与ADO.NET.................................................12 3.2.1 C#中的数据库访问.....................................12 3.2.2 数据绑定..............................................23 3.3 SQL语言...................................................24 3.3.1表定义语句............................................24 3.3.2视图定义语句..........................................24 3.3.3索引定义语句..........................................24 3.3.4数据操纵语句..........................................25 3.3.5INSERT语句............................................25 3.3.6UPDATE语句............................................25 3.3.7DELETE语句............................................25 3.3.8查询语句..............................................25

第1页

2企业人事管理系统

3.3.9条件查询..............................................26 3.3.10查询排序.............................................26 3.3.11统计查询.............................................26 3.3.12Group by子句.........................................26 3.3.13Distinct关键词.......................................26 3.3.14Top关键词............................................27 3.3.15多表查询.............................................27 3.3.16多重查询.............................................27 3.3.17EXISTS关键词.........................................27 4系统需求分析.....................................................28 4.1系统流程图如下..............................................28 5 致谢.............................................................49 附录F 各模块实现的主要源代码.....................................47 F1.1登录模块的设计与实现的主要代码.............................47 }..............................................................48 F1.2登陆实体类:...............................................48 F1.3 员工管理模块的设计与实现的主要代码.......................49 F1.3.1员工管理实现的主要代码:.................................49 F1.3.2 部门管理实现主要代码:.................................50 }..............................................................52 F1.3.3工资管理主要代码:.......................................53 }..............................................................56 F1.3.4考勤信息设计与实现主要代码:.............................56 }..............................................................60 F1.4 数据访问类:..............................................60 }..............................................................62 F1.5生日提醒主要代码:.........................................62 F1.6启动第三方EXE文件操作类:.................................63 }..............................................................63

第2页

3企业人事管理系统

企业人事管理系统

1前言

1.1 应用的目的与意义

人的管理是一切管理工作的核心。员工代表一个企业的形象,因而人事管理机制设计的好坏,直接影响一个企业的成败。

员工的档案管理是企业人事管理的基础,在企业员工普遍流失的今天,一个准确而及时的人事管理系统,有利于人事部门对员工流动进行分析、编制,为企业所需人员提供了保障。

人力资源部那些重复的,事务性的工作交给HRP(Human Resource Planning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管理理念,把人力资源管理的作业流程控制和战略规划设计巧妙地集合于一体;系统重点涉及到人力资源管理工作中的薪资、考勤、绩效、调动、基本信息、用户管理以及用户切换等方面,并有综合的系统安全设置、报表综合管理模块。可以很好地为用户的人力资源管理部门在对员工的成本管理、知识管理、绩效管理等综合管理给予帮助。以每个月中所发工资为例,其中包括考勤、人事信息变动、奖惩、迟到和旷工对本月的薪资计算都有影响,为了及时的计算发放工资往往要提前一个星期花费大量时间,加班加点才能及时完成,而这样做无论从工作效率还是准确度方面,都不允许,而且还浪费大量的人力财力。如果改用HRP管理做到高效、高精度,还可以减少管理时带来的一些繁琐的工作,节约管理带来的开支。1.2 人事管理系统发展趋势 1.2.2 世界趋势

人力资源管理系统主导21世纪,无论是发达国家还是发展中国家,对人力资源的战略性意义都有了深刻的认识,并开始付诸行动。世界公认,21世纪将是人力资源的世纪;人力资源问题将主导整个21世纪甚至更为遥远,这种状况的变化起因于竞争压力。目前,世界经济趋向全球化。世界经济的全球化过程和国

第3页

4企业人事管理系统

家的开放过程,要求组织的管理部门降低管理成本以减少竞争压力和增强竞争能力。对于不同的组织,人力资源成本在总成本中的比例是不一样的。1.2.3 技术革新

无论是现在还是将来,工业的发展越来越多地取决于科学和技术、知识与技能。高新科技产业更是如此。这不仅要求员工尤其是技术人员掌握新的科学知识和技术能力,而且更重要的在于要求员工深入而快捷地掌握和应用这些知识和技能。这就导致了两个问题。第一,随着这种技术革新的发展和知识更新速度的加快,人们有更多的职业选择机会。第二,伴随着这种发展以及职业选择机会的增多,人力资源管理活动和频繁程度加剧;而且这种活动对科学技术的要求与它的反应程度也更高了,进而提高了人力资源成本。1.2.4 工作目标和价值观的改变

随着社会政治和经济的发展,人们的工作目标和价值观也都发生了重要的变化。这就对人事管理部门和管理人员提出了新的要求和新的问题,不得不考虑诸如工作类型设计、岗位分析、充分尊重员工以及为他们提供良好的个人发展和自我价值实现的环境与条件等问题。这样,人力资源管理就派上了用场。1.3 系统调研

1.3.1 社会可行性分析

随着计算机的发展与普及,以及互联网技术的扩展,日常劳资人事管理必将实现无纸化办公,并且加入到公司内部的Intranet或者是Internet上去,实现数据的共享,这样有利于劳资人事信息在单位内部的查询,提高了数据资源的利用,并且能及时的得到更新,不需要象过去那样浪费大量的人力物力去进行抄写,提高了工作的效率 1.3.2 技术可行性分析

Visual Studio.NET提供了一个统一的、紧密集成的可视化编程环境,简化了开发应用程序的过程,缩短了实用方法的时间。利用Visual Studio.NET,可

第4页

5企业人事管理系统

以非常轻松地创建具有自动伸缩能力的可靠的应用程序和组件。而且微软的优秀成果c#语言保持了c/c++所特有的强大功能和控制能力。与c++十分相似的模型和语法,具有与COM+服务完全的交互性和完全支持能力,能够轻松地迁移现有的代码。数据库方面SQL2005已经可以满足中小型企业的数据要求,甚至有些大型企业都可以达到要求。如今进算计普及程度日益推广,计算机配置日新月异,能承载此系统的机器就如办公的机器都可以达到要求。所以说本系统具有技术可行性。

1.3.3 经济可行性分析 采用传统的手工输入方法,不仅工作繁琐而且需要人力输入多,记录容易出错,那样产生了成本高,效果差的弊病,对于一个企业的资料库建立是十分困难和麻烦的。而采用这种系统所发费的成本,精力都远远低于手工,并且实用十分方便,更新也简易,每个部门只需一个人统一管理,对企业实现办公无纸化能起到很大的作用。所以此系统经济可行性也具备了。1.3.4 管理可行性分析

本系统采用了系统数据备份、恢复的功能,而且界面层次分明,一目了然,加上设计方面加入了人性化元素。管理此系统并不难,易学易会。1.4 研究内容

本论文共分为5章。第1章绪论,介绍了本课题的应用目的和意义、人事管理系统、可行性分析和研究内容。第2章介绍了开发工具及其特点、数据库技术。第3章主要介绍了系统的设计与分析,包括总体设计、数据库设计、详细设计等。第4章主要介绍系统实现,即系统各种模块的功能实现。第5章为本课题完成成果和发展期望的总结。

本论文主要利用C#可视化技术及SQL数据库开发技术,对员工管理与考勤管理系统进行系统化、细致化和完善化的分析研究。

第5页

6企业人事管理系统

2开发工具及其语言特点

2.1 Visual Studio.NET主要特点如下 2.1.1提供加速开发过程的高效工具

Visual Studio.NET提供了一个统一的、紧密集成的可视化编程环境,以帮助用户简化开发网络应用程序的过程,缩短学习使用方法的时间。它提供了一种新的语言——C#。通过共享的HTML、XML和样式单编辑器,用户可以轻松地借助包括C#在内的任何一种Visual Studio语言来开发网络应用程序。2.1.2 提供对各种网络应用程序的快速设计能力

借助Web Form,用户可以用他们在开发基于窗体的桌面应用程序时所使用的技巧来创建跨平台、跨浏览器的网络应用程序。2.1.3 利用XML和Web Service来简化分布式计算

Web Service借助标准的Intemet协议在网络上调用商务逻辑。HTTP被作为Web Service传输的基础协议,该协议使得对功能的请求能够穿越各种团体所使用的防火墙。XML被用来对上述功能请求的参数进行格式统一,从而使这些请求能够使用于所有的软件和硬件。这样使得对Web Service的访问可以通过任何一种语言、使用任何一种组件模型在任何一种操作系统上实现。2.1.4快速构建中间层商务组件

Visual Studio的一个核心目标就是要为基于服务器的应用程序提供应用程序快速部署工具。利用Visual Studio.NET创建的组件将为您的商务运作提供足够的功能和伸缩性。

2.1.5构建可靠的可伸缩解决方案

利用Visual Studio.NET,用户可以非常轻松地创建具有自动伸缩能力的可靠的应用程序和组件。2.2 C#技术概述

C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。它忠实地继承了C和C++的优点。如果你对C或C++有所了解,你会发现它是那样的熟悉。即使你是一位新手,C#也不会给你带来任何其它的麻烦,第6页

7企业人事管理系统

快速应用程序开发(Rapid Application Development,RAD)的思想与简洁的语法将会使你迅速成为一名熟练的开发人员。

C#是专门为.NET应用而开发出的语言。这从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。C#的一些突出的特点 ●简洁的语法

●精心地面向对象设计 ●与Web的紧密结合 ●完整的安全性与错误处理 ●版本处理技术 ●灵活性与兼容性 2.2.1简洁的语法

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

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

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

第7页

8企业人事管理系统

2.2.2精心地面向对象设计

从Smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。的确,C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中将进行更为详细的介绍。

C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。在后面的学习中你很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一个类之中。你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成部分。在下面将会谈到,这样做的另一个好处是兼容性。

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

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

由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通

第8页

9企业人事管理系统

过Internet被运行在任何操作系统上的任何语言所调用。举个例子,XML已经成为网络中数据结构传递的标准,为了提高效率,C#允许直接将XML数据映射成为结构。这样就可以有效的处理各种数据。2.2.4完整的安全性与错误处理

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

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

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

C#提供内置的版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。升级软件系统中的组件(模块)是一件容易产生错

第9页

10企业人事管理系统

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

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

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

正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(Common Language Specification,CLS),从而保证了C#组件与其它语言组件间的互操作性。元数据(Metadata)概念的引入既保证了兼容性,又实现了类型安全。3.1SQL2005主要特点 3.1.1.NET框架

使用SQL Server2005,开发人员通过使用相似的语言,例如微软的VisualC#.NET和微软的VisualBasic,将能够创立数据库对象。开发人员还将能够建立两个新的对象——用户定义的类和集合。

第10页

11企业人事管理系统

3.1.2XML技术

在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。SQL Server2005将会自身支持存储和查询可扩展标记语言文件。3.1.3ADO.NET2.0版本

从对SQL类的新的支持,到多活动结果集(MARS),SQL Server2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。3.1.4增强的安全性

SQL Server2005中的新安全模式将用户和对象分开,提供fine-grainaccess存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。3.1.5Transact-SQL的增强性能

SQL Server2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能,等等。3.1.6SQL服务中介

SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。3.1.7通告服务

通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。

第11页

12企业人事管理系统

在SQL Server2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQLServerManagementStudio。3.1.8Web服务

使用SQL Server2005,开发人员将能够在数据库层开发Web服务,将SQL Server当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。3.1.9报表服务

利用SQL Server2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行。3.1.10全文搜索功能的增强

SQL Server2005将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。3.2C#与ADO.NET

3.2.1 C#中的数据库访问

用.NET框架编写的(当然也包括用C#编写的应用程序)应用程序需要访问数据库时,将使用ADO.NET来实现数据库访问。数据绑定是一种非常有用的访问数据库的方法,能够减少需要编写的代码量。很多简单任务可以通过纯粹声明式代码来完成。<1> ADO.NET ADO.NET是微软的数据访问框架的最新产物,它是.NET框架的一部分。在ADO.NET之前,程序员在ASP(Active Server Pages)或Visual Basic中使用

第12页

13企业人事管理系统

ADO(AtiveX Data Objects),这是一组COM(Component Object Model,组件对象模型)组件,它通过一个易于使用的封装类提供对底层数据访问代码的访问。虽然ADO大大简化了数据库访问,但更高级的程序员(特别是C++程序员)通常更喜欢使用更直接、更快的代码,如OLE DB(Object Linking and Embedding for Databases)代码库。

ADO.NET比ADO的功能更强大。它是在.NET代码中访问数据库的最好工具。

.NET框架中的ADO.NET类型(在System.Data命名空间及其子空间下的所有类型)包括那些为访问SQL Server、OLE DB、ODBC和Oracle数据库而优化的类型。它们都是基于通用类的,因此使用ADO.NET访问不同的DBMS是相似的。ADO.NET类型实现两个主要的功能。

● 数据访问:用于访问数据库中数据和操作数据库的类型;

● 数据表示:用于包含数据库数据(如数据表)的类型。

这两种类型之间联系密切,在数据库开发中两种类型都会用到。严格地说,可以只用一种数据库访问类型。然而,如果使用数据访问类型来填充数据表示类型将节省大量工作。

ADO.NET包含7个重要的基类,其中4个是数据访问类:

● DbConnection;

● DbCommand;

● DbDataReader;

● DbDataAdapter。其他3个类是数据表示类:

● DataTable;

● DataRelation;

● DataSet。

DataTable类使用了其他一些重要的类:DataColum、Constraint和DataRow,本节也将介绍它们。1.DbConnection DbConnection类提供与数据库的连接。创建DbConnection对象时,应提供与DBMS通信所需的所有信息,如数据库的位置、用于认证的用户名和密码以

第13页

14企业人事管理系统

及要访问的DBMS中的数据库。

所有其他ADO.NET数据访问类都依靠DbConnection与数据库进行通信。DbConnection类的扮演角色如图2.1所示。

图3.2.1 DbConnection类

在从DbConnection派生而来的类中,到数据库的连接都是由连接字符串定义的,该字符串存储在属性DbConnection.ConnectionString中。

数据库连接应只在传输数据时才打开,因此创建DbConnection实例时并不自动连接到数据库。DbConnection类定义了Open()方法和Close()方法,用于控制连接何时可用。很多其他的ADO.NET类也能控制连接状态,例如,有些类在完成操作后关闭它们使用的连接。

DbConnection对象还能参与事务。可用DbConnection.BeginTransaction()方法开始事务,或使用DbConnection.EnlistTransaction()作为已有事务的一部分执行操作。

访问SQL Server或SQL Server速成版中的数据时,使用SqlConnection,该类是DbConnection的子类。一般来说,DbConnection和SqlConnection及其他子类都称为连接类。2.DbCommand DbCommand类提供与数据库交互的主要方法。可以用DbCommand对象来执行SQL语句、运行存储过程等。DbCommand及其派生类称为命令类。

大部分时候并不直接使用DbCommand,而是用封装了DbCommand的其他对象。但有时候需要对数据库通信进行更多的控制,这时就可以使用DbCommand对象。DbCommand对象的扮演角色如图2.2所示。

第14页

15企业人事管理系统

图3.2.2 DbCommand类

DbCommand中最重要的属性是DbCommand.CommandText。要执行SQL语句,就要将语句文本放在这个属性中。可以用DbCommand.CommandType来指定要执行的语句类型,使用DbCommand.Connection和DbCommand.Tranction来访问底层的连接或事务。

要注意,DbCommand对象可能有参数化的命令字符串,命令中的参数来自类型为DbCommand.Parameters集合的属性。这与直接在命令字符串中输入参数相比有很多优点,在本书后面部分将会看到。

要使用DbCommand对象执行命令,有三种选择,这取决于要执行的命令是什么。有些命令不返回结果,这种情况下可以用DbCommand.ExecuteNonQuery()方法;有些命令返回一个结果,这时可用DbCommand.ExecuteScalar()方法;最后,有很多命令返回多行数据,这时可用DbCommand.ExecuteReader()方法,它将返回一个DbDataReader对象(下一小节将解释)。

SQL Server的DbCommand版本名为SqlCommand。它有自己的一些特殊方法,如SqlCommand.ExecuteXmlReader()方法,它直接以XML格式返回结果。3.DbDataReader 使用DbDataReader类可以从结果集中读取数据,如从执行存储在命令对象中的命令生成的结果集中读取数据。该类经过高度优化,可以很快地访问数据库中的数据。然而,这种优化也有些副作用,例如,只能以串行方式一次读取一行数据。不能读完两行后再返回去读取第一行。通常,可以用DbDataReader对象(更确切地说,是数据阅读器的子类对象)来提取要使用的行数据,并将其存储在其他对象中。例如,可以读取一个结果集中的每行,将其存储到在自定义集合或泛型列表对象中的自定义类中。

第15页

16企业人事管理系统

与命令对象一样,很多时候数据阅读器对象是由ADO.NET命名空间下的其他类使用的,用户不必直接使用它们。

图3.2.3说明了如何在数据库应用程序中使用数据阅读器。

要使用数据阅读器对象,首先必须调用DbDataReader.Read()方法选择结果集中的第一行。可不断调用该方法来移动数据阅读器,使数据阅读器像结果集中的游标一样总是指向一行。获取一行时,Read()方法返回true;否则返回false—如当所有行都已经读完时。也可以用DbDataReader.HasRows属性来判断结果集中是否还有其他行。

图3.2.4 DbDataReader类

很多属性和方法可用于检查当前选中的行。DbDataReader.FieldCount查看当前行包含多少列,并用DbDataReader的重载索引器访问各列。如果知道要访问的列名,可用基于字符串的索引器来获得列值,也可以使用基于整数的索引器通过位置获得列。在这两种情况下,这种方法都将返回object值,可将其转化为其他类型的数据。

也可以使用DbDataReader提供的多个方法直接获得类型化数据,如GetString()和GetInt32()分别将指定列以string和int值返回,列通过其索引选择。要使用这些方法获得值类型,必须首先使用DbDataReader.IsDBNull检查空值;否则,空值将引发异常。检查空值是必须的,因为不管什么数据库类型都可以为空。这与.NET中的值类型不同,可为空的值类型(如int)在这种上下文环境中是不受支持的。

DbDataReader也能够获得关于它包含的数据的元信息—使用

第16页

17企业人事管理系统

DbDataReader.GetSchema Table()方法,这样就可以知道列的名称、数据类型和其他信息,如列是否包含空值。

与前面的其他类一样,也有专门用于SQL Server的数据阅读器类,这就是SqlDataReader,本书将使用该类。该类继承DbDataReader,提供将数据读取为本地SQL类型的方法,这样就能够避免空类型的问题。这些类型包含在System.Data.Sqltypes命名空间中,是可为空的;如SqlDouble和SqlInt32。虽然这些类型也可以像标准的值类型那样进行操作,但它们实际上是引用类型。4.DbDataAdapter 在ADO.NET的核心数据访问类中,最后一个是DbDataAdapter类。它比前面介绍过的类型要复杂得多,设计该类的目的只有一个:减少存储在数据集对象中的数据与数据库进行数据交换时的干扰。与前面的类一样,DbDataAdapter类也有很多派生类,它们统称为数据适配器类。

稍后将详细解释什么是数据集对象,简单地说,它们是能够以.NET对象的形来表示数据库中数据的对象。数据集对象可以包含整个表或多个表的数据。数据适配器既可以将数据库中的数据传输给包含在数据集中的表,也可以将数据集中的数据传输到数据库中。

这个功能由命令对象和数据阅读器对象执行,因此大部分时候用户不必考虑它。然而,DbDataAdapter最重要的(也是最有用的)特性之一是,它用于传输数据的命令对象被暴露出来,因此可以根据需要对它们进行定制。图2.4说明了DbDataAdapter类的工作原理,包括它包含的命令对象。

第17页

18企业人事管理系统

图3.2.4 DbDataAdapter类

数据适配器使用的4个命令对象存储在4个属性中:SelectCommand(用于查询数据)、InsertCommand(用于添加数据)、UpdateCommand(用于编辑数据)和DeleteCommand(用于删除数据)。要使用适配器,并不一定全部用到这4个属性,例如,可以只用适配器来查询数据。另外,.NET框架可以根据其他命令的值推断出命令的值,例如,可以根据查询命令来生成更新、插入和删除命令。然而,这种自动生成的命令的效率可能不如手工提供的高。本书稍后还会讨论这个问题。

数据适配器中最常用的两个方法是

DbDataAdapter.Fill()和DbDataAdapter.Update()。Fill()方法从数据库中获取数据;Update()方法更新数据库中的数据。这两个方法都可以用于数据集或单个数据表。另外,可以使用DbDataAdapter.FillSchema()获取架构数据。

SQL Server中的DbDataAdapter版本是Sql DbDataAdapter。5.DataTable DataTable是ADO.NET提供的第一个数据表示类。与数据访问类不同,数据表示类没有专门用于特定数据库管理系统(如SQL Server)的子类,它们独立于平台。实际上,如果需要的话,数据表示类完全可以独立于数据库使用,它们只是存储数据的一种方便的方法。

DataTable类用于存储(读者可能对此感到不解)数据表。在继续讨论这个类之

第18页

19企业人事管理系统

前需要澄清一件事情:以DataTable对象存储的表不一定要映射到数据库中的表。DataTable可能包含表中数据的一个子集,该子集可能只包含数据库表的部分行、部分列,可能是由数据库中多个表组合而成的数据,还可能是所有这些的组合,这取决于用于获得数据的查询语句。通常,DataTable与数据库中的表匹配,但仍然要知道上面提到的事实。

图3.2.5说明了DataTable与其他ADO.NET对象之间的关系。

图2.5 DataTable 要获得完全填充的DataTable,可使用数据适配器。有包含数据的DataTable后,就可以访问行、列、约束和它包含的其他信息。这些信息可以通过命名恰切的属性来访问,包括Rows、Columns和Contraints等。

上面提到的3个属性都返回一个集合类(DataRowCollection、DataColumnCollection和ConstaintCollection)对象。与其他集合类一样,这些类可用于在它们包含的对象集合中导航,添加或删除项等。稍后将介绍这些集合包含的类。

DataTable类另一个非常重要的方面是,如何处理数据修改。例如,如果删除DataTable中的一行,数据适配器如何知道在数据库中删除对应的数据?DataTable对象记录了对原始数据的修改,而不只是数据的当前状态。从DataTable中删除一行并不会真的删除这些数据,而只是数据被标记为已删除。在DataTable对象的消费方(如应用程序)看来,就像数据已被删除,但实际上并没有删除。

任何时候都可以使用GetChanges()方法获得关于对DataTable对象所做的修改

第19页

20企业人事管理系统

列表(以另一个DataTable对象的形式)。可以在适当时使用AcceptChanges()方法接受已做的修改,从而覆盖原来的数据。例如,可以在修改提交到数据库后这样做。也可以使用RejectChanges()撤销所有的修改,如当最终用户单击“取消”按钮时。

DataTable对象也暴露了很多事件,在应用程序中可以定制这些事件,如RowDeleted和ColumnChanged。使用这些事件可以保证应用程序对事件进行响应,还可以实现其他功能,例如,确保底层数据库在数据发生修改时立即更新。(1)DataColumn。

DataColumn存储了在数据表中定义列所需的所有信息。在DataTable中,Columns属性包含一个DataColumnCollection,这是一个DataColumn对象集合。DataColumn还包含与DBMD匹配的属性,包括ColumnName、Dataype、AllowDBNull和DefaultValue。它的属性可能比使用的DBMS的属性还要多,但如果使用过不同的DBMS,这一点将显而易见。对于SQL Server,这并不是问题。(2)Constaint。

Constaint对象(在ConstaintCollection中,可通过DataTable.Constaints访问)用于包含表的所有元数据,这些数据不包含在DataColumn对象中。Constaint类作为更具体类的基类,这些具体类包括UniqueConstaint—用于确保给定列或列组合的值是唯一的(例如,这对于主键是必须的)和ForeingKeyConstaint—用于实现表之间的关系。(3)DataRow。

DataRow类用于存储表中一行包含的数据。通过DataTable.Rows属性可以访问DataRow Collection对象,后者存储了组成表数据的多个DataRow对象。一行数据中的各列可通过索引器来访问,索引器让你能够通过列名、索引和版本(例如,如果行被修改)来访问列。

行的当前状态,即它是否被修改、删除或以某种方式改变,可通过DataRowState属性访问。该属性的值为DataRowState类型,这是一种包含所有可能行状态的枚举类型。各个DataRow对象也有与DataTable对应的方法,用于接受、拒绝和获得更改。例如,可以推断出,调用DataTable.AcceptChanges()将级联地对表的每行调用DataRow AcceptChanges()。

第20页

21企业人事管理系统

6.DataRelation 在处理多个DataTable对象时,通常需要表示(并实施)表数据之间的关系。这由DataRelation类来完成。可将多个DataRelation对象组合起来,构成一个DataRelationCollection对象。

关系可以用DataRelation类的多个属性来定义,包括ChildTable、ChildColumns、ChildKeyConstraint、ParentTable和ParentKeyConstraint等。这些属性都是对相应的对象的引用,如DataTable和DataColumn对象。关系名也被存储在DataRelation.RelationName属性中。

现在还不用太担心DataRelation对象,因为它们封装了ADO.NET比较高级的方面,这在本书后面将介绍。7.DataSet 现在到了ADO.NET中最重要的类—DataSet。从某种程度上说,该类只是DataTable对象和DataRelation对象的集合(如图2.6所示)。然而,DataSet的强大功能体现在与其他对象结合使用,包括用于Web应用程序和Windows应用程序的控件、Web服务和XML文档。

DataSet类包含很多属性和方法;其中很多与其组成部分的属性和方法类似,例如,GetChanges()和RejectChanges()。还有一些重要的属性,如Tables(以DataTableCollection类的形式包含DataSet中的表集合)、Relations(包含一个DataRelation Collection类,其中的Relation对象定义了表之间的关系)。数据表之间的关系及应用于数据的约束使得对DataSet的操作很麻烦。例如,如果两个表之间存在一对多关系,则添加一行到其中一个表中,可能要求另一个表中存在一行。而这行可能不存在(例如,如果两行同时添加时),这时,为避免错误,添加这些行的顺序将很重要;必须先添加位于关系“一”端的行。也可以将DataSet.Enforce Constraints属性设置为false,这样在执行编辑操作时将忽略关系。

(1)DataSet对象和XML之间的关系。

第21页

22企业人事管理系统

与ADO.NET的其他对象一样,设计DataSet对象时也考虑了XML数据。使用DataSet.GetXml()方法,可将数据集转换为XML文档;还可以使用DataSet.GetXmlSchema()方法只提取数据集中的架构(包括数据集包含的所有表和其他对象的架构)作为XML文档。还可使用序列化技术在DataSet和XML文档之间进行转换,因为DataSet类实现了IxmlSeria-lizable接口。

DataSet对象与XML之间的关系以及使用序列化在这两种表示格式之间进行转换,在.NET框架中运用相当广泛。它提供了一种在应用程序层之间和通过Internet交换数据的很好方法。特别地,有了数据集的XML表示形式后,就可以在Web服务之间进行交换DataSet对象。(2)类型化数据集(typed data set)。

DataSet对象的功能很强大,但它们并不是最容易使用或最合乎逻辑的。例如,要访问表中的特定行,使用它就显得很笨拙。必须使用DataSet.Tables集合获得正确的表,用DataTable.Rows集合获得正确的行,然后以对象引用的形式或通过DataColumn的方法提取列数据—这些都不容易。访问特定列的代码行可能如下所示: int

result

=(int)myDataSet.Tables[“myTable”].Rows[5][ “IntegerColumn”];还有一种方法,那就是使用类型化数据集。类型化数据集是DataSet的子类,但它包含强类型属性和方法,使得数据操作更容易。如果使用类型化数据集,上面的代码就可以简化为如下所示:

int result = myTypedDataSet.MyTable[5].IntegerColumn;虽然这并不影响代码的功能,但输入更容易(尤其是启用了智能感知功能时),以后阅读代码时也更容易理解。

唯一的限制是,需要在设计时就知道数据集中将包含的数据的结构。然而,因为数据库的结构不大可能有很大的改变,因此这通常不成问题。

可以使用xsd.exe工具或通过Visual C#速成版界面自动创建类型化数据集。xsd.exe工具要求提供一个架构(schema),这是以扩展名为.xsd的XML架构文件提供的。Visual C#速成版在创建类型化数据集时也要使用架构信息,但它直接从数据库获取这些信息,这使得对数据集的结构进行操作更容易。

第22页

23企业人事管理系统

(3)性能。

有些人认为应尽量避免使用数据集。这是因为它们是“重量级”对象,带来的开销在高性能应用程序中可能很大。另外,以数据集的形式通过Web传输数据可能意味着要传输大量的XML数据。

从某种程度上说,这些担忧是正确的。如果性能很重要,可以设计自己的类,并直接使用数据阅读器提供的数据进行填充。然而,数据集(特别是类型化数据集)自有它们的用处。它们提供了很多特性,只需少量代码就可以使用这些特性,且用于操作它们的代码通常很简单。例如,如果不没有数据集,要表示数据库的数据,同时在类中记录所有编辑,且这些编辑可以很容易地传输到数据库,可能需要大量的代码,且实现起来相当困难。3.2.2 数据绑定

数据绑定是程序员只需做少量工作就可以用数据库中的数据填充Windows或Web控件的一种技术。.NET框架让程序员只需使用简单的代码就可以将数据源与控件关联起来,实际上,可以通过GUI实现很多功能,而不需要编写大量C#代码。数据绑定有两点要求:数据源和要绑定数据的控件。数据源包括数据库连接,但不仅限于此,也可以使用对象或来自Web服务的数据作为数据源。使用对象作为数据源是一种功能强大的方法,可以利用自定义的集合和自己设计的类,但这有点偏题了。本书大部分时候使用的数据源类型都是数据库数据源,它有Web控件形式,也有Windows控件形式。

生成数据库数据源时,通常不仅需要配置连接。数据库数据源包括关于要访问数据库中哪些对象的信息。实际上,在幕后通常将生成类型化数据集。此外,幕后还将用到前面介绍的ADO.NET对象(连接、命令、数据阅读器和数据适配器协同工作来创建数据源)。然而,程序员不必太担心这一点,而只需创建一个数据源并将它绑定到控件,如图2.7所示。

图2.7 数据绑定

第23页

24企业人事管理系统

要绑定到控件,需要将控件的属性设置为数据源的元素(从而间接地设置为数据库的元素)。对于简单控件,如标签或文本框,只要将控件的Text属性设置为数据库中类型为文本的列。还可以将数据绑定到列表控件(包括下拉列表),这样列表中的每项都绑定到数据库表中的一行。更高级的控件(如GridView)可用于查看整个表的内容。另外,也可以提供自定义的控件和自定义的数据绑定架构,以便使用和编辑数据库中的数据。3.3 SQL语言

通用的SQL语言,最早于1974年提出,当时称为SEQUEL语言,后来被国际标准化组织ISO采纳为国际标准,现在大多数数据库管理系统都支持SQL语言。SQL是一种处理数据的高级语言,是非过程化语言,在查询数据时,只需指出“要什么”,而不需指出如何实现的过程。SQL语言包括数据定义、查询、操纵和控制功能。SQL语言的语法格式简单,使用方便灵活。3.3.1表定义语句

广义上讲,表定义语句包括数据表的创建语句(Create语句)、数据表修改语句(Alter语句)和数据表删除语句(Drop语句)。3.3.2视图定义语句

视图是对数据表中数据的一种显示方式,用一个数据表可以有多个视图,以根据用户的不同需求,将数据表中用户所关心的数据提取出来,显示给用户,忽略数据表中其他数据。视图也可以理解为一种预先定义好的查询。实际上,查询的优点在于可在多个数据表之间按指定的条件对数据进行筛选显示。3.3.3索引定义语句

索引是加速数据查询的重要手段,索引一旦被建立起来,就成为了数据库的一部份,并占用数据库的存储空间。使用索引的突出优点就是加快数据的查询速度,但是,对于数据的插入、删除和修改操作来说,索引却降低了执行效率。

第24页

25企业人事管理系统

3.3.4数据操纵语句

数据操纵包括数据的插入、更新和删除等操作,数据操纵语句是应用程序编制过程中使用较多的语句之一。3.3.5INSERT语句

INSERT语句所实现的功能是向数据库中插入新的数据,该语句的一般语法如下: Insert into tableName [(fieldList)] values(valueList)3.3.6UPDATE语句

UPDATE语句用于更新数据表中的数据。所谓的更新是指数据已经存在于数据表,但需要对其中的数据进行修改,此时可以使用UPDATE语句实现。3.3.7DELETE语句

如果某些数据需要从数据表中删除,则可以使用DELETE语句进行,该语句的基本语法如下:

Delete from tableName [Where select_conditon] 3.3.8查询语句

查询语句是SQL语言中使用最为频繁的语句,查询可以根据需要在数据表内或者多个数据表之间进行数据筛选。熟练掌握数据查询语句,才能编写出高质量的数据库管理软件。

查询是SQL语言最重要最核心的功能之一。在SQL语言中查询是通过Select语句实现的,最简单的SQL语句结构如下: Select字段列表 From表名

第25页

26企业人事管理系统

3.3.9条件查询

Select语句除了可以对字段进行筛选以外,还可以对记录进行筛选和操作,此时,要用到Where字句。Where子句在Select语句中用于指定查询条件,其结构一般如下:

Select 字段列表 from 表名 Where 条件表达式 3.3.10查询排序

SQL语句还可以对查询的结果进行排序,此时,要用到Order by子句。另外,还要用到两个负责排序方式的关键词ASC和DESC,ASC指明按升序排列查询结果;DESC则指明按降序进行排列。排序查询的结构一般如下: Select fieldlist From tableName [Where select_conditon] Order by field1 [ASC|DESC],field2 [ASC|DESC] 3.3.11统计查询

SQL语言对数值型的字段具有统计的功能,该功能涉及到5个统计函数,介绍如下:Count(*):统计符合查询条件的记录的个数。AVG(field):计算某个数值型字段的平均值。Max(field):返回某个数值型字段的最大值。Min(field):返回某个数值型字段的最小值。Sum(field):计算某个数值型字段所有记录的和。3.3.12Group by子句

Group by子句的作用是将查询结果中的数据按指定字段分组,Group by子句常与统计函数一起使用,以对查询数据实现分组统计。Group by子句的一般语法如下:

Group by 字段1,字段2 3.3.13Distinct关键词

在数据表的某个字段中可能会出现多个重复的值,使用Distinct关键字可以避

第26页

27企业人事管理系统

免查询结果中出现重复的记录。含Distinct关键词的SQL语句结构一般如下: Select Distinct 字段名列表 From 表名 Where 条件表达式 3.3.14Top关键词

Top关键词的作用是限制查询结果的返回数目。该关键词常被用来限制显示查询结果中前多少个或者前百分之多少的记录。因此,Top关键词经常和Order by子句一起出现。Top关键词的基本语法: Top n Top n Percent 3.3.15多表查询

SQL语言还可以实现在同一个数据库中的不同数据表之间进行查询。3.3.16多重查询

SQL语句允许嵌套使用,这种查询一般是把其中一个查询的结果作为另一个查询语句的查询条件。多重查询中一般会出现In、Not In、All、Some或者Any等关键词。In和Not In用来指定某值在和不在某区间或者集合;All表示集合中的全部,而Some和Any则表示集合中的一部分。3.3.17EXISTS关键词

EXISTS(NOT EXISTS)关键词是复合查询语句中的常用关键词,其作用是判断复合查询语句的内层查询是否存在查询结果。使用EXISTS关键词时内层查询只是起到一个判断是否存在查询结果的作用,其筛选出的数据对整个查询没有任何作用。

第27页

28企业人事管理系统

4系统需求分析

4.1系统流程图如下

员工管理准备员工信息管理登陆社会关系学习经历维护数据备份判定数据清空系统主界面部门设置设置清空员工管理系统设置岗位调整工资考勤信息管理下载考勤信息考评管理税率管理奖惩管理工资调整管理工资项目管理工资汇总统计子模块员工管理功能图如下:

部门设置用户管理岗位调整员工管理学习经历维护员工基本信息社会关系第28页

29企业人事管理系统

用户管理:主要用于管理不同职能的员工信息,可以实现创建,修改,删除员工职能信息的功能。

系统运行界面图如下:

对应的数据库设计图:

员工基本信息:企业人事档案管理信息化模块;具有快速、无限量员工数

第29页

30企业人事管理系统

据输入及保存功能;由特定权限的管理员统一管理员工档案。对员工从进入公司开始直至离职的整个过程进行人面管理,档案信息包括,职员编号,职员姓名,出生年月,职工学历,定时检查更新员工信息,具有权限的使用者可以登记、查询、修改、统计部门信息、岗位设置情况。图如下:

对应的数据库设计如下:

第30页

31企业人事管理系统

社会关系:主要用于建立和保存职员的社会关系,以备侯用。运行图如下:

第31页

32企业人事管理系统

对应的数据库系统设计:

第32页

33企业人事管理系统

学习经历维护:主要记录员工各个阶段不同部门学习的情况。系统运行图

对应的数据库设计:

第33页

34企业人事管理系统

部门设置:可以添加、修改、删除部门。系统运行图:

对应的数据库设计:

岗位调整:主要用于让公司找到员工的强项并让员工发挥最大作用。

第34页

35企业人事管理系统

对应的数据库设计:

工资考勤信息管理功能图如下:

第35页

36企业人事管理系统

工资汇总统计下载考勤信息税率管理考评管理工资考勤信息管理工资项目管理奖惩管理工资调整管理下载考勤信息:用于记录员工的考勤情况。系统运行图如下:

对应的数据库设计图:

第36页

37企业人事管理系统

考评管理:用于实时调查员工的工作情况,调整好他们最佳工作状态,可以促进良性竞争和增强企业的活力。系统运行图:

第37页

38企业人事管理系统

对应的数据库设计图如下:

税率管理:主要用于计算税率,可以升级工资模块,跟时代同步。系统运行图如下:

相应的数据库设计如图:

第38页

39企业人事管理系统

奖惩管理:赏罚分明,调动企业工作气氛。系统运行图如下:

对应的数据库设计图如下:

第39页

40企业人事管理系统

工资调整管理:工资的合理调整可以有效调动员工积极性。系统运行图如下:

对应的数据库设计图如下:

第40页

41企业人事管理系统

工资项目管理:用于基本工资和参数的记录和调整。系统运行图如下:

对应数据库设计图如下:

第41页

42企业人事管理系统

工资汇总统计:用于员工工资的报表显示。如图:

系统设置图如下:

数据备份系统设置数据清空设置清空 系统设置:主要用于数据库的备份和维护。

第42页

43企业人事管理系统

运行图如下: 连接到数据库:

进行数据库备份或者恢复:

第43页

44企业人事管理系统

系统大概流程和功能介绍:

系统登陆:安全作用,设置管理员的账号用于登陆与维护。

系统主界面:

第44页

45企业人事管理系统

增强更为人性化的功能: 比如操作助手:

企业员工生日提醒如图:

第45页

46企业人事管理系统

增强更为美观的界面:

参考文献:

[1] 王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,2008。[2] 李晓喆.SQL Server 2000管理及应用系统开发[M].北京:人民邮电出版社,2002。

[3] 侯晓霞,柴洪辉.C#技术内幕[M].北京:清华大学出版社,2002。[4] 李敏波.C#高级编程[M].北京:清华大学出版社,2005。[5] 张志华,刘云鹏.C#设计模式[M].北京:电子工业出版社,2003。[6] 张晓坤,谭立平,车树良.C#编程语言详解[M].北京:电子工业出版社,2004。

[7] 周存杰.Visual.C#.NET.网络核心编程[M].北京:清华大学出版社,2002。[8] 姜力,高群.SQL Server数据库设计与管理[M].北京:中国林业出版社,2006

第46页

47企业人事管理系统

致谢

首先衷心感谢我的导师谢光强老师对我学术上的指导和帮助。在毕业设计和论文写作的过程中,谢老师给我提供了各种意见与支持,并引导我逐步解决各种问题,使我的毕业论文条理化、规范化,同时使我增长了见识、提高了水平。谢老师学识渊博、治学严谨,作为我的导师让我感到万分的荣幸。

同时感谢同事,他为我提供了一些c#学习资料。最后,还要感谢所有帮助过我和关心过我的人。忠心的说一声“谢谢”。

附录F 各模块实现的主要源代码

F1.1登录模块的设计与实现的主要代码 if(tbxUserCode.Text.Trim()== “"){ BigMessageBox.Show(”请您输入用户或密码!“, ”警告“, MessageBoxButtons.OK, MessageBoxIcon.Stop);this.tbxUserCode.Text = ”“;this.tbxUserCode.Text = ”“;this.tbxUserCode.Focus();return;} else { EmployeeInfo emp = null;switch(User.LoginValidate(tbxUserCode.Text.Trim(), tbxUserPwd.Text.Trim(), out emp)){ case User.LoginResult.NoUser: { BigMessageBox.Show(”没有该用户信息“, ”用户验证“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserCode.Text = ”“;tbxUserCode.Focus();break;} case User.LoginResult.PasswordError: { BigMessageBox.Show(”用户密码错误!“, ”用户验证“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserPwd.Text = ”“;

第47页

48企业人事管理系统

tbxUserPwd.Focus();break;} case User.LoginResult.Success: { FormMain objMain = new FormMain();this.Hide();objMain.Show();break;} default: break;}

} F1.2登陆实体类:

StringBuilder strSql = new StringBuilder();strSql.Append(”select EmpID, LoginName, LoginCode, Password, RoleID, IsUsed, CreateName,CreateDatetime,Remark FROM Login “);strSql.Append(” where LoginrCode=“ + LoginrCode);Login model = new Login();DataTable dt = DbHelperSQL.Instance.GetDataTable(strSql.ToString());

if(dt.Rows.Count > 0){

model.EmpNO = dt.Rows[0][”EmpNO“].ToString();model.LoginName = dt.Rows[0][”LoginName“].ToString();model.LoginrCode = dt.Rows[0][”LoginCode“].ToString();model.Password = dt.Rows[0][”Password“].ToString();if(dt.Rows[0][”RoleID“].ToString()!= ”“){ model.RoleID = int.Parse(dt.Rows[0][”RoleID“].ToString());} model.IsUsed = dt.Rows[0][”IsUsed“].ToString();model.CreateName = dt.Rows[0][”CreateName“].ToString();if(dt.Rows[0][”CreateDatetime“].ToString()!= ”"){

管理系统设计毕业论文 第3篇

当前高校毕业生找工作、实习和进行毕业设计等环节相互交织,导致他们与指导教师之间存在时间和空间上的冲突。另外随着独立学院新校区的建设、两地办学现象的普遍,传统的手工管理方式已经越来越不能满足需要。而基于B/S结构的毕业论文管理系统有效地解决了这个问题。

2 开发环境

独立学院毕业论文管理系统是采用面向对象的分析和设计技术开发系统,采用B/S模式,基于ASP平台开发研制而成,后台使用ACCESS数据库,Web页面开发使用Dreamweaver软件。上述开发软件和技术的组合极大地简化了系统的开发难度,提高了系统的可扩展性、可移植性、可维护性以及美观程度。

3 系统功能模块

根据独立学院的实际需要,以用户为划分原则,将该系统分为教学秘书模块、指导教师模块与学生模块3大基础模块,系统需求如图1所示,以功能为原则划分,系统主要可分为选题管理、在线提问和解答管理、成绩管理、系统设置、用户管理5大模块。

4 架构设计

毕业论文管理系统是采用ASP技术、B/S结构开发的一个完整的管理系统,其中B/S结构是常用的网站系统的三层体系结构模式。其系统结构可分为几个组成部分:视图层、控制层、模型层。它们之间相互作用,共同组成结构分明的毕业论文管理统,如图2所示。

5 数据库

根据系统功能设计的要求以及功能模块的划分,为了保存论文答辩管理系统所用到的各种数据,在Access中创建的lwen数据库中包含7个表:教学秘书登录验证信息表、学生信息表、指导教师信息表、论文开题信息表、系统设定数据保存表、学生选择指导教师记录表、最终学生与指导教师对应表。

6 功能实现

6.1 用户登录

使用本系统的有3类人:教学秘书、指导教师和学生。因此用户登录实现的关键在于如何区别这3类人,让他们登录进去后只能进行自己权限范围内的操作。由于3类人的用户名不可能重复,所以解决该问题的方法就是将输入的用户名在教学秘书登录验证信息表、学生信息表和指导教师信息表中进行查找,在哪张表中找到该用户名,那么该用户属于哪类用户就清楚了。

6.2 学生选择指导教师模块

该模块主要用于学生在规定的时间内选择论文指导教师,每个学生有3个志愿可选。在系统实现的过程中,难点和关键点在于时间的控制。最终实现代码如下:

其次是在规定时间内学生选择指导教师的实现,下面以第一志愿的选择为例说明,第二志愿和第三志愿与第一志愿的实现基本相同,代码如下:

7 结语

系统为独立学院的毕业论文工作提供了一个基于网络的开放平台,从指导教师给题、学生选题、在线交流到提交论文、评定成绩等所有工作都在网上进行。该系统在一定程度上解决了毕业设计管理的办公自动化问题,具有很强的实用性。

参考文献

[1]胡声洲,车燕兵.基于ASP的毕业论文管理系统设计[J].福建电脑,2009,(6):114-115.

[2]邓文渊.ASP与网页数据库设计[M].北京:中国铁道出版社,2004:79-81.

[3]黄兰.基于B/S结构的毕业论文管理系统[D].成都:电子科技大学,2011.

[4]李巍,王华东.毕业论文管理系统中的关键技术研究[J].计算机时代,2011,(8):32-34.

管理系统设计毕业论文 第4篇

关键词:功能性需求分析;非功能性需求分析;业务里程分析

中图分类号: G463 文献标识码: A 文章编号: 1673-1069(2016)36-195-2

1 概述

作为大学本科生必须完成的最后一门课程,毕业论文具备了其它课程所没有的典型特征:①由于毕业论文的宗旨是考查学生对本专业核心知识的掌握程度和运用知识解决实际问题的能力,因此在其完成过程中将会综合运用多门课程的知识点并将这些知识点与实际研究对象进行结合。②参与毕业论文过程管理的对象多,不仅包括学生和指导教师,还包括负责毕业论文的系主任、主管教学的分院领导和教务处实践教学管理科的工作人员,管理层次多,职能划分详细。③耗时长。按照培养方案的要求,毕业论文从开始选题到最后的答辩,总共耗时将近半年的时间,期间学生可以采取在校完成或者外出完成的形式进行毕业论文。以上特点决定了毕业论文过程管理的复杂性,不同的高校对该教学任务采取了不同的形式,以达到降低管理成本、提高管理成效的目的。

2 系统分析

系统分析主要围绕用例分析、业务流程分析和非功能性需求三个角度来开展。

2.1 用例分析

用例分析主要分析系统中各类角色对系统各个模块的操作权限。根据前期调研结果的分析,本系统的用户可以分为系统管理员、教务部门工作人员、教师、专业负责人、分院领导和学生共六种角色。系统用例分析就是分析这六种角色在系统中可以操作的应用场景。

2.1.1 系统管理员用例分析

毕业论文管理系统的系统管理员只负责本系统运行相关的支撑数据,即系统管理和基础数据两个模块中的功能。通常,系统管理模块包括部门管理、角色管理、用户管理、菜单管理、权限管理、数据管理、日志管理;基础数据包括专业设置、班级设置、教师管理、学生管理和教室管理。其中,部门管理是管理高校现有的教学单位和与毕业论文管理工作相关的部门;角色管理是管理系统用户的分类信息,以便为系统的权限分配提供基础;菜单管理是管理系统可以操作的模块以及模块的层次结构;权限管理是将菜单的操作权限分配给每类角色,从而确保系统操作和数据浏览的安全性;数据管理是对系统的数据库进行管理,包括数据备份和数据恢复;日志管理是管理系统操作的日志,以便系统出现问题时,可根据系统寻找发生故障的原因;专业设置是按照高校现有的专业结构和隶属关系完成专业信息的管理;班级设置是负责按照专业设置学生所在的班级;教师管理是管理高校教师的基本信息;学生管理是管理在校毕业班学生的基本信息;教室管理是管理目前学校可供使用的教室,为答辩安排提供基础数据。

2.1.2 教务部门工作人员用例分析

教务部门工作人员在系统中主要负责三个方面的工作,分别是基础数据中关于时间的设置、答辩安排审核和答辩结果审核。其中,基础数据中的时间设置包括学期的设置、选题时间设置和过程时间设置。选题时间设置主要设置学生选题的开始时间和结束时间;过程时间设置包括指导记录时间的设置、中期检查时间的设置和答辩时间的设置。

2.1.3 教师用例分析

毕业论文管理系统中具有操作权限的教师主要包括指导教师和交叉评阅教师以及答辩教师。教师在系统中可以操作的用例包括出题、审批开题报告、指导记录、答辩申请审批、交叉评阅和答辩结果登记。其中,出题只有被专业负责人指定为指导教师的教师才具有该权限,交叉评阅也只有被专业负责人指定为交叉评阅的教师才具有操作权限;答辩结果登记通常由答辩小组组长来完成。

2.1.4 专业负责人用例分析

专业负责人在系统中主要负责安排工作,包括教师安排和答辩安排。其中,教师安排主要安排指导教师、交叉评阅教师和答辩教师的人选;答辩安排则负责安排答辩教师的分组、参加答辩的学生分组以及教室和具体的答辩时间。

2.1.5 分院领导用例分析

分院领导在系统中主要负责两类信息的审核,分别是出题的审核和答辩安排的审核。

2.1.6 学生用例分析

学生是毕业论文管理系统的主体,在该系统中可以操作的用例包括选题、开题报告撰写、指导记录、中期检查、答辩申请、答辩安排和答辩结果。

2.2 业务流程分析

毕业论文管理系统包含的核心流程包括撰写开题报告和答辩安排两个核心流程。

2.2.1 开题报告流程分析

参与开题报告工作的主体包括学生、指导教师、专业负责人和分院领导,其流程如下:首先,学生完成开题报告的撰写,并提交给系统验证,验证通过后保存信息,并转交给指导教师审批,审批通过后转交给专业负责人进行初步审核,审核通过后再转交给分院领导进行最后的审核,并将最后的审核意见反馈给学生。

2.2.2 答辩安排流程分析

参与答辩安排的主体包括专业负责人、分院领导和教务部门工作人员,其流程大致如下:首先,专业负责人在答辩安排页面完成答辩安排的信息,然后提交给系统进行验证,如果验证通过再将安排转交给分院领导进行初步审核,审核通过后,转交给教务部门工作人员进行最后审核,审核通过后再将最终的审核结果反馈给专业负责人,并最终显示给学生和教师查看。

2.3 非功能性需求分析

与功能性需求分析的侧重点不同,非功能性需求分析更注重的是系统的整体性能要求,是衡量系统整体质量的依据。根据本系统的特点,系统的非功能性需求主要包括稳定性、准确性、安全性、易用性和可移植性。

3 系统设计

根据系统的功能需求分析的结果并结合管理信息系统的管理模式,总结出毕业论文过程管理系统的功能框架如图1所示。

图1中的系统管理通常负责管理一般系统运行所需的支撑数据。毕业论文管理系统的系统管理由部门管理、角色管理、用户管理、菜单管理、权限管理、数据管理和日志管理共七个模块组成。

4 结束语

代码开发仅仅是系统开发生命周期中的系统实现的主要任务,在此之前需经历系统分析和系统设计两个不可逾越的阶段。本文通过分析,得出了高校毕业论文管理系统的需求,并对这些需求进行整理后,完成了系统功能框架的设计,为下一步系统开发搭建系统应用程序架构提供了直接依据。

参 考 文 献

[1] 包慧敏.基于Web的毕业论文管理系统设计[D].南京:南京理工大学,2013.

[2] 郑鸿英.毕业论文管理系统的开发与实现[D].上海:华东师范大学,2011.

[3] 刘珊.本科毕业论文管理系统的设计与实现[D].厦门:厦门大学,2014.

[4] 陈斌.基于JQuery框架的毕业论文管理系统的设计与实现[D].苏州:苏州大学,2012.

[5] 孙晓妍.基于UML的面向对象信息系统开发[J].价值工程,2013(10):189-190.

[6] 陈振庆,罗兰花.基于动态描述逻辑的UML状态图形式化方法[J].2011,37(13):55-57.

[7] 陈振庆.基于时序描述逻辑的UML顺序图形式化方法[J].计算机工程,2013(3):36-37.

旅游管理毕业论文设计 第5篇

摘要:本研究以中国旅游企业为研究对象,以关于企业高管团队的文献为基础,选用27家具有女性高管的旅游上市公司为研究样本,探讨女性所占高管比例,女性受教育水平和女性年龄对旅游企业绩效的影响。

关键词:女性高管;企业绩效;旅游企业;公司治理

一、旅游企业女性高管对企业绩效影响研究

近年来,对于女性高管对企业绩效影响的研究也日渐受到国内外学者的重视。

然而,国内外针对此问题的研究普遍应用在西方管理情境中,却很少用于具体的行业情境中。

因此,对旅游企业高管团队的研究文献比较稀缺。

女性高管对旅游企业绩效的影响更是少之又少。

这也是本文研究的创新之处。

二、研究假设本文研究假设如下: 假设1:女性在高管团队中所占比例与企业绩效之间有显着影响假设2:女性高管的年龄对旅游企业绩效有显着影响假设3:女性高管受教育水平对企业绩效有显着影响

三、数据与研究方法本文通过选取27个旅游上市公司作为本文的研究样本。

(1) 因变量为企业绩效。

本文使用净利润率作为考察企业绩效的指标。

(2)自变量①女性所占高管比例:分为高、中、低三组进行研究。

②女性高管受教育水平:分为高和低两组。

③女性高管平均年龄:分为高、中、低三组。

论文管理系统设计 第6篇

1总体结构设计

对于绝大部分焊接企业来说,生产管理的思想和方法的规范化是极其重要的,虽然广义上来讲都是大同小异,但是深入研究就会发现不同的焊接企业有着不同的模式,而这是由于自身、外界等各种因素共同作用所产生的.理想的生产管理系统需要具有良好的扩展性,业务模块的设计也应该详尽而合理.通过查阅资料文献和企业调研并与该企业员工的交流,结合一些案例,根据实际的情况,确定了系统功能,并对系统进行了详细的需求分析.

1.1生产管理系统的功能

该生产管理系统是用来代替企业传统人工模式,使部门员工能看到企业库存精准情况,订单的实时情况等,防止出现不必要的生产空闲,最终目的是使企业能够高效地完成任务.所以该生产管理系统包括的功能如下:(1)业务单据数据的录入和查询;(2)方便快捷的编辑各种材料数据,如焊条的收录、删除;(3)提供查询功能,诸如焊材的化学成分、用途等,并能及时查看库存情况;(4)提供以国家标准或其他标准为依据的焊条、焊丝、焊剂的检验规则、技术要求、实验方法等;(5)能够自定义配置仓库,例如仓库名称、库存分类、库存预警等功能;(6)可以在企业内部网络进行数据共享;(7)系统具有身份识别和严格完善的权限管理功能;(8)可以保存、输出、打印数据或文件;(9)支持数据导入和导出以及数据归类、汇总.

1.2管理系统总体结构

本系统采用C/S(Client/Sever,客户端/服务器)模式,该模式是服务器和客户机合作完成的二层结构体系,它们之间的关系体现为请求/响应关系,具有较强的交互性,安全性能高.客户端应用程序负责用户使用时产生的服务请求,将数据库请求发送到服务器;服务端主要包括各类数据库及服务器,主要用来存储、管理数据,响应客户机的请求并提供相应的服务.服务端采用Oracle数据库平台,客户端应用程序采用VisualC++工具开发.该系统主要由项目管理子系统、销售管理子系统、采购管理子系统、生产管理子系统、质检管理子系统(如焊材和母材检验标准设计、焊材检验国家标准)、库存管理子系统、权限管理子系统构建.

2数据库设计

焊接企业对数据安全性要求较高,企业数据量也较庞大,为了满足充分的交互性能,该系统采用了具有支持远程数据访问并且有大型数据处理能力的Oracle作为该系统的数据库平台.既满足了系统需求,也保证了较高的安全性和可移植性.数据库的设计是否合理是该系统设计成功的关键因素.需要依据企业实际业务流程规范,对所有数据进行完整性、规范性、标准性约束,消除数据的冗余,保证数据的唯一,同时严格规范业务流程,杜绝“跳线”情况发生,建立符合企业需求的数据库.

2.1业务单据数据库设计

业务流程是生产管理系统的核心,所以数据库必须按照业务流程来设计,以实现业务的协同处理,提高企业快速反应能力.例如采购管理里的采购到货单必须包含采购合同编号(或采购订单号),在收货时就能通过采购合同编号查询到订货时所签订的明细表,既保证了企业利益也方便数据的整理.同时数据库表建立外键也适用于只有一个单号,没有与之相关联的上一级单号这种情况,例如没有拟定采购合同的采购,或者一些仓库调拨、盘点一类.表单明细通过与表单主键关联,保证数据唯一性和安全性.业务流程主要是以各种单据来传递信息,单据与类别是多对多的关系,建立一个有层次关系的类别表,有利于后期的整理与查找.另外单据需要有上级的审核来保证信息的可靠性,进而在建立各种单据表时加入审核状态、审核人等字段.

2.2仓库焊接材料数据库设计

由于焊接企业资源数据包含母材、焊材(焊条、焊丝、保护气体、电极、钎料、钎剂等)、焊接工装及设备、焊接材料选配标准等,所涉及项目繁多,本文仅以对母材和焊材进行分析,为员工提供查询便利,也为焊接企业发展提供坚实的基础.

3客户端设计

客户端程序是企业员工直接使用的程序,将货品管理、项目、采购、销售、出货、生产管理、库存采用插件方式加载到同一框架中,以便为不同的焊接企业模式定制.该客户端按照企业业务流程来设计,满足企业运作操作需求,例如数据的录入,单据的添加、修改、删除和查询等.又例如①查询数据库中的焊材国家检验标准;②在焊材国家检验标准基础上设计符合自己企业检验标准;③资料库中母材和焊材数据的完善和查询.另外,用户可以通过输出接口程序方便以word形式输出单据,同时涉及到的图片、文档、资料等均以附件形式上传、下载.

3.1授权系统

授权系统是为了确保工作按顺序进行而采取的一套工作正式审批程序.在整个企业管理系统中起到核心作用.系统权限不仅定义到子菜单,更进一步定义到单据的操作按钮,兼顾资料安全性和操作便捷性.多级审核权限控制,清晰定义每个操作者的查看、新增、修改、打印等权限.

3.2系统设计

生产管理系统主窗体有菜单栏、工具栏、状态栏和客户区域四个部分组成.其中客户区域分为两块,左边区域为业务管理项,包括项目管理、采购管理、销售管理、生产管理、仓库管理和系统设置.右侧区域则为显示业务操作具体内容.每个管理项展开后都有与之相关的业务操作选项和共通的账号信息选项,系统设置则包含一些用户能自定义的数据.该系统的主要目的是提高企业业务运作效率,系统流程设计活动图6中采用了以一概全的表述方法.另外,由于企业每个员工所拥有的权限不同,所以该活动图只表述一次业务操作.

3.3焊材检验设计模块

质检管理项中,通过厂家提供的焊材资料,查询相关的焊材国家检验标准,并将内容显示与系统页面中,如果该企业入厂检验标准高于国家标准,那么通过点击页面编辑按钮,修改为符合企业的入厂检验标准,审核后另作保存.如图6中的质检管理模块.

3.4资料库模块

系统对于母材和焊材的数据有着较为完整的归纳,能便捷的添加数据,例如母材类别、化学成分、力学性能(抗拉强度、屈服强度、疲劳强度等)、物理性能(弹性模量、泊松比、热导率等)等.

3.5查询模块

通过单号来查询单据是最简单、便捷的方法,但是只有单号的查询是无法提高企业效率,所以不同的单据都有与之相对应的查询页面,而每个查询页面都能实现多条件查找,条件的筛选是根据企业需求来拟定.最后获取的结果会在页面的一个报表控件中显示,如果查询单据中包含明细,在报表记录被选中后,点击详情就会显示完整数据.如果有相应的编辑权限,就能对其进行修改.

4结论

本文介绍的焊接企业管理系统基于Oracle数据库平台,采用C/S结构模式,利用面向对象技术方法设计、开发,并采用插件的方式,为不同的焊接企业模式定制.业务的全面、流程的严谨是该软件所需的基本要求,相较于其它系统软件,在拥有一些共同的功能上,扩展了较完整的母材、焊材数据的添加;提供焊材检验国家标准或其他标准并支持修改等功能,这些都对提高焊接企业运作效率有着显著帮助,对企业的发展和业务拓展起到了核心的作用.

管理系统设计毕业论文

管理系统设计毕业论文(精选6篇)管理系统设计毕业论文 第1篇本科生毕业论文设计在线管理系统设计与实现一、前言毕业论文(设计)是高等院...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部