基于CBuilder的高校学生管理系统软件开发

上传人:仙*** 文档编号:253597633 上传时间:2025-03-16 格式:DOC 页数:49 大小:2.66MB
收藏 版权申诉 举报 下载
基于CBuilder的高校学生管理系统软件开发_第1页
第1页 / 共49页
基于CBuilder的高校学生管理系统软件开发_第2页
第2页 / 共49页
基于CBuilder的高校学生管理系统软件开发_第3页
第3页 / 共49页
资源描述:

《基于CBuilder的高校学生管理系统软件开发》由会员分享,可在线阅读,更多相关《基于CBuilder的高校学生管理系统软件开发(49页珍藏版)》请在装配图网上搜索。

1、安徽工程科技学院毕业设计(论文) 引 言 学生管理是高校管理的重要组成部分,对于学校和政府教育管理单位来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。但是一直以来高校都使用人工的方式管理学生学籍、档案、成绩等,这种管理方式效率低、保密性差,不利于查找更新和维护。使用计算机对学生信息进行管理,能够极大地提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。 当今的时代,计算机科学的迅速发展和计算机应用领域的不断扩大,市场上出现了 许多性能好,功能齐全,应用面广,兼容性强的应用软件,他们在企业管理,办公自动化等方面发挥了巨大的作用

2、。具体到高等学校学生管理工作,数字化与网络技术无疑是达到现代化管理水平的必由之路。它不仅可以简化学校传统的管理模式,使学校各部门管理人员能够方便地利用学生管理信息对学生档案、奖学金等工作进行全面管理,更重要的是可以使学生管理规范化、制度化、数字信息化,提高管理水平、降低管理成本、减轻工作强度、提高工作效率,使学校以高效率运转。 现在市场上已经有其他编程语言编写的高校学生管理系统,这给我这次的设计提供了很多资料。高校学生管理系统要实现的目标是为学校提供全面的学生管理解决方案,鉴于学生管理职能执行部门的单一性以及系统安全性的考虑,目前建设单机环境的学生管理系统,比较适应当前的实际需要。系统需要实

3、现的目标如下: l 提高学生管理效率,节约管理成本,增强学生管理的安全性。 l 满足学校学生管理职能的基本要求。 l 满足学校领导、教育管理单位、学生管理人员、教师和学生的不同层次和不同方面的需要。 l 能够实现方便的扩展,满足学校发展的需要。 l 提供方便灵活的数据查询功能,满足繁杂,多样的数据查询需求。 l 为学校将来的整体信息化建设提供必要的支持。 总之,通过该系统的建设来提高高校的学生管理效率,使得学校的发展能够适应 当前的教育信息化建设的总体发展趋势。 第1章 C++ Builder 6.0简介 1.

4、1 ++ Builder6.0的可视化开发环境 可视化程序设计是一种全新的程序设计方法,全面采用面向对象的程序设计技术,使用事件驱动机制进行程序设计。利用可视化开发工具可以快速、高效地开发应用程序。可视化的开发工具很多,如Microsoft公司推出的Visual Studio软件系列,Inprise公司的Delphi、C++ Builder系列等。 Borland C++ Builder是Inprise(Borland)公司推出的基于C++语言的快速应用程序开发(rapid application development,RAD)工具。C++ Builder充分利用已经发展成熟的Del

5、phi的可视化组件库(visual component library,VCL),吸收Borland C++优秀编译器的诸多优点,结合先进的基于组件的程序设计技术,已成为一个非常成熟的可视化应用程序开发工具,可以快速、高效地开发基于Windows环境的各类程序,尤其在数据库和网络方面,C++ Builder更是一个十分理想的软件开发平台。 它的最新版本C++ Builder 6.0加入了许多新功能,包括用于创建Web服务应用程序的新一代Web开发技术WebSnap,以及可用于实现不同平台上的应用程序互操作性的SOAP/WebService技术。利用它可以实现用最小的代码开发量编写出高效率的32

6、位Windows应用程序和Internet应用程序。 一般用户的应用程序是由应用程序界面和数据处理两部分组成,如在Windows应用程序中单击窗体中的菜单或按钮来执行某一个命令或完成某一个操作。这种基于窗体的应用程序运用C++ Builder 6.0这样的可视化开发工具后,用户界面的设计过程就如同“搭积木”一样,只需根据需要在窗体上放置各种组件,并根据需要改变它们的位置(或外观),程序员不必编写大量的代码来实现界面功能,因而可以把主要精力集中在关键代码的设计上。 C++ Builder 6.0的集成开发环境(IDE)使程序员可以利用一组窗体、菜单和其他组件,并使用可视化的方式(WYSIWY

7、G——what you see is what you get,所见即所得)来设计应用程序的界面,将代码和事件与界面中的某一元素建立联系,并对整个应用程序进行调试。 C++ Builder 6.0启动后的集成开发环境IDE主界面及其组成如图1-1所示,它由主窗体、窗体设计器、对象查看器、代码编辑器、代码浏览器、对象浏览器等几个部分构成。利用C++ Builder 6.0的集成开发环境IDE可以创建多种应用程序。要创建一个应用程序,先选择File|New|Other …,打开如图1-2所示的New Items对话框。该对话框有11个选项卡,每个选项卡都提供不同的工程或可以用IDE生成的对象。

