毕业设计(论文)基于Delphi的新生报名管理系统的设计与实现

上传人:无*** 文档编号:40924838 上传时间:2021-11-18 格式:DOC 页数:47 大小:5.99MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于Delphi的新生报名管理系统的设计与实现_第1页
第1页 / 共47页
毕业设计(论文)基于Delphi的新生报名管理系统的设计与实现_第2页
第2页 / 共47页
毕业设计(论文)基于Delphi的新生报名管理系统的设计与实现_第3页
第3页 / 共47页
资源描述:

《毕业设计(论文)基于Delphi的新生报名管理系统的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Delphi的新生报名管理系统的设计与实现(47页珍藏版)》请在装配图网上搜索。

1、 学学 士士 学学 位位 论论 文文基于 Delphi 的新生报名管理系统的设计与实现姓姓 名:名:学学 号:号:指指导导教教师师:学校代码:10904院院系系(部部所所) : 信息科学与工程学院专专 业:业:计算机科学与技术完完成成日日期期:2011 年 05 月 25 日 学学 士士 学学 位位 论论 文文基于 Delphi 的新生报名管理系统的设计与实现姓姓 名:名:学学 号:号:指指导导教教师师:院院系系(部部所所) : 信息科学与工程学院专专 业:业:计算机科学与技术完完成成日日期期:2011 年 05 月 25 日摘 要 新生报名管理系统主要是针对高校作为使用对象而开发的,其系统开

2、发任务主要包括数据库的设计与维护、应用程序的开发等两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,如用户需要密码才能使用等,而对于后者则要求程序界面友好、功能完备等特点。根据软件工程的原理,设计并开发了新生报名管理系统,包括系统的需求分析,系统的总体设计和各模块功能的实现。通过对各大高校新生报名程序的认真调研,本系统的主要功能包括系统管理,数据管理,报到管理,住宿管理和缴费管理, 能集中化、一次性处理各项报到事宜,大大提高了工作效率。经过详细的分析,选用 Borland 公司的 Delphi 作为前端开发工具,利用其提供的集成开发环境及各种组件,尤其是对数据库的

3、支持完成对数据库的各种操作,达到对新生报名管理的目的。选用 SQL Server 2000 作为后台数据库。首先建立系统应用原型,然后对原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行的系统。【关键词】新生报名;管理;实现;ODBC;SQL Server AbstractThe registration management system of new student is primarily directed at the college as the object is used and developed. The system development includes

4、the principal task of the database design and maintenance and application development to wait for two ways. For the former requests to create the database uniformity and integrities and is of the data security, as users need your password to use,for the latter then requires the application interface

5、s friendly and functions as. According to the principle of the software engineering,we design and develop the registration management system of new student, including the system of overall needs analysis, the system of overall design and implementation of module functionality.According to the colleg

6、e students register for the serious research, the system of the major functionality include system management,data management,registration management,administrative and payment management.The worker can centralized and one-time deal with the report and has greatly increased efficiency.After careful

7、analysis, the use of Delphi Borland as a development tool, using its offer integrated development environment and the various components, especially in the database support to the database every operation, to enter the new management purpose. And we use SQL Server2000 as a background of the database

8、.The first application of a prototype system, then a prototype system to demand an iteration, an amendment and improvement until the satisfaction of the practical system.【Keywords】registration of new student;management;implementation; ODBC;SQL Server 目 录第 1 章 绪论.1 1.1 系统开发背景 .1 1.2 系统开发实际意义 .1 1.3 系

9、统开发存在的问题 .2 1.4 系统开发技术方案 .2 1.4.1 开发技术的比较 .2 1.4.2 DELPHI 7.0 简介 .3 1.4.3 SQL SERVER 2000 简介 .4 1.5 论文的研究内容及结构安排 .5第 2 章 系统分析.7 2.1 可行性分析 .6 2.1.1 经济可行性分析 .6 2.1.2 技术可行性分析 .6 2.1.3 开发方案的选择性 .7 2.2 需求分析 .7 2.2.1 系统功能需求分析 .7 2.2.2 安全保密需求 .9 2.2.3 软硬件环境需求 .9第 3 章 总体设计.10 3.1 系统功能设计 .10 3.2 系统的主要程序逻辑 .1

10、1 3.2.1 新生报到模块活动图 .11 3.2.2 新生住宿模块活动图 .12 3.2.3 新生缴费模块活动图 .13 3.3 数据库设计 .14 3.3.1 数据库规范设计方法简述 .14 3.3.2 数据库概念设计 .15 3.3.2 数据库逻辑及物理结构设计 .17第 4 章 详细设计与功能实现.21 4.1 主要功能界面 .21 4.1.1 登录界面设计及实现 .21 4.1.2 用户管理窗体设计及实现 .24 4.1.3 新生数据管理窗体设计及实现 .25 4.1.4 新生报到管理窗体设计及实现 .28 4.1.5 新生住宿管理窗体设计及实现 .30 4.1.6 新生缴费管理窗体

