首页 > 文章中心 > 公共管理毕业

公共管理毕业范文精选

公共管理毕业

公共管理毕业范文第1篇

(一)毕业论文项目

完整的毕业论文由一系列项目构成,这些项目应包括:封面、中文内容提要及关键词、英文内容提要及关键词、目录、正文、注释、附录、参考文献、致谢,其中"注释"与"附录"是具体情况安排,其余各项均为必备项目。

(二)项目含义

1、封面

包括文头、论文标题、作者、专业、年级、学号、指导教师、分校。

2、中文内容提要及关键词

内容提要是对论文的概括性描述,自述在300至500字之间;关键词是从论文标题、内容提要或正文中提取的、能表达论文主题的、具有实质意义的词语,一般不超过7个。

3、英文内容提要及关键词

它的内容提要(Abstract)和关键词(Keywords)由中文翻译而成。

4、目录

包括论文的一级标题、二级标题、三级标题的名称以及对应的页码;附录、参考文献的对应页码。

5、正文

它是论文的主干部分,由绪论、本论、结论三部分组成,这三部分在行文上可以不明确标示,但各部分内容应以若干层次的标题来表示,正文字数在7000字以上。

6、注释

它是对论文中所应用的名词术语的解释,或是对引文出处的说明,采用脚注形式。

7、附录

它是对正文起补充说明作用的信息材料,可以采用文字、图形、表格等形式。

8、参考文献

它是作者在写作过程中使用过的文章、著作等名录。

9、致谢

它是作者对在论文写作过程中给予指导帮助的人员表示感谢。

二、编排格式

(一)版式与用字

文字、图形一律从左至右衡写横排。文字一律通栏编辑,适用规范的简化汉字,忌用异体字、复合字及其他不规范的汉字。

(二)编排式样及字体号

1、封面

(1)文头

封面顶部居中,3号宋体加粗,上下各空一行,固定内容为"东北财经大学本科毕业论文"。

(2)论文标题

论文标题用2号黑体加粗,在文头下居中,上下各空两行。

(3)论文副标题

论文副标题用小2号黑体加粗,紧挨正标题下居中,文字前加破折号。

(4)其余项目

作者、专业、年级、学号、指导教师、分校的项目名称用3号黑体,内容用3号楷体,在正副标题下居依次排列,各占一行。

2、中文内容提要及关键词

另起一页。论文标题用3号黑体,顶部居中,上下各空一行;

"内容提要"的内容用5号宋体,每段起首空两格,回行顶格;

"关键词"三字用4号黑体,内容用5号黑体,一般不超过7个词,词间空一格。

3、英文内容提要及关键词

另起一页。"内容提要"项目名称规定为"Abstract",顶部居中,用3号Arial字体,加粗;

"内容提要"的内容用5号Arial字体,标点符号用英文形式。

4、目录

另起一页。"目录"项目名称用3号黑体加粗,顶部居中;内容用小4号仿宋体。

5、正文

另起一页。

(1)论文标题用3号黑体加粗,顶部居中排列,上下各空一行;

(2)文字用5号宋体,每段起首空两格,回行顶格,1.5倍行距;

(3)正文文中标题

一级标题:标题序号为"一",用5号宋体加粗,独占行,末尾不加标点;

二级标题:标题序号为"(一)",用5号宋体加粗,独占行,末尾不加标点;

三级标题:标题序号为"1、",用5号宋体加粗,可根据标题的长短决定是否独占行,若独占行,则末尾不加标点,若不独占行,标点后面须加句号。

四级标题:标题序号为"(1)",用5号宋体,要求与三级标题相同;

五级标题:标题序号为"①",用5号宋体,要求与三级标题相同。

注:每级标题的下一级标题应各自连续编号。(4)注释

正文中加注之处右上角加数码,形式为"①"或"(1)",同时在本页留出适当行数,用横线与正文分开,空两格后写出相应的注号,再写注文。注号以页为单位排序,每个注文各占一段,用小5号宋体。

引用著作时,注文的顺序为:作者、书名、出版单位、出版时间、页码,中间用逗号分隔;引用文章时,注文的顺序为:作者、文章标题、刊物名、期数,中间用逗号分隔。

(5)附录

"附录"项目名称用4号黑体加粗,在正文后面空两行顶格排列,内容编排参考正文。

(6)参考文献

"参考文献"项目名称用4号黑体加粗,在正文或附录后面空两行顶格排列;另起一行空两格用5号宋体排列参考文献内容,具体编排方式同注释。

(7)致谢

另起一页。"致谢"项目名称用4号黑体加粗,另起一行空两格用5号宋体编排内容,回行顶格。

6、表格

正文或附录种的表格一般包括表头和表体两部分,编排的基本要求是:

(1)表头

包括表号、标题、计量单位,用小5号黑体,在表体上方与表格线等宽编排。其中,表号居左,格式为"表1",全文表格连续编号;标题居中,格式为"××表";计量单位居右,参考格式为"计量单位:元"。

(2)表体

表体的上下端线一律使用粗实线(1.5磅),其余表线用细实线(0.5磅),表的左右两端不应封口(没有左右边线)。表中数码文字一律使用小5号字。表格中的文字要注意上下居中与对齐,数码位数应对齐。

7、图形

图形的插入方式为上下环绕,左右居中。文章中的图形应统一编号并加图名,格式为"图1××图",用小5号黑体在图的下方居中编排。

8、数字

文章中的数字,除了部分结构层次序数词、词组、惯用词、缩略语、具有修辞色彩语句中作为词素的数字、模糊数字必须使用汉字外,其他均应使用阿拉伯数字。同一文中,数字的表示方式应前后一致。

9、标点符号

文章中的标点符号应正确使用,忌误用、混用标点符号,中英文标点符号应加以区分。

10、计量单位

除特殊需要,论文中的计量单位应使用法定计量单位。

11、页码

论文全文应连续页码,单面页码位置在右下角。

公共管理毕业范文第2篇

近几年来,全球环境不断恶化,体现为工业污染不断加剧,沙漠化严重,温室气体排放增加,全球进一步变暖。以目前的趋势,全球平均气温在未来50年内将升高2.5~10℃,全球变暖将导致世界上四分之一也就是100多万个物种在未来50年里灭绝。全球气温升高导致地球两极冰雪融化和海平面上升,地球上众多海岸线将被海水侵蚀,众多岛屿将被淹没,岛上及沿海居民生活受到威胁。这些环境变化,在给各国人民带来巨大灾难的同时也促使各国政府积极行动起来,共同应对环境的变化及其所带来的问题。1992年在巴西里约热内卢举行的联合国环境与发展大会上,包括我国在内的150多个国家制定了《联合国气候变化框架公约》,奠定了应对气候变化国际合作的法律基础。自此以后,联合国基本每年举行一次会议签署一些重要的协议。这进一步强化了各国政府的环境保护职能,包括林业的公共管理职能。我国各种环境灾害层出不穷,淮河的水污染,长江、太湖等水域的蓝藻,北京地区的尘沙天气等,都唤起了我国各级政府对生态环境保护问题的重视。为了积极有效地处理好我国国内不断出现的环境问题,我国政府采取了积极的环境政策。如2008年我国全面推进集体林权制度改革,2012年党的十八大、2013年十八届三中全会突出强调了生态文明建设等,都必将推动林业公共管理的发展。国际国内的环境问题要求我们强化政府的环境保护职能,正如科尔蔓所说:“在一个对生态负责的世界秩序中,国家的和国际的组织必须重新定位”。这里的“重新定位”是指政府要适应环境的变化,强化政府的环境保护职能。环境保护的关键在于发展现代林业生态系统,政府环境保护职能的主要内容之一则在于加强林业公共管理。加强林业公共管理是政府履行环境保护职能的重要形式。林业公共管理的强化及其有效性的提高,有利于提供更多的林业公共物品,从而应对环境的挑战,改善生态环境,实现人与自然的和谐发展。要做到这些,就需要我们加强林业公共管理的研究,否则就会导致政府的环保职能因缺乏有效的制度与措施而空置,环境问题还是无法得到有效解决。

