您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页学生收费管理系统

学生收费管理系统

来源:保捱科技网


题 目:学 院:专 业:姓 名:学 号:班 级:

学校收费管理系统 信息学院 网络工程 汤佳慧 1101010137 信息A1111班

1

摘 要

随着学费比重在高校教育经费比例中的提高,学生收费管理已成为整个学校管理工作中的关键环节之一。在高校规模及招生规模增大,收费项目增多,收费难度、复杂度增加,工作量加大的情况下,高校学生收费工作面临着严峻的挑战。因此,迫切需要开发一套高校学生收费管理系统来实现高校收费管理工作的系统化、自动化、规范化,提高收费工作效率。

基于学生收费工作的实际需求,在对该校收费系统建设环境、收费组织结构功能及业务流程进行分析的基础上,确定了高校学生收费系统的性能需求与设计原则,进行了合理的系统功能模块设计、总体流程设计、数据库设计、系统结构选择及网络拓扑结构设计等工作,针对网络版、单机版及网上查询与催缴费系统的不同,选择了合适的开发工具。同时,为了增强系统的可维护性,制定了详细的系统开发规范。

本系统网络版已投入试运行,但单机版及网上查询与催缴费系统还尚未开发,随着该校学分制的实施,基于学年制开发的该系统还需要进行大量的修改与完善工作。

【关键字】功能模块设计 主界面 学生收费管理系统

2

Abstract

With the increase of tuition proportion in the proportion of college education funds, student fees management has become one of the key link in the work of school management. In the scale and increased enrollment, charging projects increased, charging difficulty, complexity is increased, the increase in workload conditions, charging work of college students is facing severe challenges. Therefore, systematization, automation, standardization is an urgent need to develop a set of college student fees management system to achieve the management fees, improve work efficiency.

Based on the work of the actual needs of students fees, on the base of analysis on the school fee system construction environment, charging structure functions and business processes, performance requirements and design principles of college charge is determined, the reasonable design of function module of the system, the overall process design, database design, system structure and network topology design work, in view of the network version, stand-alone and on-line inquiry and the reminders payment system, select the appropriate development tools.At the same time, in order to enhance the system maintainability, developed a detailed system specifications.

This system online has been put into trial operation, but stand-alone version and online query and urge payment system still hasn't been exploited, with the implement of credit system, based on the academic year system and development of the system also requires a lot of modification work and improvement.

【Key words】The function module design;The main interface;Student fees management system

3

目 录

前 言 ........................................................................................................................... 1 1 系统分析与总体设计 .................................................................................................... 2

1.1 系统需求分析 ..................................................................................................... 2 1.2 系统体系结构设计 ............................................................................................. 2 1.3 系统流程分析 ..................................................................................................... 3 1.4 开发工具的选择 ................................................................................................. 4 2 数据库结构设计 ............................................................................................................ 5

2.1 概念结构分析 ................................................................................................... 5 2.2 逻辑结构设计 ..................................................................................................... 7 2.3 创建表的脚本文件 ........................................................................................... 10 3 设计工程框架 .............................................................................................................. 13

3.1 创建工程并设置主界面 ................................................................................... 13 3.2 为表添加类 ....................................................................................................... 14 3.3 设计登录模块 ................................................................................................... 18 4 模块设计 ...................................................................................................................... 20

4.1 基本信息管理模块设计 ................................................................................... 20 4.2 学生收费管理模块设计 ................................................................................... 23 4.3 查询统计模块设计 ........................................................................................... 25 4.4 用户管理模块设计 ........................................................................................... 26 5 总结 .............................................................................................................................. 27 参考文献 .......................................................................................................................... 27 致 谢 ............................................................................................................................ 28

4

前 言

使用学校收费管理系统可以大大提高高校收费工作的工作效率,减少工作中可能出现的错误,为学生提供更好的服务,是提高学校自动化水平的重要组成部分。本系统的开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。本系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段和操作封装到类中,使应用程序的各个窗体都能够共享对表的操作,无需重复编码,使程序更加易于维护,从而成功的将面向对象的程序设局思想应用到数据库应用程序设计中,这也是本系统的特色和优势。

1

1 系统分析与总体设计