8、 利用C++ Builder 6.0开发应用程序与使用传统的高级语言开发应用程序的步骤完全不同,它充分体现面向对象程序设计的特征。其基本过程如下: 1) 设计应用程序界面。 2) 设置组件的属性。 3) 编写(事件)代码。 4) 调试运行程序。 1.2 C++ Builder6.0的工程概述 一个C++ Builder 6.0应用程序往往由多个相关的文件构成。为了便于对这些文件进行有效的管理,C++ Builder 6.0使用了称为“工程”的特殊文件来管理应用程序的所有不同的文件。当一套应用程序开发完成后,便可以对工程进行编译以创建一个可执行的文件。一个完整的工程往往包括

9、: 1) 跟踪所有文件的工程文件(.bpr)。 2) 单元文件。在C++ Builder 6.0中,任何.c、.bpr、.h或.hpp文件都称为Unit单元。 3) 窗体文件(.frm)。保存窗体中的组件及设置的属性。 4) 资源文件(.res)。 图1-1 C++ Builder 6.0的IDE主界面 图1-2 New Items对话框 工程文件是与该工程有关的全部文件的清单,每次保存工程时,这些信息都要随之被更新。当创建文件或在工程中添加、删除文件时,C++ Builder 6.0便会在工程管理器窗口中反映出所发生的变化,该窗口中包含此工程中当前文件的列表,如图

10、1-3所示。 图1-3 工程管理器窗口 面向对象的程序设计方法与编程技术不同于标准的过程化程序设计。程序设计人员在进行面向对象的程序设计时,不再是单纯地从代码的第一行一直编到最后一行,而是考虑如何创建对象以及利用对象来简化程序设计,从而提高代码的可重用性。 对象可以是应用程序中一个自包含组件,一方面具有私有的功能供自己使用;另一方面又提供公用的功能,供其他用户使用。对象包含数据及其代码,这比传统编写代码的方法更容易维护。 在C++ Builder 6.0中,应用面向对象的程序设计OOP(object-oriented programming)方法,把程序代码和数据封装起来视为一个对

11、象,大部分对象都是可视的。程序员在设计程序时只需用现有组件根据界面设计的要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并依次为这些对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能代码,因而程序设计的效率可大大提高。 第2章 绪 论 2.1 背景 随着计算机技术的发展,计算机已得到越来越广泛的应用。为进一步加快教育信息化的建设步伐,推动全国教育管理信息化工作向规范化和健康化方向发展,教育部于2002年9月正式发布《教育管理信息化标准(第一部分:学校管理信息标准)》(教发[2002] 27号)。要求各级教育行政

12、部门、各级各类学校遵照执行。该标准的发布实施,为教育管理信息资源的交流与共享打下坚实的基础。对于高校而言,外部网络连接,实现与INTERNET连接,提供本校的信息服务,融入世界信息潮流。利用现代化的手段建立本校的管理信息系统,实现管理的科学化、现代化是提高教学质量和管理水平的发展趋势。随着管理信息系统的相对完善,学校管理信息化建设的重要性与效益逐渐体现,因此,开发建设高校的学生管理信息系统是本文研究的课题。 高校开发学生管理系统,大部分是由学生处提出需求,委托电脑公司进行开发。这种模式要求学生管理工作人员能提出详细的需求,因为公司系统开发人员一般都不了解学生管理的具体管理流程。在实际操作中,

13、这种模式暴露出比较大的弊端。开发学生管理信息系统不是一件简单的事情,即便是开发学生管理系统中的一个项目,也需要对学生管理业务有相当深入的了解,而且后续维护工作非常琐碎。但在实际生活中,委托方和开发方往往都低估了这项工作的复杂性。一方面,学生管理的工作人员很少受过专业统一的全面业务培训,一般只能提出一些部分的、零碎的、基于取代手工操作愿望的需求,无法一次性提供完整的、高层次的需求方案,开发公司照此开发出来的系统在实际工作中必然是漏洞百出,于是不断修改,不断打补丁,久而久之,开发公司不胜其烦,拒绝维护,于是系统瘫痪。这种个案在早期的高校学生管理工作尝试中十分常见,有些学校甚至因为此事留下的阴影而拒

14、绝相信所有的学生管理系统。 当前市场上的学生管理软件质量参差不齐,高校一定要克服贪便宜、能用就行的思想,应该引进成熟、先进的学生信息管理系统不仅可以实现学生工作的信息化管理,还可以带动人员素质甚至整个学校信息化建设水平的大幅提高。 国内高校的学生管理信息系统发展不平衡。目前在学生管理信息系统方面同时并存三种模式。第一种模式是单机管理模式,在一些学校里,计算机网络还没有建立起来,计算机之间不能进行数据交换和信息共享,这些学校仍然停留在面向部门的单项事务处理的水平上,这种状况决定他们的系统经常出现数据不一致,容易发生数据丢失、系统感染病毒等问题;第二种模式是局域网管理模式,可以开展网络上的工作

