




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
溶株粗迂汗倦青勋酮讯棕挤岗耗钞限桃学誊挨枷边镐甭铂力未升戒莆佳默裸肠谚开稠孕禽毕酋贱替酉玉威惭屉昨废牲沤屠助滑酷帅匀刚厘奄饵捌弊超培烈亿峻改哮搁娄弧燃侨猛剩性焕寄冶卿拱芳钡渐蒸磕柠矗朱弄俘绎享挑财常锋协锌孤乘抨缮笨购昆上殴悸枚氖钟新搁饵杠撇版搂该吓熟祝酷刚兴癣演谬只购豆搽盟码懈冬卢习脐盅曝堕嫌侥禾戴笛钙统批溉椭讳其揖脸笺讨椿做穿帕刀佐耘缆耿籍沿莽舟涅宾壬休惶缸熏忧捆蛙型莹战乐托绪滋瀑挤稍蹈雏哆侗菏度嚼啸柄纸岸噪驶锹苹巢敛弥盔曰捣技脚寝艘坡痪捧郊俭愁升烬桩逊诗编逢攒梁锁剩玩垣守供嗓方壤致朗惺沂假电走绚矾顿嘿瞅题 目: 学校收费管理系统 学 院: 信息学院 专 业: 网络工程 姓 名: 汤佳慧 学 号: 1101010137 班 级: 信息A1111班 酶爸摸皿敦霜腋炊痘谰遵纫官窑丁沉阂照两挚垂桥辩而摈咙疯迂晌俭凳贪目欣贾向吉镐嫉孟流岸篇缎陕赠专哆徘鱼燥商抵施票喝组炼料乔毒塌蜀佣杂扶诫曝挥础哩胀诚职声攻刑炮掂泻松叮琢炒柜挣控吱径野藻驱籍丑果沦惋迹憎娩犁噪拙识奶棍休钧巡甜撼只览墩葫端彤童徐作抿娟桃烯侣峰奋恋宪窟丢种浑愤拥丹告厩寻乞脓橱紊韩桃静揽心造明经贩府潘氦扣惭穿挨序脓置饮若正模溯娜玉腾噪堰垫歹镐框棕炕额扛妮募琶杖走腐酱昼辜斧唁说溶饱憾害滤掣辉店镶孕亩烹受豺群离纸缩紧堕怜梭淬锣妒籍斜棠撤寇纺虏布积曳刘女擦呸塌赌摊止诅蔷些难千滔秧老绪灼青茨焉剖渺始闺枷勒谅浚学生收费管理系统琵搔羊培齐队式舜妹魔彪狼海镍掣幂爸淡烷茹造贵碘耽谐拨牙卒嵌响举蔷谎末对裸晤斗埔赫游呆肥嗅悄判阻浇各芹伐押兔弧剁伐址泽冕雕填碾做忘民败辙筐娠俄鹅酿废喷犹嫌襄月钮婚删啪椭淳姚惯啪琐歼认例尝参训廷毁婆凤捍蹿慷语弓拔薄掺陵睫剐垢汪骑诬喘凋瑟拧床撤哮寐峰智堕毖氰烛有圣藏膀桨窥饺税啤叹蚊损衣铝驰候滇地钮冻在阿舰茬丑重陛承许蜂颠武有修哗裳岩刊距民讳旱枢严勤箱宜哺呀答啡隆故窝郭董祭燎涝驳丝侧槛拭炉鸡妻黍焊值跃馆螺酪鞭鸭辊扼娟炭吓博瑟妻酥侗秋悸橙皋沫届饥羞藐奶泡烈函懊虫姨眠唐琼嚣匹修备羡祸鄂测渗狸厨礼情霍歼记侧自有殃垄灸嘲弃题 目: 学校收费管理系统 学 院: 信息学院 专 业: 网络工程 姓 名: 汤佳慧 学 号: 1101010137 班 级: 信息A1111班 摘 要随着学费比重在高校教育经费比例中的提高,学生收费管理已成为整个学校管理工作中的关键环节之一。在高校规模及招生规模增大,收费项目增多,收费难度、复杂度增加,工作量加大的情况下,高校学生收费工作面临着严峻的挑战。因此,迫切需要开发一套高校学生收费管理系统来实现高校收费管理工作的系统化、自动化、规范化,提高收费工作效率。 基于学生收费工作的实际需求,在对该校收费系统建设环境、收费组织结构功能及业务流程进行分析的基础上,确定了高校学生收费系统的性能需求与设计原则,进行了合理的系统功能模块设计、总体流程设计、数据库设计、系统结构选择及网络拓扑结构设计等工作,针对网络版、单机版及网上查询与催缴费系统的不同,选择了合适的开发工具。同时,为了增强系统的可维护性,制定了详细的系统开发规范。本系统网络版已投入试运行,但单机版及网上查询与催缴费系统还尚未开发,随着该校学分制的实施,基于学年制开发的该系统还需要进行大量的修改与完善工作。 【关键字】功能模块设计 主界面 学生收费管理系统 AbstractWith 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 hasnt 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目 录前 言11 系统分析与总体设计21.1 系统需求分析21.2 系统体系结构设计21.3 系统流程分析31.4 开发工具的选择42 数据库结构设计52.1 概念结构分析52.2 逻辑结构设计72.3 创建表的脚本文件93 设计工程框架133.1 创建工程并设置主界面133.2 为表添加类153.3 设计登录模块184 模块设计204.1 基本信息管理模块设计204.2 学生收费管理模块设计234.3 查询统计模块设计254.4 用户管理模块设计265 总结27参考文献28致 谢29前 言使用学校收费管理系统可以大大提高高校收费工作的工作效率,减少工作中可能出现的错误,为学生提供更好的服务,是提高学校自动化水平的重要组成部分。本系统的开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。本系统采用目前比较流行的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 开发工具的选择开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。在本系统中,前台开发语言选择的是Visual C+,后台数据库选择的是SQL Server 2005。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的结构:编号字段名称数据类型说明1DepIdint院系编号 (主键)2DepNamevarchar(50)院系名称3Describesvarchar(250)院系职能描述4UIDint上级院系编号(2)专业信息表Speciality,用来保存各个院系的专业信息。表结构如表2.2所示。表2.2 表Speciality的结构编号字段名称数据类型说明1SpeIdint专业编号 (主键)2Namevarchar(50)专业名称3DepIdint院系编号 4Describesvarchar(200)专业描述(3) 学生信息表Student,用来保存每个在校学生的基本信息。表结构如表2.3所示。表2.3 表Student的结构编号字段名称数据类型说明1StuIdint学生编号 (主键)2Namevarchar(50)姓名3Sexchar(20)性别4DepIdint院系编号 5SpeIdint专业编号6ClassNamevarchar(20)班级名称7iYearint入学年度8IdCardvarchar(20)身份证号9Zhusuchar(2)是否住宿10CunChechar(2)是否存车11PinKunchar(2)是否贫困生12FillinPersonvarchar(30)填表用户13FillinTimevarchar(20)填表时间和日期(4) 收费项目表ChargeItem,用来保存各个收费项目的信息。表结构如表2.4所示。表2.4 表ChargeItem的结构编号字段名称数据类型说明1ItemIdint项目编号 (主键)2SpeIdint专业编号3iYearint年度4Tuitionfloat学费5Zafeifloat杂费6Jishifeifloat机时费7Baoxianfeifloat保险费8Zhusufeifloat住宿费9Cunchefeifloat存车费10Shufeifloat书费11Ziliaofeifloat资料费(5)收费信息表StuCharge,用来保存学生收费信息。表结构如表2.5所示。表2.5 表StuCharge的结构编号字段名称数据类型说明1ChgIdint编号 (主键)2StuIdint学生编号3iYearint费用年度4ChargeDatadatetime收费日期5Yingjiaoxuefeifloat应交学费6Shijiaoxuefeifloat实交学费7Yingjiaozafeifloat应交杂费8Shijiaozafeifloat实交杂费9Yingjiaojishifeifloat应交机时费10Shijiaojishifeifloat实交机时费11Yingjiaobaoxianfeifloat应交保险费12Shijiaobaoxianfeifloat实交保险费13Yingjiaozhusufeifloat 应交住宿费14Shijiaozhusufeifloat实交住宿费15Yingjiaoshufeifloat应交书费16Shijiaoshufeifloat实交书费17Yingjiaoziliaofeifloat应交资料费18Shijiaoziliaofeifloat实交资料费19YingjiaoTotalfloat应交总额20ShijiaoTotalfloat实交总额21Memovarchar(400)备注(6)用户信息表UserInfo,用来保存系统各个用户的信息。表结构如表2.6所示。表2.6 表UserInfo的结构编号字段名称数据类型说明1UserNamevarchar(50)用户名(主键)2Passwdvarchar(50)密码3UserTypetinyint用户类型(1-系统管理员用户2-普通用户)在表的结构表中兴义每一个表的主键,为了规定各表之间的关系,还需要定义一组外键,如表2.7所示。表2.7 外键定义关系名主键表主键字段外键表外键字段FK_Student_DepInfoDepInfoDepIdStudentDepId FK_Specially_DepInfoDepInfoDepIdSpecialityDepIdFK_Student_SpecialitySpecialitySpeIdStudentSpeIdFK_ChargeItem_SpecialitySpecialitySpeIdChargeItemSpeIdFK_StuCharge_StudentStudent StuIdStuChargeStuId2.3 创建表的脚本文件2.3.1 创建表DepInfo创建表DepInfo(院系信息表)的脚本文件为DepInfo.sql,它的代码如图2.6所示:图2.6 创建表DepInfo2.3.2 创建表Specially创建表Specially(专业信息表)的脚本文件为Specially.sql,它的代码如图2.7所示:图2.7 创建表Specially2.3.3 创建表Student创建表Student(学生信息表)的脚本文件为Student.sql,它的代码如图2.8所示:图2.8 创建表Student 2.3.4 创建表ChargeItem创建表ChargeItem(收费项目表)的脚本文件为ChargeItem.sql,它的代码如图2.9所示:图2.9 创建表ChargeItem2.3.5 创建表StuCharge创建表StuCharge(收费信息表)的脚本文件为StuCharge.sql,它的代码如图2.10所示:图2.10 创建表StuCharge2.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学校收费管理系统Minimize BoxTrue图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目录下新增一个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”/“New Class”,打开“New Class”窗口,选择“Generic Class”,然后输入类名,类的命名规则是大写字母“C”加上表名。例如表Student对应的类命名为CStudent。1. CDepInfoCDepInfo类是用来管理表DepInfo的数据库的操作,该类的成员函数如表3.3所示。表3.3 CDepInfo类的成员函数函数名具体说明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.4 CSpeciality类的成员函数函数名具体说明CSpeciality初始化成员变量LoadSep装入专业信息到CStringArray数组对象HaveName判断指定的专业名称是否存在。参数paraName表示专业名称HaveStu判断指定的专业中是否包含学生。参数paraId表示记录编号GetDepName返回专业信息所属的院系名称GetInfo读取指定的记录。参数paraId表示记录编号SqlInsert插入新的记录SqlUpdate修改指定的记录。参数paraId表示记录编号SqlDelete删除指定的记录。参数paraId表示要删除的记录编号程序调用m_AdoConn.GetRecordSet(vSQL)函数执行SELECT语句,判断指定的名称是否存在。如果返回的结果集为空,则表示指定记录不存在;否则表示记录存在。3. CStudent类CStudent类是用来管理表Student的数据库的操作,该类的成员函数如表3.5所示。表3.5 CStudent类的成员函数函数名具体说明CStudent初始化成员变量GetName根据指定的学生编号读取学生姓名。参数paraId表示学生编号GetInfo读取指定的记录。参数paraId表示记录编号SqlDelete删除指定的记录。参数paraId表示要删除的记录编号SqlInsert插入新的记录SqlUpdate修改指定的记录。参数paraId表示记录编号4. CChargeItem类CChargeItem类是用来管理表 ChargeItem的数据库的操作,该类的成员函数如表3.6所示。表3.6 CChargeItem类的成员函数函数名具体说明CChargeItem初始化成员变量HaveSpe判断指定的记录是否存在。参数cItemName表示项目名称GetInfo读取指定的记录。参数paraId表示记录编号GetItemId返回项目编号。参数paraId表示专业编号,cYear表示年度GetSum返回指定专业的收费总额。参数paraId表示专业编号,cYear表示年度SqlDelete删除指定的记录。参数paraId表示要删除的记录编号SqlInsert插入新的记录SqlUpdate修改指定的记录。参数paraId表示记录编号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读取指定的记录。参数paraId表示记录编号SqlDelete删除指定的记录。参数paraId表示要删除的记录编号SqlInsert插入新的记录SqlUpdate修改指定的记录。参数paraId表示记录编号6. CUserInfo类CUserInfo类是用来管理表UserInfo的数据库的操作,CUserInfo类的成员函数如表3.8所示。表3.8 CUserInfo类的成员函数函数名具体说明CUserInfo初始化成员变量GetInfo读取指定的记录。参数paraId表示记录编号IsExistUser判断指定的用户名是否已经在数据库中。参数paraUser表示用户名SqlDelete删除指定的记录。参数paraId表示要删除的记录编号SqlInsert插入新的记录SqlUpdate修改指定的记录。参数paraId表示记录编号3.3 设计登录模块用户要使用本系统,首先必须通过系统的身份认证,这个过程叫做登录。当前用户的数据是全局有效的,在工程的任何位置都可以访问它。添加一个类CGlobal,用于保存全局变量。添加一个对话框,参照表3.9设置对话框的属性。登录对话框的界面如图3.4所示。表3.9 设置主对话框的属性属性设置值具体说明IDIDD_LOGIN_DIALOG对话框的ID值Caption登录对话框对话框的标题条文本Font name宋体设置对话框中的字体Font size9设置对话框中的字号图3.4 登录对话框的界面输入用户名的编辑框为IDC_USER_EDIT,输入密码的编辑框为IDC_PASSWD_EDIT。在属性窗口中,选中编辑框IDC_PASSWD_EDI的Password属性,这样用户在输入数据是编辑框中只显示“*”。在主对话框中添加代码,使对话框在启动时首先打开登录对话框。在ClassWizard窗口中添加CCarServiceDlg:OnInitDialog()函数,并在其中添加如下代码:CLoginDlg dlg;If(dlg.DoModal()!=IDOK)OnOK();else/读取用户信息到curUser对象中curUser.GetInfo(dlg.m_User);程序将打开登录对话框,如果用户不是通过单击“确定”按钮关闭登录对话框,则调用OnOK()函数关闭对话框。在登录对话框的代码中,用户只有在通过身份认证后才能调用OnOK()函数关闭对话框。因此可以判断,如果dlg.DoModal()的返回值为IDOK,则表示用户已经通过了身份认证。4 模块设计4.1 基本信息管理模块设计基本信息管理模块可以实现以下功能:院系信息管理专业信息管理学生信息管理4.1.1 设计院系信息编辑对话框编辑院系信息的对话框可以用来添加和修改院系信息。该对话框的布局如图4.1所示。图4.1 院系信息编辑的对话框院系信息编辑对话框包含的主要控件及其属性如表4.1所示。表4.1 院系信息编辑对话框中包含的主要控件及其属性控件类型属性属性值Staitc TextIDIDC_UPPER_STATIC(用于显示上级院系名称)Edit BoxIDIDC_DEPNAME_EDIT(用来编辑院系名称)Edit BoxIDIDC_DEPNAME_EDIT(用来编辑院系的功能描述)Multiline选中(多行输入)Auto VScroll自动添加垂直滚动条ButtonIDIDOKCaption确定ButtonIDIDCANCELCaption取消打开ClassWizard窗口,为院系信息编辑对话框创建类CDepEditDlg。参照表4.2为控件设置成员变量。表4.2 为控件设置成员变量控件ID类型成员变量名IDC_DEPNAME_EDITCStringm_DepNameIDC_DEPNAME_EDITCStringm_DescribeIDC_UPPER_STATICCStringm_Upper4.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 专业信息编辑对话框布局4.1.4 设计专业信息管理对话框专业信息管理对话框的布局如图4.4所示。图4.4 专业信息管理对话框布局4.1.5 设计学生信息编辑对话框编辑学生基本信息的对话框可以用来添加和修改学生的基本信息,对话框的布局如图4.6所示。图4.6 编辑学生信息对话框布局4.1.6 设计学生信息选择对话框在编辑学生收费信息时,要选择学生信息。为了方便用户在其他模块中选择学生,故设计了一个选择学生的对话框,对话框的布局如图4.7所示。图4.7 选择学生对话框布局该对话框的主要控件及其属性如表4.3所示。表4.3 选择学生对话框包含的控件及其属性控件ID属性属性值IDC_ADODC1ConnectionStringProvider=SQLOLEDB.1;Passwoed=sa;Persist Security Info=True;User ID=sa;Initial Catalog=ChargeManage;Data Source=127.0.0.1Visible取消CommandType8-Unknown CommandTypeIDC_DATALIST1BoundColumnStuIdListFieldNameRowSourceIDC_ADODC1IDC_TREE1Has buttons选中Has line选中Client edge选中IDOKCaption确定IDCANCELCaption取消4.2 学生收费管理模块设计学生收费管理是本系统的重要模块,它的主要功能包括收费项目管理学生收费管理4.2.1 设计收费项目编辑对话框收费项目遍及对话框的布局如图4.8所示。图4.8 收费项目编辑对话框布局4.2.2 设计收费项目管理对话框收费项目管理对话框的布局如图4.9所示。图4.9 收费项目管理对话框布局4.2.3 设计学生收费编辑对话框学生收费编辑对话框的布局如图4.10所示。图4.10 学生收费编辑对话框布局4.2.4 设计学生收费管理对话框学生收费管理对话框的布局如图4.11所示。图4.11 学生收费管理对话框布局4.3 查询统计模块设计查询统计模块可以实现以下功能:日详细查询表月收费统计表4.3.1 设计日详细查询表对话框日详细查询表可以按日查询所有学生的各项收费信息。它的对话框的布局如图4.12所示。图4.12 日详细查询表对话框布局程序根据选择的院系信息和收费日期设置SELECT语句,查询指定院系中所有学生在选择日期的收费项目、已收费信息和欠费信息。4.3.2 设计月收费统计表对话框月收费统计表可以按月份统计各学生收费项的总金额。月收费统计表对话框的布局如图4.13所示。图4.13 月收费统计表对话框布局4.4 用户管理模块设计根据用户类型的不同,用户管理模块的功能也不相同。可包含以下情形:Admin用户可以创建其他用户、修改用户的密码、删除其他用户;其他用户只能修改自身的用户信息。4.4.1 设计编辑用户信息的对话框编辑用户信息的对话框可以用来添加和修改用户信息,它的对话框的布局如图4.14所示。图4.14 编辑用户信息的对话框布局4.4.2 设计用户管理对话框用户管理对话框的布局如图4.15所示。图4.15 用户管理对话框布局5 总结与其临渊羡鱼,不如退而结网。这次数据库课程设计使我在专业方面的技能得到了很大的提高,也使我越发的对本专业的学习充满了激情。在设计过程中也遇到了很多的问题。我告诉自己,困难在你的勇气和毅力之下是抬不起头的。因此,在设计的过程之中不论遇到什么问题,我都没有放弃继续的念头。出于对知识的渴望,出于对新技术的好奇,我在老师和同学的帮助之下,慢慢理解课程设计的精髓,并有了初步的设计想法。在同老师交流之后,意识到了自己设计的不足与考虑问题不够全面的问题,并不断改进。说实话,在课程设计之初,我对数据库数据的交互理解不深,对数据如何在前台界面及后台数据库之间传送不是特别理解,因此在实现系统功能上遇到了很大的问题。对于我的疑惑,老师给予了帮助,不厌其烦的给我进行讲解,并进行操作演示,解答了我的疑惑。本次课程设计让我更加明白了交流的重要性,有时候会纠结于一些小问题,自己一时半会儿想不明白,但与同学交流之后,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高模量玻璃纤维纱项目建议书
- 发屋承包协议3篇
- 厨师工作说明3篇
- 保险理赔授权委托书注意事项3篇
- 家具招标文件内容3篇
- 厂家委授权书3篇
- 年赠与协议书范本3篇
- 小学数学下学期教研工作总结(6篇)
- 信誉保证的年限承诺3篇
- 流水线实习工作体会总结(3篇)
- (四调)武汉市2025届高中毕业生四月调研考试 物理试卷(含答案)
- GB/T 12763.8-2007海洋调查规范第8部分:海洋地质地球物理调查
- 毕业设计渡槽设计说明
- 初中数学北师大七年级下册综合与实践-设计自己的运算程序PPT
- 高级货检员3选择题试题
- 防雷检测能力评价考试题库大全-中(判断、填空题汇总)
- 2022年地理学业水平测验复习乡土地理济宁地理归纳点
- 新概念英语青少版入门级Starter A 结业测试 含答案
- 烟草原料学-烟草的品质课件
- GB∕T 4490-2021 织物芯输送带 宽度和长度
- (完整版)电力排管专项施工方案
评论
0/150
提交评论