二、绿色运动的兴起是加强林业公共管理研究的强大推力

随着生态危机的加剧,各国人民开始行动起来,通过各种方式来保护我们生存的地球环境,形成了一股汹涌澎湃的绿色运动。绿色运动自20世纪60年代产生以来,不断发展,并在公民、非政府组织、政党、三个层面上展开。在公民层面,发生在自己身边的环境危机促使公民为了更加美好的生存环境而自发地行动起来,人们自发地走上街头,以静坐、游行、示威等方式呼吁政府采取有力措施控制环境污染。我国环境群体性事件每年以29%的速度不断增加,从一个侧面反映了我国公民对环境问题的关注。在非政府组织层面,绿色运动逐步由群众自发活动转化为有组织的自觉行为。据联合国环境署统计,全球的非政府组织由1976年的532个发展到7000多个非政府和政府性环保组织活跃在世界政治舞台上。在我国环保非政府组织发展迅速,截至到2008年4月共有环保民间组织3539家,民间自发组织的508家。这些非政府环保组织倡导的生态思想、环境保护意识、可持续发展理念等,为解决国际国内的生态环境问题起到了举足轻重的作用。在政党层面,人们认识到,环境问题本质上也是一种政治问题,只有直接进入政治层面,改变现有的政治思维、制度,才能有效解决生态危机。于是,绿色运动在政党层面展开。1972年新西兰成立了世界上第一个绿色政党,此后,西方各主要国家先后成立了本国的绿党。绿党与传统政党的根本区别在于,它第一次将按人与自然协调共处的理论原则调整人类现存生产生活方式的政治观点变成了一种政治需求,并提出了把这些政治主张付诸现实实践的政治策略。绿党在现存的政治体制中实现自身政治理想的途径主要有参加竞选,赢得议会席位,参加政府,开展党际合作等。在我国,中国共产党的十八大进一步强化了生态文明的理念,在全国范围内推动了生态文明的建设。绿色运动对我国社会各个方面都产生了深刻的影响,“绿色运动刻意要成为社会主义问世以来最激进、最重要的政治和文化力量”,而绿色人士的目的并不在于获得和维持政权,“绿色运动最激进的目标在于一场非暴力的革命,以推翻我们污染环境的、掠夺性的、物质主义的工业社会,代之以一个将使人类与星球和睦相处的新型的经济和社会秩序”。而要实现这一目的,就需要政府加强环境与生态的公共管理,尤其是加强林业公共管理,需要我们加强林业公共管理的研究。加强林业公共管理的研究,有利于政府有效地回应公民与非政府组织的环保呼声,采取措施满足其环保需求,从而提高政府的合法性,也有利于政党采取更加切实而有效的途径与方法实现其最高政治理想。如果我们不加强林业公共管理的研究,就会导致公民无法提出具体的环境保护诉求,非政府组织和政党就无法采取正确的步骤和行动,政府也无法有效地回应社会的环境保护需求,绿色运动也无法深入开展。

三、林业公共管理研究的滞后是加强林业公共管理研究的现实需求

我国一直以来都不缺乏对林业的管理。在20世纪90年代以前,我国政府对森林资源进行的是计划经济体制下行政指令性管理;随着我国向社会主义市场经济体制的过渡,森林资源的管理逐步由行政指令性管理向公共管理过渡。正确的行为需要科学的理论指导,林业公共管理强化的现实需求也需要科学的理论指导,但林业公共管理的理论研究,相对于现实需要的迫切性而言,在我国还比较滞后,具体体现为以下几点:

1.现有的林业管理研究的成果更多地适应了计划经济体制的需要自从十一届三中全会以来,林业管理的研究逐步得到了人们的重视,陆续出版了一些教材和著作。这些著作在阐述国家林业管理政策的同时也阐述了如何进行林业的经营管理。随着我国由计划经济体制向社会主义市场经济体制的转型,这些研究成果显示出很强的滞后性。这种转型促使林业管理理论的转型,要求我们加强林业公共管理的研究。

2.目前的公共管理研究成果出现了概论化的趋势20世纪以来我国理论界加强了公共管理的教学与研究,公共管理的一般性理论与著述大量出现。但北京大学周志忍教授认为,中国的公共管理研究出现了概论化、特征化的倾向[12],缺乏对具体领域的公共管理,尤其是林业公共管理领域的系统、深入研究。出现这种现象的主要原因在于相当多的研究成果都将研究的重点放在西方发达国家的公共管理理论和实践上,没有结合我国公共管理的实际及各个公共管理领域的实际进行研究,研究成果难免概论化。公共管理的研究成果要推动社会的发展,就要结合具体的领域来进行。在林业公共管理领域,就应该加强林业公共管理的研究。

3.一般性的公共管理理论无法完全替代林业领域的公共管理研究一般性的公共管理理论具有普遍性,而林业公共管理的研究具有特殊性。固然,一般性的公共管理理论总体上适用于林业公共管理领域,但林业领域的公共管理理论不同于一般性的公共管理理论。在实践中,仅有一般性的公共管理理论而没有林业领域的公共管理理论,那么实践者就需要将一般性的理论转化为具体的内容,而这个转化过程就会因人而异,存在着很多不确定的因素。

公共管理毕业范文第3篇

一、毕业论文及其写作要求

(一)什么是毕业论文

毕业论文从文体而言,它是对教学领域的现实问题或理论问题进行科学探索的具有一定价值的论说文.从侧重点不同,分为学术论文和理论论文。工商管理本科的毕业论文一般为理论论文.理论论文是以议论为主要表达方式来探讨、论述理论问题,表述理论研究的成果,或理论对现实问题进行、说明、提出对策办法,并提升到理论高度的一种著述文体.由于毕业论文的写作,具有总结理论学习成果,培养学生的独立分析问题和解决问题能力的性质,就不能简单地重复已有的结论,而是从已知求未知,必须具有一点新的思想深度和自己的观点、主张。

(二)撰写毕业论文的目的

大学生撰写毕业论文的目的,主要有两个方面;一是对学生的知识相能力进行一次全面的考核。二是对学生进行科学研究基本功的训练,培养学生综合运用所学知识独立地分析问题和解决问题的能力,为以后撰写专业学术论文打下良好的基础。

公共管理毕业范文第4篇