11、设计及实现 .31 4.2 数据库的连接 .32 4.2.1 创建数据源 .32 4.2.2 连接数据库 .32第 5 章 系统运行与测试.33 5.1 系统运行 .33 5.2 系统测试 .34 5.2.1 单元测试 .34 5.2.2 综合测试 .35 5.2.3 确认测试 .35第 6 章 结论与展望.36参考文献.38致谢.39基于 Delphi 的新生报名管理系统的设计与实现1第 1 章 绪论1.1 系统开发背景近年来,由于计算机硬件、软件、网络的飞速发展和广泛应用,人们迎来了信息社会和知识经济。我国进入了以信息化带动工业化、以工业化促进信息化的新的历史时期。而软件产业肩负着发展信息

12、产业、对传统产业进行信息化改造的历史任务。为适应这一形势发展的需要,我国加快软件人才培养的步伐,扩大软件人才培养规模,深化软件教学改革,加强计算机应用教育,扩大对外交流,短短几年取得了长足进步1。在现代化高等学府中,各类应用软件正发挥越来越重要的作用。其中信息管理软件的作用尤为突出,它已经渗透到高校日常工作的许多方面,无论是其自身还是所发挥的作用,都为高校的创新、发展等做出了显著的贡献。1.2 系统开发实际意义随着高等教育的发展,各高校招生规模不断地扩大,招生人数越来越多,而新生报名的时间一般都很短,工作量很大。仅仅靠原始的手工管理,一方面,学校面对大量的新生报名管理信息,无法有效率地将其中的

13、重要部分提取出来,并做出相应的判断和处理。学校的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。另一方面,采用手工管理的办法,新生在报名时会由于报到手续繁多复杂,花费相当多的时间与精力,造成一定的身心疲惫,这是我们所不愿意看到的。因此,先进的管理思想方法在学校中实现就成为了一个迫待解决的课题。使用管理信息系统进行报名管理工作,可以大大减少报名管理人员的工作量,每个新生报名的时间将缩短至 1-2 分钟,短时间就可以处理大量的新生报名信息。报名处理的准确性也会大大的提高,因为电子处理方法在计算、统计等方面比手工处理方法出现误差的概率要小得多,所以以往

14、手工管理住宿资源安排重复,收费纠纷等情况几乎没有再发生的可能性。而新生也不再需要为报名的各项手续到处奔波劳累,只须使用本系统即可集中化、一次性处理各项报到事宜,轻松地完成开学第一天的工作。使用管理信息系统进行报名管理工作,还有着手工管理所无法比拟的其他基于 Delphi 的新生报名管理系统的设计与实现2优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高报名管理的效率,也是科学化、正规化管理的重要条件。目前国内报名管理系统仍为出现较为成熟的产品,很多高校仍然采用原始的手工管理办法,一套功能完备、容易操作的报名管理系统的出现,将会为各大高校报名工

15、作带来极大的便利,因此必将受到广大高校用户的青睐!1.3 系统开发存在的问题不少研究人员在此类系统的开发上做出了积极的探索并获得相当多的成果,但是他们更多做出的是理论上的研究,还没有做出贴近高校需要的功能完善的系统,例如有些报名管理系统只能完成最基本的报到功能,还没有适应各大高校的需要,建立自己的查询系统,以解决以往利用报表人工检索的弊端;也没有创建各系别具体费用的重新设置窗口,致使收费标准不同的学校不能使用系统等等。当然,任何一个管理信息系统的开发,都不是一个一劳永逸的过程,而是随着用户需求的变化不断发展创新的过程,本系统的开发与应用亦是如此。1.4 系统开发技术方案1.4.1 开发技术的比

16、较本系统采用 C/S 客户服务器应用数据库开发,C/S(Client/Server,客户机/服务器)型数据库是当前数据库应用的主流。与文件型数据库不同的是,C/S型数据库应用程序由两个部分组成:服务器和客户机。服务器指数据库管理系统(Database Manage System,DBMS) ,用于描述、管理和维护数据库的程序系统,是数据库系统核心组成部分,对数据库进行统一的管理和控制。客户机则将用户的需求送交到服务器,再从服务器返回数据给用户。常见的 C/S 型数据库有著名的 Oracle, Sybase, Informix, 微软的 Microsoft SQL server, IEM 的 D

17、B2,以及 Delphi 自带的 InterBase,等等。C/S 型数据库支持的数据量一般比文件型数据库大得多,还支持分布式的数据库(即同一数据库的数据库位于多台服务器上) 。同时,C/S 型数据库一般都能完善地支持 SQL语言(所以也被称作 SQL 数据库) 。这些特性决定了 C/S 型数据库适合于高端应用,而 SQL server 2000 数据库具有其它数据库无法比拟的优点。所以本系统基于 Delphi 的新生报名管理系统的设计与实现3选择采用 SQL server 2000 数据库作为后台数据库。对于系统开发所用的程序设计语言和技术来说,有VB、JAVA、ASP、Delphi 等开发

