Java学生选课系统实验报告.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 学生 选课 系统 实验 报告
- 资源描述:
-
广东商学院华商学院 课 程 设 计 论 文 基于Delphi7的教务管理系统的设计与实现 组员姓名: 郭健聪,郭弈鑫,黄佳华, 黄望东,黄心炜,李景行, 李珊瑚,梁绮珊 组员学号:9到16号 专业:06软件技术1班 指导老师:叶丽珠老师 提交日期:2008年12月 基于Delphi7的教务管理系统的设计与实现 摘 要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于Delphi 7与数据库技术建立一个高校教务管理系统该系统为学生和教师提供了查询、修改、存储、增加记录、选课等功能,功能比较落齐全,基本上能满足学生和老师的要求。 目 录 摘 要 2 前言 4 1 需求分析 4 1.1 功能需求分析 4 1.2 性能需求分析 5 1.3 数据库需求分析――数据流图 6 1.4数据库需求分析――数据流图 6 2概要结构设计 12 2.1系统功能结构设计 12 2.2 数据库概念结构设计 14 3逻辑结构设计 18 4详细设计及功能实现 23 4.1用户登录模块设计与实现 23 5总结 41 参考文献 41 前言 教务管理工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织 、协调 、指挥并指导各方面人员的活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。教务管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。教务管理工作关系到高校教学秩序的稳定和教学质量的提高,关系到高校的发展和人才的培养,教务管理高校中占有相当重要的地位。 随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。同时,运用先进的信息技术,开发高校综合教务管理信息系统,是深化教务体制改革的有利措施。 Delphi7是以组件化的编程方式、面向对象的程序设计、快速的Pascal编译器、众多的组件和强大的数据库及网络应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者的青睐。Delphi7是Windows系统下的可视化集成开发工具,提供了强大的可视化组件功能,使程序员能够快速、高效地开发出Windows系统下的应用程序,特别是在数据库和网络方面,Delphi7与其它开发工具相比更是胜出一筹。可视化主要是指开发图形用户界面时,不需编写大量程序代码以描述界面的外观特性,而只需把所需的组件加入窗体相应位置即可。 1 需求分析 1.1 功能需求分析 该教务管理系统具备两方面的功能:一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础维护(学生信息维护、班级信息维护、课程信息维护)、教学管理(课表查询、学生选课)、报表统计(打印成绩单)、用户维护;另一方面老师进入该系统则比学生多一个权限:成绩输入。 具体功能的详细描述如下 1.1.1 选择[基础维护] [班级信息维护]菜单命令,即可进入 [班级信息维护]功能窗体,在其中输入学校班级相关的信息,如果需要新增或修改班级信息,则单击相应的按纽,输入新信息后单击[保存]就可以了。需要删除一条信息,则只要选择这条信息再点击 [删除]。在搜索条件中输入相关的条件,单击 [搜索]就可查找信息。 1.1.2 选择[基础维护] [学生信息维护]菜单命令,即可进入 [学生信息维护]功能窗体,在其中输入学号姓名信息。其中[班级编号]、[政治面貌编号][民族编号][籍贯编号]和[学籍编号]列表框是通过和数据库中相应的代码表相联而生成的。 1.1.3 选择[基础维护] [课程信息维护]菜单命令,即可进入 [课程信息维护]功能窗体。 1.1.4 选择[教学管理] [学生选课]菜单命令,即可进入 [学生选课]功能窗体,在学号框中输入学号。然后在[课程信息] 组合框中输入条件,查询并选择要选的课程,单击[选课],系统将会检查该门课程是否已选择,其中[班级编号]、[政治面貌编号][民族编号][籍贯编号]和[学籍编号]列表框是通过和数据库中相应的代码表相联而生成的。 1.1.5 选择[教学管理][课表查询] 界面,学生输入学号等信息就可以看到自己的课表。 1.1.6 选择[教学管理][成绩输入] 界面此界面对学生是不可见的,按中止选课按纽后,再选择一门课程,在下面的表格中将显示所有选了这门课的学生信息,教师将学生的成绩输入或修改,按最终提交后成绩不能再修改。 1.1.7 选择[报表统计] [打印成绩单] 输入学号等信息就可打印成绩。 H 选择[用户维护] [修改密码] 用户可根据界面的提示信息修改自己的密码;选择[退出]将退出整个系统。 1.2 性能需求分析 时间特性要求:在软件方面,响应时间,更新处理时间都要求比较快而且迅速,这就需要采用存储过程技术,才能够满足用户的需要,在这个系统中用到了两个存储过程,它们分别是成绩提交 、终止选课, 其中成绩提交用来存储教师在修改成绩后提交的结果,终止选课用来存储结束选课。 安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有学生和教师才能进入这个系统,此系统没有高及到管理员的操作,用户凭学生的口令号 即 学号进入;教师的口令号和密码进入此系统。 1.3 数据库需求分析――数据流图 在教务系统中功能模块主要牵涉到的信息包括:是学生信息(XSXX)、课程信息(KCXX)、选课信息(XKXX)、籍贯代码表(JGDMB)、政治面貌代码表(ZZMMDMB)、成绩表(CJB)、课程表(KCB)、班级信息(BJXX)、民族代码表(MZDMB)、登陆表(DLB)和学籍代码表(XJDMB)。 学生信息:包含学号(xh)、姓名(xm)、班级编号(bjbh)、性别(xb)、政治面貌编号(zzmmbh)、身份证号(sfzh)、籍贯编号(jgbh)、学籍编号(xjbh)、民族编号(mzbh)。 课程信息:包括课程编号(kcbh)、课程名称(kcmc)、本学期课程(bxqkc)、教师(js)、开课系别(kkxb)、学分(xf)、课程简称(kcjc)、拼音码(pym)。 选课信息包括:编号(bh)、学号(xh)、课序号(kxh)。 籍贯代码表包括:籍贯编号(jgbh)、籍贯(jg)。 政治面貌代码表包括:政治面貌编号(zzmmbh)、政治面貌(zzmm)。 成绩表包括:编号(bh)、学号(xh)、课程编号(kcbh)、成绩(cj)、考试次数(kscs)、是否补修(sfbx)、是否重考(sfck)、是否已确定成绩(sfyqdcj)。 课程表包括:编号(bh)、课序号(kxh)、课程编号(kcbh)、上课时间天(sksjt)、上课时间节(sksjj)、上课地点(skdd)。 班级信息包括:班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)、班主任(bzr)。 民族代码表包括:民族编号(mzbh)、民族(mz)。 登陆表包括:口令号(klh)、密码(mm)、权限(qx)。 学籍代码表包括:学籍编号(xjbh)、学籍(xj)。 用 户 数 据 库 返回信息 账号信息2 开发环境与工具介绍 前端客户端我用的是Macromedia Dreamweaver 8来编写JSP文件。中间业务逻辑层的JavaBeans用的是JBuilderX EnterpriseX版。数据库的编写是采用MYSQL数据库。 2.1开发环境 由于我用的是JBuilderX Enterprise版开发的这个系统,这个开发软件功能十 分强大,所以自然对开发环境要求相对来说比较高。 1.对系统硬件的要求:最小512M RAM,推荐786MB RAM。 2. 对系统平台的要求: Windows平台 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。 操作系统:Microsoft Windows2000(SP4)、WindowXP或者WindowsServer2003。 Linux平台 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。 操作系统:Sun Java Desktop System Release2或者RedHat Enterprise Linux 3 .0 2.2 运行环境: 硬件:适用于数据吞吐量较大的不同服务器; 软件 :服务器端:WINDOWS XP+MySQL 用户端: WindowXP+IE 登陆信息 操 作 登 录 根据以上划分的具体数据信息,得到数据流图如1.1所示: 寻找信息 错误信息 1.1数据库需求分析――数据流图 1.4.1 数据项: 表1-1 Field Type Null Key Comment Xh char(14) —— PRI 学号 Xm char(10) YES —— 姓名 Bjbh Char(14) —— —— 班级编号 Xb Char(2) YES —— 性别 Nj Char(4) YES —— 年级 Zzmmbh Char(2) —— —— 政治面貌编号 Mzbh Char(2) —— —— 民族编号 Jgbh Char(2) —— —— 籍贯编号 Xjbh Char(2) —— —— 学籍编号 Sfzh Char(18) YES —— 身份证号 Bjbh Char(14) —— PRI 班级编号 Bjmc Char(30) YES —— 班级名称 Nj Char(4) YES —— 年级 Rs Char(5) YES —— 人数 Bzr Char10) YES —— 班主任 Kcbh Char(14) —— PRI 课程编号 Kcmc Char(30) YES —— 课程名称 Bxqkc Char(4) YES —— 本学期课程 Kkxb Char(5) YES —— 开课系别 Js Char10) YES —— 教师 Xf Int(4) YES —— 学分 Kcjc Char(10) YES —— 课程简称 Pym Char(10) YES —— 拼音码 Bh Int(4) —— PRI 编号 Xh Char(14) YES PRI 学号 Kxh Char(14) YES PRI 课序号 Bh Char(2) —— PRI 编号 kcbh Char(10) YES PRI 课程编号 Kxh Char(14) YES PRI 课序号 sksjj Char(4) YES —— 上课时间节 sksjt Char(4) YES —— 上课时间天 skdd Char(20) YES —— 上课地点 Bh Char(2) —— PRI 编号 kcbh Char(10) YES PRI 课程编号 Xh Char(14) YES PRI 学号 Cj Int(4) YES —— 成绩 kscs int(4) YES —— 考试次数 sfbx Char(10) YES —— 是否补修 sfck Char(10) YES —— 是否重考 sfyqdcj Char(10) YES —— 是否已确定成绩 mzbh Char(2) —— PRI 民族编号 Mz Char(18) YES —— 民族 zzmmbh Char(2) —— PRI 政治面貌编号 zzmm Char(14) YES —— 政治面貌 jgbh Char(2) —— PRI 籍贯编号 Jg Char(18) YES —— 籍贯 xjbh Char(2) —— PRI 学籍编号 xj Char(10) YES —— 学籍 Klh Char(12) —— PRI 口令号 Mm Char(10) YES —— 密码 Qx Char(50) YES —— 权限 1.4.2 数据结构: 学生信息={组成: { 学号(xh)、姓名(xm)、班级编号(bjbh)、性别(xb)、政治面貌编号(zzmmbh)、身份证号(sfzh)、籍贯编号(jgbh)、学籍编号(xjbh)、民族编号(mzbh)}} 课程信息={组成: {课程编号(kcbh)、课程名称(kcmc)、本学期课程(bxqkc)、教师(js)、开课系别(kkxb)、学分(xf)、课程简称(kcjc)、拼音码(pym)}} 选课信息={组成:编号(bh)、学号(xh)、课序号(kxh)}} 籍贯代码表={组成:籍贯编号(jgbh)、籍贯(jg)}} 政治面貌代码表={组成:政治面貌编号(zzmmbh)、政治面貌(zzmm)}} 成绩表包括={组成:编号(bh)、学号(xh)、课程编号(kcbh)、成绩(cj)、考试次数(kscs)、是否补修(sfbx)、是否重考(sfck)、是否已确定成绩(sfyqdcj)}} 课程表包括={组成:编号(bh)、课序号(kxh)、课程编号(kcbh)、上课时间天(sksjt)、上课时间节(sksjj)、上课地点(skdd)}} 班级信息={组成:班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)、班主任(bzr)}} 民族代码表={组成:民族编号(mzbh)、民族(mz)}} 登陆表={组成:口令号(klh)、密码(mm)、权限(qx)}} 学籍代码表={组成:学籍编号(xjbh)、学籍(xj)}} 1.4.3 数据流: 1.4.3.1 对图1.1中所涉及的数据流描述如下: 1) 数据流名:学号信息 说明:根据这个口令号定位到用户管理数据库,以便进行身份验证。 数据流来源:登陆界面输入的口令号和密码。 数据流去向:其中用户口令信息将存在于整个操作过程中,防止非法登陆。 数据流组成:口令号(文本);密码(文本) 2) 数据流名:寻找信息 说明:根据学生在班级信息维护的时候所填写的信息。 数据流来源:班级信息维护界面学生输入包含班级编号、班级名称、年级、人数、班主任。 数据流去向:班级编号将存在整个操作,其它的存入数据库。 数据流组成:班级编号(文本);班级名称(文本);年级(文本);人数(文本);班主任(文本); 3) 数据流名:寻找信息 说明:根据学生在学生信息维护的时候所填写的信息。 数据流来源:学生信息维护界面学生输入包含学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号。 数据流去向:学号将存在整个操作,其它的存入数据库。 数据流组成:学号(文本)、姓名(文本)、班级编号(文本)、性别(文本)、政治面貌编号(文本)、身份证号码(文本)、籍贯编号(文本)、学籍编号(文本)、民族编号(文本)。 4) 数据流名:寻找信息 说明:根据课程在班级维护的时候所填写的信息。 数据流来源:课程信息维护界面学生输入包含课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码。 数据流去向:课程编号将存在整个操作,其它的存入数据库。 数据流组成:课程编号(文本)、课程名称(文本)、本学期课程(文本)、教师(文本)、开课系别(文本)、学分(整型)、课程简称(文本)、拼音码(文本)。 5) 数据流名:返回信息 说明:根据课程在学生维护的时候所填写的信息存入数据库后。 数据流来源:由课程信息维护界面学生输入的包含课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码存入数据库后。 数据流去向:课程信息维护界面。 数据流组成:课程编号(文本)、课程名称(文本)、本学期课程(文本)、教师(文本)、开课系别(文本)、学分(整型)、课程简称(文本)、拼音码 (文本)。 6) 数据流名:返回信息 说明:根据学生在学生信息维护的时候所填写的信息存入了数据库之后。 数据流来源:由学生信息维护界面学生输入的包含学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号存入数据库的。 数据流去向:学生信息维护界面。 数据流组成:学号(文本)、姓名(文本)、班级编号(文本)、性别(文本)、政治面貌编号(文本)、身份证号码(文本)、籍贯编号(文本)、学籍编号(文本)、民族编号(文本)。 7) 数据流名:返回信息 说明:根据学生在班级维护的时候所填写的信息存入数据库后。 数据流来源:由班级信息维护界面学生输入的包含班级编号、班级名称、年级、人数、班主任存入数据库的。 数据流去向:班级信息维护界面。 数据流组成:班级编号(文本);班级名称(文本);年级(文本);人数(文本);班主任(文本); 1.4.4 数据存储: sf—成绩提交={输入数据流:成绩, 数据流去向:成绩输入} sf—终止选课={输入数据流:选择一门课程,数据流去向:数据库} 1.4.5 数据处理过程: 1.4.5.1 对图1.1中所涉及的处理过程描述如下: 1) 处理过程名:登陆 输入数据流:口令号、密码 输出数据流:不符合输入条件的错误信息 处理过程逻辑:用 IF条件进行判断。 2) 处理过程名:班级信息维护 输入数据流:班级编号、班级名称、年级、人数、班主任。 输出数据流:班级编号、班级名称、年级、人数、班主任,其中班级编号将存在整个操作。 处理过程号:民族编号,其中学号将存在整个操作。 3) 处理过程名:班级信息维护 输入数据流:课程编号、课程名称、本学期课程、教师、开课系别、学分、 4) 处理过程名:学生信息维护 输入数据流:学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号。 输出数据流:学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编课程简称、拼音码。 输出数据流:课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码。其中课程编号将存在整个操作。 5) 处理过程名:学生选课 输入数据流:学号、姓名、班级、课程拼音、课程编号、课程名称、课序号 输出数据流:学号、课序号、课程编号、课程名称、拼音码、开课系别、教师、其中课程编号将存在整个操作。 6) 处理过程名:课表查询 输入数据流:学号、姓名、班级 输出数据流:学号、课序号、班级名称、课程名称、上课时间节、上课时间天、上课地点、其中课程编号将存在整个操作。 7) 处理过程名:成绩输入 输入数据流:课程编号、课程名称、拼音码 输出数据流:编号、学号、、课程名称、成绩 、其中编号和学号将存在整个操作。 2概要结构设计 2.1系统功能结构设计 2.1.1模块的功能设计 根据需求分析阶段得到的功能需求,学生和教师用户通过输入口令号(学号)和密码进下该系统后,可以进行一些基础维护(学生信息维护、班级信息维护、课程信息维护)、教学管理(课表查询、学生选课、成绩输入)、报表统计(打印成绩单)、用户维护(修改密码、退出); 模块功能大概可以分为如下4个方面:这几个模块基础维护、教学管理、报表统计、用户维护。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。教学管理包括课表查询、学生选课、成绩输入。报表统计包括打印成绩单。综上所述,得到客户端功能模块图如下2.1所示。 学生登陆 基础维护 教学管理 报表统计 用户维护 班级信息维护 学生信息维护 课程信息维护 课表查询 学生选课 打印成绩单 图2.1客户模块系统功能模块图 修改密码 退出 修改密码 退出 报表统计 用户维护 学生信息维护 班级信息维护 老师登陆 2.2 数据库概念结构设计 根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中出现的实体有:学生信息实体、课程信息实体、班级信息实体等等。 可以画出对应的E-R图如下: 用户信息实体的E-R图如图2.4所示 登陆表 口令号 密码 图2.3登陆表实体E-R图 学籍编号 民族编号 籍贯编号 政治面貌编号 班级编号 班级编号 姓名 图2.4学生信息实体E-R图 性别 学号 学生信息 身份证号码 班级信息 班级名称学号 年级 班主任 人数 图2.5班级信息实体E-R图 课程简称 学分 开课系别 拼音码 课程信息 课程编号 课程名称 图2.6课程信息实体E-R图 教师 本学期课程 是否补修 考试次数 课程编号 是否已确定成绩 是否重考 成绩表 学号 编号 人数 成绩 图2.7成绩表实体E-R图 课程编号 上课时间天 课程表 课序号 编号 上课地点 上课时间节 图2.8课程表实体E-R图 课序号 图2.9选课表实体E-R图 学号 编号 选课表 学籍代码表 图2.10学籍代码表实体E-R图 图2.11籍贯代码表实体E-R图 籍贯代码表 图2.12政治面貌代码表实体E-R图 政治面貌代码表 政治面貌编号 图2.13民族代码表实体E-R图 民族代码表 对以上得到的各分E-R进行合并,得到总E-R图2.14如下: 政治面貌代码表 籍贯代码表 学籍代码表 班级信息 学生信息 民族代码表 成绩表 选课表 课程表 课程信息 3逻辑结构设计 根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。可以得到对应的关系模式为: 学生信息(学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号) 课程信息(课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码) 选课信息(编号、学号、课序号) 籍贯代码表(籍贯编号、籍贯名称) 政治面貌代码表(政治面貌编号、政治面貌名称) 成绩表(编号、学号、课程编号、成绩、考试次数、是否补修、是否重考、是否 已确定成绩) 课程表(编号、课序号、课程编号、上课时间天、上课时间节、上课地点) 班级信息(班级编号、年级、班级名称、人数、班主任) 民族代码表(民族编号、民族) 登陆表(口令号、密码、权限) 学籍代码表(学籍编号、学籍) 采用的Microsoft SQL Server 2000数据库,根据得到的关系建立起对应的二维表。首先建立一个学生信息量。该表记录每个学生的具体信息。表的结构如表3.1所示: 表3.1学生信息详细列表 Field Type Null Key Comment xh char(14) —— PRI 学号 xm char(10) YES —— 姓名 bjbh Char(14) —— —— 班级编号 xb Char(2) YES —— 性别 nj Char(4) YES —— 年级 zzmmbh Char(2) —— —— 政治面貌编号 mzbh Char(2) —— —— 民族编号 jgbh Char(2) —— —— 籍贯编号 xjbh Char(2) —— —— 学籍编号 sfzh Char(18) YES —— 身份证号 建立一个班级信息。该表记录各个班级的详细信息。如表3-2所示。 Field Type Null Key Comment bjbh Char(14) —— PRI 班级编号 bjmc Char(30) YES —— 班级名称 nj Char(4) YES —— 年级 rs Char(5) YES —— 人数 bzr Char10) YES —— 班主任 建立一个课程信息。该表记录每门课程的详细信息。如表3-3所示。 Field Type Null Key Comment kcbh Char(14) —— PRI 课程编号 kcmc Char(30) YES —— 课程名称 bxqkc Char(4) YES —— 本学期课程 kkxb Char(5) YES —— 开课系别 js Char10) YES —— 教师 xf Int(4) YES —— 学分 kcjc Char(10) YES —— 课程简称 pym Char(10) YES —— 拼音码 建立一个选课表。该表记录了哪个学生选修了哪门课程。如表3-4所示。 Field Type Null Key Comment bh Int(4) —— PRI 编号 xh Char(14) YES PRI 学号 kxh Char(14) YES PRI 课序号 建立一个课程表。该表记录了哪个学生选修了哪门课程。如表3-5所示。 Field Type Null Key Comment bh Char(2) —— PRI 编号 kcbh Char(10) YES PRI 课程编号 kxh Char(14) YES PRI 课序号 sksjj Char(4) YES —— 上课时间节 sksjt Char(4) YES —— 上课时间天 skdd Char(20) YES —— 上课地点 建立一个成绩表。该表记录了哪个学生选修了哪门课程。如表3-6所示。 Field Type Null Key Comment bh Char(2) —— PRI 编号 kcbh Char(10) YES PRI 课程编号 xh Char(14) YES PRI 学号 cj Int(4) YES —— 成绩 kscs int(4) YES —— 考试次数 sfbx Char(10) YES —— 是否补修 sfck Char(10) YES —— 是否重考 sfyqdcj Char(10) YES —— 是否已确定成绩 建立一个民族代码表。该表记录了哪个学生选修了哪门课程。如表3-7所示。 Field Type Null Key Comment mzbh Char(2) —— PRI 民族编号 mz Char(18) YES —— 民族 建立一个政治面貌代码表。该表记录了哪个学生选修了哪门课程。如表3-8所示。 Field Type Null Key Comment zzmmbh Char(2) —— PRI 政治面貌编号 zzmm Char(14) YES —— 政治面貌 建立一个籍贯代码表。该表记录了哪个学生选修了哪门课程。如表3-9所示。 Field Type Null Key Comment jgbh Char(2) —— PRI 籍贯编号 jg Char(18) YES —— 籍贯 建立一个学籍代码表。该表记录了哪个学生选修了哪门课程。如表3-10所示。 Field Type Null Key Comment xjbh Char(2) —— PRI 学籍编号 xj Char(10) YES —— 学籍 建立一个登陆表。该表记录了哪个学生选修了哪门课程。如表3-11所示。 Field Type Null Key Comment klh Char(12) —— PRI 口令号 mm Char(10) YES —— 密码 qx Char(50) YES —— 权限 根据系统需求,应该基于用户表定义一个视图,其定义用SQL语句描述如下: CREATE VIEW dbo.VIEW1 AS SELECT TOP 100 PERCENT dbo.XSXX.xh AS 学号, dbo.XSXX.xm AS 姓名, dbo.KCB.kxh AS 课弃号, dbo.KCB.sksjt, dbo.KCB.sksjj, 单位dbo.KCB.skdd, dbo.BJXX.bjmc, dbo.KCXX.kcmc, dbo.CJB.cj, dbo.KCXX.kcbh, dbo.BJXX.bjbh FROM dbo.XSXX INNER JOIN dbo.XKB ON dbo.XSXX.xh = dbo.XKB.xh INNER JOIN dbo.KCB ON dbo.XKB.kxh = dbo.KCB.kxh INNER JOIN dbo.BJXX ON dbo.XSXX.bjbh = dbo.BJXX.bjbh INNER JOIN dbo.CJB ON dbo.XSXX.xh = dbo.CJB.xh AND dbo.XSXX.xh = dbo.CJB.xh INNER JOIN dbo.KCXX ON dbo.CJB.kcbh = dbo.KCXX.kcbh AND dbo.CJB.kcbh = dbo.KCXX.kcbh ORDER BY dbo.XSXX.xh DESC, dbo.KCXX.kcbh DESC, dbo.BJXX.bjbh DESC 根据系统需求,可以定义两个存储过程,其定义语句用SQL语句描述如下: 成绩提交存储过程: CREATE proc sf_CJTJ @courseid int as begin tran update CJB set sfyqdcj='Y'where kcbh=@courseid and cj>0 commit GO 终止选课存储过程: CREATE proc sf_ZZXK as begin tran insert into CJB(xh,kcbh,cj,kscs,sfbx,sfck,sfyqdcj) select distinct a.xh ,b.kcbh,0,1,'N','N','N'from XKB as a,KCB as b where a.kxh=b.kxh and rtrim(a.xh)+rtrim(b.kcbh) not in ( select rtrim(a.xh)+rtrim(b.kcbh)from CJB ) commit GO 4详细设计及功能实现 4.1用户登录模块设计与实现 设计思路:为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。同时通过用户输入的口令号就可知道用户是学生,还是教师,学生和教师的权限不同。 实现功能:用户可以从登陆界面进入到教务管理系统界面,然后进行一些操作。 图4.1为系统运行时的截图: 图4.1 用户登录模块的系统截图 该模块的核心代码如下: 判断用户是否合法和用户权限。 procedure Tmain.Button1Click(Sender: TObject); begin if(edit1.Text='')or(edit2.Text='')then showmessage('用户名密码不能为空!') else begin DM_Login.ADOQuery1.Close; DM_Login.ADOQuery1.SQL.Clear; DM_Login.ADOQuery1.SQL.Add('select * from DLB where klh='''+edit1.Text+'''and mm='''+edit2.Text+''''); DM_Login.ADOQuery1.Open; User_Number:=DM_Login.ADOQuery1.FieldByName('klh').AsString; User_Password:=DM_Login.ADOQuery1.FieldByName('mm').AsString; User_Rright:=DM_Login.ADOQuery1.FieldByName('qx').AsString; if(DM_Login.ADOQuery1.RecordCount=0)then begin showmessage('用户名或密码错误,请重新输入!'); edit1.Text:=''; edit2.Text:=''; end else begin Main.Caption:='教务管理系统'; Main.Width:=820; Main.Height:=660; label1.Visible:=false; label2.Visible:=false; button1.Visible:=false; button2.Visible:=false; edit1.Visible:=false; edit2.Visible:=false; if(trim(User_Rright)='学生')then Main.N8.Visible:=false; end; end; end; 图4.2 班级信息维护模块的系统截图 图4.3 学生信息维护模块的系统截图 图4.4 课程信息维护模块的系统截图 由于上面的二个模块都是由一个父窗体继承而来,则它们的核心代码都一致。该模块的核心代码展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




Java学生选课系统实验报告.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4720787.html