国家专业指导委员会制定的工程管理专业培养目标是:培养具备管理学、经济学和土木工程技术的基本知识,掌握现代管理科学的理论、方法和手段,具有项目经理能力,能在国内外工程建设领域从事项目全过程管理的复合型高级管理人才。这一目标是在金融危机和国家宏观调控大背景下提出的,工程相关的上下游行业均受到不同程度的波及,这对工程管理专业毕业生的人才能力培养提出更大挑战。中国工程管理教育普遍存在的问题是教育偏重理论而学生缺少实践应用能力[1],反映到工作实践中就是工程管理专业毕业生能力偏弱,专业优势显现不出来,存在设计工程相关行业面广而技术不足的问题。这种内外环境导致学生在工程相关行业中的就业竞争力下降,长期将会影响到专业就业和学科发展。究其原因,基于技术、经济、管理和法律四大平台的专业课程内容重复、关联性不强,学生无法从众多专业课程的学习过程中有清晰、整体的认识。为解决这一问题,并充分考虑到工程管理专业本科毕业生应兼具土木工程技术及与项目管理相关的经济、管理、法律等基本知识,实现学生知识结构的交叉和融合,笔者从各方面做出了深入的探讨和分析,希望从毕业设计环节入手构建工程项目全生命周期技能整合的实践指导模式。通过此种模式让工程管理专业的学生除了学好现有的理论知识,还能够在全过程的工程项目管理中实现本专业四项平台能力的整合,具有良好的交流能力和团队精神,更重要的是通过这种毕业设计模式的引导,加深对本专业、本行业乃至社会、历史、文化、环境等的理解和掌控能力,以此适应复杂的工程项目建设环境,提高实际的工作能力。

二、工程管理专业毕业设计指导模式现状

(一)毕业设计选题不适应社会发展的需要

好的选题能够使学生具有足够的信心和动力,充分发挥专业特长和运用综合知识的才能,同时还能激发学生的创新思维和创造潜能[2]。只有对理论有了本质的认识,对问题有了根本性的把握,才会有自己新的观点,这样写出来的毕业论文才会有个性。江苏大学工程管理专业是在原有建筑工程、交通工程专业的基础上的新设专业,原有大土木工程学生数量众多,每年毕业生约在200名左右,以前的毕业设计选题[3]较为单一,主要以多层框架结构的建筑、结构设计为主。而工程管理专业的学生也在很大程度上偏重这种类型的选题,近几年来通过整合师资力量,有效拓宽了选题范围,规范毕业设计选题管理,建立了师生双向选择的选题管理模式。2011年江苏大学工程管理专业毕业设计题目仍然与土木工程的选题大致类似分为工程设计类(多层框架结构、小高层框剪结构、剪力墙结构形式)和施工技术与管理类(施工技术与施工组织、项目管理实施规划)。可见,这种选题分类已经完全不适合学校工程管理专业学生综合运用工程、经济、管理、法律的四大知识体系的相关知识,更加无法体现本专业学生相关技能的融合程度、无法适应社会发展的需要。

(二)缺乏能力的训练

从以上工程管理专业毕业设计选题可见,毕业设计的内容上过多地重视对已学知识的运用,而忽视了毕业设计教学应培养学生在工程实践中解决实际问题的能力和相关技能融合的能力,这种能力的训练对学生及其未来的工作是非常重要的。

(三)指导模式单一化

在江苏大学已有的毕业设计教学中,教学双方所采用的依然是一个指导教师对几个学生的定期指导形式。工程管理专业是近年来新成立的,师资极度缺乏,学校中参与毕业设计的指导教师以年轻教师为主。这些年轻教师要承担大量教学和科研工作,任务繁重,而传统的学生毕业设计时间过于集中,这势必会造成教师在毕业设计上投入的时间、精力严重不足,和学生互动不够,这种指导模式必然会影响毕业设计质量。以上种种问题的存在直接或间接地影响了工程管理专业学生毕业设计的质量,对此,文中着重探讨如何通过“群体”指导模式来提高工程管理专业毕业设计的质量。

三、“群体”指导模式的提出

(一)“群体”毕业设计指导模式

“群体”指导模式是指对学生进行毕业设计指导过程中,多学科渗透、多专业交叉、校内外相结合三种方式为一体的模式,课题组采用的方法是以工程项目管理全过程为目标,不同专业指导教师分阶段介入的“群体”指导模式,具体做法是:由一名指导教师负责学生日常指导工作和管理工作,学生毕业设计过程中遇到的某些问题涉及相关专业辅助教师的研究领域时,专业辅助教师就有义务解答学生的问题,负责的指导教师还要在毕业设计初期组织相关专业教师对毕业论文的选题和内容进行讨论。通过讨论,学生可以得到更多的相关信息,课题组还会在毕业设计的初期和末期开展对学生毕业设计工作的总结和研讨,讨论会的内容由相应的指导教师负责。应该说,这样的“群体”指导方式改变了原先教师“个体”指导的模式,构建了以指导教师为主、联合课题其他专业教师为辅的“群体”指导模式,学生通过这样的毕业设计,可以涉足本专业中较多的领域,通过相互之间的沟通和讨论,拓展了学生的知识面,增强了其团队精神。

(二)多学科渗透、多专业交叉、校内外结合模式

工程管理专业学生,毕业设计内容应贯穿工程项目生命周期的全过程。毕业设计多学科渗透、多专业交叉的设置和实施过程中,强调工程管理(造价方向)的全过程,涵盖投资决策阶段、设计阶段、招投标及施工阶段,一直到最后竣工及后评估阶段。相应地,毕业设计的内容将设计多学科和多专业的交叉,可以在一个具体工程实例的基础上针对不同选题提出不同具体要求。在设计开始阶段,要求学生在工地熟悉一周时间,收集相关资料,在实施设计时可参考学习施工单位编制的类似工程施工方案和工程实例。现已建立较为典型、毕业设计效果较好的工程形成毕业设计选题库,并拟今后继续收集,使学生能够根据自己的专业方向和特长,有针对性地选择毕业设计课题。如表1所示,工程管理(造价方向)专业将毕业设计选题定位于项目建设全过程的能力整合,也就是将学生分组,不同组的学生按照自己的兴趣侧重于项目建设不同阶段的能力培训,并按照项目建设全过程对不同阶段的小组成员进行项目建设过程模拟及能力整合的培训。(1)项目决策阶段,毕业论文选题侧重在建设项目可行性研究报告。内容根据工程管理专业学习特点,主要是项目经济评价和投资估算。(2)项目设计、造价阶段,毕业论文选题侧重招标和投标过程模拟。考虑到招投标的政策性较强,这一阶段可以充分调动学生运用相关法律知识的能力。(3)招投标内容较广,一般可以结合最新的法规政策,编制施工项目招投标。要求学生应掌握招投标的主要内容、程序步骤、评标办法、投标技巧等。可以综合运用建设工程合同示范文本和FIDIC合同条款编制工程项目招标文件的编制,包括国内标和国际标,相应地,工程项目投标文件也分为国内工程和国际工程投标文件的编制。(4)项目施工阶段,使学生能够根据一整套实际工程项目的施工图纸、合同文本、现场地质勘查报告、招标文件以及相应的国标规范和标准图集等资料,编制一份完整的施工组织设计文件。上述几方面的设计内容几乎涵盖了大学4年所学的全部基础理论和专业知识,并将工程计价、工程招投标、施工组织、合同管理等相关专业技能进行了第一阶段的相应能力模块训练,培养了学生综合运用所学知识解决实际问题的能力。