要开发一个管理信息系统,首先需要进行需求分析和总体分析,分析系统的使用对象和用户需求,设计系统的体系结构和数据库结构,决定使用的开发工具和后台数据库,规划项目开发进度。在实际的项目开发过程中,这些工作是非常重要的。

1.1 系统需求分析

学校收费管理系统的用户是各学校收费工作的人员和相关领导,实例包括基本信息管理、学校收费管理和查询统计管理等主要功能,基本功能如下:

基本信息的添加、修改、删除和查询。基本信息包括院系信息、专业

信息和学生信息。

学校收费管理包括收费项目管理和学生收费管理等功能。 查询统计管理包括按日详细查询和每月收费统计等功能。

1.2 系统体系结构设计

根据需求分析中总结的用户需求设计系统的体系结构。系统的功能模块图如图1.1所示。

学校收费管理系统基本信息设置学生收费管理查询统计模块系统信息设置院系信息管理专业信息管理学生信息管理收费项目维护学生收费管理按日详细查询每月收费统计用户管理修改密码

图1.1 学校收费管理系统功能模块示意图

在功能模块示意图的树状结构中,每一个叶节结点都是一个最小的功能模块。每一个功能模块都需要针对不同的表完成相同的数据库操作,即添加记录、修改记录、删除记录以及查询显示记录信息。

基本信息是本系统管理的核心数据,它为学校收费管理模块提供各种数

2

据。院系信息包括院系名称、院系职能描述等。专业信息包括院系信息、专业名称和专业描述信息等。学生信息包括学生姓名、性别、所属院系、专业、班级和入学年度等。

在学生收费管理模块中,收费项目信息包括专业信息、年度、学费、杂费、机时费、保险费、书费和资料费等。学生收费信息包括学生信息、收费年度、收费日期、应交学费、实交学费、应交杂费、实交杂费、应交总计和实交总计等。

在查询统计模块中,按日详细查询信息包括学生信息、收费年度、收费日期、应交学费、实交学费、应交杂费、实交杂费、应交总计、实交总计和所欠费用合计等。每月收费统计信息包括学生信息、收费月份、专业名称、学生总数、交费总额和学费总额等。

本系统中,用户管理模块的功能比较简单。在系统初始化时,有两个默认的用户。系统管理员用户为Admin,普通用户为Users,由程序设计人员手动地添加到数据库中(它们的默认密码为111111)。Admin用户可以创建用户、修改用户信息以及删除用户;普通用户则只能修改自己的用户名和密码。

用户管理功能模块的关系如图1.2所示。

系统用户信息管理修改Admin用户的密码Admin用户创建、修改和删除普通用户信息普通用户修改自身的用户名和密码 图1.2 用户管理功能集合模块关系图

1.3 系统流程分析

运行系统后,首先会看到登录窗体,对用户的身份进行认证。身份认证可以分为以下两个过程:

确认用户是否是有效的系统用户。 确定用户的类型。

第个过程决定用户能否进入系统,第个过程根据用户的类型决定用户的操作权限。

如果需要对普通用户进行管理,则使用Admin用户登录;否则建议使用Users用户登录。如果还要创建其他用户,可以再用户管理模块中创建和管理。在创建用户时,需要输入要创建的用户名和密码。Admin用户还可以修改和删除其他普通用户数据。

本系统的流程分析如图1.3所示。

3

开始重试否失败超过3次是退出程序用户登录失败成功读取用户类型用户管理模块管理自己的用户信息学校收费管理模块基本信息设置普通用户学生收费管理Admin用户① 管理自己的用户信息② 管理普通用户的用户信息统计查询管理 图1.3 系统流程分析图

在系统流程分析图中可以看到,每个用户有3次机会进行身份认证。如果3次输入的用户名和密码都无法与数据库中的数据匹配,则强制退出系统。

1.4 开发工具的选择

开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。在本系统中,前台开发语言选择的是Visual C++,后台数据库选择的是SQL Server 2005。

4

2 数据库结构设计

2.1 概念结构分析

(1)总E-R模型如图2.1所示:

学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学m学学学学学学学学学学学学学学学学学学学学学学学学学学学学学1学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学1学学m学学学学学学学学学学学学学学学学学学学学学学学学学图2.1 总E-R模型图