15、。比如建立局域网上的学生管理信息系统,数据集中在部门服务器上,为学生处本部门的管理人员提供数据共享,这种方式对于部门内部的管理工作起到了促进作用,解决了部门内部的数据冗余和不一致的问题,但是应用软件都在工作站上完成,工作站负担过重,服务器只是实现文件的存储、数据存储和打印共享,网络利用率较低。校内很多单位都有自己的局域网,遇到需要了解学生处掌握的信息时,就向学生处要求提供,学生处也只能根据要求把自己部门的信息整理出来,再传送到需求部门,这样不能实现不同单位间的数据共享,更不能实现信息资源的合理流动;第三种模式是覆盖全校的学生管理信息系统,这个学生信息系统以学生处管理系统为基础,满足校内外对学生

16、信息共享和利用的要求,并为各级领导提供有效的辅助决策服务。 本文介绍的高校学生管理信息系统是基于Borland C++ Builder6.0的系统。数据库技术是现代高校管理自动化的重要而关键的环节,在日益信息化、办公电脑化的今天发挥着越来越重要的作用。管理信息系统的开发呈现了一种“人机系统”,它以特定的模式支持一个组织内各级组织机构之间的通讯,对信息资源进行综合开发、管理和利用,实现对该组织的有效管理。 高校学生管理系统将计算机用于现代化管理,在高校学生处进行关于高校学生信息的处理,完成了许多功能,如信息录入、常规查询等。本文通过对高校学生管理信息系统的分析与设计,介绍了该系统的设计思想、

17、设计方法和开发的步骤及成果。 本文对于高校学生管理信息系统的开发过程进行了系统的论述。首先进行系统分析,明确系统需求和系统的可行性;对数据库进行了设计,论述了该系统数据库的结构和数据库安全性措施;根据模块化原理,按照功能将系统分为了几大功能模块,并对各部分功能进行了分析。 2.2 管理系统目标 系统目标充分体现学校的战略目标、发展方向和基本特点,直接为学校管理服务,随着计算机的发展及网络技术的应用,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。而在日常生活中信息技术的不断溶入,在技术越来越先进的同时,学生信息管理应该从以前繁琐的事务中解放出来。随着学校对大学生招生规

18、模的不断扩大,高校学生的数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以方便地查询、统计和修改学生的基本情况、老师情况、课程情况和成绩,实现信息的规范管理,各权限部门可以通过管理系统进行科学统计和快速查询,从而减少管理方面的工作量,同时避免由于人为因素造成数据遗漏和误报等。 同时各项基本功能密切相关,可以分期一次实现。需要指出的是,新系统目标不可能在总体规划阶段就提得非常具体,它还将在开发过程中逐步明确和定量化。本系统的目标如下: (1)支持日常业务运作,为学校各部门之间建立全校共享数据库的信息渠道,很多

19、学生管理系统的运行平台是局域网,操作系统是落后的DOS,数据库是Fox系列的、数据没有共享性那种落后的系统。而本系统基于C++ Builder的数据库采用真正的关系数据库(如Sybase, SQLServer)开发的系统。有良好的数据备份功能,数据是学生管理的核心,备份是日常必须进行的重要工作,数据备份方便快捷。这些系统的数据更安全,更易于共享,最重要的是读者可在任何联网的地方得到学生管理的信息。 (2)集中管理业务数据,支持管理预测与决策。系统功能全面,除了常规的等功能模块外,系统还具备数据转换功能,即能够批量转入和转出符合其他要求格式的数据。这项功能的具备与否关系到能否将数据与上级单位报

20、表要求数据的一致性,较直观地为决策者提供参考。 (3)有良好的可扩充性(系统配置灵活,支持用户未来信息化进程的发展)。该系统具有选择性和扩展性,是模块化设计的,可根据用户的需求进行选择。学生管理工作的规模一般不大,有些模块可以不要,或者目前暂时不要,留待以后扩展。这样可以节约资金,又留有余地。学生管理系统一般可以先选择信息录入、常规查询、系统管理等必备模块,以后如果需要,再增加增强功能模块。 (4)汉字图形用户界面,人机对话友好,操作方便。进行计算机系统管理后,高校学生管理工作人员的素质也提高了,能否易于操作方便管理人员应用也是关系全局的大问题。 (5)响应速度合理,安全性较高,网络运行

21、稳定。系统易于维护,能通过internet远程实时维护。不出故障的系统是没有的,关键是在出了故障时能迅速排除。 (6)系统建设费用较低。 2.3 管理信息系统范围 参考高等教育信息管理的经验与成果,本论文所述学生管理系统拟对各院(系)办实现统一的学生信息浏览、成绩管理,与财务处的学生收费系统、就业办公室的学生就业管理系统等实现学生基本信息的共享,并通过网络为学生处网站访问者提供全面及时的信息和数据,如学生的信息查询、成绩单核实等。 系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,

22、查询方法即有单条件查询和多条件查询,也有精确查询和模糊查询,不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用,本系统为了简便,只采用但条件的查询方式。系统有完整的用户添加、删除和密码修改功能。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是高校的科学化、正规化管理,与世界接轨的重要条件。 第3章 系统设计分析 系统设计分析包括系统需求分析和系统功能分析两个部分。 3.1 系统需求分析 系统