18、程序设计语言和技术。对于 VB 来说,VB 虽开发出来的软件体积特别小,VB 不能开发底层应用,也不能开发手机,更不能做 Linux 程序,开发效率低;而 Delphi 有严格标准的语言,只是加入一些面向对象的特征,开发速度比 VB 快,控件多,功能也多,从底层、网络到移动平台的开发,Delphi 都能胜任。和 VB 相比,Delphi 则功能更强大、更实用。对于 JAVA 来说,JAVA 虽然语言简单,健壮性,安全性高,可解释性,可移植性强,高性能,多线程,但是运行速度也比较慢,界面也不美观。而对于ASP 来说,开发出来的软件体积较大,占内存较大的缺点,所以选择使用Delphi,正如“真正的

19、程序员用 C,聪明的程序员用 Delphi”,这句话是对Delphi 最经典、最实在的描述。Delphi 被称为第四代编程语言,它具有简单、高效、功能强大的特点。再和 VC 相比,Delphi 更简单、更易于掌握,而在功能上却丝毫不逊色;可以说 Delphi 同时兼备了 VC 功能强大和 VB 简单易学的特点,它一直是程序员至爱的编程工具。通过以上比较,所以选择 Delphi 来作为前端开发工具。 C/S 客户服务器应用数据库开发是当前电脑开发的一大主流架构,Delphi 和 SQL Server 也是当前开发应用数据库产品比较流行的组合,所以本系统采用 Delphi 和 SQL Serve

20、进行开发 8。1.4.2 Delphi7.0 简介本系统采用具有面向对象的可视化设计工具 Delphi 7.0 作为前台开发工具, Delphi 7.0 提供了易学易用的集成开发环境,采用事件驱动的编程机制,每个事件都能驱动一段程序的运行,程序员只需编写响应用户动作即事件的代码。不仅如此,Delphi7.0 还具有强大的数据库功能等。Delphi 是 Windows 平台下的著名的快速应用程序开发工具,是基于 Object Pascal 语言的面向对象的开发工具,使用其集成开发环境可以快速地建立应用程序,既可开发本地类型的软件,又可开发客房/服务器类型的程序,并提供了丰富的数据库管理工具,在开

21、发数据库应用程序方面具有独特的优势。下面对它的几个突出特点进行描述:(1)Delphi 为 32 位应用程序,因此其性能就像装上了涡轮引擎一样强劲有基于 Delphi 的新生报名管理系统的设计与实现4力,使用它可开发出功能强大的应用程序。(2)Delphi 的编译器是目前世界上最快的 32 位本地代码编译器。使用这种编译器产生的运行文件 EXE 是独立的,不需要链接运行时的解释器 DLL.(3)Delphi 可充分发挥 Windwos95/98/2000/xp/2003 的强大功能。(4)Delphi 提供了多种 32 位可视组件库。(5)Delphi 是一种面向对象的程序设计语言,因此可做到

22、可视窗体的继承。(6)Delphi 采用 3 层数据管理模式(数据层、对象层、应用程序层),把诸如数据模型、业务规则、窗体、对象等集中存储在对象存储库中。(7)用程序可通过在 Delphi 中使用 Borland 公司提供的数据引擎(BDE)功能,可以毫无障碍地使用多种数据库,不论是大型数据库还是 PC 机中的数据库。(8)Delphi 中的数据库感知功能,可使用户在开发应用程序时就可看到数据库的动态变化。(9)使用 Delphi 提供的数据库浏览器,则可使用户在 Delphi 的集成开发环境中,方便浏览、修改、索引数据库。(10)为了便于维护程序,Delphi 将数据访问与业务规则从程序中分

23、离出来,集中存储在数据模型对象中,当业务规则需要修改时,只需在数据模型级进行修改5。程序运行调用这些数据模型时,修改的结果会自动反映在应用程序中。1.4.3 SQL Server 2000 简介本系统选用 SQL Server2000 作为数据库开发工具。SQL Server2000 易于安装、部署和使用。它不仅包含许多简化安装、部署、管理和使用数据库的过程的工具和功能。还为数据库管理员提供了精细调整运行生产联机系统的 SQL Server 2000 安装所需要的全部工具。SQL Server 2000 还可以有效地运行在小型的单用户系统上,并将管理开销控制在最低水平。SQL Server 2

24、000 的特性表现在以下几方面:(1) Internet 集成。SQL Server 2000 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索基于 Delphi 的新生报名管理系统的设计与实现5服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功能。 (2)可伸缩性和可用性。同一个数据库引擎可以在不同的

25、平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 (3)企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使用户得以引用来自不同数据源的数据,同时分布式事务支持充分保护任何分布式