(2)院系开设专业信息E-R图,如图2.2所示。

学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学1学学m学学 图2.2 院系开设专业信息E-R图

(3)专业与学生关系E-R图,如图2.3所示。

5

学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学

图2.3 专业与学生关系E-R图

(4)学生依据收费项目表交费E-R图,如图2.4所示。

学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学

图2.4 学生依据收费项目表交费E-R图

(6)学生与收费信息关系E-R图,如图2.5所示。

学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学1学学1学学学学学学学学学学学学学学学学学

图2.5 学生与收费信息关系E-R图

6

2.2 逻辑结构设计

数据库名称为ChargeManage。数据库中包括6个表,即院系信息表DepInfo、专业信息表Speciality、学生信息表Student、收费项目表ChargeItem、收费信息表StuCharge和用户信息表UserInfo。下面分别介绍这些表的结构。

(1)院系信息表DepInfo,用来保存院系信息。本系统采取树状结构来管理院系数据,也就是在院系之间建立从属关系。表结构如表2.1所示。

表2.1 表DepInfo的结构:

编号 1 字段名称 DepId 数据类型 int 键) 2 3 4 DepName Describes UID varchar(50) varchar(250) int 院系名称 院系职能描述 上级院系编号 说明 院系编号 (主(2)专业信息表Speciality,用来保存各个院系的专业信息。表结构如表2.2所示。

表2.2 表Speciality的结构 编号 1 字段名称 SpeId 数据类型 int 说明 专业编号 (主键) 2 3 4 Name DepId Describes varchar(50) int varchar(200) 专业名称 院系编号 专业描述 (3)学生信息表Student,用来保存每个在校学生的基本信息。表结构如表2.3所示。

表2.3 表Student的结构

编号 1 字段名称 StuId 数据类型 int 说明 学生编号 (主键) 2 3 4 5 6 Name Sex DepId SpeId ClassName

varchar(50) char(20) int int varchar(20) 7

姓名 性别 院系编号 专业编号 班级名称

7 8 9 10 11 12 13 iYear IdCard Zhusu CunChe PinKun FillinPerson FillinTime int varchar(20) char(2) char(2) char(2) varchar(30) varchar(20) 入学年度 身份证号 是否住宿 是否存车 是否贫困生 填表用户 填表时间和日期 (4)收费项目表ChargeItem,用来保存各个收费项目的信息。表结构如表2.4所示。

表2.4 表ChargeItem的结构

编号 1 字段名称 ItemId 数据类型 int 说明 项目编号 (主键) 2 3 4 5 6 7 8 9 10 11 SpeId iYear Tuition Zafei Jishifei Baoxianfei Zhusufei Cunchefei Shufei Ziliaofei int int float float float float float float float float 专业编号 年度 学费 杂费 机时费 保险费 住宿费 存车费 书费 资料费 (5)收费信息表StuCharge,用来保存学生收费信息。表结构如表2.5所示。

表2.5 表StuCharge的结构 编号 1 2 3 4 5 6 字段名称 ChgId StuId iYear ChargeData Yingjiaoxuefei Shijiaoxuefei 数据类型 int int int datetime float float 8

说明 编号 (主键) 学生编号 费用年度 收费日期 应交学费 实交学费

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Yingjiaozafei Shijiaozafei Yingjiaojishifei Shijiaojishifei Yingjiaobaoxianfei Shijiaobaoxianfei Yingjiaozhusufei Shijiaozhusufei Yingjiaoshufei Shijiaoshufei Yingjiaoziliaofei Shijiaoziliaofei YingjiaoTotal ShijiaoTotal Memo float float float float float float float float float float float float float float varchar(400) 应交杂费 实交杂费 应交机时费 实交机时费 应交保险费 实交保险费 应交住宿费 实交住宿费 应交书费 实交书费 应交资料费 实交资料费 应交总额 实交总额 备注

(6)用户信息表UserInfo,用来保存系统各个用户的信息。表结构如表2.6所示。

表2.6 表UserInfo的结构

编号 1 2 3 字段名称 UserName Passwd UserType 数据类型 varchar(50) varchar(50) tinyint 说明 用户名(主键) 密码 用户类型 (1-系统管理员用户2-普通用户) 在表的结构表中兴义每一个表的主键,为了规定各表之间的关系,还需要定义一组外键,如表2.7所示。

表2.7 外键定义

关系名 主键表 主键字段 外键表 段 FK_Student_DepInfo FK_Specially_DepInfo FK_Student_Speciality DepInfo DepInfo Speciality DepId DepId SpeId Student Speciality Student DepId DepId SpeId 外键字

9

FK_ChargeItem_Speciality Speciality SpeId em ChargeItSpeId FK_StuCharge_Student Student StuId e StuChargStuId 2.3 创建表的脚本文件

2.3.1 创建表DepInfo

创建表DepInfo(院系信息表)的脚本文件为DepInfo.sql,它的代码如图2.6所示:

图2.6 创建表DepInfo

2.3.2 创建表Specially

创建表Specially(专业信息表)的脚本文件为Specially.sql,它的代码如图2.7所示:

图2.7 创建表Specially

2.3.3 创建表Student

创建表Student(学生信息表)的脚本文件为Student.sql,它的代码如图2.8所示:

10

图2.8 创建表Student

2.3.4 创建表ChargeItem

创建表ChargeItem(收费项目表)的脚本文件为ChargeItem.sql,它的代码如图2.9所示:

图2.9 创建表ChargeItem

2.3.5 创建表StuCharge

创建表StuCharge(收费信息表)的脚本文件为StuCharge.sql,它的代码如图2.10所示:

11

图2.10 创建表StuCharge

2.3.6 创建表UserInfo

创建表UserInfo(用户信息表)的脚本文件为UserInfo.sql,它的代码如图2.11所示:

图2.11 创建表UserInfo

在 创建表UserInfo的同时,将默认用户Admin插入到表中。默认的密码为“111111”。

12

3 设计工程框架

3.1 创建工程并设置主界面

本系统是一个基于对话框的工程,工程名为ChargeManage,默认的主对话框为IDD_CHARGEMANAGE_DIALOG。参照表3.1设置主界面对话框的属性。主界面如图3.1所示。

表3.1 设置主对话框的属性 属性 Caption Minimize Box 设置值 学校收费管理系统 True

图3.1 创建工程并设置主界面属性

将ADO Data控件、DataGrid控件、DataCombo控件和DataList控件添加到工程中。在工程中添加类ADOConn。选择背景图片,操作如下:单击“Resource View”选项卡,右键单击“ChargeManage Resources”,选择“Import”菜单项,打开“Import Resource”窗口,选择背景图片,将其添加到工程中。新添加的Bitmap资源ID值为IDB_BITMAP1,如图3.2所示。

图3.2 新增的Bitmap资源

拉动对话框IDD_CHARGEMANAGE_DIALOG的边框,将其调整到适当的大小。在对话框中添加一个Picture控件,右键单击Picture控件,选择Properties菜单项,打开属性窗口。在“Type”组合框中选择Bitmap,在“Image”组合框中选择IDB_BITMAP1。

下面设置主界面的菜单。单击“Resource View”选项卡,右键单击“ChargeManage Resources”,选择“Insert”菜单项,打开“Insert Resource”窗口,选择“Menu”,然后单击“New”按钮,在ChargeManage Resources

13

目录下新增一个Menu的目录项,菜单ID为IDR_MENU1。双击此菜单,参照表3.2设置菜单项的属性。

表3.2 菜单IDR_MENU1的属性 标题 基本信息管理 ...院系信息管理 ...专业信息管理 ...学生信息管理 ...退出系统 学生收费管理 ...收费项目管理 ...学生收费管理 统计查询 ...按日详细查询 ...每月交费统计 系统用户管理 ...用户管理 ...修改密码 ID属性 IDR_DEP IDR_SPECIALITY IDR_STUDNT IDR_EXIT IDR_CHARGE_INFO IDR_STU_CHARGE IDR_CHARGE_SEL IDR_CHARGE_STAT IDR_USER IDR_PASSWD 打开对话框IDD_CHARGEMANAGE_DIALOG的属性窗口,在Menu组合框中选择IDR_MENU1。单击 “运行”按钮,可以看到系统的主界面如图3.3所示。

图3.3 系统主界面

3.2 为表添加类

为数据库的每个表都创建一个类,类的成员变量对应表的列,类的成员

14

函数是对成员变量和表的操作。在系统菜单中选择“Insert”/“New Class”,打开“New Class”窗口,选择“Generic Class”,然后输入类名,类的命名规则是大写字母“C”加上表名。例如表Student对应的类命名为CStudent。

1. CDepInfo

CDepInfo类是用来管理表DepInfo的数据库的操作,该类的成员函数如表3.3所示。

表3.3 CDepInfo类的成员函数 函数名 CDepInfo LoadDep 初始化成员变量 读取所有院系编号名称和上级院系编号等信息到数组对象CStringArrary。此函数在把院系装入到树状结构的过程中将起重要的作用 HaveName 判断指定的院系名称是否已经在数据库中,参数paraName表示制定的院系名称。返回-1表示不存在,返回1表示存在 HaveSon 判断指定院系中是否存在下级院系。参数paraId表示指定的院系的编号。返回-1表示不存在,返回1表示存在。此函数将在删除院系数据之前调用,如果返回1,则不能删除指定的院系 HaveSpeciality GetInfo SqlInsert SqlUpdate SqlDelete 判断指定的院系中是否包含专业信息。参数paraId表示指定的院系的编号。返回-1表示不存在,返回1表示存在 读取指定的院系记录。参数paraId表示要读取院系的编号 插入新的院系记录,返回新插入记录的编号 修改指定的院系记录。参数paraId表示要修改的院系的编号 删除指定的院系记录。参数paraId表示要删除的院系的编号 具体说明 Load_dep()函数是个批量读取表DepInfo中数据的过程,读取数据的条件

是指定的上一级院系编号。程序将院系数据读取到3个CStringArray数组对象中,即a_DepId、a_DepName、a_UId,它们被定义为类CDepInfo的成员变量。CStringArray对象是支持CString对象的数组,包含在afxcoil.h中。

程序首先将新纪录插入到表DepInfo中,然后使用SELECT语句返回表DepInfo中最大的DepId字段值,并以此作为新纪录的编号值返回。在添加院系记录时,程序需要得到新纪录的院系编号值,并将其添加到Tree控件中。

2. CSpeciality类

CSpeciality类是用来管理表Speciality的数据库的操作,该类的成员函数如表3.4所示。

表3.4 CSpeciality类的成员函数 函数名 CSpeciality LoadSep HaveName 初始化成员变量 装入专业信息到CStringArray数组对象 判断指定的专业名称是否存在。参数paraName表示专业名称 15

具体说明

HaveStu GetDepName GetInfo SqlInsert SqlUpdate SqlDelete 判断指定的专业中是否包含学生。参数paraId表示记录编号 返回专业信息所属的院系名称 读取指定的记录。参数paraId表示记录编号 插入新的记录 修改指定的记录。参数paraId表示记录编号 删除指定的记录。参数paraId表示要删除的记录编号 程序调用m_AdoConn.GetRecordSet(vSQL)函数执行SELECT语句,判断指定的名称是否存在。如果返回的结果集为空,则表示指定记录不存在;否则表示记录存在。

3. CStudent类

CStudent类是用来管理表Student的数据库的操作,该类的成员函数如表3.5所示。

表3.5 CStudent类的成员函数 函数名 CStudent GetName GetInfo SqlDelete SqlInsert SqlUpdate 初始化成员变量 根据指定的学生编号读取学生姓名。参数paraId表示学生编号 读取指定的记录。参数paraId表示记录编号 删除指定的记录。参数paraId表示要删除的记录编号 插入新的记录 修改指定的记录。参数paraId表示记录编号 具体说明 4. CChargeItem类

CChargeItem类是用来管理表 ChargeItem的数据库的操作,该类的成员函数如表3.6所示。

表3.6 CChargeItem类的成员函数 函数名 CChargeItem HaveSpe GetInfo GetItemId GetSum 度 SqlDelete SqlInsert SqlUpda插入新的记录 修改指定的记录。参数paraId表示记录编号

具体说明 初始化成员变量 判断指定的记录是否存在。参数cItemName表示项目名称 读取指定的记录。参数paraId表示记录编号 返回项目编号。参数paraId表示专业编号,cYear表示年度 返回指定专业的收费总额。参数paraId表示专业编号,cYear表示年删除指定的记录。参数paraId表示要删除的记录编号 16

te GetSum()函数的代码如下:

float CChargeItem::GetSum(CString paraId,CString cYear) { //连接数据库

ADOConn m_AdoConn;

m_AdoConn.OnInitADOConn(); //设置SELECT语句 _bstr_t vSQL;

vSQL = \"SELECT (Tuition+Incidental+MacTimeFee+Insurance+DormFee+\" \"BicycleFee+BookFee+FileFee) AS cSum FROM ChargeItem \" \" WHERE SpeId = \" + paraId + \" And iYear = \" + cYear; //执行SELECT语句

_RecordsetPtr m_pRecordset;

m_pRecordset = m_AdoConn.GetRecordSet(vSQL); if (m_pRecordset->adoEOF) return 0; else

return

atof((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect(\"cSum\")); m_AdoConn.ExitConnect(); //断开与数据库的连接 }

程序执行SELECT语句,将指定专业和年份的所有费用相加,将结果返回。 5. CStuCharge类

CStuCharge类是用来管理表StuCharge的数据库的操作,该类的成员函数如表3.7所示。

表3.7 CStuCharge类的成员函数 函数名 CStuCharge HaveChargeInfo 初始化成员变量 判断是否存在相同的交费信息。参数paraId表示学生编号,cYear表示交费年度 具体说明 GetInfo SqlDelete SqlInsert SqlUpdate 读取指定的记录。参数paraId表示记录编号 删除指定的记录。参数paraId表示要删除的记录编号 插入新的记录 修改指定的记录。参数paraId表示记录编号 6. CUserInfo类

17

CUserInfo类是用来管理表UserInfo的数据库的操作,CUserInfo类的成员函数如表3.8所示。

表3.8 CUserInfo类的成员函数 函数名 CUserInfo GetInfo IsExistUser SqlDelete SqlInsert SqlUpdate 插入新的记录 修改指定的记录。参数paraId表示记录编号 读取指定的记录。参数paraId表示记录编号 判断指定的用户名是否已经在数据库中。参数paraUser表示用户名 删除指定的记录。参数paraId表示要删除的记录编号 初始化成员变量 具体说明 3.3 设计登录模块

用户要使用本系统,首先必须通过系统的身份认证,这个过程叫做登录。当前用户的数据是全局有效的,在工程的任何位置都可以访问它。添加一个类CGlobal,用于保存全局变量。添加一个对话框,参照表3.9设置对话框的属性。登录对话框的界面如图3.4所示。

表3.9 设置主对话框的属性 属性 ID Caption Font name Font size 设置值 IDD_LOGIN_DIALOG 登录对话框 宋体 9 具体说明 对话框的ID值 对话框的标题条文本 设置对话框中的字体 设置对话框中的字号

图3.4 登录对话框的界面

输入用户名的编辑框为IDC_USER_EDIT,输入密码的编辑框为

IDC_PASSWD_EDIT。在属性窗口中,选中编辑框IDC_PASSWD_EDI的Password属性,这样用户在输入数据是编辑框中只显示“*”。

在主对话框中添加代码,使对话框在启动时首先打开登录对话框。在ClassWizard窗口中添加CCarServiceDlg::OnInitDialog()函数,并在其中添加如

18

下代码:

CLoginDlg dlg;

If(dlg.DoModal()!=IDOK) OnOK(); else

//读取用户信息到curUser对象中 curUser.GetInfo(dlg.m_User);

程序将打开登录对话框,如果用户不是通过单击“确定”按钮关闭登录对话框,则调用OnOK()函数关闭对话框。在登录对话框的代码中,用户只有在通过身份认证后才能调用OnOK()函数关闭对话框。因此可以判断,如果dlg.DoModal()的返回值为IDOK,则表示用户已经通过了身份认证。

19

4 模块设计

4.1 基本信息管理模块设计

基本信息管理模块可以实现以下功能: ①院系信息管理 ②专业信息管理 ③学生信息管理

4.1.1 设计院系信息编辑对话框

编辑院系信息的对话框可以用来添加和修改院系信息。该对话框的布局如图4.1所示。

图4.1 院系信息编辑的对话框

院系信息编辑对话框包含的主要控件及其属性如表4.1所示。

表4.1 院系信息编辑对话框中包含的主要控件及其属性 控件类型 Staitc Text Edit Box Edit Box ID ID Multiline Auto VScroll Button ID Caption Button ID IDOK 确定 IDCANCEL IDC_DEPNAME_EDIT(用来编辑院系名称) IDC_DEPNAME_EDIT(用来编辑院系的功能描述) 选中(多行输入) 自动添加垂直滚动条 ID IDC_UPPER_STATIC(用于显示上级院系名称) 属性 属性值

20

Caption 取消 打开ClassWizard窗口,为院系信息编辑对话框创建类CDepEditDlg。参照表4.2为控件设置成员变量。

表4.2 为控件设置成员变量 控件ID IDC_DEPNAME_EDIT IDC_DEPNAME_EDIT IDC_UPPER_STATIC 类型 CString CString CString 成员变量名 m_DepName m_Describe m_Upper 4.1.2 设计院系信息管理对话框

本系统中使用树状结构来猫叔院系数据,所以在院系信息管理对话框中添加Tree控件,ID属性为IDC_TREE1。打开属性窗口,选中如下属性:

①Has buttons 表示在节点左侧显示展开和折叠的按钮框; ②Has lines 表示在节点之间显示连线; ③Client edge 表示控件的边框呈3D效果。

设置完成后在对话框中添加4个控件,使得院系信息管理的对话框的布局更加得美观,效果如图4.2所示。

图4.2 院系信息管理对话框布局

4.1.3 设计专业信息编辑对话框

编辑专业信息的对话框可以用来添加和修改专业信息,它的对话框的布局如图4.3所示。

图4.3 专业信息编辑对话框布局

21

4.1.4 设计专业信息管理对话框

专业信息管理对话框的布局如图4.4所示。

图4.4 专业信息管理对话框布局

4.1.5 设计学生信息编辑对话框

编辑学生基本信息的对话框可以用来添加和修改学生的基本信息,对话框的布局如图4.6所示。

图4.6 编辑学生信息对话框布局

4.1.6 设计学生信息选择对话框

在编辑学生收费信息时,要选择学生信息。为了方便用户在其他模块中选择学生,故设计了一个选择学生的对话框,对话框的布局如图4.7所示。

22

图4.7 选择学生对话框布局

该对话框的主要控件及其属性如表4.3所示。

表4.3 选择学生对话框包含的控件及其属性

控件ID IDC_ADODC1 属性 ConnectionString 属性值 Provider=SQLOLEDB.1;Passwoed=sa;Persist Security Info=True;User ID=sa;Initial Catalog=ChargeManage;Data Source=127.0.0.1 Visible CommandType IDC_DATALIST1 BoundColumn ListField RowSource IDC_TREE1 Has buttons Has line Client edge IDOK IDCANCEL Caption Caption 取消 8-Unknown CommandType StuId Name IDC_ADODC1 选中 选中 选中 确定 取消 4.2 学生收费管理模块设计

学生收费管理是本系统的重要模块,它的主要功能包括 ①收费项目管理 ②学生收费管理

4.2.1 设计收费项目编辑对话框

收费项目遍及对话框的布局如图4.8所示。

23

图4.8 收费项目编辑对话框布局

4.2.2 设计收费项目管理对话框

收费项目管理对话框的布局如图4.9所示。

图4.9 收费项目管理对话框布局

4.2.3 设计学生收费编辑对话框

学生收费编辑对话框的布局如图4.10所示。

图4.10 学生收费编辑对话框布局

4.2.4 设计学生收费管理对话框

学生收费管理对话框的布局如图4.11所示。

24

图4.11 学生收费管理对话框布局

4.3 查询统计模块设计

查询统计模块可以实现以下功能: ①日详细查询表 ②月收费统计表

4.3.1 设计日详细查询表对话框

日详细查询表可以按日查询所有学生的各项收费信息。它的对话框的布局如图4.12所示。

图4.12 日详细查询表对话框布局

程序根据选择的院系信息和收费日期设置SELECT语句,查询指定院系中所有学生在选择日期的收费项目、已收费信息和欠费信息。 4.3.2 设计月收费统计表对话框

月收费统计表可以按月份统计各学生收费项的总金额。月收费统计表对话框的布局如图4.13所示。

25

图4.13 月收费统计表对话框布局

4.4 用户管理模块设计

根据用户类型的不同,用户管理模块的功能也不相同。可包含以下情形: ①Admin用户可以创建其他用户、修改用户的密码、删除其他用户; ②其他用户只能修改自身的用户信息。 4.4.1 设计编辑用户信息的对话框

编辑用户信息的对话框可以用来添加和修改用户信息,它的对话框的布局如图4.14所示。

图4.14 编辑用户信息的对话框布局

4.4.2 设计用户管理对话框

用户管理对话框的布局如图4.15所示。

图4.15 用户管理对话框布局

26

5 总结

与其临渊羡鱼,不如退而结网。这次数据库课程设计使我在专业方面的技能得到了很大的提高,也使我越发的对本专业的学习充满了激情。

在设计过程中也遇到了很多的问题。我告诉自己,困难在你的勇气和毅力之下是抬不起头的。因此,在设计的过程之中不论遇到什么问题,我都没有放弃继续的念头。出于对知识的渴望,出于对新技术的好奇,我在老师和同学的帮助之下,慢慢理解课程设计的精髓,并有了初步的设计想法。在同老师交流之后,意识到了自己设计的不足与考虑问题不够全面的问题,并不断改进。

说实话,在课程设计之初,我对数据库数据的交互理解不深,对数据如何在前台界面及后台数据库之间传送不是特别理解,因此在实现系统功能上遇到了很大的问题。对于我的疑惑,老师给予了帮助,不厌其烦的给我进行讲解,并进行操作演示,解答了我的疑惑。本次课程设计让我更加明白了交流的重要性,有时候会纠结于一些小问题,自己一时半会儿想不明白,但与同学交流之后,问题就能迎刃而解。感谢那些在课设过程中曾经给予我帮助的同学。当然,这次课程设计能顺利完成,特别要感谢老师的悉心教导。

参考文献

[1] 黄德才 著.数据库原理及其应用教程 [M].北京:科学出版社,2002.

[2] 启明工作室 著.visual C++ +SQL Server 数据库应用实例完全解析[M].北京:人民

27

邮电出版社,2006.

[3] 颜志军 著.Visual C++数据库开发[M].北京:电子工业出版社,2007.

[4] 侯其锋 著.Visual C++数据库通用模块开发与系统移植[M].北京:清华大学出版社,2007.

[5] 明日科技,王瑞 著.Visual C++数据库系统开发完全手册[M].北京:人民邮电出版社,2006.

[6] 明日科技 著.Visual C++管理信息系统完整项目实例剖析[M].北京:人民邮电出版社,2005.

[7] 萨师煊 著.数据库系统概论[M].北京:高等教育出版社,2006.

[8] 孙全党 著.SQL Server 2005数据库开发应用教程[M].北京:科学出版社,2008. [9] 吕文达 著.C#课程设计.[M]. 北京:清华大学出版社,2004. [10] 钱雪忠 著.数据库原理及应用[M].北京:邮电大学出版社,2007.

[11] 宋昆,李严 著. SQL Server数据库开发实例解析[M].北京:机械工业出版社,2006.

致 谢

这次的课程设计,虽然我是一人为一组,但是还是得到了来自很多方面的帮助。在此首先要感谢学院提供给我这次实践的机会,让我们有机会贴近现实,感受成功的喜悦;其次要感谢实验机房的老师提供优良的实验设备供我们做

28

课程设计,正是这种良好的课程设计的环境让我们整个课程设计过程心情都非常愉快。再次要感谢指导老师的辛勤指导,每当我们遇到疑难问题时,是他一次次不厌其烦地解释和悉心地指导,我们才能闯过一个个难关,到达胜利的彼岸,是他给我们提供了一次宝贵的检验自己的机会。最后也要感谢同学们的帮助,有了他们的支持使我遇到任何困难都觉得不是一个人在战斗。感谢所有在课程设计过程中帮助过我的人!

29

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务