学生收费管理系统呕心沥血整理版.docx
- 文档编号:10108753
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:37
- 大小:828.71KB
学生收费管理系统呕心沥血整理版.docx
《学生收费管理系统呕心沥血整理版.docx》由会员分享,可在线阅读,更多相关《学生收费管理系统呕心沥血整理版.docx(37页珍藏版)》请在冰豆网上搜索。
学生收费管理系统呕心沥血整理版
题目:
学校收费管理系统
学院:
信息学院
专业:
网络工程
姓名:
汤佳慧
学号:
1101010137
班级:
信息A1111班
摘要
随着学费比重在高校教育经费比例中的提高,学生收费管理已成为整个学校管理工作中的关键环节之一。
在高校规模及招生规模增大,收费项目增多,收费难度、复杂度增加,工作量加大的情况下,高校学生收费工作面临着严峻的挑战。
因此,迫切需要开发一套高校学生收费管理系统来实现高校收费管理工作的系统化、自动化、规范化,提高收费工作效率。
基于学生收费工作的实际需求,在对该校收费系统建设环境、收费组织结构功能及业务流程进行分析的基础上,确定了高校学生收费系统的性能需求与设计原则,进行了合理的系统功能模块设计、总体流程设计、数据库设计、系统结构选择及网络拓扑结构设计等工作,针对网络版、单机版及网上查询与催缴费系统的不同,选择了合适的开发工具。
同时,为了增强系统的可维护性,制定了详细的系统开发规范。
本系统网络版已投入试运行,但单机版及网上查询与催缴费系统还尚未开发,随着该校学分制的实施,基于学年制开发的该系统还需要进行大量的修改与完善工作.
【关键字】功能模块设计主界面学生收费管理系统
Abstract
Withtheincreaseoftuitionproportionintheproportionofcollegeeducationfunds,studentfeesmanagementhasbecomeoneofthekeylinkintheworkofschoolmanagement。
Inthescaleandincreasedenrollment,chargingprojectsincreased,chargingdifficulty,complexityisincreased,theincreaseinworkloadconditions,chargingworkofcollegestudentsisfacingseverechallenges。
Therefore,systematization,automation,standardizationisanurgentneedtodevelopasetofcollegestudentfeesmanagementsystemtoachievethemanagementfees,improveworkefficiency。
Basedontheworkoftheactualneedsofstudentsfees,onthebaseofanalysisontheschoolfeesystemconstructionenvironment,chargingstructurefunctionsandbusinessprocesses,performancerequirementsanddesignprinciplesofcollegechargeisdetermined,thereasonabledesignoffunctionmoduleofthesystem,theoverallprocessdesign,databasedesign,systemstructureandnetworktopologydesignwork,inviewofthenetworkversion,stand—aloneandon-lineinquiryandthereminderspaymentsystem,selecttheappropriatedevelopmenttools.Atthesametime,inordertoenhancethesystemmaintainability,developedadetailedsystemspecifications。
Thissystemonlinehasbeenputintotrialoperation,butstand—aloneversionandonlinequeryandurgepaymentsystemstillhasn'tbeenexploited,withtheimplementofcreditsystem,basedontheacademicyearsystemanddevelopmentofthesystemalsorequiresalotofmodificationworkandimprovement.
【Keywords】Thefunctionmoduledesign;Themaininterface;Studentfeesmanagementsystem
前言
使用学校收费管理系统可以大大提高高校收费工作的工作效率,减少工作中可能出现的错误,为学生提供更好的服务,是提高学校自动化水平的重要组成部分。
本系统的开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。
本系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段和操作封装到类中,使应用程序的各个窗体都能够共享对表的操作,无需重复编码,使程序更加易于维护,从而成功的将面向对象的程序设局思想应用到数据库应用程序设计中,这也是本系统的特色和优势.
1系统分析与总体设计
要开发一个管理信息系统,首先需要进行需求分析和总体分析,分析系统的使用对象和用户需求,设计系统的体系结构和数据库结构,决定使用的开发工具和后台数据库,规划项目开发进度。
在实际的项目开发过程中,这些工作是非常重要的.
1.1系统需求分析
学校收费管理系统的用户是各学校收费工作的人员和相关领导,实例包括基本信息管理、学校收费管理和查询统计管理等主要功能,基本功能如下:
①基本信息的添加、修改、删除和查询。
基本信息包括院系信息、专业信息和学生信息。
②学校收费管理包括收费项目管理和学生收费管理等功能.
③查询统计管理包括按日详细查询和每月收费统计等功能.
1.2系统体系结构设计
根据需求分析中总结的用户需求设计系统的体系结构.系统的功能模块图如图1。
1所示。
图1。
1学校收费管理系统功能模块示意图
在功能模块示意图的树状结构中,每一个叶节结点都是一个最小的功能模块。
每一个功能模块都需要针对不同的表完成相同的数据库操作,即添加记录、修改记录、删除记录以及查询显示记录信息。
基本信息是本系统管理的核心数据,它为学校收费管理模块提供各种数据。
院系信息包括院系名称、院系职能描述等。
专业信息包括院系信息、专业名称和专业描述信息等。
学生信息包括学生姓名、性别、所属院系、专业、班级和入学年度等.
在学生收费管理模块中,收费项目信息包括专业信息、年度、学费、杂费、机时费、保险费、书费和资料费等.学生收费信息包括学生信息、收费年度、收费日期、应交学费、实交学费、应交杂费、实交杂费、应交总计和实交总计等.
在查询统计模块中,按日详细查询信息包括学生信息、收费年度、收费日期、应交学费、实交学费、应交杂费、实交杂费、应交总计、实交总计和所欠费用合计等.每月收费统计信息包括学生信息、收费月份、专业名称、学生总数、交费总额和学费总额等。
本系统中,用户管理模块的功能比较简单。
在系统初始化时,有两个默认的用户。
系统管理员用户为Admin,普通用户为Users,由程序设计人员手动地添加到数据库中(它们的默认密码为111111).Admin用户可以创建用户、修改用户信息以及删除用户;普通用户则只能修改自己的用户名和密码。
用户管理功能模块的关系如图1。
2所示.
图1。
2用户管理功能集合模块关系图
1。
3系统流程分析
运行系统后,首先会看到登录窗体,对用户的身份进行认证。
身份认证可以分为以下两个过程:
①确认用户是否是有效的系统用户。
②确定用户的类型。
第①个过程决定用户能否进入系统,第②个过程根据用户的类型决定用户的操作权限。
如果需要对普通用户进行管理,则使用Admin用户登录;否则建议使用Users用户登录。
如果还要创建其他用户,可以再用户管理模块中创建和管理.在创建用户时,需要输入要创建的用户名和密码。
Admin用户还可以修改和删除其他普通用户数据。
本系统的流程分析如图1。
3所示。
图1.3系统流程分析图
在系统流程分析图中可以看到,每个用户有3次机会进行身份认证.如果3次输入的用户名和密码都无法与数据库中的数据匹配,则强制退出系统。
1.4开发工具的选择
开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。
在本系统中,前台开发语言选择的是VisualC++,后台数据库选择的是SQLServer2005。
2数据库结构设计
2.1概念结构分析
(1)总E—R模型如图2.1所示:
图2。
1总E-R模型图
(2)院系开设专业信息E—R图,如图2。
2所示.
图2。
2院系开设专业信息E-R图
(3)专业与学生关系E—R图,如图2。
3所示。
图2。
3专业与学生关系E-R图
(4)学生依据收费项目表交费E—R图,如图2。
4所示。
图2.4学生依据收费项目表交费E-R图
(6)学生与收费信息关系E—R图,如图2.5所示.
图2。
5学生与收费信息关系E—R图
2.2逻辑结构设计
数据库名称为ChargeManage。
数据库中包括6个表,即院系信息表DepInfo、专业信息表Speciality、学生信息表Student、收费项目表ChargeItem、收费信息表StuCharge和用户信息表UserInfo。
下面分别介绍这些表的结构。
(1)院系信息表DepInfo,用来保存院系信息.本系统采取树状结构来管理院系数据,也就是在院系之间建立从属关系。
表结构如表2.1所示.
表2.1表DepInfo的结构:
编号
字段名称
数据类型
说明
1
DepId
int
院系编号(主键)
2
DepName
varchar(50)
院系名称
3
Describes
varchar(250)
院系职能描述
4
UID
int
上级院系编号
(2)专业信息表Speciality,用来保存各个院系的专业信息。
表结构如表2。
2所示。
表2。
2表Speciality的结构
编号
字段名称
数据类型
说明
1
SpeId
int
专业编号(主键)
2
Name
varchar(50)
专业名称
3
DepId
int
院系编号
4
Describes
varchar(200)
专业描述
(3)学生信息表Student,用来保存每个在校学生的基本信息.表结构如表2.3所示。
表2。
3表Student的结构
编号
字段名称
数据类型
说明
1
StuId
int
学生编号(主键)
2
Name
varchar(50)
姓名
3
Sex
char(20)
性别
4
DepId
int
院系编号
5
SpeId
int
专业编号
6
ClassName
varchar(20)
班级名称
7
iYear
int
入学年度
8
IdCard
varchar(20)
身份证号
9
Zhusu
char
(2)
是否住宿
10
CunChe
char
(2)
是否存车
11
PinKun
char
(2)
是否贫困生
12
FillinPerson
varchar(30)
填表用户
13
FillinTime
varchar(20)
填表时间和日期
(4)收费项目表ChargeItem,用来保存各个收费项目的信息.表结构如表2。
4所示。
表2。
4表ChargeItem的结构
编号
字段名称
数据类型
说明
1
ItemId
int
项目编号(主键)
2
SpeId
int
专业编号
3
iYear
int
年度
4
Tuition
float
学费
5
Zafei
float
杂费
6
Jishifei
float
机时费
7
Baoxianfei
float
保险费
8
Zhusufei
float
住宿费
9
Cunchefei
float
存车费
10
Shufei
float
书费
11
Ziliaofei
float
资料费
(5)收费信息表StuCharge,用来保存学生收费信息。
表结构如表2。
5所示.
表2。
5表StuCharge的结构
编号
字段名称
数据类型
说明
1
ChgId
int
编号(主键)
2
StuId
int
学生编号
3
iYear
int
费用年度
4
ChargeData
datetime
收费日期
5
Yingjiaoxuefei
float
应交学费
6
Shijiaoxuefei
float
实交学费
7
Yingjiaozafei
float
应交杂费
8
Shijiaozafei
float
实交杂费
9
Yingjiaojishifei
float
应交机时费
10
Shijiaojishifei
float
实交机时费
11
Yingjiaobaoxianfei
float
应交保险费
12
Shijiaobaoxianfei
float
实交保险费
13
Yingjiaozhusufei
float
应交住宿费
14
Shijiaozhusufei
float
实交住宿费
15
Yingjiaoshufei
float
应交书费
16
Shijiaoshufei
float
实交书费
17
Yingjiaoziliaofei
float
应交资料费
18
Shijiaoziliaofei
float
实交资料费
19
YingjiaoTotal
float
应交总额
20
ShijiaoTotal
float
实交总额
21
Memo
varchar(400)
备注
(6)用户信息表UserInfo,用来保存系统各个用户的信息。
表结构如表2.6所示.
表2。
6表UserInfo的结构
编号
字段名称
数据类型
说明
1
UserName
varchar(50)
用户名(主键)
2
Passwd
varchar(50)
密码
3
UserType
tinyint
用户类型
(1-系统管理员用户2—普通用户)
在表的结构表中兴义每一个表的主键,为了规定各表之间的关系,还需要定义一组外键,如表2。
7所示.
表2。
7外键定义
关系名
主键表
主键字段
外键表
外键字段
FK_Student_DepInfo
DepInfo
DepId
Student
DepId
FK_Specially_DepInfo
DepInfo
DepId
Speciality
DepId
FK_Student_Speciality
Speciality
SpeId
Student
SpeId
FK_ChargeItem_Speciality
Speciality
SpeId
ChargeItem
SpeId
FK_StuCharge_Student
Student
StuId
StuCharge
StuId
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所示:
图2.8创建表Student
2.3。
4创建表ChargeItem
创建表ChargeItem(收费项目表)的脚本文件为ChargeItem。
sql,它的代码如图2.9所示:
图2.9创建表ChargeItem
2.3。
5创建表StuCharge
创建表StuCharge(收费信息表)的脚本文件为StuCharge。
sql,它的代码如图2.10所示:
图2。
10创建表StuCharge
2。
3.6创建表UserInfo
创建表UserInfo(用户信息表)的脚本文件为UserInfo。
sql,它的代码如图2。
11所示:
图2。
11创建表UserInfo
在创建表UserInfo的同时,将默认用户Admin插入到表中。
默认的密码为“111111"。
3设计工程框架
3.1创建工程并设置主界面
本系统是一个基于对话框的工程,工程名为ChargeManage,默认的主对话框为IDD_CHARGEMANAGE_DIALOG。
参照表3。
1设置主界面对话框的属性。
主界面如图3。
1所示。
表3.1设置主对话框的属性
属性
设置值
Caption
学校收费管理系统
MinimizeBox
True
图3.1创建工程并设置主界面属性
将ADOData控件、DataGrid控件、DataCombo控件和DataList控件添加到工程中。
在工程中添加类ADOConn。
选择背景图片,操作如下:
单击“ResourceView”选项卡,右键单击“ChargeManageResources",选择“Import”菜单项,打开“ImportResource"窗口,选择背景图片,将其添加到工程中。
新添加的Bitmap资源ID值为IDB_BITMAP1,如图3。
2所示。
图3.2新增的Bitmap资源
拉动对话框IDD_CHARGEMANAGE_DIALOG的边框,将其调整到适当的大小。
在对话框中添加一个Picture控件,右键单击Picture控件,选择Properties菜单项,打开属性窗口。
在“Type”组合框中选择Bitmap,在“Image”组合框中选择IDB_BITMAP1。
下面设置主界面的菜单。
单击“ResourceView"选项卡,右键单击“ChargeManageResources",选择“Insert”菜单项,打开“InsertResource”窗口,选择“Menu",然后单击“New”按钮,在ChargeManageResources目录下新增一个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为表添加类
为数据库的每个表都创建一个类,类的成员变量对应表的列,类的成员函数是对成员变量和表的操作.在系统菜单中选择“Insert”/“NewClass",打开“NewClass”窗口,选择“GenericClass”,然后输入类名,类的命名规则是大写字母“C”加上表名。
例如表Student对应的类命名为CStudent。
1.CDepInfo
CDepInfo类是用来管理表DepInfo的数据库的操作,该类的成员函数如表3。
3所示。
表3。
3CDepInfo类的成员函数
函数名
具体说明
CDepInfo
初始化成员变量
LoadDep
读取所有院系编号名称和上级院系编号等信息到数组对象CStringArrary.此函数在把院系装入到树状结构的过程中将起重要的作用
HaveName
判断指定的院系名称是否已经在数据库中,参数paraName表示制定的院系名称。
返回—1表示不存在,返回1表示存在
HaveSon
判断指定院系中是否存在下级院系。
参数paraId表示指定的院系的编号.返回—1表示不存在,返回1表示存在。
此函数将在删除院系数据之前调用,如果返回1,则不能删除指定的院系
HaveSpeciality
判断指定的院系中是否包含专业信息。
参数paraId表示指定的院系的编号。
返回—1表示不存在,返回1表示存在
GetInfo
读取指定的院系记录.参数paraId表示要读取院系的编号
SqlInsert
插入新的院系记录,返回新插入记录的编号
SqlUpdate
修改指定的院系记录.参数paraId表示要修改的院系的编号
SqlDelete
删除指定的院系记录。
参数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。
4CSpeciality类的成员函数
函数名
具体说明
CSpeciality
初始化成员变量
LoadSep
装入专业信息到CStringArray数组对象
HaveName
判断指定的专业名称是否存在。
参数paraName表示专业名称
HaveStu
判断指定的专业中是否包含学生.参数paraId表示记录编号
GetDepName
返回专业信息所属
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 收费 管理 系统 呕心沥血 整理
![提示](https://static.bdocx.com/images/bang_tan.gif)