《毕业设计学籍管理系统的设计与实现论文.doc》由会员分享,可在线阅读,更多相关《毕业设计学籍管理系统的设计与实现论文.doc(65页珍藏版)》请在三一办公上搜索。
1、学籍管理系统摘 要学籍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,方便使用等特点。本系统主要完成对学生情况和学生成绩的管理,包括数据库中表的添加、修改、删除等。系统还可以完成对各类信息的浏览、查询、添加、删除、修改、报表等功能。系统的核心是数据库中各个表的联系,每一个表的修改都将连动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不
2、仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添加、修改、删除和密码修改功能,并具备报表打印功能。 经过分析,我们使用 Microsoft公司的 Visual Basic开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:控件、窗体、数据库、MIS、VB6.0、SQL Server 2000。AbstractStudent status management system is devel
3、opment two aspects that typical information management system (MIS), its development includes primarily the background database creates with support and the front end applies the procedure. Creates to rise to the former request the consistency of data is strong with the integrity, the library that t
4、he safeness of data like. But request the latter very much to apply the procedure function complete, easy usage etc. characteristics.This system completes primarily to students circumstance with the management of students score, include the database the inside the watch increase, modify, delete etc.
5、 The system can also complete to the browsing various information, search, increase, delete, modify, and table-report etc. function.System of nucleus is other table in an influence for of relation, each a modification of watch moving in a table in database that modification that operation hour syste
6、m, be to complete the logarithms according to will complete the database of oneself. Search the function is also one of the nucleus of the system, having namely in system the single condition search to search with many conditions, also having the accurate search to search with blur, system not only
7、contain static condition search, also have the dynamic born condition search, its purpose is all for the sake of the convenient consumer to use. System contain complete consumer increase, delete to modify the function with the password, the union has the report prints the function.Through analysis,
8、we use the Microsoft company Visual Basic development tool, making use of its every kind of the tool of development that provide that face to the object, particularly is intelligence that the window of data this on canning be convenient but manipulate the database in brief to turn the object, create
9、 in the in a short time first system application prototype, then, start to the beginning the prototype system proceeds to require with the iteration, revising continuously with improve, until forming the consumer is satisfied can row system.Keywords: Control piece, Form, Database, MIS, VB6.0, SQL Se
10、rver 2000.目 录ABSTRACT21.1 系统需求分析71.2 系统的初步调查71.2.1 开发学籍管理系统的目的71.2.2业务流程分析81.2.3数据流程分析:10数据流程图:101.2.2 选题背景及意义111.3 开发工具的选用111.3.1 Visual Basic的使用111.3.2 SQL Server 2000的使用121.4 系统的可行性研究131.4.1 技术上的可行性131.4.2 管理上的可行性131.4.3 安全上的可行性131.5 系统性能分析131.5.1 系统的安全性131.5.2 系统的快捷性141.5.3 系统的准确性141.5.4 系统的严谨性1
11、4第 2 章 概要设计142.1 系统设计思路分析152.1.1 界面152.1.2 用户登录152.1.3 学籍信息内容查询和录入152.1.4 数据库分析152.2 设计简述152.2.1 VB设计的界面简述152.2.2 系统简图16第 3 章 系统的分析与设计163.1 数据库的分析与设计173.1.1 关系型数据库简介173.1.2 系统数据库的结构设计183.2 应用程序的分析与设计203.2.1 应用程序的界面选择与设计203.2.2 应用程序的功能模块213.2.3 应用程序的结构22第 4 章 详细设计234.1 系统登录234.1.1 数据库登录的设计244.1.2 系统登
12、录的设计264.2 学籍管理系统主界面设计294.2.1 应用程序主界面的窗体设计294.2.2. 应用程序界面的代码实现314.3 数据录入窗体的设计374.3.1 学生信息的录入384.3.2 学生成绩的录入434.4 通用查询模块的设计464.4.1 利用ActiveX DLL设计一个通用查询模块464.4.2 通用查询模块在系统中的应用504.5 报表打印模块的设计514.5.1 利用报表设计器制作报表514.5.2 通用报表打印模块的制作544.6 学生信息管理及系统用户管理584.6.1 学生信息管理594.6.2 用户管理模块的设计与开发614.7 学生成绩信息统计644.7.1
13、学生成绩统计功能的实现65第 5 章 心得体会685.1 界面设计的一些原则685.2 代码编写的一些原则70前 言近年来随着高校体制的不断改革与发展,我国在校大中专学生的人数也在不断扩大,给各大中专院校的学生管理工作带来了诸多不便。学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐
14、成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学籍信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套学籍管理软件成为很有必要的事情。学籍管理系统是典型的信息管理系统(MIS),它是一个基于C/S模式下,以面向对象为开发语言的学籍管理系统。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求数据的一致性、完整性和安
15、全性。而对于后者则要求应用程序功能完备,方便使用等特点。第 1 章 可行性研究及需求分析1.1 系统需求分析近年来随着高校体制的不断改革与发展,我国在校大中专学生的人数也在不断扩大,给各大中专院校的学生管理工作带来了诸多不便。随着教育的普及,各高等院校也在不断的提高教学质量和学校管理质量,而学校管理就是对学生在校情况的管理,重要的是学生的学籍管理,因为学籍是学生在校学习的凭证,而学籍又包括确定招生计划进行招生录取工作;学生的基本情况、各科的成绩、总成绩(或总学分)、奖惩;制定教学计划,最后在学生离校时做出学生在校学习情况的总结。由于学校和在校学生是一对多的关系,因此,学籍的管理是一个工作量大而
16、又繁杂的工作。而由于信息管理是建立在庞大的数据库中的,如何建立学生信息库是进行自动化学籍管理的一个重要问题。高等院校学籍管理比较复杂,工作量很大,在过去,学校里面往往采用人工方式进行,可以想象其工作难度之大,需要的操作人员之多,既费工又费时,尤其是它的录入与统计工作,更是一项非常艰苦的工作。所以需要一种能够智能管理的计算机系统。数据库能很方便的进行数据的统计和录入工作,这对有大量数据的编辑有重要的作用。所以学校在学籍管理上很需要一个自动化,智能化的计算机学籍管理系统。在此,以一个学校的小型学籍信息管理系统的开发为试验,其作用主要是对学校学生信息档案、成绩进行录入、查询、维护、统计、打印输出等操
17、作。1.2 系统的初步调查1.2.1 开发学籍管理系统的目的 学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效的管理这些学生信息,帮助学校和老师掌握学生的情况,这就是学籍管理系统需要完成的功能及开发目的;另外,为使本软件的功能完善、功能更强大,还包括与学生信息有关的管理功能,例如成绩管理等功能。经过大学四年学习,开发软件有了一定的基础,为使开发软件的经验进一步提高和适应社会发展,与同组软件开发人员共同努力学习、提高软件开发的经验。1.2.2业务流程分析班级管理业务流程图:教务处输入计算机班主任教务处学生班级班级输出教务处输入计算机班主任教务处学生档案档案输出学籍管理业务流程图:
18、课程管理业务流程图:教务处输入计算机教师教务处学生课程输出课程成绩管理业务流程图:教务处输入计算机教师教务处学生成绩教师输教务处输入计算机班主任教务处学生班级班级输出1.2.3数据流程分析:数据流程图:由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制。下图为学籍管理系统数据流程图:学生注册基本信息输入学籍信息输入课程信息输入课程信息管理基本信息管理学籍信息管理成绩信息输入入奖惩信息输入。成绩信息管理奖惩信息管理1.2.2 选题背景及意义随着现代科学技术的飞速发展、计算机与全球互连网络Internet相连接,使今天的社会进入了以计算机为核心的社会。在信息社会中,信息的获取、处理、
19、交流和决策都需要大量高质量的处理工具。在这高科技时代,信息的处理是十分重要,如果用原始的方式进行处理,我们就会跟不上时代的进展;我们需用高科技时代的产品。学生信息的管理是每个学校工作中一项非常重要的工作,要投入很大的人力进行管理。如果开发一套学籍管理系统软件将具有十分重要的意义,可以减少人力资源在这方面的投入,而更多的投入教学或其它工作中。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学籍管理系统为教学办公室带来了极大的方便。使用者可以了解
20、本系统的基本工作原理。操作人员只需输入一些简单的汉字、数字就可以实现工作要求的操作。所开发系统主要是对高等院校的学生学籍信息进行管理,而不对其他公司或单位内容进行涉及。在对学籍信息的管理中,对管理员赋予所有的权限,即既有具有查询的权限,又具有对数据库进行录入和修改的功能,以及对数据库进行清空的功能。由于该系统主要应用在学院内部使用,而不在网络上公开,因此在设计开发时可以做成单机版。1.3 开发工具的选用1.3.1 Visual Basic的使用Visual Basic 是Microsoft 公司推出的一个可视化的面向对象的应用程序开发工具。由于VB继承了Basic语言简单、易学的优点,又增强了
21、可视化、数据库及Internet编程功能,因此很快便成为开发Windows应用程序的有效工具。在本次设计中只所以采用VB进行开发,主要是以为VB具有以下两大特点:1.面向对象编程传统的结构化语言(如C,Pascal和Basic等)都是采用面向过程的编程方法来解决问题。在面向过程的编程方法中,代码和数据是分离的,由此带来了很多缺陷,其中最重要的就是程序的可维护性差。面向对象编程(OOP:Object Oriented Programming)则把数据和处理数据的代码封装到一个类中,类的实例就是对象。与面向对象的编程方法相比,面向对象编程方法有三个优点:1)程序易于阅读和理解;2)程序易于修改;3
22、)对象能重复使用多次,即程序员可以随时根据需要将对象插入到程序中去。2.事件驱动的编程机制在面向对象的编程方法中,每个程序通常包含一个主程序和若干个子程序,由某个子程序来处理某个小问题,再由主程序自顶向下调用各个子程序来逐步解决整个问题。VB彻底解决了这种编程机制。在VB中,没有传统意义上的主程序,程序执行通过事件来驱动,即只有在事件发生时,程序才会执行,若没有发生任何事件,则处于停滞等待状态。 事件驱动使得用VB编程没有必要建立明显的开始和结束程序,而只需编写若干微小的子程序,这些子程序分别由各种事件来驱动执行。由于子程序规模不大、功能单一,因此编程难度得意大大降低。本次毕业设计需要用一种新
23、软件来开发学习,但是接触一门新的软件往往上手容易,使用起来很困难,而且这次毕业设计时间短,任务重。显然使用非常复杂的软件进行开发是不太现实的。而Visual Basic简单易懂,控件的操作简单方便,且集成了多种开发和应用软件,使用的人比较多,方便在一起讨论学习,所以在这次设计中,我采用了VB作为主要的开发工具。1.3.2 SQL Server 2000的使用Microsoft SQL Server 2000是为当前的分布式客户机/服务器环境特别设计的,SQL Server数据库能够轻而易举的通过Internet和内部网络加以访问。SQL Server提供了一系列方法将数据库填充到Web服务器,
24、同时提供了对数据的快捷访问。它是一个可伸缩、高效能的数据库管理系统,具备内置的复制能力、Internet集成、开放系统体系结构以及其强大的基于GUI的数据库管理工具。它的一个独特功能是基于服务器的作业调度系统,允许直观的控制多个服务器和远程操作。这极大地增强了数据库的性能和可靠性。SQL Server的主要功能:l 支持客户机/服务器模型;l 操作系统兼容性;l 多平台支持;l 多协议兼容性;l 数据仓库;l 数据复制。1.4 系统的可行性研究1.4.1 技术上的可行性由于VB语言简单、易学的优点,又增强了可视化、数据库及Internet编程功能,很容易就可以进行系统开发。因此系统开发工具可以
25、采用Visual Basic进行开发。而对数据库的建立,由于建立的数据库主要是对学籍的信息进行管理,所以可以采用微软公司开发的Microsoft SQL Server 2000。该软件简单易懂,应用广泛,比较适合开发数据库软件使用,而且建立的数据库较为安全。1.4.2 管理上的可行性因为系统主要应用于学院内部,而不具备网络查找功能,因此在实现时可以做成单机版,对管理员赋予数据录入、查询、修改以及对数据库的清零等功能。1.4.3 安全上的可行性在建立数据库时可以通过对数据库的设计用户名和密码进行保密,以及在建立数据库以后可以对数据进行压缩等技术,保证数据的安全,使数据库具有安全保障。1.5 系统
26、性能分析1.5.1 系统的安全性所开发系统必须保证系统的安全,必须保证系统数据库不能被任意修改,系统不容易被病毒侵蚀。对光纤信息数据库只有 管理员才能进行录入,修改和删除。1.5.2 系统的快捷性系统必须快速准确的对所做的操作做出反映,不能出现长时间的延迟和错误或者莫名其妙的死机。1.5.3 系统的准确性系统必须准确的对所做的操作做出反映,要保证所输出结果的准确无误。1.5.4 系统的严谨性所开发系统必须严谨,不能随意被修改,不能随意被人下载源代码。第 2 章 概要设计2.1 系统设计思路分析2.1.1 界面用VB设计基础界面,在初步设计时,可以只对窗体进行设计,而不涉及程序的内容,待窗体设计
27、完毕后,再进行程序编程,这也是VB的优点之一。2.1.2 用户登录用户登录时,用户信息进入存放用户名和密码的数据库,若表中已有此用户名,则给出提示,进入系统,若没有此用户名,则给出提示,返回用户登录界面。2.1.3 学籍信息内容查询和录入查询结果可以通过网格输出,输出时显示各个学籍信息的汉字意义。在管理员进行录入工作时,对所输入信息插入数据库内,并保证其安全和主属性的唯一。2.1.4 数据库分析在系统实现时,可以建立一个数据库,但是建立多个表。对用户名和密码,设计一个用户密码表包括“用户名”和“密码”两个字段;建立学生情况、教师情况、班级情况、教学计划等固定表;在建立成绩数据表时,考虑到各专业
28、和班级的课程不相同,建立统一的表比较困难。所以让系统管理员按照实际情况动态的建立数据表,但要保证所查询出的结果完全满足用户的需求。2.2 设计简述2.2.1 VB设计的界面简述漂亮界面,这个窗体要求漂亮,做成通用窗体的效果。登录界面,要求管理员输入帐户密码,并根据密码是否正确决定进入主界面。主界面,用向导生成,可以通过各个菜单调用各种功能,并可以通过树形结构浏览数据库中的表。新建毕业生表,要求可以生成以毕业年份命名的毕业生信息表,具体表中的字段由管理员决定。数据输入,可以在这个窗体中对数据库中的任意表进行添加、修改、删除等操作。数据导入,管理员可以把Excel表中的数据导入到数据库中。查找向导
29、,可以根据各种条件对学生进行查找,并显示。成绩查询,对成绩进行单人或者课程查询。打印管理,管理员可以打印单人或者本课程的成绩,并且对打印的字段进行设置。帮助信息,说明作者,版本信息。2.2.2 系统简图 欢迎界面 学 籍 信 息 库 用户登录退出打印报表零学生查询数据导入数据输入建立新表登录成功主界面成绩查询版本信息创建输入输入读出读出读出退出第 3 章 系统的分析与设计 在开发系统之前,需要先对系统进行分析与设计,进而确定系统的设计方案并且实现之。 对于数据库应用系统而言,其具体的分析、规划与设计大体上可以分为数据库的分析与设计、应用程序的分析与设计两大部分。其中,数据库的分析与设计非常重要
30、。合理的数据库设计和建设是数据库应用系统成功的关键。3.1 数据库的分析与设计 系统中所用的SQL Server 2000数据库属于关系型数据库。有关它的一些方法和原则说明如下。3.1.1 关系型数据库简介 关系型数据库是以关系型数据库为基础的数据库,是根据表、记录和字段之间的关系进行组织和访问的一种数据库,它通过若干个表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起。关系数据库提供了结构化查询语言(SQL)的标准接口。目前,关系型数据库是应用最为广泛的数据库。 关系型数据库中的基本概念如下:l 表:由行和列组成的数据集合,用于存储数据。l 字段:用于表示实体属性
31、的符号集。数据库中的每一列称为一个字段。表是由他所包含的各种字段定义的,每个字段描述了他所含有的数据。l 关键字:一般的,需要在表中定义一个字段(或多个字段),用于快速检索。一个表的主关键字用来唯一的标志表的每行。l 索引:索引是根据数据库表中记录的关键字值对数据库表中的记录进行分类。索引用来提高数据库记录的存取速度。l 视图:与表相关,可以根据一定的条件选取或组织一个或多个表中的数据,构成一个更易于操作的数据对象,其实质是虚拟表。l 存储过程:是一组被编辑在一起,用以执行特定功能的SQL语句;这些语句通常是被编译过的,执行速度比较快。l 触发器:类似于存储过程,但触发器的执行是自动的。 关系
32、型数据库一般可以分为两大类:一类是桌面数据库,例如Access、FoxPro等;另一类是客户机/服务器数据库,例如SQL Server、Oracle等。 一般而言,桌面数据库用于小型的、单机的数据库应用程序;客户机/服务器数据库用于大型的、多用户的数据库管理系统。3.1.2 系统数据库的结构设计 一个数据库应用程序的开发,其数据库的设计是至关重要的一个环节。好的数据库设计能够大大简化开发的难度,提高开发工作的效率。 在设计关系型数据库时,一般需要遵循如下几条规则:(1) 表中的数据必须规则完整:一个数据库,为了数据本身的完整,需要设置许多规则。例如,人的年龄不能为负数,如果年龄字段出现了负数,
33、数据库将发生错误,这就称为数据规则完整。(2) 满足数据的完整性:数据完整性指的主要是限制数据库内可能出现的值,以保证数据库的有效性。 为了保证数据完整性,需要注意:(1) 实体完整性:表的主关键字段的任何部分不能为MULL。(2) 参考完整性:如果在一个表中含有与另外一个表的主关键字相对应的字段,那么这个字段上的值必须取空值,或者是等于另外一个表中的主关键字的值。(3) 在设计数据库表时必须规范化。 为了确保数据库设计时做到规范化,定义了如下的一些基本规则,称为范式。l 第一范式。指定记录中的指定字段只能包含一个值。这就防止在单个记录中的任何重复的组别。l 第二范式。任何非关键字字段必须取决
34、于主关键字中的所有字段。解决的办法通常是将不规则的字段移到更合适的表。该范式还规定了两个或更多的表不可以有相同的主关键字。l 第三范式。非关键字的字段不能取决于另一个非关键字字段。l 第四范式。这种范式禁止在主要关键字字段与非关键字字段之间的多重的、独立的、一对多的关系。要完成第四范式,就必须为每一个一对多的关系创建各自的表。l 第五范式。这种范式经常被忽略。它主要将一个表分割成最小可能的片断,以消除冗余。上述5种范式是设计数据库时需要遵循的准则,一般而言,数据库设计应该确保能够遵循第三范式,第四范式和第五范式相对而言用得比较少。下面是本系统数据库的具体设计。1. 数据库中表的结构学籍管理系统
35、中,建立的数据库名称为Students.其中关于学生的个人信息主要存放在学生信息表(uStudBaseInfo)和学生附加信息表(uStudInfoAdd)两个表中,两个数据库表的主关键字都是“学号”。在学籍管理系统中,比较重要的数据表还包括课程信息表(uCoursesInfo)和学生成绩表(uScoreInfo)。这两个表用来存放学校开设的课程的一些基本信息以及学生考试的成绩信息,数据库的主关键字是“课程代号”。另外,在系统中还将用到开除学生表(uExpelStudInfo)、毕业学生表(uGradStudInfo_XXXX)等数据库表。这些表是在程序代码中自动创建生成的,具有和学生基本信息
36、表(uStudBaseInfo)相同的结构。除了上述数据库表之外,在数据库设计中还用到了视图(View),该视图是对学生成绩信息的一个综合描述,创建成绩视图(v_ScoreInfo)所用到的SQL语句如下所示:SELECT TOP 100 PERCENT dbo.uScoreInfo.课程代号,dbo.uCoursesInfo.课程名称, dbo.uScoreInfo.学号, dbo.uStudBaseInfo.姓名, dbo.uStudBaseInfo.所属班级,dbo.uCoursesInfo.学期, dbo.uCoursesInfo.学分, dbo.uScoreInfo.成绩FROM d
37、bo.uScoreInfo INNER JOIN dbo.uStudBaseInfo ON dbo.uScoreInfo.学号 = dbo.uStudBaseInfo.学号INNER JOIN dbo.uCoursesInfo ON dbo.uScoreInfo.课程代号 = dbo.uCoursesInfo.课程代号 ORDER BY dbo.uScoreInfo.学号 该视图分别从3个表中获取所需要的数据,形成一个完整的学生成绩信息表(视图),使得用户对学生成绩信息的浏览和操作更加方便。2. 表之间的实体关系学生基本信息表与学生附加信息表应该具有同步更新的功能,即这两个表中的记录是一一对应
38、的;另外,学生的成绩表与学生基本信息表以及课程信息表也有着对应关系。3.2 应用程序的分析与设计 数据库设计完成后,就开始进入具体的应用程序设计与分析设计阶段。应用程序的分析与设计主要包括应用程序各个功能模块的总体规划与分析、应用程序界面的选择与设计以及应用程序结构的选择等部分。3.2.1 应用程序的界面选择与设计 目前常见的应用程序的界面方案有基于对话框的应用程序界面、单文档界面和多文档界面。其中,如果应用程序的功能比较单一、操作比较少时,往往选用基于对话框的应用程序界面。基于对话框的应用程序界面主要特点就是简洁,具有一定的交互性。 单文档(SDI)与多文档(MDI)应用程序常常用于一些比较
39、复杂的情况。单文档与多文档最明显的区别就是单文档应用程序的各个界面窗体是相互独立的,而多文档应用程序的各个窗体要由MDI父窗体控制,集中在MDI窗体的客户区之内。尽管Microsoft公司在其Word 2000的产品中开始从MDI环境转向SDI环境,在本系统中还是采用了MDI的界面风格。具体原因如下:l 由于系统中涉及到的窗体比较多,如果采用SDI应用程序,那么这些窗体将各自独立地出现屏幕上。很难用一种方便,容易的手段来对这些窗体进行统一的管理。l 采用多文档界面,应用程序的各个窗体都作为多文档界面的一个字窗体,这样有便于统一控制这些窗体;同时,由于这些窗体将出现在MDI的客户区范围之内而不是
40、在屏幕之上,因此对于整个操作系统而言,界面将会显得更加整洁一些。基于上述原因,本系统选用了多文档窗体的界面风格。选择了窗体风格之后,就需要进行更细致的界面设计。对于标准的Windows MDI应用程序而言,至少需要为应用程序提供菜单以执行相应的操作。另外,在必要时,工具栏和状态栏也是需要的,它们能提供一些快捷的操作方式并且能够显示出当前系统的状态与用户进行交互。目前一种比较流行的应用程序界面设计是为应用程序提供一个目录树,利用目录树来执行一些特定的应用程序功能。另外,目录树也具有导航功能。在数据库应用程序中,利用目录树来执行对数据库数据的操作也是一种比较好的方法。基于以上分析,学籍管理应用程序
41、的主界面将采用MDI应用程序,并且提供了菜单,工具栏,状态栏以及一个用于操作的目录树。3.2.2 应用程序的功能模块图3-1 应用程序的功能模块结构图学籍管理应用系统主要包括学生管理、成绩管理和用户管理3个大模块,各个模块的具体功能如图3-1所示。上述功能模块包含于应用程序主界面的窗体菜单(或目录树)和相应的子窗体中,具体的代码实现详见源代码。3.2.3 应用程序的结构 当前应用得比较多的应用程序系统的结构与客户机/服务器(C/S)结构和浏览器/服务器结构(B/S)。其中,C/S结构又分为两层结构和三层结构。 两层结构的C/S结构就是客户端应用程序通过ODBC、SQL Link、 TCP/IP
42、直接连接数据局服务器进行通信,并完成数据的添加、修改、删除和检索等操作。 两层的C/S结构存在一定的缺点:l 两层C/S结构中,客户端应用程序直接连接数据库服务器,这样数据库服务器将消耗一定的资源以处理与客户端的连接工作。如果连接工作比较频繁的话,数据库服务器的效率将会不断下降。l 两层C/S结构中,只有惟一的一个在线的数据库服务器,这将使得系统可靠性降低。l 两层C/S结构的应用程序分布比较麻烦,需要一些DLL的支持。另外,每个客户端还需要进行相应的配置以连接数据库,例如ODBC的配置。三层的C/S结构在两层结构的基础上加入了新的业务逻辑层,业务逻辑层负责数据库与客户端的连接工作,起到了一个
43、中继的作用:一方面向数据库服务器传递客户端的请求,一方面将数据库服务器的处理结果返回客户端。这是得数据库服务旗只需要相应客户端的请求,减轻了服务器的工作服负担,提高了其工作效率。尽管两层的C/S结构存在一定的缺点,然而作为一种成熟的应用程序结构模型,两层结构具有开发难度小,维护和使用比较方便的优点。而且,对于学校内部的学籍管理系统而言,由于系统本身处于校园之内,数据安全性能够得到一定的保障,而且对数据处理效率的要求并不太高,因此本系统仍然采用了传统的两层C/S结构来进行开发。另外,应用程序系统在访问数据库时,采用了ODBC数据源+ADO的方式。利用ODBC设置,可以比较灵活的配置服务器数据库;
44、而采用ADO模型来进行数据库编程将使得应用程序更加灵活,并能利用ADO提供的强大而又完善的数据库功能。第 4 章 详细设计4.1 系统登录 程序启动读取注册表中信息用注册表信息连接数据库 系统登录 成功配置ODBC重写注册表用注册表信息连接数据库 启动系统 成功 成功成功 成功失败失败失败 图4-1 程序启动,用户登录数据库流程图应用程序要求使用者进行登录,以便确认使用者的身份以及使用权限。在数据库应用程序中,用户身份及其对系统的使用权限尤其显得重要。在本系统中,用到的系统登录技术包括数据库登录和应用程序登录。其中数据库登录过程如图4-1所示。4.1.1 数据库登录的设计 在图4-1中显示的是
45、本系统中登录数据库的过程。除了第一次运行系统时需要配置连接数据库外没有必要每次运行应用程序时都去配置一次数据库登录信息,因此程序作如下设计: (1) 通过对注册表的读写来决定是否要显示配置数据库的窗口。 (2) 如果应用程序是第一次运行,那么读取注册表的信息时就读取不到信息,从而就直接在这次运行的开始阶段出现连接数据库的界面。在该窗体上配置好数据库的连接信息后将改配置信息写入注册表,然后转入应用程序的登陆窗口。 (3) 如果应用程序不是第一次运行,则通过读取注册表中的相关数据库配置信息来登录数据库。连接数据库正确的话,应用程序将执行到系统的登录窗口。 (4) 如果读取到的注册表信息不能正确的连接到数据库,说明数据库的设置出现了变化,需要再次回到数据库配置窗口进行设置,然后重新连接数据库。 了解了登录数据库的内部工作流程之后,下面就来实现该功能。A. 启动应用程序的设计 在本系统中,应用程序是从Sub Main()过程来启动的。Sub Main()过程位于标准模块StarMoudule代码之中。该标准模块中定义了要在整个系统中都要用到的程序变量和一些供用函数代码。其中,用于检测注册表和查看数据库配置信息的代码就位于Su