公共管理毕业范文第5篇

本文通过用VB6.0编写员工信息管理系统,利用软件工程原理,采用面向对象的编程方法,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,实现了员工信息管理的自动化和信息化.

本文还简单介绍了VB6.0软件的界面及操作方法。简要介绍了窗体的制作过程,程序的编写,添加,最后的编译过程。并且叙述了作者在软件开发过程中的心得体会。

关键词:员工信息管理数据库统计

目录

第一章引言3

第二章系统分析4

2.1开发背景4

2.2需求分析4

2.3概要5

2.4系统要求5

第三章开发方法8

3.1系统开发方法概述8

3.2结构化生命周期法简介8

3.3快速原型法简介9

3.4本系统开发方法的选择10

第四章开发平台和工具11

4.1开发平台的选择11

4.2开发工具的选择11

4.2.1开发语言介绍11

第五章系统规划和分析12

5.1系统的可行性分析12

5.2系统的详细调查12

5.3系统逻辑模型的提出13

第六章系统设计13

6.1系统流程图16

6.2数据库设计16

6.3系统主界面设计.......…………………………………………….19

6.4登陆窗体设计.......……………………………………………….19

6.5各主要模块设计.19

6.5.1基础设置模块设计.......................................................24

6.5.2员工管理模块设计……………………………………….27

6.5.3请假管理模块设计……………………………………….29

6.5.4系统帮助模块设计……………………………….………31

第七章编译生成应用程序.…………………………………………...37

设计小结………………………………………………………..39参考文献………………………………………………………...40

第一章引言

本软件使用MicrosoftBasic6.0进行编写。数据库技术的产生与发展源于对于数据的组织和管理。数据库技术是数据管理的技术,它随着数据管理任务的需要而产生于20世纪60年代中期。这是一门综合性技术,涉及操作系统,数据结构,算法设计和程序设计等知识。数据库技术的基本思想是对数据实行集中,统一,独立的管理,用户可以最大限度的共享数据资源。

数据库系统实际上是一个应用系统,它是在计算机硬,软件系统支持下,由用户,数据库管理系统,存储在存储设备上的数据和数据库应用程序构成的数据处理系统。数据库系统是由数据,数据库管理系统,应用程序,用户组成。

数据库的特点:1.实现数据共享2.实现数据独立3.减少了数据冗余度4.避免了数据不一致性5.加强了对数据的保护。

数据库应用系统(DATABASEAPPLICATIONSYSTEMSDBAS)

1.管理信息系统

2.开放式信息服务系统

一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来的。

第二章系统分析

2.1开发背景

随着我国市场经济的快速发展和信息化水平的不断提高,如何利用先进的管理手段,提高企业员工信息管理的水平,是当今社会所面临的一个课题。提高企业管理水平,必须全方位地提高企业管理意识。只有高标准、高质量的管理才能满足企业的发展需求。面对信息时代的挑战,利用高科技手段来提高企业员工信息管理无疑是一条行之有效的途径。在某种意义上,信息与科技在企业管理与现代化建设中显现出越来越重要的地位。员工管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。

2.2需求分析

利用计算机实现员工信息管理势在必行。对于企业来说,利用计算机支持企业高效率完成员工信息管理的日常事务,是适应现代企业制度要求、推动企业劳动型管理走向科学化、规范化的必要条件;而员工信息管理是一项琐碎、复杂而又十分细致的工作,员工信息录入,员工信息管理,信息查询,请假等管理,一般不允许出错,如果实行手工操作,须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行这项工作的管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

2.3概要

VisualBasic是美国微软公司的第一个编程工具和系统开发的第一个产品,VisualBasic以优良的性能、较强的系统开发功能、完美的视觉界面和简单易学的特点,已经赢得了全世界广大用户的偏爱。VisualBasic的编程环境包含了快速有效的开发功能,尤其是数据窗口这一方便而简洁操纵数据库的智能化对象,使系统的开发更人性化,操作更简便。

作为管理信息系统的开发,VisualBasic是一个非常理想选择。VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。

2.4系统要求

一、硬件要求:

1486/DX66Mhz以上CPU

2内存16M以上(使用WindowsNT需要32M以上内存)

3硬盘容量1GB以上(典型安装需要128MB硬盘空间,完全安装须要147MB硬盘空间,外加Microsoft开发者文档67MB硬盘空间)

4EGA以上分辨率的显示器.

5一个CD-ROM驱动器

6鼠标或其它定点设备

二、软件要求

1操作系统应使用MicrosoftWindows95及以上版本,或者使用MicrosoftWindowsNT3.51或者更高版本.

2安装有IE4.0或以上版本的浏览器.

第三章系统开发方法

3.1系统开发方法概述

建立一个管理信息系统,是一项复杂的软件工程的实施。近30多年来,软件工程发展成为新科学,至今已经成为IT产业的重要支柱。一开始,人们往往使用手工作坊式的软件开发方法,靠个人的力量编写各种小型程序;但是随着计算机硬件技术的飞速发展,计算机软件在各个领域中的作用日益突出,那种多年来被人们沿用的手工作坊式的开发方法,已经在软件产品的质量、成本及开发时间等方面无法满足需求。

3.2结构化生命周期法简介

结构化生命周期法是一种传统的管理信息系统开发方法,其基本思想是把整个系统开发过程分成若干个阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的产品。

采用结构化生命周期法开发管理信息系统时,应遵循的主要原则:

(一)用户参与的原则

(二)“先逻辑后物理”的原则

(三)“自顶向下”的原则

(四)工作成果描述(主要指文档)标准化的原则

其具体开发步骤可分为以下四步:

(一)系统规划

(二)系统开发

1、系统分析

.系统初步调查

.系统可行性研究

.现行系统的详细调查

.新系统逻辑方案的提出

2、系统设计

.系统总体结构设计

.系统总体功能设计

.系统总体物理结构设计

.系统详细设计

.数据库设计

.代码设计

.输入输出设计

3、系统实施

.程序设计

.系统测试

(三)系统的运行及维护

(四)系统评价

3.3快速原型法简介

快速原型法是80年展起来的,旨在缩短开发周期,提高开发效率和用户对系统的满意程度。其基本思想是在系统开发的初期,尽快构造出系统的原型,使用户能及早地运行这个系统原型,通过使用它、熟悉它,受到启发并取得经验,然后对系统的目标和功能提出更精确、具体的要求,研制人员据此逐渐修改和完善原型,使它满足用户的需求,最后完成系统的开发。该方法大大提高了系统开发效率,弥补了结构化生命周期法开发时间长的缺陷。

通常采用原型法需以下四个阶段:

(一)明确用户的基本要求

(二)研制系统的原型

(三)使用、评价系统原型

(四)修改和完善原型

3.4本系统开发方法的选择