26、数据更新的完整性。复制同样使用户得以维护多个数据复本,同时确保单独的数据复本保持同步。 (4)易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分7。这些功能使用户得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。1.5 论文的研究内容及结构安排全文共分 5

27、章,各章的主要内容介绍如下:第 1 章是系统分析部分,首先对可行性进行了分析,从经济可行性、技术可行性进行了阐述;其次进行了功能需求分析;然后进行了系统安全需求分析;最后进行了系统的运行环境分析。第 2 章是系统的总体设计部分,从系统的功能设计,系统的逻辑活动图划分,系统的模块功能设计以及数据库设计对系统进行了整体的设计。系统的功能分析体现了软件工程的思想,是开发一个系统最主要而且最必须的步骤。第 3 章是系统的详细设计和功能实现部分,该章分析了各模块的功能实现,系统关键技术的实现以及数据库的连接的实现。第 4 章是系统的运行及测试部分,一个系统在正式的使用之前,必须经过基于 Delphi 的

28、新生报名管理系统的设计与实现6认真的测试,进行了系统测试。第 5 章结论与展望部分,总结全文,对系统提出不足之处并对将来进行了展望。第 2 章 系统分析2.1 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在进行项目开发之前,必须根据可提供的时间和资源条件进行可行性研究。它可以避免人力、物力和财力上的浪费。可行性分析与风险分析在许多方面是相互关联的。项目风险越大,开发高质量的软件的可行性就越小。可行性研究包括经济可行性、技术可行性、法律可行性和开发方案的选择性。2.1.1 经济可行性分析通过进行成本效益分析,评估项目的开发成本,估算开发成本是否会超过项目预期的全部利

29、润。一般来说,基于计算机系统成本由四个部分组成:购置并安装软硬件及有关设备的费用、系统开发费用、系统安装运行和维护费用、人员培训费用。在本系统的开发过程中,只需一台电脑 3-4 个月,开发人员是应届本科毕业生,无需培训费,系统的运行、维护费用也很低,开发成本远小于收益值。故本系统在经济上是可行的。2.1.2 技术可行性分析根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究实现系统的可能性。技术可行性研究包括风险分析、资源分析、和技术分析。风险分析的任务是,在给定的约束条件下,判断能否设计并实现系统所需功能和性能。资源分析的任务是,论证是否具备系统开发所需的各类人员(管理人员

30、和各类专业技术人员) 、软件、硬件资源和工作环境等。技术分析的任务是,当前的科学技术是否支持系统开发的全过程。技术可行性研究是系统可行性研究的关键。本系统首先通过采集报到管理系统的性能、可靠性、可维护性和生产性方面的信息,分析实现系统功能如报到管理、住宿管理、收费管理所需的设备、技术、方法和过程,分析项目开发在技术方面可能担负的风险以及技术问题对基于 Delphi 的新生报名管理系统的设计与实现7开发成本的影响,其次通过充分研究现有类似的管理信息系统的功能与性能,采用的技术、工具、设备和开发过程中的经验与教训等等,最终得出了用软件进行报名管理,收费管理等是完全可行的,即本系统的开发在技术上是可

31、行的。2.1.3 开发方案的选择性提出并评价实现系统的各种开发方案,从中选择一种用于项目开发。本项目的开发是小型管理信息系统的开发,开发方案选择系统先模块化,后集成的方式。这样可使整个设计工作有条不紊,提高系统实现的效率。在综合分析可行性研究报告的评审结果后,得出了项目开发可行的结论。2.2 需求分析需求分析简单来说就是分析用户需求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求。2.2.1 系统功能需求分析通过对各大高校新生报名程序的认真调研,得出新生报到的基本流程,新生先到报到处报到,领取报到单,再到公寓管理部门进行安排住宿,然后再到财务处缴费,缴完费则报到成功。

32、 根据对新生报到流程的分析,要开发一套软件集中化处理各项报到事宜,代替新生报到时到处奔波,则该软件至少具备以下基本功能:(1)系统管理:其功能主要包括系统管理员可以进行登录系统、用户管理、密码修改和退出系统功能。而在用户管理中,可以添加、修改和删除用户。其用例图如图 2-1 所示。基于 Delphi 的新生报名管理系统的设计与实现8图 2-1 系统管理用例图(2)新生数据管理:其功能主要包括工作人员可进行新生数据的导入、检索等功能,其用例图如图 2-2 示。图 2-2 数据管理(3)新生领取报到单管理:其功能主要包括报到处的工作人员可以进行新生报到单的发放,检索等功能,其用例图如图 2-3 示

33、。图 2-3 报到管理用例图(4)新生住宿管理:其功能主要包括公寓的工作人员可以进行住宿数据的安排、检索和修改功能,其用例图如图 2-4 示。基于 Delphi 的新生报名管理系统的设计与实现9图 2-4 住宿管理用例图(5)新生缴费管理:其功能主要包括财务处的工作人员可进行新生缴费数据的收费、检索、统计等功能。其用例图如图 2-5 所示。图 2-5 缴费管理用例图2.2.2 安全保密需求为完善系统的管理功能,增加系统用户管理功能,包括系统用户的数据增加,删除和修改。各部门工作人员为系统普通用户,只能运行系统分配的功能;系统管理员能够运行系统所有的功能,从而保证系统数据安全。2.2.3 软硬件

