基于 Visual C++学生信息管理系统的开发
2016-06-06周宇琳
周宇琳
(浙江大学控制系,浙江杭州 310058)
基于 Visual C++学生信息管理系统的开发
周宇琳
(浙江大学控制系,浙江杭州310058)
摘要随着高校全员导师制的推行,需要开发一个信息管理系统以便对各类学生信息进行有效的管理。本研究开发的系统包括后台运行的数据库的建立与维护,以及前台运行的应用程序开发两个方面。数据库系统采用SQL 2000实现,而前台则采用Visual C++开发工具。本系统可以方便地查询、修改、删除、统计学生的基本信息、导师信息、课程开课信息、学生选课信息及相关成绩,实现了信息管理的规范化、数据的快速查询与统计,提高了管理效率。
关键词信息管理系统;数据库设计;数据库链接;模块设计;VC++编程
随着越来越多的高校推行全员导师制,即教师不仅仅只是上课、带实验与课程设计等传统教学环节,而更多的是以学业导师的身份对学生开展学业指导、职业规划等。这样就给管理工作带来很大的挑战,而有关学生的信息量也不断增长。面对如此海量的数据,就需要搭建相应的学生信息管理系统来协助管理人员进行管理。
本论文以高校对学生的信息进行管理为背景,通过对信息管理系统的研究与设计,以及对系统开发的原理与方法进行深入的了解和探索。本学生信息管理系统的开发流程包括:需求分析、系统分析、概要设计、详细设计、框架设计、系统实现及运行调试等。该系统能够为工作人员提供相应的学生信息以及实现快速、准确的信息查找等功能。
设计开发一个学生信息的管理系统,实现对学生信息进行高效的管理,还可以彰显出学校高效的现代化教育水平,而且能够显著地提高学校教师的工作效率,从而实现学生信息管理工作流程的系统化、科技化、自动化和专业化。建立一个数据一致性强、完整性好、安全性高的数据库是十分重要的,通过采用计算机软件对学生的信息进行查询、修改、删除、添加等一系列的操作,可以很大地提高管理工作效率,杜绝人工管理的各种缺点。
本学生管理系统是一种高效且使用非常方便的软件。它是利用SQL建立相关数据库,并将采用VC++6.0平台进行项目开发,同时数据库建立在SQL Server 2005数据库的基础上实施操作,然后对初始的系统进行迭代处理和数据修正,使得系统显得更加完善。
1开发工具选择
本系统包括前端和后台两个组成部分。其中,前端是数据库系统的建立及其维护部分;后台则为应用程序的设计与开发。对于后者,需要建立起完整性强、数据一致性、数据安全性好的库;至于前者,则要求所开发的应用程序具备功能完备和便于使用等要求。
Visual C++软件具有结构清晰、代码可读性好的特点,并且融入了面向对象、可视化、事件驱动等软件开发技术,利用它可以较容易实现信息管理系统的可视化编程,并实现编制与查错。借助于更强大的ActiveX和Internet技术,则可支持更多的数据库组件选项、用户界面元素,以及应用程序体系结构。
根据系统的功能需求,数据库采用Microsoft SQL 2000构建。它同时为Web网络标准提供了相应的支持,使用面广,并为系统的管理和修改提供了相应的工具。同时还具有操作简便,容易升级,维护费用低的特点。
本系统采用ODBC方法访问数据库,使其具有查询、添加、修改和删除学生信息的功能。利用其提供的各种面向对象的开发工具,先建立系统的应用原型,然后再对初始的原型系统进行迭代并进行修正,直到形成可行的实施系统。
2任务及系统设计方案
以下是关于学生信息管理系统的一些基本使用要求:
(1)数据库中应包含相关一些重要的信息,如课程信息、导师信息和学生信息等等,因此需要分别建立这些信息的相应模块,从而实现数据的交互功能。
(2)实现信息和数据的查询、删除、浏览、修改、添加等项功能。
(3)实现系统的安全性,以及协调性和完整性。
当用户在添加学生的学号时,需要保证学生学号不能重复。同样,在类似课程号码和导师号码等,也是不能重复的。在选课信息中,课程号码和学生学号的组合也是不能重复的。学生号码和导师号码也必须要保持一致。不能使用不同的数据类型,所以学生信息、选课信息、课程信息中的学生学号也要保持一致。
此外,学生信息表中的导师号码,以及课程信息表中的导师号码,都按规定必须使用导师表中已经存在的号码;而选课表中的课程号码和学生号码,也必须使用信息中存在的号码,所以对数据进行的操作,如删除、修改、添加、查询都是要进行监控的,并提示出错及处理意见。
根据以上进行的需求的分析,本系统采用客户端/服务器模式,即C/S结构。该模式主要是系统的管理人员以及使用者在客户端的数据库上进行各种相关的操作,操作的结果再由服务器端的数据库发回给客户端再显示出来。本系统主要划分为以下五个子模块:学生信息管理子模块、导师信息管理子模块、课程信息管理子模块、选课信息管理子模块和成绩查询管理子模块。
3数据库设计
3.1表对象的设计及生成情况
表1学生信息表——STUDENTS
表2 教师信息表——TEACHERS
表3 课程信息表——COURSES
表4 选课信息表——CHOICES
3.2建立表间关系
数据库各表间的关系如图1所示:
图1 表间关系图
本学生信息管理系统中的数据分成在图1中的4个表。这样的设计可以减少数据的冗余,同时在这些表与表之间,还可以建立关联关系。例如:在选课表中的学生编号和课程编号对应地在学生表中和课程表中存在;课程信息表中的任课教师也应该在导师表中存在。
4模块设计与分析
虽然主模块的源文件代码编写是在最后,但主模块的界面设计却是整个信息管理系统程序界面中最先开始的。这是因为主模块的源代码要使用到各个子模块中的头文件。同时,其它各个子模块的源代码也要使用到主模块中的头文件。通过主模块的全局对象theApp,各个模块才能够从数据库中返回记录集,如图2所示。
其余学生信息管理子模块、导师信息管理子模块、课程信息管理子模块、选课信息管理子模块等,都主要包括浏览修改、查找、删除等项功能,如图3-6所示。
图2 主模块
图3 学生信息管理子模块
图4 导师信息管理子模块
图5 课程信息管理子模块
图6 选课信息管理子模块
成绩查询模块是面向工作人员使用的,是根据某一特定对象的成绩查询与统计功能。特定对象可以是某个学生,或者是某一门课程。在成绩查询模块中使用了ActiveX控件中的ADO Data Control(该控件用于和数据库相连接)和DataGrid Control(把ADO Data Control控件所获得的记录来作为数据源,并实现了信息的显示)。本系统中使用了两个ADO Data Control控件,通过OLE DB的数据库访问方式从数据库中获得信息,并将其属性的可见性取消,如图7所示。
图7 成绩查询
5结语
上述设计开发的基于Visual C ++的学生信息管理系统,已应用于实际管理工作中,实现了对学生信息、导师信息、课程信息、选课信息及其成绩的管理,提高了管理效率。
参考文献
1周龙镶.数据库管理系统实现技术[M]. 中国地质大学出版社,1990
2潘爱民.Visual C ++技术内幕(第四版)[M].清华大学出版社,1998
3李昭原.数据库技术新发展[M]. 清华大学出版社,1997
4宋金珂,高立华,张迎新. VC++程序设计基础教程[M]. 清华大学出版, 2005
5张莉,王强,赵文等. SQL Server数据库原理及应用教程[M]. 清华大学出版社,2002
6张红军.Visual C++编程详解[M]. 科学出版社,2002
7周之英.面向对象系统分析与设计[M]. 清华大学出版,2000
(责任编辑:张辉)
Development of a Student Information Management System based on Visual C++
ZHOU Yu-lin
(Zhejiang University, Hangzhou 310058, China)
Abstract:With the implementation of tutor system in colleges and universities, an information management system needs to be developed to effectively manage different student information. This essay discusses the development process of this system which includes the establishment and maintenance of the background database by using SQL 2000, as well as the development of the front-end application by using Visual ++. Through this system, it is convenient to search, modify, delete and count the information of students, tutors, course-setting, course selection and course score, as a result, information management is standardized, quick data inquiry and statistics are achieved, and management efficiency has been improved.
Key words:information management system; database designing; database linking; module design; VC++ programming
中图分类号TP319
文献标志码A
文章编号1671-8100(2016)01-0038-04
作者简介:周宇琳,湖北武汉人,浙江大学控制系学习,主要从事智能控制、软件开发等方面的研究。
收稿日期:2015-08-11