基于以上开发方法的优劣和本系统的实际情况,本系统总体上采用结构化生命周期法进行系统规则、系统分析和系统设计,但在系统实施阶段采用原型法。

第四章开发平台和开发工具

开发平台的选择

考虑到本系统的性能要求,和现有的条件,我们选择了WINDOWS2000中文版作为开发、测试和运行的平台。因为WINDOWS操作系统是目前应用最广的操作系统,它以全新的图形界面,简单快捷的操作方式,支持多媒体功能等特点而成为软件发展的流行趋势,选用它作为开发平台,易于功能的扩展和软件升级。

4.2开发工具的选择

针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合员工信息管理系统的需要和目前的硬件环境,我们选用微软WINDOWS平台下的VisualBasic6.0(简写为VB6.0)作为软件开发工具。

4.2.1开发语言介绍

现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作做作企业级开发工具的产品有:

Microsoft公司的VisualBasic

Microsoft公司的VisualC

Borland公司的Delphi

Powersoft公司的PowerBulider

Java等等

在目前市场上这些众多的程序开发工具中,有些强调编程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调编程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。

作为数据库系统的开发,VisualBasic是一个非常理想选择。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言VisualBasic语言,该开发工具具有很多长处:

VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。

总的来说,VisualBasic具有以下特点:

可视化编程:

用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。

面向对象的程序设计

4.0版以后的VisualBasic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而VisualBasic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。

结构化程序设计语言

VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。VisualBasic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。

VisualBasic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计VisualBasic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离VisualBasic环境,直接在Windows环境下运行。

事件驱动编程机制

VisualBasic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。

在用VisualBasic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。

访问数据库

VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。同时,VisualBasic还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用VisualBasic编辑和处理。

VisualBasic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。

动态数据交换(DDE)

利用动态数据交换(DynamicDataExchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。VisualBasic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。

对象的链接与嵌入(OLE)

对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compounddocument),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。

动态链接库(DLL)

VisualBasic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VisualBasic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能

第五章系统的规划与分析

5.1系统的可行性分析

经济可行性分析

本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于企业的办公自动化管理,节省企业的人力、物力资源等都有很大的帮助。由此可见在,开发此系统在经济上是完全可行的。

2.1.2操作可行性分析

如今的计算机已经走进千家万户,硬件成本的下降,导致计算机购买成本的降低.我的这套系统是利用自己的计算机加微软的集成开发环境MicrosoftVisualBasic6.0作为软件的开发平台,使开发出来的系统有友好的用户界面、有良好的安全性设置、有详细的操作说明书,这样更使各类用户很快地掌握系统的使用方法,操作友好因此在操作上是可行的.

2.1.3技术可行性分析

从目前IT业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,VB和Windows2000Server以及MicrosoftACCESS2000的结合无疑是在实际应用中较为成功的一种解决方案。为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口。所以技术实行起来相对会容易。

2.2现有系统的分析

有关员工管理系统的软件市面上有不少,企业的员工也试用过一些,但总觉得不是很好用,不能完全满足我们的要求,所以都放弃用这些软件了,改为每次输入数据后,用手工更改数据库,随着企业的发展,员工数据量越来越大,用手工操作就很麻烦了,所以,迫切希望有一套完全适合企业员工信息管理应用的软件,以减轻公司员工的工作负担。

另一方面由于这类软件大多数是单机版的,现在也有不少是网络版的,但大部份都是在本地网络上运行的。而管理业务人员是在外面跑业务,想知道某员工的最新情况,都要打电话回公司问,这就造成很大的不便。因此系统的开发方向应当是面向网络版的员工信息管理系统开发.这点在今后的学习中将不断完善.

2.3系统的安全性分析

安全系统的需求定义:

1)系统提供用户登录功能(进行用户身份验证),并且用户名和用户编号是唯一的。用户在登录界面上填写任意的用户名和用户密码(中文或英文);系统提供登录过程中的出错处理机制和操作成功处理机制。

2)系统对非法用户具有警告功能,例:一用户表中不存在的用户企图登录系统,系统应该要求用户输入合法用户名和用户密码,并警告用户的操作。

5.2系统的详细调查

我选择做《员工信息管理系统》的目标是:应用于某企业进行员工信息管理,使其拥有一个可操作的业务平台,提高员工管理水平,挖掘潜在资源(如客户资源,降低费用,节约成本等)。当然,如果稍加改动,也许还会适合其他行业使用。

具体为:

1、要用户界面要友好,使用方便,容错能力强,适应各种水平的用户。

2、系统安全性要高,需要有密码保护

3、能大量减少不必要的资源,善用现有资源来开发。

5.3系统逻辑模型的提出

为了实现管理信息系统的计算机化,仅仅用文字来描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,绘制出数据流程图,并对各种数据的属性和各项处理功能进行详细分析。系统分析的主要成果是系统的逻辑模型。本系统主要是以数据流图、数据字典和E-R图为主要描述工具来勾画系统的概貌。

数据流图(DFD,dataflowdiagram)是描述数据处理过程的有力工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

数据流图的基本图形元素有4种:

为了使数据流图便于在计算机上输入和输出,免去画曲线、斜线和圆的因难,现在将会用另一种比较合理及更清晰的方法进行分析。

5.3.1数据词典

数据词典(DataDictionary,DD)是结构化分析方法的另一个工具,它与数据流图配合,能清楚地表达数据处理的要求。数据流图给出系统组成及其内部各元素相互间的关系,但未说明数据元素的具体含意。数据词典的任务是对于数据流图中出现的所有命名元素,包括数据流、加工、数据文件,以及数据的源、汇点等,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。

首先说明各符号的代表的意义:

⊿=被定义为;

⊿+与;(如,x=a+b,表示x由a和b组成)

⊿[...|...]或;(如,x=[a,b],x=[a|b],表示x由a或由b组成)

⊿{...}重复;(如,x={a},表示x由0个或多个a组成)

如列举用户登录模块的定义如下:

用户登录模块

◎用户登录的定义格式:

用户名=[{字母},{数字}]

用户=管理员

密码=[{字母},{数字}]

用户验证表=用户名+密码

另一种方式是以E-R图来描述数据之间的关联.

如系统用户表的E-R图如下:

系统用户表E-R图

第六章系统的设计

6.1系统流程图

6.2数据库的设计

通过对该系统的研究,将系统数据Employeemanage分为以下几个表.DepartList,Edulevel,Employees,JobList,LeavelList,LeavelStatus,LeavelType,MarrageStatus,OperatorList,Plitics,TitalList等几个表.各表的具体设计结构如下:

DepartList表

Edulevel表:

Employees表:

JobList表:

LeavelList表:

LeavelStatus表

LeavelType表:

MarrageStatus表:

OperatorList表

Plitics表

TitalList表

6.3系统主界面的设计

其系统主界面设计运行效果图如下:

6.4登录窗体的设计

其运行效果图如下:

其具体的设计如下:

新建一个窗体.在窗体上放上二个label控件,一个TextBox控件,一个Combo1控件,二个CommandButton控件.其属性的设置比较简单,请参照上面的窗体中的文字显视.我们具体分析一下确定按钮的源码,如下:

PrivateSubcmdOK_Click()

DimstrSqlAsString