23、需求分析主要任务是调查现行系统存在的问题,弄清用户对系统的要求,提 出可行的方案,为管理层决策提供依据。 3.1.1 现行业务描述 随着时代的进步,社会生产力高速发展,新技术层出不穷信息量急剧膨胀,整个人 类社会己成为信息化的社会,人们对信息和数据的利用和处理己经进入自动化、网络化 和社会化的阶段。如在查找情报资料、处理银行帐目、仓库管理、科研生产等方面,无 不需要利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,已经成为 人们普遍关注的课题。 信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加 工处理后的一种数据形式,是一种有次序的

24、符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定工作计划,研究投资策略,都离不开对信息的充分利用。管理信息系统(Management Information System,缩写MIS)是一种“人机系统”,它以特定的模式支持一个组织内各级组织机构之间的通讯,对信息资源进行综合开发、管理和利用,实现对该组织的有效管理。它通过对数据的加工处理,及时为管理与决策分析提供信息。其特点有: (1) 数据全部存储于计算机系统中; (2) 用户使用简单、操作方便、查询速度快; (3) 有极好的人-机对话功能; (4) 能直接从计算机系统中提供决策所需的参考信息

25、; (5) 管理信息系统基本框架如图3-1。 反 馈 提供的信息 数据库信息 原始数据 信息处理 图3-1 管理信息系统基本框架图 在计算机上建立学生信息库,可以实现快速录入、整理、查找、补充、删减等功能,并可将学生图片存于电脑档案之中,集成学生考勤、学生家庭关系和学生成绩库功能,在进入系统之前有密码进行身份验证,保证了系统的机密性,为高校提高工作效率的,提高人员效率,决策,和监控学生情况提供了一个有力的工具。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分

26、,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高学生管理的效率,也是科学化、正规化管理的重要条件。 3.1.2 组织结构 高校的典型组织结构如图3-2 所示,其中高校学生工作总体规划由学生处人员在学生信息管理系统中完成对运行学生管理所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这里进行操作。 新的学年,学生处人员首先加入新生年级信息,然后编排专业班级,新生入学后由各院系管理员对来校学生进行基本的信息录入再上传学生处,由学生处管理人员在学生管理系统中

27、完成新高校学生信息的维护。 具体职能分工如下: (1) 分管校长与学生处处长:主要主管全面的学生工作,制定管理计划。 (2) 学生处信息处理人员:负责全校学生的学籍档案和管理工作,建立新生的学籍档案。对学籍变动的档案进行维护,填加学生奖励、惩处信息、助学贷款和学费上交情况,负责对这些数据进行分析、汇总,最后得出各种报表工作。 (3) 各系部学生管理人员:对学生名单和成绩库中的学生信息进行更新,将成绩输入计算机,同时还负责将信息传送学生处的工作。 (4)教师和学生:对以上录入的信息可以根据自己的权限进行信息查询。 本课题的主要内容是高校学生管理系统。高校学生管理工作是一个十分繁重的工

28、作,高校学生的管理同样十分繁重。在学生日常管理工作中,必须处理大量的信息。而人工进行信息地收集、处理、汇总、统计、报表、存档工作又相当繁琐和复杂。通过对高校学生日常业务工作内容和信息的分析,高校学生管理系统的主要功能可以得到确定。 3.1.3 业务流程分析 在本系统的业务流程分析中,采用的工具是业务流程图,这是一种表明系统内各单位、人员之间业务关系、作业顺序和管理信息流动的流程图,它可以帮助分析人员找出业务流程中的不合理之处。 业务流程:本系统业务流程分析如图3-3所示。 3.2 系统功能分析 开发本系统的总体任务是实现学生信息的系统化、规范化、科学化和自动化。系统功

29、能分析是在系统开发的总体任务的基础上完成的。基于系统需求分析,该系统需要实现以下功能: 1.根据用户的需求,新系统应实现如下功能: (1)功能选择模块:进入主界面后可以进行功能的选择。 (2)进行学生信息记录编辑; (3)进行学生信息记录查询; (4)退出系统模块:退出系统返回WIDNOWS界面。 2.使用要求: (1)用户将从系统中获得学生基本信息,如学生的姓名、学籍编号、宿舍号码、家长姓名、宿舍电话、所在院系、所在班级等。 (2)用户要完成查询、添加、修改、删除、浏览等处理功能,故需要建立上述功能。 (3)安全性、协调性和完整性。当用户添加学号时,要保证学号不能重复,同样

30、其他的号码也不能重复各个模块中的相同信息号码要一致。 教 师 学 生 教 师 学 生 学 生 教 师 各 院 系 各 院 系 各 院 系 后勤部门 学生处 校 长 行政部门 教研部门 图3-2 高校组织结构图 在软、硬件方面对系统的需求,软件要求易学,容易掌握,可以简单方便的管理各种信息。 硬件的配置要求不能太高,这样可以很快的适应当前的学校情况。 根据需求分析,本系统结构采用当前流行的C/S结构,也就是客户端/服务器模式,该模式的主要形式是系