34、环境需求由于现代科学技术的飞速发展,基于 Delphi 的管理系统所需的运行环境需求,如下表 2-1 所示。 表 2-1 环境需求需求名称详细要求硬件要求Intel Pentium 4 以上处理器、512M 以上内存 基于 Delphi 的新生报名管理系统的设计与实现10系统平台Windows2000/WinXP 等系列,SQL server 2000运行环境Delphi7.0 平台第 3 章 总体设计3.1 系统功能设计本系统从功能上划分为以下五大模块:系统管理模块,数据管理模块,报到管理模块,住宿管理模块,缴费管理模块等五大模块。以下将对各功能模块进行说明。系统功能结构图如图 3-2 所示

35、。新生报名管理系统用户管理数据管理报到管理住宿管理缴费管理用户管理修改密码退出系统导入数据信息检索发报到单检索住宿安排住宿检索收费新生收费修改住宿 图 3-2 系统功能模块图功能描述如下: (1)系统管理:其功能主要包括登录系统、用户管理、密码修改和退出系统。登录系统,用户进入应用程序的窗口;登录系统报到查询基于 Delphi 的新生报名管理系统的设计与实现11用户管理,在未登录系统时即可用,增加系统的用户数;修改口令,登录系统后,修该当前用户的密码;退出系统,关闭应用程序。(2)数据管理:其功能主要包括信息检索和导入数据。信息检索,包括新生信息的导入和查询;导入数据,支持利用 Excel 文

36、件导入新生数据。(3)报到管理:新生报到和报到查询。新生报到:新生报到的第一步,通常为发放一张报到单供新生填写;报到查询:查询某位新生是否报到、是否安排住宿、是否缴清费用,可用姓名检索方式查询。(4)住宿管理:包括安排住宿,修改住宿和查询住宿。安排住宿,根据新生的姓名,为其安排一个住宿,包括填写公寓编号和选择公寓级别;修改住宿:对已经安排好住宿的学生重新安排住宿;住宿查询:查询某位新生是否安排住宿,住宿编号和级别等。(5)缴费管理:其功能主要包括包括新生缴费和缴费查询。新生缴费:根据新生的所在系、专业以及新生的住宿情况,收取其相应费用;缴费查询:查询某位学生是否缴费、缴费金额、收费人等。3.2

37、 系统的主要程序逻辑活动图是 UML 用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。工作流程活动图用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。活动既可以是手动执行的任务,也可以是自动执行的任务。它可完成一个工作单元。 活动图是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。下面给出系统主要模块的活动图。基于 Delphi 的新生报名管理系统的设计与实现123.2.1 新生报到模块活动图新生报到模块活动图如图 3-3 所示。图 3-3 新生报到模块

38、活动图3.2.2 新生住宿模块活动图新生住宿模块活动图如图 3-4 所示。基于 Delphi 的新生报名管理系统的设计与实现13图 3-4 住宿安排模块活动图3.2.3 新生缴费模块活动图新生缴费模块活动图如图 3-5 所示。基于 Delphi 的新生报名管理系统的设计与实现14图 3-5 新生缴费模块活动图3.3 数据库设计数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的信息要求和处理要求。3.3.1 数据库规范设计方法简述由于信息结构

39、复杂,应用环境多样,在相当长的一段时间内数据库设计主要采用手工凑试法,使用这种方法与设计人员的经验和水平有直接关系,数据库设计成为一种技艺而不是工程技术,缺乏科学理论和工程方法的支持,工程的质量难以保证,常常是数据库运行一段时间后又不同程度地发现各种问题,基于 Delphi 的新生报名管理系统的设计与实现15增加了系统维护的代价11。十余年来,人们努力探索,提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计方法。规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精,在数据库设计的不同阶段上支持实现的具体技术和方法,有基于 E-

40、R 模型数据库设计方法、基于 3NF(第三范式)的设计方法,基于抽象语法规范的设计方法等。本系统的数据库设计采用的是著名的基于 E-R 模型的数据库设计方法,详细过程如下所述。3.3.2 数据库概念设计根据系统需求与数据字典,得到系统 E-R 图(E-R 图又称实体-关系图,它是表示数据对象及其关系的图形语言机制其中数据对象用长方形表示,关系用菱形表示) 。系统总体 E-R 图如 3-6 所示: 图 3-6 系统 E-R 图主要实体的实体图如下:(1)专业实体图如图 3-7 所示。11nn111n住宿选择缴费学习新生公寓专业系别费用基于 Delphi 的新生报名管理系统的设计与实现16专业名称