strSql="Oper_ID="&"''''"&dcmbOperName.BoundText&"''''"

IfNot(rctOperatorList.EOFAndrctOperatorList.BOF)Then

rctOperatorList.Find(strSql)

IfNot(rctOperatorList.EOFOrrctOperatorList.BOF)Then

IfTrim(rctOperatorList.Fields("Oper_Pass"))=Trim(txtOperPass.Text)Then

OperaterName=Trim(dcmbOperName.Text)''''记录当前用户

frmMain.Show''''显示主窗体

UnloadMe

ExitSub

Else

logintestCount=logintestCount+1

IflogintestCount>=3Then

MsgBox"您已经登录三次都失败,系统关闭",vbInformation+vbOKOnly,"非法用户"

UnloadMe

ExitSub

Else

txtOperPass.SetFocus

EndIf

EndIf

Else

logintestCount=logintestCount+1

IflogintestCount>=3Then

MsgBox"您已经登录三次都失败,系统关闭",vbInformation+vbOKOnly,"非法用户"

UnloadMe

ExitSub

Else

txtOperPass.SetFocus

EndIf

EndIf

Else

MsgBox"数据库中没有操作用户数据",vbCritical+vbOKOnly,"系统错误"

UnloadMe

ExitSub

EndIf

EndSub

6.5各主要模块的设计

基础设置模块的设计

1.基础单元设置

其窗体的命令按钮源码实现如下:

增加按钮的源码:

PrivateSubtblTitel_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Key

Case"add"

flexTitel.Row=flexTitel.Rows-1''''移到最后一行

flexTitel.Col=0''''称到最后一行的第一列

flexTitel.RowSel=flexTitel.Rows-1''''选定一行

flexTitel.ColSel=flexTitel.Cols-1''''选定所有列

IfflexTitel.Rows>7Then

flexTitel.TopRow=flexTitel.Rows-7

EndIf

tblTitel.Buttons("delete").Enabled=False

tblTitel.Buttons("add").Enabled=False

rctTitelList.AddNew

flexTitel.Enabled=False

txtTitelId.SetFocus

保存按钮的源码如下:

PrivateSubIniGrid(ByValflexGridAsMSHFlexGrid)

flexGrid.Clear

WithflexGrid

.Cols=3

.Rows=2

.FixedCols=0

.FixedRows=1

.SelectionMode=flexSelectionByRow

.TextMatrix(0,1)="编号"

SelectCase.Name

Case"flexDepart"

.TextMatrix(0,2)="部门名称"

Case"flexEdu"

.TextMatrix(0,2)="学历名称"

Case"flexJob"

.TextMatrix(0,2)="职务名称"

Case"flexTitel"

.TextMatrix(0,2)="职称名称"

Case"flexPli"

.TextMatrix(0,2)="政治面貌"

Case"flexLt"

.TextMatrix(0,2)="请假类型"

Case"flexLs"

.TextMatrix(0,2)="销假标志"

Case"flexMs"

.TextMatrix(0,2)="婚姻状况"

EndSelect

.ScrollBars=flexScrollBarVertical

.GridLines=flexGridNone

.GridLinesFixed=flexGridNone

''''.AllowBigSelection=True

.AllowUserResizing=flexResizeNone.ColWidth(0)=1

.ColWidth(1)=1000

.ColWidth(2)=5410

.ColAlignment(1)=3

.ColAlignment(2)=0

.ColAlignmentFixed(1)=3

.FillStyle=flexFillSingle

.ScrollTrack=True

.Row=1

.Col=0

.RowSel=1

.ColSel=.Cols-1EndWith

EndSub

PrivateSubshowdata(ByValRecordsetAsADODB.Recordset,ByValflexGridAsMSHFlexGrid)

DimiAsInteger

DimjAsInteger

IfRecordset.RecordCount>0Then

Recordset.MoveFirst

WithflexGrid.Row=1

WhileNotRecordset.EOF

.Rows=.Rows+1

Fori=1ToRecordset.Fields.Count

.Col=i

If(.RowMod2)=0Then

.CellBackColor=&HF4D3A6

Else

.CellBackColor=vbWhite

EndIf

.Text=Recordset.Fields(i-1)Nexti

.Row=.Row+1

Recordset.MoveNext

Wend

''''.Col=1.Row=1

.Col=0

.RowSel=1

.ColSel=.Cols-1

''''.Row=1EndWith

EndIf

EndSub

PrivateSubIniGridstyle()

EndSub

PrivateSubGetRecordIdName(ByValflexAsMSHFlexGrid,lngRecordIdAsVariant,strRecordNameAsString)

Ifflex.Row<>0Then

Ifflex.TextMatrix(flex.Row,1)<>EmptyThen

lngRecordId=flex.TextMatrix(flex.Row,1)

strRecordName=flex.TextMatrix(flex.Row,2)

Else

lngRecordId=-1

strRecordName=Empty

EndIf

EndIf

EndSub

PrivateSubPicture1_Click()

EndSub

PrivateFunctionSavetoRecords(ByValrctSaveAsADODB.Recordset,ByValfirstField_valueAsVariant,ByValsecondField_valueAsString)AsBoolean

OnErrorGoToSave_Error

rctSave.Fields(0).Value=firstField_value

rctSave.Fields(1).Value=secondField_value

rctSave.Update

SavetoRecords=True

ExitFunction

Save_Error:

IfErr.Number<>0Then

rctSave.CancelUpdate

SavetoRecords=False

MsgBox"错误代码:"&Err.Number&vbCrLf&_

"错误描述:"&Err.Description,vbCritical+vbOKOnly,"保存记录失败"

Else

SavetoRecords=True

EndIf

EndFunction

删除按钮的代码描述:

PublicFunctionRecordDelete(ByValrstDeleteAsADODB.Recordset,ByValstrOptionAsLong)AsBoolean

If(rstDelete.EOF=True)Or(rstDelete.BOF=True)Then

RecordDelete=False

ExitFunction

EndIf

OnErrorGoToDelete_error

rstDelete.DeletestrOption

rstDelete.Update

RecordDelete=True

rstDelete.Update

Delete_error:

IfErr.Number<>0Then

rstDelete.CancelUpdate

RecordDelete=False

MsgBox"错误代码:"&Err.Number&vbCrLf&_

"错误描述:"&Err.Description,vbCritical+vbOKOnly,"删除错误"

Else

RecordDelete=True

rstDelete.Update

EndIf

EndFunction

操作员管理窗体运行如下:

其工具栏铵钮的设计参考基础单元设置

6.5.2员工管理模块的设计

其员工管理窗体的运行界面如下:

增加记录源码分析如下:

PrivateSubtblEmployees_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Key

Case"add"

''''rctEmployees.AddNew

IfflexEmployees.Rows>2Then

flexEmployees.Row=flexEmployees.Rows-1

flexEmployees.Col=0

flexEmployees.RowSel=flexEmployees.Rows-1

flexEmployees.ColSel=flexEmployees.Cols-1

IfflexEmployees.Rows>15Then

flexEmployees.TopRow=flexEmployees.Rows-15

EndIf

EndIf

frmEmpAdd.Caption="新增记录"

frmEmpAdd.cmdPrevious.Visible=False