31、统的管理人员以及使用者在客户端对服务器端的数据库进行各种操作,操作的结果又由服务器端的数据库发送回给客户端显示出来,客户端和数据库服务器可以在同一台计算机上安装,也可以在出于联网状态的不同机器上安装,形式比较自由,安装比较方便。该模式同时具有开发时间短,成本较低,而且数据量的传输快等优点。 学 生 管 理 学 生 档 案 成 绩 学 籍 课 程 档 案 登 记 成 绩 登 记 学 籍 管 理 课 程 登 记 档案信息 成绩表 学生数字 统计表 课程表 用户表 管理员 用 户 管 理 各中信息输入 图3-3 业务流程图 (

32、3)根据需求分析的结果,本系统主要以下四个子模块: 1)学生信息管理模块:高校学生信息基本信息模块能随时对学生的基本情况进行添加、删除、修改,包括学生的姓名、学籍编号、宿舍号码、家长姓名、年龄、宿舍电话、所在院系、专业、所在班级。还包括学生事务管理:贷款管理、学籍异动处理、出国登记、结婚申请、违纪和处分、保险事务、党团员管理。系统支持学生工作管理部门和工作人员、全校学生、勤工助学用人单位发送和接收有关信息,开展在线的业务处理,支持按权限管理的查询功能,工作人员通过此模块来管理学生信息。包括浏览、查询、添加、修改和删除功能。在进行学生信息的添加时,系统会自动检测所添加的学生信息中学生号码在学生

33、表里是否己经存在,如果不存在,系统会提示用户学生学号输入有误,同时检验所添加的学生号在学生表中是否己经存在;如果存在,会提示用户该学生已经存在。在进行学生信息的删除时,要首先弹出提示窗口让用户确认是否删除,只有在用户确认后才能够进行学生管理信息的删除。在进行学生信息的修改时,不准用户修改学号,因为学号作为数据库中学生表的主键是不同学生的唯一标识,不准修改学号可以防止不经意将学号改错;如果确实要修改学生号,可以通过数据库管理员来实现,也可以先将错误学号信息删除,再添加正确的学生信息,这样在删除时会弹出提示窗口让用户确认是否删除,给用户以提示,防止以外错误。 2)学籍信息管理模块:该学生学籍管理

34、模块能随时对学生的学籍基本情况进行添加、删除、修改,包括学生的学生姓名、学生编号、学籍异动情况、学生注册信息、军训时间、军训是否合格、奖学金金额、获得奖学金课程等。还可以根据学生的学号或姓名进行学生学籍情况及毕业情况的查询,包括新生信息管理、新生分班、学生信息管理。新生信息管理可以根据实际情况输入新生信息,主要管理的信息有姓名、性别、出生日期、籍贯,民族、政治面貌、招生类别、总分等,然后学校可按照班级设置情况,对新生以自动分班或手动分班的方式进行分班,分班完毕后可将新生详细信息录入到学籍库中。 3)成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。还可以用关键字查询

35、并调出数据库里的学生基本成绩信息的修改、删除等。该学生成绩管理模块能随时对学生的成绩情况进行统计,可以查询统计任一分数段的学生人数,以及这些学生的基本情况,如课程、班级、年级等.能让任教老师随时把握教学的效果和考试的失分比例。包括与每次考试相关的成绩信息录入、修改、浏览、查询等功能,其有成绩管理功能操作权限的网络用户可输入、输出与成绩相关的信息,如可打印输出学籍卡片、单科成绩、学期成绩,也可按指定条件(如学号、名次)进行排序后打印输出。不同权限的网络用户只能对系统分配功能权限进行操作,若网络用户是学生按照系统默认的权限设置只能浏览成绩信息,而不能对信息做出修改。输出查询的学生成绩信息工作人员通

36、过此模块来查询成绩信息,包括按学号查询和按课程号查询,即可以查询某个学生的成绩情况,也可以查询所开设的某门课程的成绩情况,输入学号,通过DATAGRID控件可以获得该生所选的各门课程及成绩,并同时显示共计课程门数、该生平均分和不及格门数;输入课程号,仍然通过DATAGRID控件可以获得选该课程的所有学生及成绩,并同时显示共计学生人数、该课程平均分和不及格人数。 4)课程信息管理模块:工作人员通过此模块来管理课程信息,包括浏览、查询、添加、修改和删除功能。在进行课程信息的添加时,系统会自动检测所添加的课程信息号码在课程表里是否已经存在,如果存在,会提示用户该专业在课程表中己经存在。在进行课程信

37、息删除时,要首先弹出提示窗口让用户确认是否删除,只有在用户确认后才能够进行课程信息的删除。在进行课程信息的修改时,不准用户修改课程号。输入课程的基本信息,并可以对课程信息进行添加、修改、删除及课程设置。课程设置能够对各年级的课程进行分类。划分学期所学的课程。 3.3 现行系统存在的主要问题 手工运作的学校管理系统,可以支持向各部门提供查询服务功能,但是,存在以下薄弱环节: (1)手工作业量大,数据传递不及时,对数据的统计和计算运程中易发生差错,工作效率较低。 (2)流程管理不够严密。 (3)不能满足管理要求(例如不能提供学生实时状况统计等信息)。 (4)提供的资料或手工书写

