首页 后备干部管理系统论文

后备干部管理系统论文

举报
开通vip

后备干部管理系统论文后备干部管理系统论文 毕业设计(论文)中文摘要 后备干部管理系统 摘要:后备干部管理信息系统是为了提高后备干部管理的效率和方便对干部情况 的查询、统计而开发的一套软件。本系统主要包括:信息管理、查询、统计等模 块。信息管理可以对人员相关资料进行录入、修改、删除和打印。查询模块可以 完成精确查询和模糊查询,并可以对查询结果以报表、图形等形式统计出来。 本系统具有界面直观友好、操作简单、功能强、自动化程度高等特点。在方便干部管理和查询统计的同时,为了保证信息的准确性、实时性、决策性,鉴于 本系统是服务于管理工作...

后备干部管理系统论文
后备干部管理系统 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 毕业设计(论文)中文摘要 后备干部管理系统 摘要:后备干部管理信息系统是为了提高后备干部管理的效率和方便对干部情况 的查询、统计而开发的一套软件。本系统主要包括:信息管理、查询、统计等模 块。信息管理可以对人员相关 资料 新概念英语资料下载李居明饿命改运学pdf成本会计期末资料社会工作导论资料工程结算所需资料清单 进行录入、修改、删除和打印。查询模块可以 完成精确查询和模糊查询,并可以对查询结果以报表、图形等形式统计出来。 本系统具有界面直观友好、操作简单、功能强、自动化程度高等特点。在方便干部管理和查询统计的同时,为了保证信息的准确性、实时性、决策性,鉴于 本系统是服务于管理工作的,因此在使用权限上作了特别的限制及规定。 本系统应用环境为Windows98及以上版本,以 Delphi 6.0为开发工具,以 SQL Server 2000为后台数据库。 关键词 管理;查询;Delphi;SQL 1 毕业设计(论文)外文摘要 The Information System Of Reserve Cadres Management Abstract This paper deals with the Information System of Reserve Cadres Management ,which is developed in order to improve the efficiency of managing reserve cadres in LuoYang and make the inquiry and statistics more convenience . This system mainly contains management of cadres’ information inquiry and statistics of cadres’ information .in which the former refers to the management of basic and supplementary information, .In this system the management of basic information has such functions as recording ,modifying, deleting and printing ;In addition ,the result can be showed whit a form of report or diagram to improve it sreadability。 The management of system has a friendly window, can operate simply, has a great function and has a high automatization degree. Thus reducing greatly the work intently and making the work be finished more quickly、convenient and reasonably .Furthermore ,in order to ensure the accuracy ,effectiveness and strategic purpose of the information ,the limits of authority are prescribed in particular. This system is developed in the environment of Delphi 6.0 based on the OS of windows , and the database of SQL server 2000. Keywords management ;inquiry; Delphi; SQL 2 目 次 1 引言 „„„„„„„„„„„„„„„„„„„„„„„„„„„„ 1 2 开发目的及相关软件 „„„„„„„„„„„„„„„„„„„„„ 2 2.1 目的 „„„„„„„„„„„„„„„„„„„„„„„„„„„ 2 2.2 Delphi6简介 „„„„„„„„„„„„„„„„„„„„„„ 2 2.3 SQL Server2000简介 „„„„„„„„„„„„„„„„„„„ 4 3 需求分析和可行性研究 „„„„„„„„„„„„„„„„„„„„ 6 3.1 确定对系统的综合要求„„„„„„„„„„„„„„„„„„„„6 3.2 可行性研究 „„„„„„„„„„„„„„„„„„„„„„„„7 4 数据库及相关知识概述 „„„„„„„„„„„„„„„„„„„„ 8 4.1 数据库的基本概念 „„„„„„„„„„„„„„„„„„„„„ 8 4.2 数据库的设计 „„„„„„„„„„„„„„„„„„„„„„„ 8 4.3 软件工程概述 „„„„„„„„„„„„„„„„„„„„„„„ 10 4.4 对本系统的说明 „„„„„„„„„„„„„„„„„„„„„„ 11 5 总体设计 „„„„„„„„„„„„„„„„„„„„„„„„„„ 13 5.1 整体结构和流程图 „„„„„„„„„„„„„„„„„„„„„ 13 5.2 干部信息录入模块 „„„„„„„„„„„„„„„„„„„„„ 16 5.3 干部查询模块 „„„„„„„„„„„„„„„„„„„„„„„ 16 5.4 干部统计模块 „„„„„„„„„„„„„„„„„„„„„„„ 17 5.5 系统设置模块 „„„„„„„„„„„„„„„„„„„„„„„ 18 6 后备干部信息管理系统的详细设计 „„„„„„„„„„„„„„„ 20 6.1 数据结构设计 „„„„„„„„„„„„„„„„„„„„„„„ 20 6.2 登录主界面 „„„„„„„„„„„„„„„„„„„„„„„„ 21 6.3 录入界面 „„„„„„„„„„„„„„„„„„„„„„„„„ 23 6.4 进入查询界面 „„„„„„„„„„„„„„„„„„„„„„„ 24 6.5 系统设置 „„„„„„„„„„„„„„„„„„„„„„„„„ 26 6.6 查询统计界面 „„„„„„„„„„„„„„„„„„„„„„„ 28 7 软件的测试 „„„„„„„„„„„„„„„„„„„„„„„„„ 31 8 软件的运行和维护 „„„„„„„„„„„„„„„„„„„„„„ 33 结论 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 34 致谢 „„„„„„„„„„„„„„„„„„„„„„„„„„„„ 35 参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 36 附 录 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 37 3 随着社会的发展,计算机的应用也越来越广泛,它已经成为人们日常生活中 的一部分,随其一起发展的是各种软件的发展。在进入信息爆炸的E时代,优秀的 电子化管理系统是管理部门不可缺少的利器。越来越多的管理部门在管理流程上 运用了先进的电子信息化管理技术,从而使管理工作大大简化。提高武器的性能, 充分发挥高科技迅速、准确、系统的特点,把管理部门的工作流程、管理流程配 备完善,是管理部门成功的关键所在。 本软件是专门为青年干部科设计,旨在解决人工管理效率低、出错率高等 问题的软件系统。本系统把原来的手工管理转化为计算机管理,从人员入库、查 询、统计到选择人员的整个过程都在计算机的控制之中。 本系统主要分为四个模块,即信息录入模块、信息查询模块、信息统计模 块、系统安全设置模块,使用本软件将工作人员从众多手工处理数据过程中解脱 出来,大大提高了工作效率。 本系统前端采用Delphi 6.0开发,后端数据库采用SQL Server 2000,论文 重点讲述后备干部管理系统的开发过程。本开发过程按照软件生存周期的开发步 骤,首先进行需求分析,然后分析系统的可行性 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,确定了项目开发方案,并 按照制定的 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 进行了软件的总体设计和详细设计。最后对本软件进行了测试、 运行和维护。 1 计算机已经成为我们学习和工作的得力助手。目前,计算机的价格已经十分 低廉,性能却有了长足的进步。它已经被应用于许多领域,尤其是在管理领域, 它可以简化大量繁琐的工作,提高工作效率,更重要的是能提高保密文件的安全 性。 随着计算机网络的发展和普及,它已经成为人们获取信息的一种方便、快捷、 有效的手段。通过网络与计算机检索获取信息,成为人们信息来源的普遍方式。 在各种管理机构中用计算机管理后备干部信息的意义。现在我国很多管理机 构信息的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发 展,必然被计算机及网络为基础的信息管理所取代。 作为一个计算机网络专业的本科生,希望自己能开发出一套实用的程序来 解决某些针对性较强机构的管理问题,采取更有效的后备干部信息管理。 归纳起来,本系统优点如下: 1 可以存储后备干部的基本信息,安全、高效; 2 只需为数不多的录入员即可操作系统,节省大量人力; 3 可以迅速查到所需信息,及时反馈给决策者,以便针对各种情况选出相 应的人才。 Delphi是美国Borland 公司推出的功能强大的应用程序开发工具,它具有 功能强大、运行速度快、易于学习和使用以及开发效率高等特点。Delphi是可视化应用编程开发环境、可重用性面向对象编程语言、快速编译器和数据库的完 美结合。 Delphi在开发数据库应用方面有着众多的优越特性,提供了强大的 开发基于客户/服务器模式的数据库应用程序的能力。在数据库访问方面,配有 Borland Database Engine(BDE),可通过SQL Links ODBC等技术访问多种数据库,另外还可以利用ADO来访问各种数据库。在应用程序客户端应用开发方面, Delphi6.0是面向对象的可视化编程工具,是目前最好的Windows 应用程序开发工具之一,在数据库和网络应用程序的开发有着独到之处。所以,可见 Delphi 6.0是目前最佳选择之一。Delphi6.0使用VCL类将 BDE数据库引擎封装成对象, 为数据库应用开发人员提供一致的访问接口。组建面板中的Date access,Datacontrols 和BDE页中有不同的数据库对象,其中BDE 和Date access为非可视的对象。Delphi6.0可以访问其他数据库管理系统中的数据库,也可以访问 远程数据库服务器上的数据库,比如本系统中的SQI Server等客户服务器体系 2 结构的数据库中的数据。经ODBC可以访问数据库管理系统中的数据库这些都是 通过数据库引擎来实现的。Delphi是Borland公司推出的一种可视化的、方便 快捷的Windows应用程序开发工具,一个面向对象的可视化编程平台,已经成为 功能十分强大、使用人数最多的面向对象的编程工具。与其它的开发软件相 比 Delphi有如下的特点: 1、可视化的开发环境:可视化的开发环境给编程带来了很大的方便。 首先,它大大缩减学习周期,Delphi的学习可以在学习期间就进行软件的 开发,它无需要要求苛刻的windows基本知识,而只要将设计思想通过Delphi提供的丰富的空间表达出来,即可得到高效运行的应用程序。 其次,可视化技术可以大大缩短开发周期。Delphi将windows底层隐藏起来,提供给用户简洁使用的界面,用户只需要构造自己的窗体,编写与应用程序 功能密切相关的控制代码。对应用程序界面特别是窗口的设计,可以在应用程序 设计阶段同步进行。 最后,可视化的开发技术可以提高程序的可维护性。与用程序密切相关的 Windows底层知识的隐藏,使的使用Delphi开发的应用程序更加可读,从而提 高了可维护性。另外,由于Delphi以窗体为通常的分隔对象,所以应用程序各 组成部分的界面比较清晰,便于差错检查和部分功能的改动处理。 2、高度的可重用性:Delphi的开发工具是以应用程序的结构为中心,而 Delphi则是以组件为中心,这样就使Delphi比传统开发工具具有更高的可重用 性。 首先,Delphi提供的组建库是非常丰富的,共有100多个组件。包含了构建Windows应用程序界面的从标签到树形组图的所有组件; 其次,Delphi用Borland数据引擎(BDE)的数据存储能力结合一个图形化的 用户界面,向程序员提供一个可重用的重新设计框架。程序员可以将数据模块, 设计规则,原始对象和窗体等存入对象数据库。通过对对象数据库的管理使窗体 以致完整的使用程序都具备了可重用性。对应用程序的开发可以通过继承,参考 或者复制等方法直接应用到新的设计中。 3、强大的数据库处理能力:Delphi 提供了对数据库的支持,使用Pascal语言和Delphi的组件,就可以编写数据库处理程序。Delphi提供多种访问数据库方式和访问控件,这些组件的功能是十分强大的,直接使用这些组件,无需复 杂的代码,就可以生成比较完善的数据库应用程序,结合Borland数据引擎BDE/IDAPI可以实现更强的功能。Delphi所提供的Borland数据引擎是一种非常成熟的数据库链接技术,提供了三种数据库访问技术: 首先、直接存取Dbase,FoxBase,FoxPro,Paradox等文件型数据库。 3 其次、提供一个标准的ODBC接口,通过整个接口可以访问任何一种支持ODBC的数据库。 再次、提供一个高效的SQL Link数据库驱动程序,允许直接存取Oracle,Informix,Sybase,MS SQL Server,DB2以及Borland的InterBase。 4、编译器的速度和已编译代码的效率:Delphi 有Object Inspectior(对象监视器)和Object TreeView(对象树型视图),改进的代码可以自动补齐,提高 了编译器的速度和已编译代码的效率。 5、Object Pascal 编程语言的工程:Delphi的编程语言是以Object Pascal语言为基础的,Object Pascal 是在Pascal 语言的基础上引入了面向对象技术。 它不仅具有Pascal 语言的所有优点,还具有便于应用程序开发的面向对象的特 征。 Microsoft SQL Server 2000是关系数据库管理系统,在数据库复制、数据 传输、分析服务、元数据服务、英语查询等都有所增强,其可靠性和易用性,使 它成为一个杰出的数据库平台,可用于大型联机事务处理,数据仓库以及电子商 务等。Microsoft SQL Server与Windows NT的密切集成,使得它除了具有其它 数据库类似的特性外,还具有独到之处,SQL Server的客户机/服务器的连通行使用了内建在多样化平台上Windows NT中的网络功能组件,使得 SQL Server提供了与客户系统的连接性。另外,在网络功能组件上层增加了具有特别服务功 能的组件,如OLE-DB和开放数据库连接(ODBC)。这些组件是不同的客户机应用 系统连接并相互通信成为可能,并且不需要改变现有的服务器数据库或者其它客 户机应用系统。SQL Server还包括许多PC数据库的前端工具。除了使用交互式 SQL的语言外,存储过程、视图、索引也可用来存储,回复和管理数据库。用SQL Server2000的这些GUI应用程序的能力可以提高许多倍。Microsoft SQL Server建立在成熟的和强有力的关系模型之上,使得它成为当今首选的数据存储和检索 模型。 本系统中使用数据库,考虑到是在局域网的基础上工作的,所以选择使用 Microsoft SQL Server 2000作为数据库开发。 Delphi6.0是基于Pascal程序设计语言的强大功能的合理扩展。他继承了 PASCAL语言的语法严谨、数据结构多样的特征,同时。也融入了面向对象编程 的语法要素,从而使对象PASCAL成为一种很好的面向对象的语言。用户可利用 delphi6提供的BDE(Borland Datebase Engine)开发环境来帮助完成整个应 用程序设计,而不需要再依靠其他工具,以便使程序开发环境能够简单一致,提 高整体的工程开发效率。 4 Microsoft SQL Sever 2000是为创建可伸缩电子商务、在线商务、数据仓库 解决方案而设计的关系型数据库管理与分析系统。它在当今流行Client-Server(C/S)结构中扮演后端的角色。它的主要职责是保存数据和提供一套方法来管 理这些数据,并且应付来自Client的连接和数据访问需求。 Delphi6.0提供了强大的数据库应用程序开发功能和数据库辅助工具,程序 员利用这些工具能够迅速开发出功能强大的 数据库应用程序。他与SQL Server2000结合,也是开发C/S程序最有用和最强大的工具结合。 5 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系 统必须做什么”这个问题。需求分析的任务还不是确定系统怎样完成它的工作, 而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、 具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品 的质量。因此,必须用行之有效的方法对软件需求进行严格的审查检验。 确定对系统的综合要求 1、系统功能要求 本套管理系统主要是管理庞大的后备干部,因为每年都有 一批后备干部因为工作的需要被提拔,为了全面的考察一个人的整体情况,体现 对干部任免的严肃性、认真性,在实际开发中,结合青年干部科的需求,切实了 解他们整个系统期望具有的功能,分析他们的工作特点,与其共同决定系统具有 以下功能: ?后备干部相关信息的入库,以及入库后信息的修改、删除、增加以及打印。 ?能对的后备干部整体及个人详细情况进行详细或模糊查询,并对其进行打 印。 ?为了对查询的结果很清晰的统计出来,对统计结果用图表或报表进行分 析。 ?本系统是一个保密性高的系统,因此要求对用户的权限做了限制,同时过 滤非法用户的登陆。 系统能够对各种信息逐项录入,对录入的基本信息能够查询、统计,通过图 形、报表等方式对干部的一些信息进行及时 的反馈,为领导层做出决策提供依据。有完善的系统管理系统,通过系统管理功 能赋予不同的用户不同的权限,使系统管理更加安全、规范。 2、系统性能要求 系统能及时响应、安全、可靠。 3、运行要求 ?586 PC机或VAX系列小型机 ?32M内存 ?VGA(或更高分辨率)的显示器 ?能在INTRANET 运行 ?能支持SQL Server 2000 4、将来可能提出的要求 系统考虑到将来用户可能提出的要求,已经在设计过程中对系统将来可能的 6 扩充和修改作好了准备,以便一旦需要时能够比较容易的扩充和修改。 Microsoft SQL Server 2000是关系数据库管理系统,在数据库复制、数据 传输、分析服务、元数据服务、英语查询等都有所增强,其可靠性和易用性,使 它成为一个杰出的数据库平台Microsoft SQL Server建立在成熟的和强有力的关 系模型之上,使得它成为当今首选的数据存储和检索模型。 Delphi6.0提供了强大的数据库应用程序开发功能和数据库辅助工具,程序 员利用这些工具能够迅速开发出功能强大的数据库应用程序。他与SQL Server2000结合,也是开发C/S程序最有用和最强大的工具结合。 此系统主要解决后备干部入库管理后的一系列问题,如录入、查询、统计等, 因为本管理系统有较高的保密性,要求对 人员的各种信息妥善管理,方便用户使用、且系统安全、高效、可靠。 通过需求阶段对该系统的可行性进行了彻底分析,随着计算机硬件的发展, 各项功能日趋完善,使用Delphi6.0, SQL Server 2000开发此系统无论从技术上、经济上、硬件上和操作上都是可行的。以下简要介绍技术和操作可行性的说 明。 1、 技术分析 技术分析是最难决断和最关键的问题。它主要是从技术的角度对系统实现的 可行性进行研究。经研究,本人确定使用 D elphi作为开发工具,其强大的功 能能够满足数据库设计上的需要,并能够完成本系统中待实现的所有功能。 2、 操作分析 操作分析用来确定系统的运行方式是否可行。经研究,本系统属于(单机)管理信息系统。运行环境:pentium200以上CPU;32M以上内存;windows98以上的操作系统。从运行上可以在大多数后备干部管理部门中实现。 7 1. 数据库(database) 简称db,是指长期存储在计算机内的,有组织的,可共享的数据集合; 是一种存储数据并对数据进行操作的工具。 2. 数据库系统 数据库系统是指在计算机系统中引入数据库后的系统,由一组不同数据 库软件组件的集合和数据库组成,一般包括数据库,数据库管理系统,数据 库应用系统,数据库管理员和用户构成。 3. 数据库管理系统 在物理数据库和数据库系统的用户之间有一层,即软件层,它们通常被 称为数据库管理系统(dbms),它为用户或应用程序提供访问数据库的方法, 包括数据库的建立、查询、更新以及各种数据控制等,用来管理数据库的日 常工作 数据是信息系统处理的对象,数据库设计是系统设计的重要组成部分。 1、概述: 数据库设计是在需求分析的基础上,如何对应用系统所设计的数据进行分 类、描述、关联和存取的一种技术。数据库设计通常是在一个通用的DBMS支持 下进行的,对于一个给定的应用环境,构造最优的数据模式,使之能够有效的存 储数据,满足各种用户的需要。数据库是信息系统的核心和基础,它将大 量的数据按照一定的模型组织起来,提供存储、维护和检索数据的功能。只有对 数据库进行合理的逻辑设计和有效的物理设计,才能开发出完善而高效的信息系 统,用户才能方便、及时核准取得从数据库中获取所需的信息。 2、数据库设计过程 数据库的设计通常分为6个阶段,分别是需求分析概念结构设计、逻辑结构 设计、物理设计、数据库实施阶段、运行和维护阶段。 ?需求分析 需求分析包括收集和分析用户对数据的需求,它是数据库设计的第一阶段, 也是非常重要的阶段。这一阶段收集到的基础数和数据流图是概念结构设计的基 础。 ?概念结构设计 概念结构设计是独立于数据库管理系统的逻辑结构,它也独立于具体的机 8 器。E-R模型是描述概念结构设计的有利工具。 ?逻辑结构设计 逻辑结构设计是将概念结构转换为某一数据库管理系(DBMS)所支 ?物理设计 物理设计是指数据库在物理设备上的存储结构和存取方法,它依赖于具体的 计算机系统。但随着计算机存储设备性能的提高和数据库管理系统技术的发展, 已经减少了对存储空间、分块原则和块因子等因素的考虑。 ?数据库实施阶段 该阶段的主要工作是利用DBMS系统提供的数据定义的语言创建数据库表, 向数据库中录入数据。 ?运行和维护阶段 如果是新建的数据库,还应包括试运行,其主要工作包括运行应用程序、对 数据库执行各种操作、测试应用程序的功能和系统性能指标。维护阶段的主要工 作是对数据安全性的控制、数据备份和恢复、性能的监视、分析和改进,以及数 据库表结构的修改和调整。 3、术语 数据库系统分为3级模式:外模式、模式和内模式。 外模式: 外模式通常也成为子模式或用户模式,是数据库用户看到的数据视图。 模式: 模式也称为逻辑模式,它用于描述数据库中全体数据的逻辑结构和特性 ,是全部用户共有的数据视图。 内模式:内模式是存储模式,用于描述数据在数据库中的物理结构和存储方 式。 DBMS:数据库管理系统的统称,是Database Manager System 的缩写。通常包括:数据库的定义、数据存取、数据库运行管理、数据库的建立和维护功能。 DDL:数据定义语言,它是Data Definition Language的缩写。 DML:数据操纵语言,它是Data Manipulation Language 的缩写,用于完成对数据库数据的基本操作,如增加、删除、修改和查询等。 DBA:数据库管理员,它是DataBase Administrator 的缩写。 E-R:用于描述概念模式的一种方法。 SQL:结构查询语言,它是关系数据库的标准语言,是Structured Query Language的缩写。 9 软件工程是指导计算机软件和维护的工程学科,采用工程的概念、原理和方 法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的 最好的技术方法结合起来,这就是软件工程。软件工程的七条基本原理如下: 1.阶段的生命周期计划严格管理。 2.坚持进行阶段评审。 3.实行严格的产品控制。 4.采用现代程序设计技术。 5.结果应能清楚的审查。 6.开发小组的人员应该少而精。 7.承认不断改进软件工程实践的必要性。 软件工程学使用软件生存周期模型和各种结构分析设计技术。一般来说,软 件生存周期划分为软件定义、软件开发和软件维护三大阶段。 软件定义阶段的任务是确定软件开发工程必须完成的总目标, 即确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功 能;估计完成该工程需要的资源和成本,制定工程进度表。通常,软件定义阶 段又进一步划分为三个子阶段,即问题定义、可行性研究和需求分析。 1.问题的定义 问题定义阶段 必须回答的关键问题是:“要解决的问题是什么?”如果不 清楚问题是什么就试图解决,显然是盲目的, 只会白白浪费时间和金钱,最终得出的结果很可能是毫无意义的,扼要的写出对 问题的理解、工程目标和规模的书面报告,改正和理解不准确的地方,得出一份 双方都满意的有关问题定义的文档。 2.可行性研究 本阶段要回答的关键问题是:“上一个阶段确定的问题有行的通的解决办法 吗?”为了回答这个问题,需要进行一次大大压缩和简化了的系统分析和设计过 程,也就是在较抽象的高层次上进行分析和设计。可行性研究应该比较简短,因 为这个阶段不是具体解决问题,而是研究问题的范围,探索可行的解决办法,并 确定是否值得解决。可行性研究阶段应该导出系统的高层逻辑模型,并且在次基 础上更准确、更具体的确定工程规模和目标,更精确的估计系统的成本和效益, 仔细的完成成本、效益分析。 3.需求分析: 这个阶段的任务是确定“为了解决这个问题,目标系统必须做什么”,确定 10 目标系统应该具备哪些功能。软件开发人员在需求分析阶段必须和用户密切配 合,充分交流信息,以得出经过用户确认的完整准确的系统逻辑模型,但不必考 虑实现的细节。 开发阶段的任务是具体设计和实现在前一个时期定义的软件。它通常由总体 设计、详细设计、编码和单元测试、综合测试等四个子阶段组成。 1.总体设计 本阶段必须回答的问题是:“概括的说,究竟如何解决这个问题?”即确定 解决问题的策略及实现目标系统所需要的各种程序。通常要用层次图或结构图来 描绘软件的结构。 2.详细设计 总体设计阶段应以比较抽象的方式提出解决问题的办法。详细设计阶段的任 务就是把解法具体化,也就是回答关键问题:“应该怎样具体的实现这个系统 呢?”这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。 3.编码和单元测试 这个阶段的关键任务是编写正确的容易理解、容易维护的程序模块。程序员 应该根据目标系统的性质和实际环境,选择适当的程序设计语言,把详细设计的 结果翻译成用选定的语言书写的程序,并且仔细测试编写出来的每个程序模块。 4.综合测试 这个阶段的关键任务是通过各种类型的测试使软件达到预定要求。 维护时期的主要任务是使软件能够持久的满足用户的需求。包括:软件在使 用过程中发现错误时应该加以改正;环境改变时应该修改软件以适应新的环境; 用户有新的要求时应当及时改进软件以满足用户的新需要。 本系统前台用Delphi6开发,后台使用SQL Server 2000作服务器,Delphi6通过ODBC来访问后台数据库的。下面是我所用的数据库组件。 1、TTable 是数据库应用程序访问数据库时必须使用的数据集组件之一。 可以访问数据库表格中的每一行和每一列,可以显示和编辑表格重的所有行和 列,也可以选择一定范围内的行,或者用过滤的技术检索出其中一部分行等其他 操作。通过BDE从一个数据库表格中取得数据,并通过TDateSource组件将数据传递给一个或多个数据控制组件。将从数据控制组件处得到的信息通过BDE传递给数据库。 2、TQery 实现了Delphi对SQL的支持。SQL语句可以通过组件传递到需要 11 访问的数据库系统的数据库引擎中。由数据库引擎具体执行SQL语句。实现对数据库的各种操作,而不通过BDE。TTable和TQery 的区别是前者不能使用SQL语言,很多强大的查询功能不能实现。通过BDE,应用SQL语句从一个数据库表格中取得数据并通过TDateSource组件将数据传递给一个或多个数据控制组件。 3、TDBgrid 它的作用是将一个数据集记录显示在网格里并且对其中的数据 进行编辑和修改。 4、TSateSource 组件是开发数据库应用程序中用到得非常重要的组件,是 连接数据集组件TTable和TQery等的桥梁。主要是为数据控制组件服务的。同 时数据浏览组件必须和数据源相连接才可以从数据集中取得数据,并在数据浏 览组件中显示数据,对数据进行相应的操作。 12 根据系统的需要将该系统逐步分解成一系列较容易实现的功能模块,根据实 际要开发的系统和人工管理的要求,即从后备干部信息录入,后备干部信息存储, 后备干部信息查询统计到选出合适的干部这一过程,可将本系统划分为干部信息 录入、干部信息查询、干部信息统计报表模块。又后备干部管理系统是一个保密 的管理机构,因此要求设置用户的访问权限,还要过滤不能访问该系统的用户。 因此又有系统安全设置这一模块。这四大模块已经基本完成了对数据库的整体要 求。以下整体图和各个模块的流程图,下面都有标注. 以下是后备干部管理系统的整体框架(图5.1),再将各大模块进行细化,细化后的模块如下图所示,下面将一一介绍每一个模块的细化,以及每个模块的 功能。 13 , , , , , , , , , , , , , , , , , 表 表 , , , , , , , , , , , , , 录 录 , , , , , , 图5.1整体结构图 14 图5.2干部信息录入系统 图5.3干部信息查询系统 ‘ 图5.4 进入系统设置流程图 图5.5用户登录流程成图 15 功能说明:如果某位干部成为后备的时候,操作员首先将该干部的基本信 息通过本系统录入到库里,便于以后使用。该模块主要完成对后备干部基本信 息的录入、删除 、更新等功能。该功能模块如图示 表 图5.5干部信息录入系统 (1) 这部分主要包括干部的固定不变的信息,包括它 的姓名、性别、出生年月、学历、籍贯等。系统可以对干部基本信息进行修改、 删除、增加新纪录、打印等操作 (2) 干部的工作情况不是固定不变的,主要是通过干 部的工作情况来总体的评价一个后备干部,断是否具备提拔条件,为上层领导 提供一个卓有成效的参考。 干部基本情况录入包括干部工作的县区、工作单位及职务、任正科时间、入党 时间、以及工作业绩等信息。 功能说明:该模块可以对后备干部的某些条件进行查询,支持精确查询和模 糊查询。该功能模块如图所示 图5.6 通过输入姓名,查询到该后备干部的基本情况,如果想了 解该干部的工作情况可以双击编号这一编辑框,工作情况就会弹出。 这是一个小型的复合查询的模块,查询可以满足多个 条件的后备干部的情况。 16 通过一个选择框,选择所有属于该市的县区,通过查询该 县区的后备干部的情况,了解该县区的后备干部的整体素质。方便领导做出决策, 增加或减少县区的后备干部名额。 图5.6干部查询系统 该模块是一个很重要的模块。分别针对符合提拔条件的几个因素进行统计 并且根据统计结果做柱型图或是报表,或是用数据表现。有了图形的参与使查 询的结果更加醒目,体现了程 序的易读性和人性化。通过对部分查询结果求比例,得到它和整体之间的关系。 该功能模块如图所示 图5.7干部信息统计系统 17 通过一个组合框,选择性别进行查询,用一个Dbgrid把结果 显示出来。这个统计的结果显示了选中的男、女的人数、总人数以及他们占总 人数的比例。显示的结果一目了然。 通过这一个统计的功能,得到各个县区的后备干部情况并且根 据统计结果做出柱形图,使查得的结果更形象更直观。方便领导做出科学的决 策。 通过这一个统计的功能,得到各个年龄段后备干部分布情况。 使领导对后备干部的总体年龄有一个把握,能及时调来。 在这一个部分里,通过报表设计器来把全体后备干部的信息都 用报表的形式显示出来,并打印。这个比较简单,按照报表设计器步骤做就可以 了。 功能说明:在使用本系统前,为了保证系统的安全和可靠 性,需要系统管理员对本系统使用人员进行权限赋予,过滤 非法用户的访问。该模块如图所示: 陆 图5.8系统设置模块 系统管理员可以通过此项功能添加删除用户,并对系统中对一般用户和超 级用户的权限进行了设置。一般用户在此系统 18 中的有些功能是不能用的。比如数据录入,添加删除用户还有其它的一些功能。 目的是保证系统的保密、安全和可靠性。添加的用户可以通过新用户登录使用 本系统。 通过数据管理可以用来备份数据库和恢复数据库。这项功能是直接对数据库的操作。 当一般用户忘记自己的密码,不能进入此系统时候,超级 用户可以通过查询用户这项功能查询他的密码。这项功能对一个完整的系统来 说是非常重要的。 这项功能每个用户都可以进去,如果要修改自己的密码首先要输入用户名和密码,只有用户名和密码都经过认证是正确的,就可以 修改密码了,否则会告诉你你无权使用本功能。输入需要修改的密码以及确认 码后,系统会告诉你密码修改成功的提示。 这项功能通过管理员的添加功能可以实现新用户的登录可以适用本系统。 19 在总体设计阶段,已经对本系统的功能进行了划分,就可以进入详细设计阶 段。详细设计,就是软件模块内的过程设计。其主要任务是:对总体设计所产生 功能模块进行过程描述,开发可以直接转换成程序语言代码的软件表示。对用户 界面进行设计,按照需实现的功能制定和设计界面,提供不同详细程度的系统响 应信息该模块如下图所示 数据结构设计是将各类数据信息转换成相应的数据项定义表。 1.干部基本 信息表 校服规格信息表下载新员工入职基本信息表购买客户信息表红字发票信息表撤销说明客户档案信息表模板 主要描述干部的基本信息而且是固定不变的信息。关键 字是编号和姓名,主要关键字是编号,次要关键字是姓名。 表6.1干部基本情况表 字段名称 含义 数据类型 长度 允许为空 xm 姓名 char 10 xb 性别 char 4 csny 出生年月 char 16 jg 籍贯 char 10 mz 民族 char 10 byyx 毕业院校 char 40 xl 学历 char 10 cjgzsj 参加工作时间 char 16 bh 编号 char 10 20 2.工作情况表主要描述干部工作情况的关键字是编号table2 表6.2干部工作情况表 字段名称 含义 数据类型 长度 szxq 所在县区 char 10 gongzuodanwei 工作单位 char 40 rzksj 任正科时间 datetime 8 cjpxqk 参加培训情况 char 20 rdsj 入党时间 datetime 8 gzyj 工作业绩 char 200 bh 编号 char 4 3.用户登录表主要设置管理员和一般用户并赋予他们权限的标识 表6.3用户权限表 字段名称 含义 数据类型 长度 允许为空 yhbh 用户编号 numeric 9 yhmc 用户名称 VARCHAR 10 mm 密码 10 VARCHAR czy 操作员 10 VARCHAR yhqx 用户权限 4 int 由于是初次设计,建立的表不多,但是通过一些简单的表能够了解数据库设计的思路和 整体的构造。该设计能够完成数据库的一些基本操作如数据录入,单项查询和复合查询以及 报表统计和系统设置等一些常见数据库的功能。 进入“学员信息管理系统”后,首先进入登陆界面,需用 户选择操作员和输入口令进行身份验证,通过验证后方可进入“学员信息管理系 统”,当用户输入有误时,系统会提示用户重新输入。 21 图6.1登录界面 在这个界面里对用户权限进行了设置只有超级用户可以使用所有权限,一 般用户这能使用部分权限。在这一界面里调用了参数trynum通过它来计算输入密码错误的次数,如果输入超过三次错误就会告诉你无权使用系统。参数kind主要是对用户权限的类别进行设置在这个系统里权限主要是两种,为整数型, 只有0和1, 超级用户为0,一般用户为1,根据不同的权限可以进行不同的操 作。只有超级用户才可以进行干部信息录入和添加删除用户的功能 ,这样可以实现系统的安全性和保密性。 主要使用两个控键: Datesource 和 Query 图6.2主界面 22 其中Datesource主要是连接数据源干部1,Query主要用作查询的。它连接要查询的表。通过它的属性来对表符合某种条件的查询。 主界面主要是使用Mainmenu.来做菜单和下一级子菜单的。 通过creatsubmenu可以来做子菜单的下一级子菜单。主要是在旁边有一个黑三 角。 数据录入界面,在这个界面里可以对干部基本情况和工作情况进行录入并对 录入的结果进行修改和保存等其他操作。进入录入界面如图所示 图6.3进入录入界面 可以对录入的数据进行增加,当点击增加时界面的所有EDIT控建都是空的等待操作。当录入完后可以点确定使所录入的数据保存到库中。也可以点删除使 刚录入的数据没有效果。点取消可以撤 图6.4工作情况录入界面 销刚才所做的操作。同时还可以打印干部的个人信息。同样进入干部工作录入界 23 面时也是一样的。下图是干部工作情况的录入界面。 这个界面主要用了Datesource 和Table两个控件,其中Table是连接表的用来对表进行操作的。Datesource是连接数据源干部1 输入姓名可以查询到干部的基本工作情况当双击编号时可以弹 出干部的工作情况。下面分别是查询干部基本情况的窗体和干部工作情况窗体如 图所示通过向edit1里输入姓名,然后点击执行查询就可以查询到结果。如输入 刘力那么刘力的基本情况就查询出来,再点击编号刘力的工作情况也就出来了如 图所示的操作。也可以通过查找下一条,上一条查看其他人的信息。还可以打印 个人信息。如果操作完成就可以退出操作。 这个界面主要用了Datesource1 Query1 Datesource2, 图6.5按姓名查询界面 Table2,其中Datesource1 Query1是一对,Datesource2,Table2是一对。先通过Table2来对干部基本情况进行查询,再用Query1来对编号为基础做一个查询,因为两个表之间是靠编号来连接的所以对干部基本情况的编号可以查到干 部工作情况。 查询的界面只要在组合框里选择县区名就可以查询到每个 县区的后备干部情况。这个界面如下图所示。 比如选择点击查询就可以查询到的工作情况。 24 图6.6按县区查询界面 如图所示在这个界面里通过selete distinct(szxq)可以只筛选出不同的县区, 以免重复选择县区。 这个界面里主要是用了Datesource Query是通过Query来进行查询。 可以查询满足几个条件的后备干部情况如图所示。 综合查询里主要是用了两个Query ,每个Query都对应有Datesource. Query1主要是对组合框里的选择项进行查询必须能在库里找到满足条件的条件。 Query2,主要是对从组合框了选择出来的组合条件进行查询的。并且在这一界面 里设var strsql,cxbh,cxszxq,cxrzksj,cxrdsj,cxcjpxqk,sqltiaojian:string; 这些参数,这些参数可以帮助编程的需要。里面定义了tiaojian 这个参数,这是我第一次来定义这样的参数。 图6.7综合条件查询界面 如果我们要查询老城区的第15期培训的情况。可以在所在县区里选择老城区, 25 在参加培训情况里选择第15期,然后点击查询。结果如图5.7所示 图6.8数据管理界面 我们可以对数据进行备份和恢复。界面如图所示。 通过点击备份数据可以在label1 下面的edit里 将数据备份到地址里,还可以 将备份的数据恢复过来。这一过程主要是使用Ado的Connetion,和Commend来做的,主要是做数据备份使用到的数据库。在这里通过Datemodul15来完成上面的设置。这个界面如图5.8所示 图6.9数据模块 添加/删除用户主要是管理员有这种权限可以进行操作并且 给新用户一定的权限。这个界面如图所示 当点击添加的时候,你可以选择是添加一般用户或者是超级用户,那么用户名, 密码,确认码都是可用的。可以向里面添加,删除的时候只要输入用户名就可以 了。如图所示 这是运行结果的弹出窗体告诉操作结果。 26 图6.10添加删除界面 图6.11弹出窗体 在这个窗体里每个用户都可以进入这个系统对密码进行修改,先 在组合框里选择姓名,然后输入密码,只有姓名和密码都正确的时候才可以进行 密码的修改,操作的界面如图6.12所示,结果如图6.13所示 图6.12修改密码界面 27 图6.13弹出窗体 在这个窗体里主要是进行用户密码的查询。这是为一般用户 服务的方法。一旦用户忘记自己的密码可以使管理员进入此系统对它的密码进行 查询。在组合框里选择到用户名,如果用户名在库里,通过点击查询可以查询到 密码。这个界面的操作效果如图所示。 6.14口令查询界面 新用户登录界面和刚开始的登录界面是一样的这个窗体事新用户进行登录的操 作。操作结果如图6.1所示 能够完成对男、女进行分类,并且能求出经过分类的人数,总 人数和查得的人数占总人数的比例。这一过程的界面如图所示。在组合框里选择 男、女经过查询可以在DBgrid里显示出查得的结果。然后点统计可以自动统计 出三个EDIT框的数据运行结果如图6.15所示。 ,在这个窗体里运用了报表通过报表设计器可以很方便的 打印全部干部的情况。界面如图6.16所示 28 6.15性别统计界面 图6.16打印全体干部报表 可以通过查询统计县区,就可以对查旬的结果做一个柱状图,用图 表分析来显示结果。在这个窗体里主要是运用了DBchart 和 CheckListBox,在DBchart里可以显示柱状图,在CheckListBox里可以选择县区名。通过一个查 询的过程就可以将查询统计的结果传给Series1,并且可以标注颜色,县区以及 统计的结果。通过它将结果显示出来,这也是统计报表的一种形式,他会显得更 加清晰易懂。这个窗体的运行结果如图6.17所示 29 图6.17按县区统计界面 30 测试目标和定义 1.软件测试的目的是尽可能多的发现并排除软件中潜藏的错误,最终把一个 高质量的软件系统交给用户使用。 2.测试目标 (1)测试是为了发现程序中的错误而执行程序的过程。 (2)好的测试方案是极可能迄今为止尚未发现错误的测试方案。 (3)成功的测试是发现了至今为止尚未发现的错误的测试。 测试方法 测试的方法分为白盒法和黑盒法。 1.黑盒法: 如果已经知道了软件应该具有的功能,可以通过测试来检验是否每个功能都 能正常使用,我们把它称为黑盒测试。对于软件测试而言,黑盒测试是把程序看 成一个黑盒子,完全不考虑程序内部结构和处理过程。也就是说,黑盒测试是在 程序接口进行的测试,它只检查程序功能是否能按照规格说明的规定正常的使 用,程序是否能够适当的接收输入数据产生正确的输出信息,黑盒测试又称为功 能测试。 2.白盒法: 与黑盒测试相反,白盒测试是可以把程序看成装在一个透明的白盒子里, 也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程 序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构 测试。 无论怎样强调软件测试的重要性和它对软件可靠性的影响都不为过,他的 根本目标是尽可能多的发现并排除软件中潜藏的错误,最终把一个高质量的软件 交给用户使用。 对于开发出的干部信息管理系统来说,它并不是一个特别复杂的系统,考虑 到时间问题,我采用了黑盒测试法进行测试。他只检查程序功能是否按照规格说 明书的规格正常使用,程序是否能适当的接收输入数据产生正确的输出信息,并 保持外部信息的(如,数据库或文件)的完整性。测试如下: 干部信息录入测试 1、在基本信息录入栏内依次选填内容如下: 刘力、男、1975.11.2、本科、河南洛阳、1999.6.7、河南大学点击添加按钮后,输入信息与数据库中插入的内容一致,而且没有报错。基本信息异常(添 31 加)测试 在基本信息录入栏内依次选填内容如下: 刘丽、男、1975.11.2、本科、河南洛阳、1999.6.7、河南大学点击添加按钮后,提示“输入编号重复请重新输入”。 2、干部基本信息查询测试 在edit1中输入查询条件“姓名”,点击确定按钮后,查到该干部信息,无 误。 双击编号工作情况弹出。在combox1 里选择县区点击查询查询没有出错。在综合查询里在conmbox1li 选择县区,在combobox3 里选择培训情况也没有出 错。 干部信息统计测试按县区统计通过点击查询在dbchart里用柱状图显示出 查询结果,按性别里同选择combobox里的男、女可以查询然后通过统计,告诉你记录已经找到并统计出查询的人数,总人数和查询的人数占总人数的比例经测 试没有出错。 系统设置测试,通过登录界面让你输入密码和用户名可以登录此系统,异常 情况如果超过三次。会提示你不能使用本系统。在添加删除里只有超级用户进入 可以添加一般或者是超级用户,同时赋予权限。因为我的测试里面都是大同小异, 在这里不在累赘。 对以上几个功能的测试整体上符合要求,其操作流程也相当的清晰、方便、 易懂。故此几项测试成功。由于时间及篇幅限制,仅就主要的几项进行黑盒测试 测试过程中发现了不少的问题,通过对问题的解决我从中掌握了很多的编程经验 和技巧,同时也知道自己对软件编程的很大不足并且真正体会到软件测试的重要 性。 32 经过综合的测试后,本系统就可以运行了,经过运行测试本系统运行状态良 好。 软件维护是软件生命周期的最后一个阶段,它处于系统投入生产性运行以 后的时期中,因此 不属于系统开发过程。 所谓软件维护就是在软件交付使用之后,为了改正错误或满足新的需要而 修改软件的过程。我们可以通过描述软件交付使用后可能进行的四项活动,具体 定义软件维护。 1.改正性维护 因为软件测试不可能暴露出一个大型软件系统的所有潜在错误,所以必然会 有第一项维护活动:在任何软件的使用期间,用户必然发现程序,并且把他们遇 到的问题报告给维护人员。我们把诊断和改正错误的过程称为改正性维护。 2.适应性维护 计算机科学技术的各个方面都在迅速进步,大约每36个月就有新一代的硬件出现,因此,适应性维护,也就是为了和变化的环境适当的配合而进行的修改 软件的活动,是既必要又经常的维护活动。 3.完善性维护 当一个软件系统顺利的进行时,在使用软件的过程中用户往往提出增加 新 功能或修改已有功能的建议,还可能提出一般性修改意见。为了满足这类要求, 需要进行完善性维护。这项维护活动通常占软件维护的大部分工作。 4.预防性维护 为了改进未来可维护性或可靠性,或为了给未来的改进奠定更好的基础而 修改软件时出现的维护活动,我们把它称为预防性维护。 上述四类软件维护活动都必须应用于整个软件配置,维护软件文档和维护 软件的可执行代码是同样重要的。 33 通过这次毕业设计,我学到了许多实用的知识。在大学期间偏重于理论的学习,动手的能力相对较差。经过这次毕业设计,把以前所学到的书本知识和实际 应用结合了起来,对书本上的理论知识有了深层次的理解,意识到了学习计算机 要多动手,多实践,理论和实践相结合,才能真正的学好计算机。 经过多年发展,信息系统已经相当普及,大型管理数据库开始跨地区发展,尤其是政府上网的普及,现在已经趋于对管理网上直报。对后备干部管理系统来 说,每一个后备干部的任免都涉及到社会的方方面面,如果通过网络让上层领导 全方位的来考核一个后备干部,更能体现对干部任免的严肃认真和对人民负责的 态度。每个县区可以通过网络将后备干部的情况进行网上直报,同时省级,甚至 国家级都可以通过网络来查询全国各的地大大小小的地方级后备干部情况,所以 管理数据库系统必然有其发展的空间,而后备干部管理系统是每个组织管理部门 必须具备的功能,所以也同样有广阔的前景,更重要的是本系统具有良好的移植 性和与其它程序的良好接口,可以为网上直报提供很好的接口。因此它不单可作 为后备干部系统的一部分,也可作为其它单位管理软件的一部分。这就为本系统 提供了更为广阔的发展空间。 34 三个多月的毕业设计已近尾声,感觉收获很大。在本系统的开发和编程过 程中,老师给予了很详尽的指导,对系统开发和编程中遇到的问题都耐心的进行 讲解,并对我的一些设想提出许多宝贵的意见。老师学识渊博,严谨的治学作风 使我受益非浅。在老师的指导下,最终完成了本次毕业设计。虽然本系统可以比 较正常的运行,实现了预期的设计目标,但是还存在一些问题,由于水平和时间 有限,有些问题还须进一步完善。在以后的工作中我还会继续努力学习,通过实 践来提高自己的水平。 同时感谢市组织部青干科提供本系统的技术要求,并在开发过程中给予了大 力支持;感谢同学在设计过程中的帮助。 35 [1]. 飞思科技产品研发中心 著,电子工业出版社,2002。 [2]. 伍俊良主编 Delphi7.0/8.0课程设计与系统开发按例,清华大学出版社,2004.3 [3]. 王志伟、黄超编 Delphi 企业经营管理系统开发实例导航,人民邮电出 版社,2003.6 [4]. 朱宏伟 著跟我学Delphi 5.0 编程指南北京冶金工业出版社 [5] 周燕飞 左敦稳 李亮 数据库原理与应用,机械工2003.1 [6] 【美】Paul Kimme 著 郭旭 周建明 译Delhpi 6 应用开发指南,清华大学版社,2001.6 [7]. 张子江 蓝徽 郑城荣 等Delphi 6 高级开发范例,电子工业出版社 2000.8 [8]. 张海蕃 著 软件工程导论,清华大学出版社 [9]. 罗晓沛、张迎新、蔡越江. 数据库技术, 华中理工大学出版社 2000.8 36 1、登录界面的代码点击登录可以查看代码 with query1 do begin close; sql.clear; sql.add('select * from table4 where yhmc=:yhmc and mm=:mm'); form1.Query1.parambyname('yhmc').Value:=combobox1.text; form1.Query1.parambyname('mm').Value:=edit1.text; open; end; if query1.RecordCount=1 then begin with query1 do kind:=FieldByName('yhqx').Asinteger; if kind=0 then begin form2.Show; form1.Hide; end; if kind=1 then begin form2.Show; form2.N1.Enabled:=false; form2.N2.Enabled:=false; form2.N15.Enabled:=false; form1.Hide; end; end else begin showmessage('口令错误,请重试!'); edit1.Text:=''; edit1.SetFocus; trynum:=trynum+1; end; if trynum=3 then begin showmessage('警告!你无权使用该系统!'); close; form2.Close; end; 1、入界面的代码 单击确定的代码 begin if RadioButton1.Checked then userkind:=RadioButton1.Caption else if RadioButton2.Checked then userkind:=RadioButton2.Caption else if RadioButton4.Checked then begin showmessage('请选择用户类别!'); 37 edit1.Text:=''; edit2.Text:=''; end; adddel; end; procedure TForm8.adddel; begin if RadioButton3.Checked then begin if edit1.Text='' then begin showmessage('请输入用户名!'); edit3.SetFocus; end else if edit2.Text='' then begin showmessage('请输入密码!'); edit2.SetFocus; end else if edit3.Text='' then begin showmessage('请输入密码确认!'); edit3.SetFocus; end else begin if edit2.Text=edit3.Text then begin with query1 do begin close; sql.clear; sql.add('select * from table4 where czy=:czy'); form8.query1.parambyname('czy').Value:=userkind; open; end; with query2 do begin close; sql.clear; sql.add('insert into table4 (yhmc,mm,yhqx,czy,yhbh) values(:yhmc,:mm,:yhqx,:czy ,:yhbh)'); form8.query2.parambyname ('yhmc').Value:=edit1.text; form8.query2.parambyname('mm').Value:=edit2.text; form8.query2.parambyname('yhqx').Value:=query1.FieldByName('yhqx').As String; form8.query2.parambyname('czy').Value:=userkind; form8.query2.parambyname('yhbh').Value:=edit4.text; execsql; end; showmessage('用户添加成功!'); edit2.Text:=''; edit3.Text:=''; 38 end else begin showmessage('密码不一致,请重新输入!'); edit2.Text:=''; edit3.Text:=''; edit2.SetFocus; end; end; end else if RadioButton4.Checked then begin if edit1.Text='' then begin showmessage('请输入用户名!'); edit1.SetFocus; end else begin with query2 do begin close; sql.clear; sql.add('delete from table4 where yhmc=:yhmc'); form8.query2.parambyname('yhmc').Value:=edit1.text; execsql; end; showmessage('用户删除成功!'); end; end; end; 界面的初始化代码如下 begin edit1.Text:=''; edit2.Text:=''; edit1.Enabled:=false; edit2.Enabled:=false; button1.Enabled:=false; label1.Enabled:=false; label2.Enabled:=false; groupbox2.enabled:=false; edit3.Enabled:=false; label3.Enabled:=false; end; 单击添加和删除时的代码 groupbox2.enabled:=false; edit1.Enabled:=true; edit2.Enabled:=false; button1.Enabled:=true; label1.Enabled:=true; label2.Enabled:=false; label3.Enabled:=false; edit3.Enabled:=false; label5.Enabled:=false; edit4.Enabled:=false; 39 groupbox2.enabled:=true; edit1.Enabled:=true; edit2.Enabled:=true; button1.Enabled:=true; label1.Enabled:=true; label2.Enabled:=true; label3.Enabled:=true; edit3.Enabled:=true; 4.修改用户密码的窗体 但击确定的代码 with query1 do begin close; sql.clear; sql.add('select * from table4 where yhmc=:yhmc'); form9.Query1.parambyname('yhmc').Value:=combobox1.text; open; end; if query1.RecordCount=0 then begin showmessage('此用户不存在,请重新输入'); combobox1.Text:=''; combobox1.SetFocus ; end else begin if edit1.Text='' then begin showmessage('请输入密码!'); edit1.SetFocus; end else begin trynum:=trynum+1; if query1.FieldByName('mm').AsString=edit1.Text then begin jxxg; end else begin if trynum<3 then begin showmessage('密码有误,请重新输入!'); edit1.SetFocus; edit1.Text:='' end else begin showmessage('密码错误'); form1.close; end; end; end; end; 单击修改的代码 40 if edit2.Text<>'' then begin if edit3.Text=edit2.Text then begin with query2 do begin close; sql.clear; sql.Add('update table4 set mm=:mm where yhmc=:yhmc'); form9.Query2.parambyname ('mm').Value:=edit2.Text; form9.Query2.parambyname ('yhmc').Value:=combobox1.Text; execsql; showmessage('用户:'+combobox1.text+'密码更新 完毕!'); end; end else begin showmessage('密码不一致,请重新输入!'); edit2.Text:=''; edit3.Text:=''; edit3.SetFocus; end; end else showmessage('请输入新密码!'); end; procedure Tform9.jxxg; begin panel1.Enabled:=true; button3.Enabled:=true; 5、查询密码代码 if combobox1.Text<>'' then begin with query1 do begin close; sql.clear; sql.add('select * from table4 where yhmc=:yhmc'); form10.query1.parambyname('yhmc').Value:=combobox1.text; open; label5.Caption:=query1.FieldByName('mm').AsString; end; end else begin showmessage('请先输入用户名!'); combobox1.SetFocus; end; 初始化窗体 combobox1.Text:=''; Label5.Caption:=''; Label5.Width:=140; with query1 do 41 begin close; sql.clear; sql.add('select * from table4'); open; while not eof do begin combobox1.Items.Add(fieldbyname('yhmc').AsString); next; end; end; combobox1.setfocus; 6.数据管理窗体 数据备份 self.Caption:='正在备份数据.....'; a1.Active:=true; datamodule12.cback.commandtext:='backup database 干部1 to disk=''d:\syyhsbk.back'''; try datamodule12.cback.execute; showmessage('备份成功'); a1.active:=false; except showmessage('备份成功'); a1.active:=false; end; self.caption:='数据备份与恢复'; 数据恢复 label1.Caption:='正在恢复....'; if application.MessageBox('此操作将使上次备份以来的所有数据丢 失,是否继续?','恢复数据',MB_OKCANCEL)=idok then begin a1.Active:=true; DataModule12.cback.CommandText:='restore database yd from disk=''d:\syyhsbk.back'' with replace'; try DataModule12.cback.Execute; showmessage('恢复成功!'); except showmessage('数据库正在被使用!请确定已关闭其它设备管理程序'); label1.Caption:='恢复失败!'; end; end; 7.按姓名查询 点击查询的代码 with table1 do begin indexname:='xm'; open; setkey; fieldbyname('xm').AsString:=edit1.Text; 42 gotonearest; if dbedit1.text<>edit1.Text then showmessage('没有该干部信息'); end; 双击编号的代码: with query1 do begin close; sql.clear; sql.add('select * from table2 where bh=:bh'); form5.query1.parambyname('bh').Value:=dbedit4.text; open; end; 8.按县区查询 if combobox1.Text<>'' then begin with query1 do begin close; sql.clear; sql.add('select * from table2 where szxq=:szxq'); form6.query1.parambyname('szxq').Value:=combobox1.text; open; end; end else begin showmessage('请先输入用户名!'); combobox1.SetFocus; end; 初始化代码 combobox1.Text:=''; with query1 do begin close; sql.clear; sql.add('select distinct (szxq) from table2'); open; while not eof do begin combobox1.Items.Add(fieldbyname('szxq').AsString); next; end; end; combobox1.setfocus; 9.按其他条件 点击查询的代码 var strsql,cxbh,cxszxq,cxrzksj,cxrdsj,cxcjpxqk,sqltiaojian:string; begin strsql:='select 编号=bh,所在县区=szxq,任正科时间=rzksj,入党 时间=rdsj,参加培训情况=cjpxqk from table2 where bh<>0'; sqltiaojian:='where bh<>0'; if combobox1.Text='' then cxbh:='' 43 else cxbh:=trim(combobox1.Text); if combobox2.Text='' then cxszxq:='' else cxszxq:=trim(combobox2.Text); if combobox3.Text='' then cxrzksj:='' else cxrzksj:=trim(combobox3.Text); if combobox4.text='' then cxrdsj:='' else cxrdsj:=combobox4.Text; if combobox5.text='' then cxcjpxqk:='' else cxcjpxqk:=combobox5.Text; if cxbh<>'' then begin strsql:=strsql+' and bh='''+cxbh+''''; sqltiaojian:=sqltiaojian+' and bh='''+cxbh+''''; end; if cxszxq<>'' then begin strsql:=strsql+'and szxq='''+cxszxq+''''; sqltiaojian:=sqltiaojian+' and szxq='''+cxszxq+''''; end; if cxrzksj<>'' then begin strsql:=strsql+'and rzksj='''+cxrzksj+''''; sqltiaojian:=sqltiaojian+' and rzksj='''+cxrzksj+'''' end; if cxrdsj<>'' then begin strsql:=strsql+' and rdsj='''+cxrdsj+''''; sqltiaojian:=sqltiaojian+' and rdsj='''+cxrdsj+''''; end; if cxcjpxqk<>'' then begin strsql:=strsql+'and cjpxqk='''+cxcjpxqk+''''; sqltiaojian:=sqltiaojian+'and cjpxqk='''+cxcjpxqk+''''; end; showmessage(strsql); with query2 do begin close; sql.Clear; sql.Add(strsql); open; end; if query2.RecordCount=0 then showmessage('此条件不存在,请重新输入'); 44 end; 初始化代码 combobox1.Clear; combobox1.Text:=''; combobox2.Clear; combobox2.Text:=''; combobox3.Clear; combobox3.Text:=''; combobox4.Clear; combobox4.Text:=''; combobox5.Clear; combobox5.Text:=''; with query1 do begin close; sql.clear; sql.add('select bh from table2'); open; while not eof do begin combobox1.items.add(FieldByName('bh').Value); next; end; end; with query1 do begin close; sql.clear; sql.add('select distinct(szxq) from table2'); open; while not eof do begin combobox2.items.add(FieldByName('szxq').Value); next; end; end; with query1 do begin close; sql.clear; sql.add('select rzksj from table2'); open; while not eof do begin combobox3.items.add(FieldByName('rzksj').Value); next; end; end; with query1 do begin close; sql.clear; sql.add('select rdsj from table2'); open; while not eof do begin combobox4.items.add(FieldByName('rdsj').Value); 45 next; end; end; with query1 do begin close; sql.clear; sql.add('select distinct(cjpxqk) from table2'); open; while not eof do begin combobox5.items.add(FieldByName('cjpxqk').Value); next; end; end; with query2 do begin close; sql.clear; sql.add('select bh=bh,szxq=szxq,rzksj=rzksj,rdsj=rdsj,cjpxqk= cjpxqk from table2 where bh<>0'); open; end; end; 10.按县区统计的代码 查询的代码 var number1:double; szxq:string; index:integer; begin series1.Clear; for index:=1 to clb.Items.Count-1 do begin if clb.Checked[index] then begin szxq:=clb.Items.Strings[index]; with query1 do begin close; sql.Text:='select count(szxq) as number from table2 where szxq='''+szxq+''''; open; with query1 do number1:=fieldbyname('number').AsInteger; series1.AddBar(number1,szxq,clblue); close; end; end; end; end; end. 列表框单击的代码 var index:integer; 46 begin series1.Clear; if clb.Checked[0] then begin for index:=1 to clb.Items.Count-1 do begin clb.Checked[index]:=true; end; end else for index:=1 to clb.Items.Count-1 do begin if not clb.Checked[index] then begin clb.Checked[0]:=false; break; end; end; 11.按性别统计的代码 点击统计的代码 var s1:real; s2:real; s3:real; s4:string; s5:string; s6:string; bookmark1:tbookmark; begin table1.Refresh; if table1.recordcount=0 then showmessage('对不起,你的数据为空') else begin s1:=table1.RecordCount; str(s1,s4); edit3.Text:=s4; with table1 do try disablecontrols; filtered:=false; if combobox1.text<>'' then filtered:=true; s2:=table1.recordcount; finally enablecontrols; if table1.recordcount=0 then begin messagebeep(1); s2:=table1.RecordCount; showmessage('没有符合田间的查询'); if messagedlg('是否继续查询?',mtinformation,[mbyes,mbno],0)=mrno then begin s3:=s2/s1; str(s2:8:2,s5); edit1.Text:=s5; str(s3:8:2,s6); 47 edit2.Text:=s6; filtered:=false; table1.Close; table1.Open; end; end else begin showmessage('记录已经找到'); bookmark1:=table1.GetBookmark; s2:=table1.RecordCount; s3:=s2/s1; str(s2:8:2,s5); edit3.Text:=s5; str(s3:8:2,s6); edit2.Text:=s6; filtered:=false; table1.Close; table1.Open; end; end; end; end; 点击查询的代码 if combobox1.Text<>'' then begin with query1 do begin close; sql.clear; sql.add('select * from table1 where xb=:xb'); form13.query1.parambyname('xb').Value:=combobox1.text; open; end; end else begin showmessage('请先输入用户名!'); combobox1.SetFocus; end; end; procedure TForm13.FormShow(Sender: TObject); begin combobox1.Clear; combobox1.Text:=''; with query1 do begin close; sql.clear; sql.add('select distinct(xb) from table1'); open; while not eof do begin combobox1.items.add(FieldByName('xb').Value); next; end; end; end; 48
本文档为【后备干部管理系统论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321575
暂无简介~
格式:doc
大小:279KB
软件:Word
页数:69
分类:
上传时间:2017-09-20
浏览量:18