41、专业专业代码码学费其他费图 3-7 专业实体图(2)费用实体图如图 3-8 所示。费用学费住宿费其他费学号姓名收费人图 3-8 费用实体图(3)新生实体图如图 3-9 所示。新生学号姓名性别出生年月家庭住址邮政编码联系电话专业代码公寓级别验、状态图 3-9 新生实体图(4)系别实体图如图 3-10 所示。系别系别名称系别代码图 3-10 系别实体图系别代码公寓代码基于 Delphi 的新生报名管理系统的设计与实现17(5)公寓实体图如图 3-11 所示。公寓公寓编号公寓级别进口货收费标准图 3-11 公寓实体图3.3.2 数据库逻辑及物理结构设计逻辑结构设计是在概念结构设计的基础上将概念结构转

42、换为某个DBMS(Database management system)所支持的数据模型,在进行逻辑结构设计时并不考虑数据在某一 DBMS 下的具体物理实现。数据模型一般有关系、网状、层次模型,而最常用的模型是关系模型,也就是所谓的二维关系。1.逻辑结构设计该系统的总体的数据表设计如下表 3-1 所示。表 3-1 总体表 数据表功能描述系统用户数据表用于保存系统用户的帐户信息(包括 T-user 表,t-qxb表,t-cdx 表)新生基本信息数据表用于保存新生的基本信息公寓代码数据表用于各种类型公寓的基本数据收费数据表用于保存新生收费数据系别代码数据表用于保存各个系的数据专业代码数据表用于保存

43、与专业相关的数据(1)系统用户数据表用于保存系统用户的信息,包括三张表:“T_user”保存系统用户,结构见表 3-2 所示;“t_qxb”保存用户权限,结构如表 3-3 所示;“t_cdx”用于保存所有的菜单项,结构如表 3-4 所示。表 3-2T_user 表结构列名数据类型字节数关键字允许空说明nameChar6pk非空用户名基于 Delphi 的新生报名管理系统的设计与实现18passwdChar10非空密码表 3-3t_qxb 表结构列名数据类型字节数关键字允许空说明nameChar20pk用户名cdxChar3菜单项表 3-4t_cdx 表结构列名数据类型字节数关键字允许空说明cd

44、xChar3pk菜单项cdmChar20非空菜单名(2)新生基本信息数据表用于保存新生的基本信息,数据表名为“t_xsb” ,结构如表 3-5 所示。表 3-5t_xsb 表结构列名数据类型字节数关键字索引说明xhChar10pk是学号xmChar10否姓名xbChar2否性别csnyDatetime8否出生日期jtdzChar60否家庭住址yzbmChar6否邮政编码lxdhChar20否联系电话zydmTinyint否专业代码xbdmTinyint否系别代码gydmTinyint否公寓代码gybhChar7否公寓编号ztTinyint否状态(3)公寓代码数据表基于 Delphi 的新生报名

45、管理系统的设计与实现19用于各种类型公寓的基本数据,数据表命名为:“td_gydm”,结构见表 3-6所示。表 3-6td_gydm 表结构列名数据类型字节数关键字索引说明gydmTinyintpk是公寓代码gyjbChar10否公寓级别sfjeDecimal18否收费金额(4)收费数据表用于保存新生收费数据,数据表命名为“td_sfb” ,表结构见表 3-7 所示。表 3-7td_sfb 表结构列名数据类型字节数关键字索引说明xhChar10pk是学号xmChar10否姓名sfjeDecimal18否收费金额sfrqDatetime否收费日期sfrChar10否收费人bzChar100否备注

46、(5)系别代码数据表用于保存各个系的数据,数据表命名为“td_xbdm”,结构见表 3-8 所示。表 3-8td_xbdm 表结构列名数据类型字节数关键字索引说明xbdmTinyintpk是系别代码xbmcChar20否系别名称xfDecimal18否学费qtfDecimal18否其他费(6)专业代码数据表用于保存与专业相关的数据,数据表命名为“td_zydm” ,结构见表 3-9 所示。基于 Delphi 的新生报名管理系统的设计与实现20表 3-9td_zydm 表结构列名数据类型字节数关键字索引说明zydmTinyintpk是专业代码zymcChar60否专业名称2. 物理结构设计物理结

47、构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。本系统的物理结构设计如下图 3-12 和图 3-13 所示。图 3-12 新生数据物理表图 3-13 系统数据物理表基于 Delphi 的新生报名管理系统的设计与实现21第 4 章 详细设计与功能实现本节介绍几个重点功能模块的实现,以及对主要模块的主要功能、界面设计和代码进行描述。4.1 主要功能界面4.1.1 登录界面设计及实现(1)主要功能登录界面主要是对用户进行身份、密码验证,以保证系统的安全性。(2)界面