frmEmpAdd.cmdNext.Visible=False

frmEmpAdd.cmdAdd.Visible=False

frmEmpAdd.ShowvbModal

Case"delete"

IfstrEmpFirstFieldValue<>EmptyThen

IfMsgBox("您确定要删除此条记录吗?",vbQuestion+vbYesNo,"删除记录")=vbYesThen

IffrmUnit.RecordDelete(rctEmployees,adAffectCurrent)=TrueThen

frmEmployees.flexEmployees.Redraw=False

CallIniGrid(flexEmployees)

Callshowdata(rctEmployees,flexEmployees)

frmEmployees.flexEmployees.Redraw=True

EndIf

EndIf

EndIf

Case"modify"

IfstrEmpFirstFieldValue<>EmptyThen

frmEmpAdd.Caption="修改记录"

CallfrmEmpAdd.IniFromAdd(rctEmployees)

frmEmpAdd.cmdAdd.Visible=False

frmEmpAdd.cmdCancel.Visible=False

frmEmpAdd.ShowvbModal

EndIf

Case"exit"

UnloadMe

EndSelect

EndSub

打印按钮的源码如下:

PrivateSubtlbPrint_ButtonClick(ByValButtonAsMSComctlLib.Button)

IfExcuteSql(rctQueryEmployeesWithID,"select*fromQueryEmployeesWithID")=TrueThen

rctQueryEmployeesWithID.Filter=rctEmployees.Filter

SetdrptEmployees.DataSource=rctQueryEmployeesWithID

EndIf

IfrctQueryEmployeesWithID.RecordCount<=0Then

MsgBox"没有合适的记录",vbInformation+vbOKOnly,"打印信息"

ExitSub

EndIf

SelectCaseButton.Key

Case"Preview"

drptEmployees.ShowvbModal

Case"print"

OnErrorGoToError_on_print

drptEmployees.PrintReportFalse''''不显示窗口

ExitSub

Error_on_print:

MsgBox"错误代码:"&Err.Number&_

"错误描述:"&Err.Description,vbCritical+vbOKOnly,"打印错误"

EndSelect

EndSub

员工查询窗运行如下:

其中查询按钮的源码分析如下:

PrivateSubcmdOK_Click()

SelectCasestbQuery.Tab

Case0

IfcmbQueryItem.ListIndex<>3And_

cmbQueryItem.ListIndex<>4And_

cmbQueryItem.ListIndex<>5And_

cmbQueryItem.ListIndex<>6And_

cmbQueryItem.ListIndex<>7Then

IfTrim(txtQueryValue.Text)=EmptyThen

MsgBox"查询内容不能为空",vbInformation+vbOKOnly,"查询数据"

ExitSub

Else

FieldValue=Trim(txtQueryValue.Text)

IfcmbQueryItem.ListIndex=2Then

IfTrim(txtQueryValue.Text)="男"Then

FieldValue=1

Else

IfTrim(txtQueryValue.Text)="女"Then

FieldValue=0

Else

MsgBox"输入错误!",vbCritical+vbOKOnly,"查询数据"

ExitSub

EndIf

EndIf

strFilter=FieldName&"="&FieldValue

Else

IfchkLike.Value=1ThenstrFilter=FieldName&"like"&"''''"&"%"&FieldValue&"%"&"''''"

Else

strFilter=FieldName&"="&"''''"&FieldValue&"''''"

EndIf

EndIf

EndIf''''endifTrim(txtQueryValue.Text)=Empty

Else

FieldValue=dcmbItemValue.BoundText

IfcmbQueryItem.ListIndex=7Then

strFilter=FieldName&"="&FieldValue

Else

strFilter=FieldName&"="&"''''"&FieldValue&"''''"

EndIf

EndIf

Case1

Operater=Combo1.List(Combo1.ListIndex)

strFilter=FieldName&""&Operater&""&"''''"&dtpDateValue.Value&"''''"

EndSelect