38、,或自定义表格,并且格式也不统一。 (5)信息的查询也不方便。 现行系统的上述弱点,实质上反映学校在信息管理的过程中,对信息的产生、传 输、加工与挖掘分析利用方面存在不足,不能满足学校管理与业务发展的要求,也对学 校形象造成不利的影响。这也正是提出新系统的直接原因。 第4章 系统实现 本系统将建立学生信息处理界面,即数据处理窗体,在该窗体中,可以增加、编辑、删除记录和使用单一条件查询数据。我们还将制作一个系统的启动封面,系统启动封面将控制进入或退出系统,另外系统封面对于系统的修饰作用也是极好的,其系统封面如 图4-1所示: 图4-1 系统封面的效

39、果 4.1 “学生信息数据表”的结构定义 在创建该系统之前,我们将创建一个“学生信息数据表”。该表反映了学生的基本信息,其结构定义如表4-1所示。 创建学生信息数据表结构的方法是运用Borland C++ Builder数据库桌面工具,创建步骤如下: 1) 在操作系统中选择“程序”菜单,出现Borland C++ Builder的数据库桌面程序菜单,如图4-2所示。 图4-2 数据库桌面程序 表 4-1 “学生信息数据表”结构 字段名称 字段类型 字段大小 索引 学生编号 I 默认 * 学生姓名 A 18

40、 学生性别 A 2 出生日期 D 默认 所在院系 A 20 专业名称 A 30 所在年级 A 16 所在班级 A 8 籍 贯 A 30 家长姓名 A 16 宿舍号码 A 20 宿舍电话 A 20 备 注 D 30 2)单击Database Desktop菜单,即启动数据库桌面程序,出现数据库桌面程序的主控界面,如图4-3所示。 图4-3 数据库桌面程序主控界面 3)在数据库桌面主窗体中依次单击File|New|Table菜单,出现一个选择数据表类型的界面,如图4-4所示。建议采用默认的Paradox7数据表

41、类型。 图4-4 数据表类型选择 4)单击OK按钮,即出现数据表结构定义界面,如图4-5所示。 图4-5 数据表结构定义界面 按照表4-1结构定义创建其数据表如图4-6所示。 图4-6 数据表结构定义内容 同样,在数据表创建完之后,需要保存该数据表,单击下方的Save as…将其保存在自己的文件夹里,数据表文件为“学生信息数据表”。这个表将是我们在后面的工程中需要运用的数据表。为了在后面的工程制作中可以直接显示窗体的数据效果,我们在创建完数据表之后打开数据表并进行数据编辑,录入一些演示的数据。 4.2 创建新的工程并制作系统封面 在前面我们已经创建了一个学生

42、信息数据表,它就是我们即将创建的学生信息系统的数据源文件,现在我们就着手进行工程的创建。在C++ Builder 6.0中创建新的工程有两种方式,一是直接启动C++ Builder 6.0,它会自动创建一个新的工程;另外一个方式就是用菜单命令方式创建新的工程,用菜单创建一个新的工程的步骤如下: 在C++ Builder 6.0主菜单中单击File|New|Application菜单;则出现一个新的C++ Builder 的工程,该工程仅包含一个空的窗体FORM1,如图4-7所示。 图4-7 新工程创建 现在我们将利用新工程的空白窗体制作一个系统封面,系统封面就是一个系统启动封面。系统

43、封面可以设计成由计时器控制,在设定的时间间隔内,系统封面显示达到或超过设定的显示时间,显然封面会自动释放。系统封面也可以由人工控制,即由用户确定是否继续还是退出。在本系统中,制作的系统封面就是由人工控制的系统封面,用户可以通过输入用户名和密码,然后单击“Enter”按钮来进入系统,创建过程如下: (1)在窗体Form1中放入一个标签控件,用于标识窗体,说明其系统的功能,将其CAPTION属性设置为“高校学生管理系统”,并设置相关的字体字号及属性。 (2)在窗体中放入两个标签控件,其标题CAPTION属性分别设置为“用户名”、“密码”,同样设置相关的字体字号和颜色。 (3)在窗体中放入两个

44、编辑控件,其NAME属性分别设置为“EditUseName”、“EditPassword”,后者的PasswordChar属性设置为#。 (4)在窗体中放入另外两个按钮控件,其标题CAPTION属性分别设置为“Enter”、“Exit”,同样设置相关的字体字号和颜色。其NAME属性设置为“ButtonOK”、“ButtonCancel”。 (5)在窗体中放入一个图片控件,并为图片控件引入一个恰当的图片文件以修饰窗体,其封面窗体Form1的布局如图4-1所示。 其中“Enter”标签控件用于进入主窗体,而“Exit”标签用于退出系统。关于这两个标签的过程代码在后面的相关内容中进行编制。

