




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
装订线长 春 大 学 毕业设计(论文)纸长春大学毕业设计(论文)学生综合管理系统学院(系): 专业班级: 学生姓名: 指导教师: 目录1引言11.1题目简介11.2选题的意义12系统需求分析22.1设计目的22.2开发工具介绍22.3技术可行性分析32.4操作可行性分析42.5系统组织框架43总体设计53.1业务流程分析53.2数据流分析83.3功能树113.4用例图134数据库设计154.1模块er图154.2数据库逻辑设计194.2.1基础资料数据库设计194.2.2教学管理数据库设计234.2.3宿舍管理数据库设计264.3数据库连接275系统详细设计285.1基础资料功能设计与实现285.1.1登录界面的设计285.1.2密码修改295.1.3基础信息下拉菜单295.1.4班级和专业信息维护305.1.5学生信息维护325.1.6课程信息维护345.2教学管理功能设计与实现365.2.1开课申请365.2.2学生选课385.2.3活动申请405.3宿舍管理功能的设计与实现415.3.1宿舍分配415.3.2宿舍检查416测试446.1单元测试446.1.1登录模块测试446.1.2基础信息模块测试456.1.3教学管理模块测试486.2综合测试497总结51致谢52参考文献53 1引言1.1题目简介高校大学生管理的内容复杂,它涉及众多的专业、年级、班级的学生管理系及学生生活起居的问题,是学校校务管理的一项繁重的任务。随着大学规模不断扩大,人工管理难于实现要求,必须采用自动化、智能化进行管理。面对庞大的信息量,需要有学生管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。现在的时代是网络普及的时代,学生有条件通过网络方便快捷的查询自己的个人信息。所以,高校学生综合管理系统既能方便学校管理部门的管理,又能方便学生及时查询个人信息。1.2选题的意义随着中国信息化的加速发展,位于教育前沿的学校在办公自动化上也加快了脚步,为了摒弃传统的人工对学生的信息进行书面的记录方式,引进了计算机管理方法,在最大的程度上实现学校的办公自动化和现代化。虽然现在的学校在学生管理上都使用了计算机进行管理,但是现在市场上流行的学生管理软件有些并不是针对学校对学生的管理需求研发的。要根据各个学校的实际情况开发出适合各个学校学生综合管理的系统,必须要有专业性,要符合各个学校的特色和具体情况。对于学校的实际情况,本系统在实施后,能使教学管理人员从繁琐的工作中解脱出来,真正的、全身心投入到教学管理工作中去,集中管理,同时带动学校管理步入现代化管理阶段,节省了大量的人力,物力,财力和时间,使管理清晰准确,使学籍管理体系更加科学化,规范化,管理化。基于以上的原因,开发一套操作简单、维护方便、适合各个阶段学校使用的学生管理系统就显得十分重要与紧迫。于是提出该课题,解决当今学校亟待解决的学生的管理问题。2系统需求分析2.1设计目的使用计算机对高校学生进行管理与人工管理有无法比拟的优点,使用计算机管理克服了效率低、保密性差的困难,还具有查找迅速、方便、可靠、寿命长、成本低等优点。另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。总之,使用计算机管理的主要优点是能够提高管理者的效率,这也是开发本软件的重要原因之一。本系统是基于现行的高校学生综合管理,信息处理量大、更新率高。使用单一的人工管理,管理人员不仅工作量大,工作效率低,而且相当繁琐,更重要的是不容易管理数据,容易出错并且交互性差。为了提高高校学生综合程管理规范化、系统化和自动化,特开发设计了这套高校学生综合管理软件。本系统针对高校学生综合程管理的各个环节建立相应的功能模块,高校学生综合管理在正常运转中需要对教师信息、学生信息、专业信息、班级信息、宿舍信息、成绩信息、课程信息等诸多信息进行统一的管理,本软件的开发正是建立在对这些信息的变更之上,既提高了管理的效率,又减轻了管理员和教师的负担。2.2开发工具介绍c+ builder是由borland公司推出的一款可视化集成开发工具。c+ builder具有快速的可视化开发环境:只要简单地把控件(component)拖到窗体(form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;c+ builder内置了100多个完全封装了windows公用特性且具有完全可扩展性(包括全面支持activex控件)的可重用控件;c+ builder具有一个专业c+开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,cpu透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(c+)的完美结合 1。c+ builder具有可视化集成开发环境,以事件驱动、图形用户界面等为特点,在设计时有着其独特的优越性。它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了系统的模块性和紧凑性。c+builder中提供了大量的系统开发工具和控件,利用mysql技术开发数据库使得操作和管理非常方便,从而使以往费时费力的开发工作变得轻松自如 2。(1) c+ builder优化的32位原码(native code)编译器建立在borland公司久经考验 的编译技术基础之上,提供了高度安全性、可靠性、快速性的编译优化方法,完全 编译出原始机器码而非中间码,软件执行速度大大提高。在编译和连接过程中,c+ builder自动忽略未被修改的原代码和没有使用的函数,从而大大提高了编译和连接速度。c+ builder的cpu透视工具包括五个独立的小面板,可以对正在运行程序 从内部进行深层次的了解。另外c+ builder还提供了一个专业开发环境所必需的命令行工具,以帮助建立c+程序或者准备编译和连接的程序进行更精细的控制。 (2) c+ builder依靠c/c+语言和borland公司的技术,提供了高级开发的能力。c+ builder在提供简单易用特性的同时,并没有为开发者增加限制。开发者可以 利用c+ builder来完成许多高级应用开发,扩展空间几乎是无限的。从许多优秀的 第三方vcl组件中,可以看出c+ builder强大的开发能力。所以,c+ builder不仅能够让初学者快速开始应用程序的开发,也可以让富有经验的开发者用来开发功能强大的软件 3。2.3技术可行性分析c+ builder依靠c/c+语言和borland公司的技术,提供了高级开发的能力。目前,开发者已经可以使用c+ builder和kylix 3来开发跨平台(windows/linux)的应用程序。相信随着linux向桌面操作系统的发展,kylix能够得到更广泛的使用。另外,对于主流的数据库开发、web应用和web services等,c+ builder都有很好的支持。随着borland公司 alm(application lifecycle management,应用周期管理)的发展,c+ builder已有很多的软件工程支持,包括建模、团队开发、配置管理、测试、优化等环节,都无逢集成到优秀的软件工具中,配合c+ builder,可以在整个软件开发周期中为开发团队中的各个成员(分析师、架构师、开发人员、测试人员、分发团队和管理者)提供完备的支持。例如,将uml建模集成到c+ builder中,提供uml和c+builder程序代码之间的双向生成,可以大大加快软件项目的开发过程。因此,c+ builder成了本系统的开发语言。mysql数据库的出现使信息系统的研制从以加工数据的程序为中心转变为以共享数据库为中心来进行。mysql数据库开始是在大公司或机构中进行大规模数据处理后来随着计算机的逐渐普及,mysql数据库才应用到计算机上。mysql数据库发展到今天,已经是相当成熟的阶段,它对大量数据处理的能力在不断的提高、发展和完善,因此选择mysql数据库是顺理成章的事情。从技术角度分析,mis系统在理论上对于操作系统并没有明确的限制,即采用windows 2000以上的版本;mysql又是我们学习期间最常用的数据库管理系统,它的稳定性和易用型都是我们大家所熟知的。因此在数据管理系统上我采用了mysql。在开发工具的选择上,我选用了c+builder 6.0,它在mis系统的开发中也是被大量经常使用的,所以开发学生管理信息系统在技术上是可行的。2.4操作可行性分析使用c+builder开发本系统,使得系统具有良好的操作界面,简单直接的操作界面,具有较强的人机对话能力。并且,严格按照需求分析设计的各个独立的模块都完全具备其功能,任何人都能方便的操作。再有,本系统适应性强,显示内容简单明了,使操作者不必具有较高的计算机专业知识,也不必进行专门的培训,稍一接触就可以上手进行所有操作。2.5系统组织框架本系统运用c+builder和mysql数据库开发的具有三层结构(数据库-应用服务器-客户端)的高校学生综合管理系统。并且利用各种面向对象的开发工具, 建立各种模板和系统应用原型,在设计过程中通过实际操作不断修正和改进,直到形成满意的可行系统。该系统结构良好、稳定性好、使用方便。系统能够实现基本信息维护(专业、班级、课程、学生、老师、宿舍等基本信息)、教学管理(开课申请、学生选课、活动、比赛等)、宿舍管理(宿舍分配、宿舍缴费等)等几大功能,组织框架如图2-1所示。图2-1 组织框架3总体设计3.1业务流程分析(1)课程管理业务流程在老师开课之前,管理员必须先要录入全校所有可以开设的课程信息,提供给老师选择。老师登录系统后根据课程信息列表选择合适自己的课程申请,申请时,根据申请表的信息完善所申请开设的课程的基本信息,其中包括开课学期、课程性质、考试时间和考试地点等信息,学分和学时等基本信息会在教师选择课程后自动给出。课程开设完成后,教师在根据学生在课堂上的表现,记录学生表现信息,包括考勤、课堂表现、平时作业以及考试成绩等,以此作为成绩判定的标准,如图3-1所示。图3-1 课程管理业务流程图(2)活动申请与组织业务流程教师先根据学校和学院的自身情况和要求,登录高校学生管理系统,提出活动申请,根据申请窗口的提示,填写好申请人的基本信息和活动的基本信息(活动名称、活动性质、活动时间、活动地点、活动级别等),再等待学院和学校审批。学院和学校审批合格后,管理员就会发布本次活动,学生再根据活动的发布来查询和报名,管理员再发布报名情况,如图3-2所示。活动过程中,老师还要记录各个学生的表现,根据表现情况最后给予每个学生相应的成绩,最后老师在进行活动总结,上交过后,等待活动评价。 图3-2 活动管理业务流程图(3)比赛管理业务流程管理员先根据学校和学院的自身情况和要求,收集比赛信息,填写好比赛基本信息(比赛名称、主办单位、活动时间、活动地点、活动级别等),再等待学院和学校审批。学院和学校审批合格后,管理员就会发布比赛,学生再根据活动的发布来查询和报名,管理员再发布报名情况。然后根据报名列表,老师再对学生进行赛前专门辅导,辅导完成后即学生参加比赛。最后管理员根据比较结果发布比赛成绩,授予相应的证书和奖励,同时管理员对这些进行存档,方便以后校对与查询,如图3-3所示。图3-3 比赛业务流程图(4) 宿舍管理业务流程首先宿舍管理员会先根据学院提供的学生名单初步分配好学生宿舍,然后通过管理员把宿舍分配情况发布,学生根据宿舍分配情况入住。等学生入住后,宿舍管理员会定期或者不定期的对宿舍进行考勤和宿舍检查,并做好考勤记录和卫生评分记录。隔一段时间公布考勤记录和卫生评分,供学生查询和核对,如果所以信息都能核对上就上交管理员正式发布;如果不能核对上学生及时向宿舍管理员反馈,管理员及时核实和修正,最后上交系统管理员。等到期末的时候,宿舍管理员就会根据平时的考勤记录信息和平时卫生检查情况信息对每个寝室和个人评分,再根据评出来的总分进行宿舍分配,分配完成后上交给系统管理员发布,学生再根据宿舍分配情况调整宿舍,如图3-4所示。图3-4 宿舍管理业务流程图3.2数据流分析数据流即:只能以事先规定好的顺序被读取一次的数据的一个序列。本系统主要分析的数据流集中在教学管理模块和宿舍管理模块,具体如下。(1)课程管理教师先根据学校和学院的自身情况和要求,登录高校学生管理系统,提出活动申请,根据申请窗口的提示,填写好申请人的基本信息和活动的基本信息(活动名称、活动性质、活动时间、活动地点、活动级别等),再等待学院和学校审批。学院和学校审批合格后,管理员就会发布本次活动,学生再根据活动的发布来查询和报名,管理员再发布报名情况,如图3-5所示。图3-5 课程管理数据流图(2)课堂记录和成绩管理课程开设完成后,教师在根据学生在课堂上的表现,记录学生表现信息,包括考勤、课堂表现、平时作业以及考试成绩等数据的流向,得到最后想要得到的结果,如图3-6所示。图3-6 课堂记录和成绩管理数据流图(3)活动管理教师先根据学校和学院的自身情况和要求,登录高校学生管理系统,提出活动申请,根据申请窗口的提示,填写好申请人的基本信息和活动的基本信息(活动名称、活动性质、活动时间、活动地点、活动级别等),再等待学院和学校审批。学院和学校审批合格后,管理员就会发布本次活动,学生再根据活动的发布来查询和报名,管理员再发布报名情况,如图3-7所示。图3-7 活动管理数据流图(4)比赛管理管理员先根据学校和学院的自身情况和要求,收集比赛信息,填写好比赛基本信息(比赛名称、主办单位、活动时间、活动地点、活动级别等),再等待学院和学校审批。学院和学校审批合格后,管理员就会发布比赛,学生再根据活动的发布来查询和报名,管理员再发布报名情况等数据的流向过程,如图3-8所示。图3-8 比赛管理数据流图 (5)宿舍管理其数据流图宿舍管理员登陆系统后,进入宿舍管理模块,再每学期开学的时候,宿舍管理员都会把宿舍分配情况发布到系统里面,让同学和老师查询,学生再根据分配情况各自搬到相应的宿舍,如图3-9所示。学生入住后,管理员会定期或者不定期的对宿舍进行检查,包括考勤与卫生检查,并且做记录,以及发布考勤和得分情况供学生核对,在期末时根据平时的考勤和得分情况计算出总分,并发布供学生查询,最后根据总分的高低来安排宿舍。图3-9 宿舍管理数据流图3.3功能树基础资料|-学生信息|-班级信息维护|-专业信息维护|-学生信息维护|-学生信息查询|-教师信息|-课程基本信息维护|-教师信息维护|-教师信息查询|-宿舍管理员信息|-宿舍管理员信息维护|-宿舍管理员信息查询|-宿舍信息|-宿舍信息维护|-宿舍信息查询教学管理|-学籍管理|-报道注册|-学籍注销:学生毕业|-课程管理|-开课申请|-开课审批与发布|-学生选课|-选课发布|-考试安排|-考试成绩录入|-成绩发布|-活动管理|-活动申请|-活动发布|-活动查询与报名|-活动报名情况发布|-活动记录与总结|-比赛管理|-比赛信息发布|-比赛信息查询与报名|-比赛报名发布宿舍管理|-日常管理|-发布宿舍分配信息|-考勤记录|-卫生评分|-综合评分|-总分发布|-总分查询|-发布宿舍调整信息|-查询宿舍调整信息|-后勤管理|-发布费用清单|-收费处理|-缴费查询3.4用例图(1)教师用例 教师登录系统后,系统根据用户角色授权显示教师登录界面,其功能有开课申请、考试安排、成绩录入、成绩录入、活动申请、活动报名查询、比赛报名查询、学生信息查询、教师信息查询等,教师可以根据需要操作相应模块,如图3-10所示。图3-10 教师用例图(2)管理员用例 管理员登录系统后,系统根据用户角色授权显示管理员登录界面,其功能有基础信息维护(学生信息、教师信息、班级信息、专业信息、课程信息、宿舍信息等)、报道注册、信息发布(开课列表、选课信息、成绩信息、活动列表、各种报名信息)等,管理员可以根据需要操作相应模块,如图3-11所示。图3-11 管理员用例图 (3)学生用例 学生登录系统后,系统根据用户角色授权显示学生登录界面,其功能有比赛报名、活动报名、选课以及各种信息查询等,学生可以根据需要操作相应模块,如图3-12所示。图3-12 学生用例图 (4)宿舍管理员用例宿舍管理员登录系统后,系统根据用户角色授权显示宿舍管理员登录界面,其功能宿舍分配、宿舍检查、总分发布、费用清单发布、收费处理和宿舍信息查询等,宿舍管理员可以根据需要操作相应模块,如图3-13所示。图3-13 宿舍管理员用例图4数据库设计本系统采用mysql数据库设计,mysql的数据库对象主要包含有表、主键、约束、默认值、数据类型、视图、存储过程等。数据库的数据特点都是通过数据库对象表现出来的,在设计数据库之前弄清数据库对象是非常必要的。下面是设计数据表的具体步骤:(1)确定数据库实体:确定数据库实体即是具有相同属性的事件或事物,在设计数据表之前我们应该深入的考虑所做的程序都用到实体的什么属性和该怎样表述。(2)规划数据表:表是具体组织和存储数据的对象,由列和行组成。表中的数据通常是关于某个特定类别的事物的信息。在设计时,行和列的顺序可以是任意的,但一个表中列的名字必须是唯一的,这就能保证不出现重复的属性。(3)确定主键:主键是表中一列或多列的组合,其值唯一标识了表中的一行记录。任意两行之间的主键不能有相同的值,它确定了表中不能出现有相同的数据。(4)选择数据类型:sql server 2000 提供的数据类型有系统数据类型和用户自定义类型,它表明了数据的属性。数据类型必须与该数据所表示的对象属性相符。(5)确定数据约束:约束是sql server 2000实施数据一致性和完整性的方法。它对表中各列的取值范围进行限制,使数据更为合理。(6)确定外键:外键是确定表与表之间关系的数据对象,表与表之间的关系也只能由外键来确定,只有确定表与表之间的关系后,数据库里的数据才能相互联系起来,才是一个完整的数据库体系。4.1模块e-r图(1)登录管理登录窗体中,首先要定义好菜单的各个属性,例如:编号、名称、菜单级别号、授权等级、窗体名称等。这样才能确定菜单生成后会出现在哪个窗体上,出现的级别是怎么样的。菜单列表与角色菜单列表的对应关系是一对多的关系,因为同一个菜单列表可以对多个角色开放,一个角色只有一个菜单列表,其e-r图如图4-1所示。图4-1 登录管理e-r图(2)基本信息在基本信息e-r图中,最关键的实体是学生,其中的关系为学生与班级的对应关系是多对一,因为一个班级由多个学生组成,而一个学生只能在一个班级里;班级与专业也是多对一的关系,一个专业会有多个班级,一个班级只能属于一个专业;专业与教师的关系为多对一,一个专业有许多老师,而一个老师只属于一个专业;学生与入住信息是一对一的关系,一个学生只有一个入住信息,一张入住信息表也只记录一个学生的信息;入住信息与宿舍信息是多对一的关系,一个入住信息记录只能属于一个宿舍,而一个宿舍可以入住多个学生,就会有多个入住信息记录,其e-r图如图4-2所示。图4-2 基本信息e-r图(3)课程管理在课程管理e-r图中,学生与选课的对应关系是一对多的关系,一个学生可以有多个选课信息,一个选课信息只能属于一个学生;选课与课程信息的对应关系是多对一的关系,一条开课信息可以有很多同学选择,所以会有多个选课信息,而一个选课信息只能对应一条开课信息;课程信息与课程列表是多对一的关系,一门课可以有多个老师开设,或者一个老师对同一门课教授多个班级,而每一条开课信息只能属于某一门课,其e-r图如图4-3所示。图4-3 课程管理e-r图(4)缴费管理在缴费管理e-r图中,学生信息与缴费记录的对应关系为一对多,因为一个学生可以有多次缴费,会产生多条缴费记录,或者一个学生一次可以交多种费用,也会产生多条记录,而一条记录只能有一个学号,其e-r图如图4-4所示。图4-4 缴费管理e-r图 (5)活动管理在活动管理e-r图中,学生信息与活动记录是一对多的关系,因为一次活动中学生只能报名一次,而活动会有很多学生报名;活动记录与活动列表是对多一的关系,一次活动可以有多条活动记录来记录学生的活动信息,而一条活动记录只能记录本次活动的信息,其e-r图如图4-5所示。图4-5 活动管理e-r图 (6)宿舍检查在宿舍检查e-r图中,宿舍信息与宿舍检查信息的对应关系为一对多的关系,因为在本系统中,一条宿舍检查信息只能记录一个学生的检查信息,而一间宿舍会住有多个学生,会产生多条检查记录,其e-r图如图4-6所示。图4-6 宿舍检查e-r图4.2据库逻辑设计4.2.1基础资料数据库设计本过程是将数据库概念结构转化为mysql数据库系统支持的实际数据模型,即数据库的逻辑结构。系统数据库中各个表的设计结果如下所示。(1)学生信息表(p_student):主要存放学生基本信息,如表4-7所示。数据来源:直接在学生信息维护窗体中录入;关系模式为:p_student(学号,姓名,性别,籍贯,身份证号,初三日期,家庭地址,邮编,联系电话,状态,e_mail)。表4-7 学生信息表(2)教师信息表(p_teacher):主要存放教师基本信息,如表4-8所示。数据来源:直接在教师信息维护窗体中录入;关系模式为:p_teacher(职工号,姓名,性别,职称,联系电话,手机,地址,邮编,e_mail)。表4-8 教师信息表(3)班级信息表(p_class_info):主要存放班级基本信息,如表4-9所示。数据来源:直接在班级信息维护窗体中录入;关系模式为:p_class_info(班级id,班级编号,班级名称,人数,入学时间,毕业时间,班级状态)。表4-9 班级信息表 (4)专业信息表(p_major):主要存放专业基本信息,如表4-10所示。数据来源:直接在专业信息维护窗体中录入;关系模式为:p_major(专业id,专业编码,专业名称,专业负责人id,专业负责人,所属系编码,所属系名称,系主任id,系主任,所在学院编码,所在学院,院长id,院长)。表4-10 专业信息表(5)宿舍信息表(dor_info):主要存放宿舍基本信息,如表4-11所示。数据来源:直接在宿舍信息维护窗体中录入;关系模式为:p_major(楼号,宿舍号,床位数,宿舍电话,财产情况)。表4-11 宿舍信息表(6)菜单列表(sys_menu):主要存放菜单基本信息,如表4-12所示。数据来源:在主窗体创建后通过sql语言添加到数据库;关系模式为:sys_menu(menuid,objid,supid,menutitle,formname,paramdescription,remark)。表4-12 菜单列表(7)用户表(sys_user):主要存放用户基本信息,如表4-13所示。数据来源:管理员在各个用户维护窗体中录入,自动添加到数据库;关系模式为:sys_user(用户id,角色id,密码,用户状态,创建日期,描述)。表4-13 用户表(8)课程信息表(p_course_list):主要存放用户基本信息,如表4-14所示。数据来源:管理员在课程信息维护窗体中录入,自动添加到数据库;关系模式为:p_course_list(课程id,课程编号,课程名,学分,学时,推荐教材,专业id)。表4-14 课程信息表4.2.2教学管理数据库设计(1)开课申请表(p_courses):主要存放开课基本信息,如表4-15所示。数据来源:教师在开课申请窗体中录入,自动添加到数据库;关系模式为:p_course(开课编号,课程性质,课程状态,开课学期,考试时间,考试地点,教材,教学大纲)。表4-15 开课申请表(2)选课表(edu_select_course):主要存放选课基本信息,如表4-16所示。数据来源:学生在选课申请窗体中录入,自动添加到数据库;关系模式为:edu_select_course(学号,课程id,编号,选课时间,考勤成绩,课堂表现成绩,平时成绩,考试成绩,补考成绩,总成绩)。表4-16 选课表 (3)活动列表(edu_activities_list):主要存放活动基本信息,如表4-17所示。数据来源:教师在活动申请窗体中录入,自动添加到数据库;关系模式为:edu_activities_list(活动号,活动名称,活动性质,活动级别,活动状态,活动时间,活动地点,活动内容,姓名,职工号)。表4-17 活动列表(4)活动记录表(edu_activities_record):主要存储活动记录信息,如表4-18所示。数据来源:在活动记录窗体中录入,自动添加到数据库;关系模式为:edu_activities_record(学号,姓名,活动号,报名时间,活动表现记录,活动成绩,活动总结,活动评价,备注)。表4-18 活动记录表 (5) 比赛列表(edu_competition_list):主要存放比赛信息,如表4-19所示。数据来源:在比赛窗体中录入,自动添加到数据库;关系模式为:edu_competition_list(比赛号,比赛名称,比赛级别,比赛时间,比赛地点,相关专业,主办单位,比赛内容,报名条件,进行状态)。表4-19 比赛列表 (6)比赛记录表(edu_competition_record):存放比赛记录信息,如表4-20所示。数据来源:在比赛报名窗体中录入,自动添加到数据库;关系模式为:edu_competition_list(学号,姓名,比赛号,报名时间,比赛表现记录,比赛成绩,比赛总结,比赛评价,备注)。表4-20 比赛记录表4.2.3宿舍管理数据库设计(1)入住信息表(dor_in_info):主要存放入住信息,如表4-21所示。数据来源:在入住登记窗体中录入,自动添加到数据库;关系模式为:dor_in_info(学号,楼号,宿舍号,入住时间,床号)。表4-21 入住信息表(2)缴费记录表(dor_payment_info):主要存放缴费信息,如表4-22所示。数据来源:在缴费窗体中录入,自动添加到数据库;关系模式为:dor_payment_info(编号,缴费记录编号,学号,楼号,宿舍号,宿舍管理员编号,缴费名称,缴费金额,缴费时间,备注)。表4-22 缴费记录表(3)宿舍检查表(dor_check_cleanl_record):主要存放检查信息,如表4-23所示。数据来源:在检查窗体中录入,自动添加到数据库;关系模式为:dor_payment_info(楼号,宿舍号,床号,检查日期,宿舍管理员编号,学号,姓名,卫生成绩,出去标志,打分依据,意见,备注)。表4-23 宿舍检查表4.3数据库连接本系统采用mysql数据库,首先根据业务流图、数据流图、功能树和er图等结合powerdesigner软件画好各个表以及表与表之间的关系;再根据已有的关系生成可执行的.sql文件,通过命令:mysql -u root -p tchstuuserid,admin)=0) strcpy(user-username,管理员); else dataset-close(); switch (user-roleid) case 2: dataset-commandtext=select teachername from p_teacher where (teacherid=+ansistring(user-userid)+); break; case 3: dataset-commandtext=select stuname from p_student where (stunum=+ansistring(user-userid)+); break; 5.1.2密码修改用户登录后,可以选择修改密码,修改密码界面如图5-2所示。图5-2 密码修改当每次添加一个新用户时,会自动创建账户和密码,每个新用户的初始密码都设置为空,所以每个用户登录后都可以根据自己的情况修改密码,密码为长度不超过32位的字符。5.1.3基础信息下拉菜单在客户端主界面中,鼠标滑动到菜单上,就会显示出下拉菜单列表,如图5-3所示。图5-3 基础信息下拉菜单列表5.1.4班级和专业信息维护 (1)班级信息维护的界面,如图5-4所示。图5-4 班级信息维护(2)主要实现的功能添加功能:管理员刚进入系统是没有班级,管理员要根据实际情况点击【添加】按钮来添加已有的班级信息,其中班级的添加是根据所在系来选择添加的。点击添加后会弹出一个班级属性的窗体,里面有班级所属系的选择,如图5-5所示。修改功能:管理员点击【修改】按钮时,如果有班级列表并选择了一个,则会弹出如图5-5的窗口,修改需要修改的属性,然后点击保存就会自动保存到数据库里面去;如果没有选择班级,则自动选择第一个;如果没有班级列表,会提示你选择班级。图5-5 班级属性删除功能:点击【删除】按钮时,如果有班级列表并选择了一个,就会删除一个班级项;如果没有选择班级,则自动选择第一个;如果没有班级列表,会提示你选择班级。退出功能:点击【退出】按钮后,会直接返回到客户端主窗体界面,可以继续选择其他菜单。cdsproperty组件的实现是:select c.classid,c.classcode,c.classname,m.majorname,c.classcount,c.intime from p_class_info as c left join p_major m on (c.majorid=m.majorid) where (c.class_status=1)。在图5-5班级属性窗体中点击speedbutton1按钮,选择班级所属的系,选择系后再在各个dbedit中填写班级属性,点击保存即可。点击speedbutton1按钮后,会弹出所以系的列表,如图5-6所示。cdsproperty组件的实现是:select c.classid,c.classcode,c.classname,c.majorid,c.classcount,c.intime,c.outtime,class_status from p_class_info as c where (c.classid=:oid),其中oid是一个整形参数,通过点击speedbutton1获得。cdsproperty通过sql语句和数据库连接,把当前classid和系列表中的classid联系起来,产生的数据直接保存到数据库里面。图5-6 专业列表其中管理员也可以通过点击专业列表窗体中的【添加】、【删除】、【保存】、【退出】等按钮来对专业进行维护,但是每次添加或者删除和修改后都必须点击保存才能生效,其中添加事件的代码如下:cdsgrid-append();cdsgrid-edit();cdsgrid-fieldbyname(majorid)-asinteger=getmaxid(p_major,majorid);通过cdsgrid组件直接保存到数据库里面。5.1.5学生信息维护 (1)学生信息维护界面设计,如图5-7所示。图5-7 学生信息列表(2)主要实现的功能添加功能:管理员刚进入系统是没有学生信息,管理员要根据实际情况点击【添加】按钮来添加学生信息,其中学生的添加是根据所在班级来选择添加的。点击【添加】按钮前必须通过speedbutton1按钮来选择一个班级,否则会提示没有选择班级,不能添加。选择班级后,会弹出一个如图5-8所示的窗口,双击所需要的选择的班级,则在图5-7的窗体中就会显示班级名称。图5-8 班级列表修改功能:管理员点击【修改】按钮时必须通过speedbutton1按钮来选择一个班级,否则会提示没有选择班级,不能修改。如果有学生列表并选择了一个,则会弹出如图5-9的窗口,修改需要修改的属性,然后点击保存就会自动保存到数据库里面去;如果没有选择学生,则自动选择第一个;如果没有学生列表,会提示你选择一个学生。图5-9 学生属性删除功能:点击【删除】按钮时必须通过speedbutton1按钮来选择一个班级,否则会提示没有选择班级,不能删除。如果有学生列表并选择了一个,就会删除一个学生项;如果没有选择学生,则自动选择第一个;如果没有学生列表,会提示你选择一个学生。退出功能:点击【退出】按钮后,会直接返回到客户端主窗体界面,可以继续选择其他菜单。在【添加】或者【修改】学生属性时,对于出生日期的选择是通过speedbutton1来实现的,点击一下speedbutton1按钮,会出现如图5-10的日期窗口,供你选择。 图5-10 日期选择(3)主要代码实现日期选择的speedbutton1代码实现:void _fastcall tformsut:speedbutton1click(tobject *sender) ansistring day= cdsproperty-fieldbyname(stu_birthdate)-asstring; day=getdate1(day); cdsproperty-edit(); cdsproperty-fieldbyname(stu_birthdate)-asstring=day; 其中学生信息列表中dbgrideh1的oddrowcolor属性设置为clwindow,表示dbgrideh1的颜色为默认颜色;borderstyle属性设置为bdlefttoright,表示dbgrideh1的列表从左到右对齐;ctl3d属性设置为true,表示带有3d效果。5.1.6课程信息维护 (1)课程信息维护界设计,面如图5-11所示。图5-11 课程信息列表(2)主要实现的功能添加功能:管理员要根据实际情况点击【添加】按钮来添加课程信息,其中课程的添加是根据所在专业来选择添加的。点击【添加】按钮前必须通过speedbutton1按钮来选择一个专业,否则会提示没有选择班级,不能添加。选择专业后,会弹出一个如图5-11所示的窗口,双击所需要的选择的班级,则再图5-11的窗体中就会显示专业名称。然后再点击【添加】按钮,会出现图5-12的窗体。cdsproperty组件的实现是:select c.course_id,c.course_num,c.course_name,c.course_credits,c.course_hours from p_course_list as c where(c.majorid=:majid) ,其中majid是一个整形参数,通过点击speedbutton1获得。修改功能:管理员点击【修改】按钮时必须通过speedbutton1按钮来选择一个班级,否则会提示没有选择班级,不能修改。如果有课程列表并选择了一个,则会弹出如图5-12的窗口,修改的属性,然后点击保存就会自动保存到数据库里面去;如果没有选择课程,则自动选择第一个;如果没有课程列表,会提示你选择一门课程。删除功能:点击【删除】按钮时必须通过speedbutton1按钮来选择一个专业,否则会提示没有选择专业,不能删除。如果有课程列表并选择了一个,就会删除一个课程项;如果没有选择课程,则自动选择第一个;如果没有课程列表,会提示你选择一门课程。退出功能:点击【退出】按钮后,会直接返回到客户端主窗体界面,可以继续选择其他菜单。图5-12 课程属性(3)主要代码实现专业列表的双击事件代码实现: void _fastcall tformmajorlist:dbgrideh1dblclick(tobject *sender) if (cdsgrid-fieldbyname(majorid)-asinteger=0) application-messagebox(空行不能选择,请选择退出!,提示,mb_ok) ; else iteminfo-itemid= cdsgrid-fieldbyname(majorid)-asinteger; iteminfo-itemname= cdsgrid-fieldbyname(majorname)-asstring; modalresult=mrok; /关闭窗口其中课程属性窗体中cdsproperty组件的实现是:select * from p_course_list where(course_id=:oid),oid为双击事件后自动连接的课程编号的值;dbedit1到dbedit6这六个组件的datasource属性为datasource1,连接到应用服务器的【编辑】组件上,datafield属性为各自的名称,与数据库中各个属性对应并建立连接。5.2教学管理功能设计与实现5.2.1开课申请 (1)开课申请界面设计,如图5-13所示。图5-13 教师开课申请(2)功能实现开课申请是通过speedbutton1选择所有课程列表,然后教师在根据课程列表选择自己要开始的课程。当点击客户端主窗体上【开课申请】后出现如图5-13所示窗体,窗体上会直接显示当前登录教师的名字,然后点击speedbutton1按钮会出现如图5-14所示的课程列表。如果课程列表为空,双击后会直接退回到申请界面;如果课程列表不为空,双击所要选择的课程后,课程列表会自动关闭,同时开课申请表里面会通过cdsgrid的连接自动显示出课程名称、学分、学时等信息。图5-14 课程列表cdsgrid组件实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政日益完善的法律体系+课件-2024-2025学年统编版道德与法治七年级下册
- 《烧烤技巧教程》课件
- 锂电池管理系统详解
- 政影响深远的人文精神+课件-2024-2025学年统编版道德与法治七年级下
- 《光学衍射原理》:课件
- 《电路原理及应用》课件
- 《听力损失基因检测》课件
- 《美食探索盛宴》课件
- 健康活动大家来锻炼
- 低血糖的反应及处理流程
- 卡通家庭急救常识知识讲座PPT模板
- 《光电显示技术》OLED原理
- 2022年重庆江津中考数学试题及答案(A卷)
- 反恐安全政策
- 创新教学任务
- 浅谈脓毒血症的集束化治疗及护理-PPT课件
- 新部编版《道德与法治》五年级下册第7课《不甘屈辱 奋勇抗争》优质课件(含视频)
- 架子工班组承包协议
- 化验室化学试剂台账范例
- 杨家湾220KV变电站工程预算表
- 第七课:构图的形式
评论
0/150
提交评论