''''MsgBoxstrFilter

rctEmployees.Filter=strFilter

frmEmployees.flexEmployees.Redraw=False

CallfrmEmployees.IniGrid(frmEmployees.flexEmployees)

CallfrmEmployees.showdata(rctEmployees,frmEmployees.flexEmployees)

frmEmployees.flexEmployees.Redraw=True

EndSub

6.5.3请假管理模块的设计

其中请假管理中的修改记录窗体运行如下:

其中保存按钮的源码如下:

PrivateSubcmdSave_Click()

DimEmp_IDAsVariant

DimEmp_NameAsVariant

DimEmp_SexAsVariant

DimDepart_IDAsVariant

DimJob_IDAsVariant

DimTitel_IDAsVariant

DimE_IDAsVariant

DimP_IDAsVariant

DimMS_IDAsVariant

DimEmp_ID_cordAsVariant

DimEmp_birthdayAsVariant

DimEmp_Attend_timeAsVariant

DimEmp_Join_timeAsVariant

DimEmp_mobile_numAsVariant

DimEmp_Tel_numAsVariant

DimEmp_AddressAsVariant

DimEmp_MemoAsVariant

DimEmp_name_charAsVariant

DimvtempdataAsString

IftxtEmpID.Text=EmptyThen

MsgBox"工作证号不能为空!",vbInformation,"数据不完整"

txtEmpID.SetFocus

ExitSub

Else

IftxtEmpName.Text=EmptyThen

MsgBox"员工姓名不能为空!",vbInformation,"数据不完整"

txtEmpName.SetFocus

ExitSub

Else

IfLeft(mskEmpBirth.Text,1)<>""Then

IfInStr(mskEmpBirth.Text,"")>0Then

MsgBox"日期格式填写不完整!",vbInformation,"数据不完整"

mskEmpBirth.SetFocus

ExitSub

Else

Emp_birthday=CDate(mskEmpBirth.Text)

EndIf

EndIf

IfLeft(mskEmpAttendTime.Text,1)<>""Then

IfInStr(mskEmpAttendTime.Text,"")>0Then

MsgBox"日期格式填写不完整!",vbInformation,"数据不完整"

mskEmpAttendTime.SetFocus

ExitSub

Else

IfLeft(mskEmpBirth.Text,1)<>""Then

IfCDate(mskEmpAttendTime.Text)<=CDate(mskEmpBirth.Text)Then

MsgBox"员工参加工作日期不能小于或等于员工的出生日期",vbInformation,"输入日期错误"

mskEmpAttendTime.SetFocus

ExitSub

Else

Emp_Attend_time=CDate(mskEmpBirth.Text)

EndIf

EndIf

EndIf

EndIf

IfLeft(mskJOinTime.Text,1)<>""Then

IfInStr(mskJOinTime.Text,"")>0Then

MsgBox"日期格式填写不完整!",vbInformation,"数据不完整"

mskJOinTime.SetFocus

ExitSub

Else

IfLeft(mskEmpBirth.Text,1)<>""Then

IfCDate(mskJOinTime.Text)<=CDate(mskEmpBirth.Text)Then

MsgBox"员工加入本单位日期不能小于或等于员工的出生日期",vbInformation,"输入日期错误"

mskJOinTime.SetFocus

ExitSub

EndIf

EndIf

IfLeft(mskEmpAttendTime.Text,1)<>""Then

IfCDate(mskJOinTime.Text)<CDate(mskEmpAttendTime.Text)Then

MsgBox"员工加入本单位日期不能小于员工的参加工作日期",vbInformation,"输入日期错误"

mskJOinTime.SetFocus

ExitSub

EndIf

EndIf

Emp_Join_time=CDate(mskJOinTime.Text)

EndIf

EndIf

EndIf

EndIf

IftxtEmpChr.Text=EmptyThen

MsgBox"员工字首拼音十分重要,不能为空!",vbInformation,"数据不完整"

txtEmpChr.SetFocus

ExitSub

EndIf

IftxtEmp_ID_cord.Text<>EmptyAndLen(txtEmp_ID_cord.Text)<15Then

MsgBox"身份证号必须是大于或等于15位,小于18位!",vbInformation,"无效的身份证号"

txtEmp_ID_cord.SetFocus

ExitSub

EndIf

Emp_ID=Trim(txtEmpID.Text)

Emp_Name=Trim(txtEmpName.Text)

Emp_Sex=cmbEmpSex.ListIndex

IfTrim(txtEmp_ID_cord.Text)<>EmptyThen

Emp_ID_cord=Trim(txtEmp_ID_cord.Text)

EndIf

IfTrim(txtEmpMobil.Text)<>EmptyThen

Emp_mobile_num=Trim(txtEmpMobil.Text)

EndIf

IfTrim(txtEmpTel.Text)<>EmptyThen

Emp_Tel_num=Trim(txtEmpTel.Text)

EndIf

IfTrim(txtEmpAddr.Text)<>EmptyThen

Emp_Address=Trim(txtEmpAddr.Text)

EndIf

IfTrim(txtEmpMemo.Text)<>EmptyThen

Emp_Memo=Trim(txtEmpMemo.Text)

EndIf

Emp_name_char=Trim(txtEmpChr.Text)

IfTrim(cmbDepartID.Text)<>EmptyThen

vtempdata=Trim(cmbDepartID.Text)

Depart_ID=frmEmployees.RecordSetFindItem(rctDepartList,"Depart_Name",vtempdata,0)

EndIf

IfTrim(cmbEmpMs.Text)<>EmptyThen

vtempdata=Trim(cmbEmpMs.Text)

MS_ID=frmEmployees.RecordSetFindItem(rctMarriageStatus,"MS_Name",vtempdata,0)

EndIf

IfTrim(cmbEmpPs.Text)<>EmptyThen

vtempdata=Trim(cmbEmpPs.Text)

P_ID=Trim(frmEmployees.RecordSetFindItem(rctPlitics,"P_Name",vtempdata,0))

EndIf

IfTrim(cmbEmpEdu.Text)<>EmptyThen

vtempdata=Trim(cmbEmpEdu.Text)

E_ID=Trim(frmEmployees.RecordSetFindItem(rctEdulevel,"E_Name",vtempdata,0))

EndIf

IfTrim(cmbEmpJob.Text)<>EmptyThen

vtempdata=Trim(cmbEmpJob.Text)

Job_ID=Trim(frmEmployees.RecordSetFindItem(rctJobList,"Job_Name",vtempdata,0))

EndIf

IfTrim(cmbEmpTitel.Text)<>EmptyThen

vtempdata=Trim(cmbEmpTitel.Text)

Titel_ID=Trim(frmEmployees.RecordSetFindItem(rctTitelList,"Titel_Name",vtempdata,0))

EndIf

''''下面是写入数据库

''''MsgBox"noerror"

IffrmEmpAdd.Caption="新增记录"Then

rctEmployees.AddNew

EndIf

IfSaveEmployeesRecords(rctEmployees,Emp_ID,Emp_Name,Emp_Sex,Depart_ID,Job_ID,Titel_ID,E_ID,P_ID,MS_ID,Emp_ID_cord,Emp_birthday,Emp_Attend_time,Emp_Join_time,Emp_mobile_num,Emp_Tel_num,Emp_Address,Emp_Memo,Emp_name_char)=TrueThen

IffrmEmpAdd.Caption="新增记录"Then

CallfrmEmpAddClear

EndIf

''''frmEmployees.flexEmployees.Redraw=False

''''CallfrmEmployees.IniGrid(frmEmployees.flexEmployees)

''''CallfrmEmployees.showdata(rctEmployees,frmEmployees.flexEmployees)

''''frmEmployees.flexEmployees.Redraw=True

MsgBox"保存记录成功",vbInformation,"保存记录"

EndIf

EndSub

请假查询窗体运行如下:

窗体源码如下:

PrivateSubmnuLeavelQuery_Click()

frmLeavel.tblEmployees.Buttons("add").Visible=False

frmLeavel.tblEmployees.Buttons("delete").Visible=False

frmLeavel.tblEmployees.Buttons("modify").Visible=False

frmLeavel.tlbPrint.Left=30

frmLeavel.tlbExit.Left=frmLeavel.tlbPrint.Width

frmLeavel.Caption="请假查询"

frmLeavel.ShowvbModal,Me

EndSub

6.5.4帮助管理模块的设计

该模块不涉及到代码的编写故不作描述

第七章主菜单的设计与系统的编译发行

1系统主菜单的设计

在实际的系统设计中,菜单可分为两种类型,即下拉式菜单和弹出式菜单,下拉式菜单系统中,一般有一个主菜单,其中包括若干个选择项.主菜单单的每一项又可下拉出下一级子菜单.这样用一个个的窗口的形式弹出在屏幕上,它是通过菜单编辑器建立,其步骤如下:

1)选取要建立菜单的窗体

2)从“工具”菜单中,选取“菜单编辑器”建立如下图所示的系统主菜单:

可以看出菜单系统的建立比较直观,因此不作重点描述

一个典型的数据库应用程序由数据结构,操作界面,查询选项和报表打印等组成。在设计应用程序时,应仔细考虑每个组件提供的功能以及与其他组件之间的关系。设计好的功能模块制作完毕后,单击全编译执行在确认无误后,单击文件菜单下的生成工程得到一个.EXE的可执行程序.到此一个完整的系统设计完成.

结论

在刚刚开始学习数据库的时候,对很多细节很没有概念。特别是对窗体的作用还有过程的概念的掌握,理解不准确。通过老师的帮助才慢慢的有了一点体会。对书本的学习完成以后,开始着手对数据库系统开始制作,开始对系统的需求分析不足,造成多次重做。在对表单的制作过程中,对窗体的尺寸的把握,对各个控件尺寸的把握是比较困难的,各个控件在表单中的布局也非常重要。在本系统中,程序主界面和登陆界面的制作是比较困难的。表单制作完成后就是对控件编程,其中要注意程序编写时的细节,格式,命令的拼写,运用的合理性等等都要进行分析。

总的来说,做完一个数据库的收获不仅仅是技术上的,对事情的宏观的控制有了更深的看法。

致谢

感谢老师在设计中的指导和关怀,并且感谢所有同学对我的支持。

参考文献

参考文献:

1、马力VisualBasic6.0简明教程机械工业出版社2001年8月

2、刘韬骆娟何旭洪VisualBasic6.0数据库系统开发实例导航人民邮电出版社2004.4月