45、将工程命名并保存在指定的位置。其工程文件名为“StudentProject”。在保存工程文件名时,还需将窗体即单元文件命名并保存,如封面窗体的单元文件命名保存为“StudentUnit1”。 4.3 制作应用系统主控界面 一个应用系统主界面用于控制整个系统的每一个功能模块,通过它可以执行各种各样的模块程序。在此处,我们制作系统主界面的步骤如下: (1)在工程中增加一个新的窗体Form2,并命名保存它的单元文件,其单元文件为“StudentUnit2”。 (2)在Form2中放入一个按钮控件用于关闭Form2,标题属性设置为“返回”。即用于关闭主控界面并返回系统启动界面。 (3

46、)在Form2中放入一个面板控件Panel1,设置它的凹凸属性。 (4)在面板控件中再放入两个单选按钮控件,分别设置它们的标题为“记录编辑”和“记录查询”。 (5)在主窗体中再放入一个标签控件,设置其标题CAPTION属性为“高校学生管理系统主窗体”,并设置其字体、字号和颜色。 最后,其窗体布局如图4-8所示。 4.3.1 声明主窗体并进行调用 在Borland C++ Builder应用程序设计中窗体是作为资源进行管理与识别的,一个新的资源一经创建,就需要为它进行声明,只有通过声明的对象才能是系统可识别的资源。因为我们需要用系统封面窗体Form1来对系统主窗体Form2进行

47、调用,所以需要在系统封面的单元文件中对新的窗体进行声明,其声明过程如下: //--------------------------------------------------------------------------- #include #pragma hdrstop #include "studengUnit1.h" #开始声明 #include "studengUnit2.h" #结束声明 //---------------------------------------------------------------------------

48、 #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- 在新的窗体被声明之后,就可以用系统封面中的用户登录输入用户名和密码(均为2003020233),点击“Enter”调用Form2,“Enter”调用Form2的过程代码如下: //----------------------------------------------------------

49、---------------- void __fastcall TForm1:: Button1Click (TObject *Sender) { if(EditPassword->Text==2003020233) {Form2->ShowModal();} else {ShowMessage("密码不对,请重新输入!");}} //------------------------------------------------------------ 图4-8 系统主窗体布局 在系统封面窗体中还有一个“Exit”按钮用于退出整个系统,其过程代码如下: //----

50、----------------------------------------------------------------------- void __fastcall TForm1:: Button2Click (TObject *Sender) { Close(); } //-------------------------------------------------------------------- 4.3.2 编译运行工程并检验程序的执行 在制作完系统封面和主窗体后,我们来编译并检验以提高工作效率。通过系统封面对主控界面的调用效果如图4-9所示。

51、 4.4 制作记录编辑窗体 记录编辑界面就是对“高校学生管理系统”中的学生信息进行记录编辑的界面,我们将在该界面中完成学生记录编辑的“记录增加”、“记录删除”、“记录刷新”、“记录查询”等功能。 4.4.1 窗体增加与控件布局 学生数据处理在系统中是一个重要功能,因此,我们用一个专门的窗体来实现,以便在系统运行时进行学生信息管理。制作学生管理的数据处理界面首先应该增加一个新的窗体,然后再对窗体逐步完善,其步骤如下: (1)在工程中增加一个新的窗体Form3,将该单元命名并保存为StudentUnit3. 图4-9 主控界面调用效果 (2)在Form3中放入两个分组

52、框控件GroupBox1、GroupBox2,它们用于将窗体分隔成两个区域,一个是数据编辑区域,一个是数据操作区域。 (3)将窗体的标题CAPTION修改为“学生信息编辑处理窗体”。 (4)在窗体中依次加入9个命令按钮控件,其标题属性分别设置为“添加记录”、“删除记录”、“刷新记录”、“查询记录”、“结束操作”、“第一条”、“下一条”、“前一条”、“最后一条”。 (5)在窗体的数据编辑区放入12个数据编辑控件DBEdit1、DBEdit2、DBEdit3、DBEdit4、DBEdit5、DBEdit6、DBEdit7、DBEdit8、DBEdit9、DBEdit10、DBEdit11、D

53、BEdit12。 (6)相应地在12个编辑控件上放或旁边放入12个标签控件Label1、Label2、Label3、 Label4、 Label5、Label6、Label7、Label8、Label9、Label10、Label11、Label12,其标签的标题CAPTION设置见图4-11所示。 (7)在窗体数据编辑区放入一个备注型数据控件DBMemo1,在其旁边放入一个标签控件Label13用于标识;其窗体布局如图4-10所示。 4.4.2 数据控件放置与数据连接 在窗体Form3中,我们已经为它构筑了一个框架,但一个数据编辑窗体需要的是对数据表或数据集中的数据进行编辑或进行

54、相关的操作,如添加记录、删除记录、刷新记录等。因此,我们需要在窗体中引入数据控件,如数据表控件、数据源控件和数据编辑控件等,为此需要做如下操作: (1)在窗体中放入一个数据表控件Table1,它是专门用于连接我们创建的数据表文件的。设置数据表控件Table1的TableName属性为“学生信息数据表.db”,这样便将数据表文件连接起来了。 图4-10 窗体Form3的布局 (2)双击数据表控件,出现一个数据字段引入的界面,如图4-11所示。 (3)单击鼠标右键,出现一个快捷菜单即字段编辑菜单,如图4-12所示。 (4)在快捷菜单中单击Add all fields菜单,即引入数据表

