学生收费管理系统Word文档格式.docx
- 文档编号:8528650
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:33
- 大小:731.97KB
学生收费管理系统Word文档格式.docx
《学生收费管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生收费管理系统Word文档格式.docx(33页珍藏版)》请在冰点文库上搜索。
①基本信息的添加、修改、删除和查询。
基本信息包括院系信息、专业信息和学生信息。
②学校收费管理包括收费项目管理和学生收费管理等功能。
③查询统计管理包括按日详细查询和每月收费统计等功能。
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
上级院系编号
(2)专业信息表Speciality,用来保存各个院系的专业信息。
表结构如表2.2所示。
表2.2表Speciality的结构
SpeId
专业编号(主键)
Name
专业名称
院系编号
varchar(200)
专业描述
(3)学生信息表Student,用来保存每个在校学生的基本信息。
表结构如表2.3所示。
表2.3表Student的结构
StuId
学生编号(主键)
姓名
Sex
char(20)
性别
5
专业编号
6
ClassName
varchar(20)
班级名称
7
iYear
入学年度
8
IdCard
身份证号
9
Zhusu
char
(2)
是否住宿
10
CunChe
是否存车
11
PinKun
是否贫困生
12
FillinPerson
varchar(30)
填表用户
13
FillinTime
填表时间和日期
(4)收费项目表ChargeItem,用来保存各个收费项目的信息。
表结构如表2.4所示。
表2.4表ChargeItem的结构
ItemId
项目编号(主键)
年度
Tuition
float
学费
Zafei
杂费
Jishifei
机时费
Baoxianfei
保险费
Zhusufei
住宿费
Cunchefei
存车费
Shufei
书费
Ziliaofei
资料费
(5)收费信息表StuCharge,用来保存学生收费信息。
表结构如表2.5所示。
表2.5表StuCharge的结构
ChgId
编号(主键)
学生编号
费用年度
ChargeData
datetime
收费日期
Yingjiaoxuefei
应交学费
Shijiaoxuefei
实交学费
Yingjiaozafei
应交杂费
Shijiaozafei
实交杂费
Yingjiaojishifei
应交机时费
Shijiaojishifei
实交机时费
Yingjiaobaoxianfei
应交保险费
Shijiaobaoxianfei
实交保险费
Yingjiaozhusufei
float
应交住宿费
14
Shijiaozhusufei
实交住宿费
15
Yingjiaoshufei
应交书费
16
Shijiaoshufei
实交书费
17
Yingjiaoziliaofei
应交资料费
18
Shijiaoziliaofei
实交资料费
19
YingjiaoTotal
应交总额
20
ShijiaoTotal
实交总额
21
Memo
varchar(400)
备注
(6)用户信息表UserInfo,用来保存系统各个用户的信息。
表结构如表2.6所示。
表2.6表UserInfo的结构
UserName
用户名(主键)
Passwd
密码
UserType
tinyint
用户类型
(1-系统管理员用户2-普通用户)
在表的结构表中兴义每一个表的主键,为了规定各表之间的关系,还需要定义一组外键,如表2.7所示。
表2.7外键定义
关系名
主键表
主键字段
外键表
外键字段
FK_Student_DepInfo
DepInfo
Student
DepId
FK_Specially_DepInfo
Speciality
FK_Student_Speciality
FK_ChargeItem_Speciality
ChargeItem
FK_StuCharge_Student
Student
StuCharge
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
判断指定的院系中是否包含专业信息。
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数组对象
判断指定的专业名称是否存在。
参数paraName表示专业名称
HaveStu
判断指定的专业中是否包含学生。
参数paraId表示记录编号
GetDepName
返回专业信息所属的院系名称
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 收费 管理 系统