48、设计在界面设计中,主要使用 MainMenu 组件,StatuBar 组件和一个 Database组件。MainMenu:用于系统显示菜单;StatuBar:用于显示正在登录的用户;Database:用于数据库的连接。主窗体菜单 MainMenu 设计如图 4-1 所示。主窗体菜单中,除了“系统” 、 “登录系统”和“关闭系统”菜单项的 Visible 属性值为 True 外,其他所有菜单项的 Visible 属性值均设置为 False,其他所有菜单项的可访问性,根据用户权限在程序中动态设定。图 4-1 系统主界面用户运行本系统后,系统会首先提示用户登录,此时系统菜单项只有登录基于 Delph

49、i 的新生报名管理系统的设计与实现22系统和关闭系统是可见的。在登录窗体代码中实现身份验证功能,即需要检验用户登录的用户和密码是否正确,如果正确,则从 t_qxb 表中检索出该用户享有的权限,将管理系统主窗体中对应的菜单项 Visible 属性值为 True,其他菜单项 Visible 属性值为False。登录时的系统主界面如图 4-2 所示。图 4-2 系统登录界面成功登录后,系统将首先读取用户类型,如该用户为普通用户,则分配给他普通用户的使用权限。如该用户为管理员,则系统所有功能向其开放,即拥有高级权限。登录后的系统主界面如图 4-3 所示。 图 4-3 系统登录后的界面基于 Delphi