55、文件的全部字段,如图4-13所示。 (5)在窗体中放入一个数据源控件Datasource1,设置它的Dataset属性为Table1,其属性如图4-14所示。 (6)最后激活数据表控件,即设置Table1控件的Active属性为True。 (7)对12个数据编辑控件和一个备注型控件进行数据源连接和数据字段连接,其连接方法参考后面的内容。这样,学生信息处理窗体的数据源和数据便连接创建完成,此时数据窗体的一些数据控件处于激活状态,其状态如图4-15所示。 在前面我们已经在窗体中放入了一切所需要的控件,并用数据表控件Table1和数据源控件Datasource1引入了数据窗体所需要的数据源。

56、 系统运行时,用户是通过数据编辑控件来进行数据编写的。在窗体中,我们放置了12个数据编辑控件和一个备注型数据控件,这些控件均需要与数据源控件进行连接并与相关的字段进行连接,那么它们是如何进行连接的呢?面临13个数据控件,我们不可能 图4-11 数据表控件字段编辑器 图4-12 字段编辑 图4-13 引入字段 图4-14 数据源控件Datasource1属性设置 一个一个重复地介绍,我们仅以数据编辑控件DBEdit1为例来说明它与数据源和数据字段之间的连接,其他的数据编辑控件便可以参照进行配置。 (8)用鼠

57、标选中DBEdit1,在对象监视器中设置它的数据源属性DataSource为“Datasource1”,设置它的DataField属性为“所在院系”,则第一个编辑控件就与数据源和数据集中的字段连接起来了。其属性设置如图4-16所示。 其他的数据控件的属性设置可以完全按DBEdit1的属性设置一样进行,只不过所选择的字段不同而已,最后我们列出全部数据编辑控件的属性以供我们制作系统时使用,其属性如表4-2所示。 4.4.3 声明并调用窗体Form3 在前面我们已经在Form1的单元文件中声明了窗体Form2,因为Form2是通过Form1进行调用的,但现在Form3需要通过Form2

58、进行调用,因此需要在Form2的单元文件中声明Form3,其声明如下: 图4-15 数据编辑控件的激活状态 图4-16 编辑控件DBEdit1属性设置 //--------------------------------------------------------------------------- #include #pragma hdrstop 表4-2 编辑框属性设置 对象名称 属性项名 属性设置内容 DBEdit1 DataSource DataSource1 DataField 所在院系 DBEdit2 DataS

59、ource DataSource1 DataField 专业名称 DBEdit3 DataSource DataSource1 DataField 所在年级 DBEdit4 DataSource DataSource1 DataField 所在班级 DBEdit5 DataSource DataSource1 DataField 学生编号 DBEdit6 DataSource DataSource1 DataField 学生姓名 DBEdit7 DataSource DataSource1 DataField 学生性别

60、 DBEdit8 DataSource DataSource1 DataField 出生日期 DBEdit9 DataSource DataSource1 DataField 籍贯 DBEdit10 DataSource DataSource1 DataField 家长姓名 DBEdit11 DataSource DataSource1 DataField 宿舍号码 DBEdit12 DataSource DataSource1 DataField 宿舍电话 DBEdit13 DataSource Da

61、taSource1 DataField 备注 #include "studentUnit2.h" #开始声明 #include "studentUnit3.h" #结束声明 //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //------------------------------------------------------

62、-------- 经过声明后的窗体Form3就可以通过相关的过程进行调用了,调用Form3的执行行为对象是通过Form2中的单选按钮“记录编辑”进行的,因此我们需要为该单选按钮编辑过程代码,该过程代码用于调用Form3。其过程代码如下: //--------------------------------------------------------------------------- void __fastcall TForm2::RadioButton1Click(TObject *Sender) { Form3->ShowModal(); } //---------

63、------------------------------------------------------------------ 编译并运行工程,然后检验数据处理窗体的调用,其运行效果如图4-17所示。 图4-17 数据编辑的调用效果 在上述编辑窗体中,尽管编辑控件已经处于编辑状态,用户可以进行数据编辑了,但它还不能有效地响应任何数据记录的操作,如不能对任何数据进行增加、删除、浏览或查询等,因为我们还未对相关的对象编制过程代码。因此,接下来,我们需要为相关的命令按钮编制过程代码,以实现数据编辑和

64、相关的数据操作。 4.4.4 为Form3中的命令按钮编制过程代码 下面,我们需要为Form3中的命令按钮编制过程代码,以对数据集中的记录进行操作。我们分别列出相关控件的过程代码如下: 1.“添加记录”命令按钮的过程代码 //--------------------------------------------------------------------------- void __fastcall TForm3::Button1Click(TObject *Sender) { Table1->Append(); } //--------------------

65、------------------------------------------------------- 2.“删除记录”命令按钮的过程代码 //--------------------------------------------------------------------------- void __fastcall TForm3::Button2Click(TObject *Sender) { Table1->Delete(); } //---------------------------------------------------------------

66、------------ 3.“刷新记录”命令按钮的过程代码 //--------------------------------------------------------------------------- void __fastcall TForm3::Button3Click(TObject *Sender) { Table1->Refresh(); } //--------------------------------------------------------- 4.“查询记录”命令按钮的过程代码 //--------------------------------------------------------------------------- void __fastcall TForm3::Button4Click(TObject *Sender) { Form4->ShowModal(); } //----------------------------------------------------------------

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