50、 的新生报名管理系统的设计与实现23(3)部分事件代码实现登录“确定”按钮单击事件处理程序:procedure TLogin_Form.Button1Click(Sender: TObject);var aname,apassword,sqlstr:string;a,b:integer;begin /判断是否有输入 if (length(trim(name_edit.Text) 0) or (length(trim(password_edit.Text) 0) then begin aname:=trim(name_edit.Text); apassword:=trim(password_ed

51、it.Text);/查询用户名、密码正确性,并取权限表 sqlstr:=select * from t_user a,t_qxb b where (a.name=+aname+) and(a.passwd=+apassword+)and(a.name=b.name) order by b.cdx; with TQuery.Create(nil) do try/数据库连接使用Main_Formr的Database1来完成 Close; SessionName:=main_form.Database1.SessionName; DatabaseName:=main_form.Database1.D

52、atabaseName; SQL.Clear; SQL.Add(sqlstr); Open; /判断是否有对应的用户 if RecordCount 0 then begin First; while not Eof do begin a:=strtoint(copy(FieldByName(cdx).AsString,1,1); b:=strtoint(copy(FieldByName(cdx).AsString,2,2); /使拥有权限的主窗体菜单采用 main_form.MainMenu1.Items.Itemsa.Visible:=true; main_form.MainMenu1.It

53、ems.Itemsa.Itemsb.Visible:=true; Next; end; /关闭登录窗口login_form.Close;/主窗体状态栏显示登录用户名 main_form.StatusBar1.SimpleText:=aname; /主窗体全局变量dlname保存登录用户名 main_form.dlname:=aname; end else begin showmessage(请确认登录的用户名和密码是否正确!);基于 Delphi 的新生报名管理系统的设计与实现24 name_edit.SetFocus; name_edit.SelectAll; end; finally Fr

54、ee; end; end else begin showmessage(请输入登录用户名和密码!); name_edit.SelectAll; end;end;4.1.2 用户管理窗体设计及实现(1)主要功能用户管理需要根据不同的用户类型,分配不同的权限,便于系统的维护,包括用户数据(编号、密码和权限)的添加,删除和浏览等操作。高级管理员可以管理系统中所有的用户数据,而普通用户只能修改自己的密码。(2)界面设计在界面设计中,主要使用一个 Queryc 组件,一个 DataSource 组件,一个DBGrid 组件和一个 PopuMenu 组件。用户管理窗体设计如图 4-4 所示。图 4-4 用

55、户管理窗体添加/修改用户窗体设计如图 4-5 所示:包含两个 LabeledEdit 组件,一个checkListBox 组件、一个 Query 组件、一个 Panel 组件、一个 GroupBox 组件、和两个 SpeedButton 组件。基于 Delphi 的新生报名管理系统的设计与实现25 图 4-5 添加/修改用户窗体源代码略。4.1.3 新生数据管理窗体设计及实现(1)主要功能本系统支持在 Excel 中创建好新生信息后,直接导入系统,大大提高新生数据录入的效率,Listview 控件中显示其详细信息,此时点击数据导入,即可导入数据。(2)界面设计新生数据导入管理窗体如图 4-6

56、所示。图 4-6 新生数据导入窗体基于 Delphi 的新生报名管理系统的设计与实现26(3)部分事件代码实现“打开文件”按钮单击事件处理程序:procedure Tdrsj_Form.cmdopenClick(Sender: TObject);const BeginRow = 2; BeginCol = 1;var Excel: OleVariant; iRow,iCol : integer; ListItem: TListItem;begin ListView1.Clear; if not OpenDialog1.Execute then exit; try Excel := Create

57、OLEObject(Excel.Application); except Application.MessageBox(Excel 没有安装!, 提示信息, MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL); Exit; end; Excel.Visible := false; Excel.WorkBooks.Open(OpenDialog1.FileName); try iRow := BeginRow; iCol := BeginCol; while trim(Excel.WorkSheets1.CellsiRow,iCol.value)

58、do begin with ListView1 do begin listitem:=Items.Add;/从 excel 表的数据传送到 delphi 的 listviewlistitem.Caption:=trim(Excel.WorkSheets1.CellsiRow,iCol.value);listitem.SubItems.Add(trim(Excel.WorkSheets1.CellsiRow,iCol+1.value);listitem.SubItems.Add(trim(Excel.WorkSheets1.CellsiRow,iCol+2.value);listitem.Sub

59、Items.Add(trim(Excel.WorkSheets1.CellsiRow,iCol+3.value);listitem.SubItems.Add(trim(Excel.WorkSheets1.CellsiRow,iCol+4.value);listitem.SubItems.Add(trim(Excel.WorkSheets1.CellsiRow,iCol+5.value);listitem.SubItems.Add(trim(Excel.WorkSheets1.CellsiRow,iCol+6.value);listitem.SubItems.Add(trim(Excel.Wor

60、kSheets1.CellsiRow,iCol+7.value);listitem.SubItems.Add(trim(Excel.WorkSheets1.CellsiRow,iCol+8.value); iRow := iRow + 1; iCol := BeginCol; end; end; Excel.Quit; except基于 Delphi 的新生报名管理系统的设计与实现27Application.MessageBox(导入数据出错!请检查文件的格式是否正确!,提示信息,MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL); Excel.

61、Quit; raise; end;end; “数据导入”按钮单击事件程序:procedure Tdrsj_Form.cmdinClick(Sender: TObject);var xh,xm,xb,csny,jtdz,yzbm,lxdh,xbdm,zydm,sqlstr,sqlstr1:string;begin with tquery.Create(nil) do begin try Close; SessionName:=main_form.Database1.SessionName; DatabaseName:=main_form.Database1.DatabaseName; while

62、 ListView1.Items.Count 0 do begin/从 delphi 的 listview 的数据传送到 sql sever 的表中 xh:=trim(ListView1.Items0.Caption); xm:=trim(ListView1.Items0.SubItems0); xb:=trim(ListView1.Items0.SubItems1); csny:=trim(ListView1.Items0.SubItems2); jtdz:=trim(ListView1.Items0.SubItems3); lxdh:=trim(ListView1.Items0.SubIt

63、ems4); yzbm:=trim(ListView1.Items0.SubItems5); zydm:=trim(ListView1.Items0.SubItems6); xbdm:=trim(ListView1.Items0.SubItems7); sqlstr1:=select * from t_xsb where (xh=+xh+); SQL.Clear; SQL.Add(sqlstr1); Open; if RecordCount 0 then beginsqlstr:=update t_xsb set xm=+xm+,xb=+xb+,csny=+csny; sqlstr:=sqls

64、tr+,jtdz=+jtdz+,lxdh=+lxdh+,yzbm=+yzbm; sqlstr:=sqlstr+,zydm=+zydm+,xbdm=+xbdm+ where (xh=+xh+); end else beginsqlstr:=insert into t_xsb(xh,xm,xb,csny,jtdz,lxdh,yzbm,zydm,xbdm) values(; sqlstr:=sqlstr+xh+,+xm+,+xb+,+csny+,+jtdz+,+lxdh; sqlstr:=sqlstr+,+yzbm+,+zydm+,+xbdm+); end;基于 Delphi 的新生报名管理系统的设

65、计与实现28 Close; SQL.Clear; SQL.Add(sqlstr); ExecSQL; ListView1.Items0.Delete; end; finally Free; end; end; ShowMessage(成功导入新生数据); Close;end;4.1.4 新生报到管理窗体设计及实现(1)主要功能在报到查询模块设计中,有检索和发报到单功能,本系统采用了新生报到界面中的颜色机制来说明被查询学生的报到状态。(2)界面设计在界面设计中包含一个 GrooupBox 组件、一个 LabeledEdit 组件、一个Query 组件、一个 DataSource 组件、一个 Po

66、pupMenu 组件、一个 DBGrid 组件。如图 4-7 所示。图 4-7 报到管理窗体根据学生报到单的发放情况,用不同的颜色表示,右击某生信息,则弹出对话框来提示该生的报到情况。如图 4-8 所示。基于 Delphi 的新生报名管理系统的设计与实现29 图 4-8 发报到单(3)部分事件代码实现“检索”按钮单击事件程序:procedure Tbddgl_Form.cmdokClick(Sender: TObject);var xm,sqlstr:string;beginxm:=trim(xm_ledit.Text);/无输入,检索所有的信息 if length(xm) 0 then N1.Enabled:=true else N1.Enabled:=false;end;数据网格显示事件procedure Tbddgl_Form.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif gdSe

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!