Java学生选课系统实验报告.docx
- 文档编号:7423715
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:49
- 大小:720.58KB
Java学生选课系统实验报告.docx
《Java学生选课系统实验报告.docx》由会员分享,可在线阅读,更多相关《Java学生选课系统实验报告.docx(49页珍藏版)》请在冰豆网上搜索。
Java学生选课系统实验报告
基于Delphi7的教务管理系统的设计与实现
摘要:
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于Delphi7与数据库技术建立一个高校教务管理系统该系统为学生和教师提供了查询、修改、存储、增加记录、选课等功能,功能比较落齐全,基本上能满足学生和老师的要求。
前言
教务管理工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。
教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织、协调、指挥并指导各方面人员的活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。
教务管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。
教务管理工作关系到高校教学秩序的稳定和教学质量的提高,关系到高校的发展和人才的培养,教务管理高校中占有相当重要的地位。
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
同时,运用先进的信息技术,开发高校综合教务管理信息系统,是深化教务体制改革的有利措施。
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开发环境与工具介绍
前端客户端我用的是MacromediaDreamweaver8来编写JSP文件。
中间业务逻辑层的JavaBeans用的是JBuilderXEnterpriseX版。
数据库的编写是采用MYSQL数据库。
2.1开发环境
由于我用的是JBuilderXEnterprise版开发的这个系统,这个开发软件功能十
分强大,所以自然对开发环境要求相对来说比较高。
1.对系统硬件的要求:
最小512MRAM,推荐786MBRAM。
2.对系统平台的要求:
Windows平台
CPU:
IntelPentiumIII及以上兼容系列500MHz以上。
操作系统:
MicrosoftWindows2000(SP4)、WindowXP或者WindowsServer2003。
Linux平台
CPU:
IntelPentiumIII及以上兼容系列500MHz以上。
操作系统:
SunJavaDesktopSystemRelease2或者RedHatEnterpriseLinux3.0
2.2运行环境:
硬件:
适用于数据吞吐量较大的不同服务器;
软件:
服务器端:
WINDOWSXP+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.2客户模块系统功能模块图
2.2数据库概念结构设计
根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中出现的实体有:
学生信息实体、课程信息实体、班级信息实体等等。
可以画出对应的E-R图如下:
用户信息实体的E-R图如图2.4所示
班级编号
姓名
图2.4学生信息实体E-R图
性别
学号
学生信息
班级信息
班级名称学号
年级
图2.5班级信息实体E-R图
图2.7成绩表实体E-R图
图2.8课程表实体E-R图
图2.9选课表实体E-R图
学号
编号
选课表
对以上得到的各分E-R进行合并,得到总E-R图2.14如下:
3逻辑结构设计
根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。
可以得到对应的关系模式为:
学生信息(学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号)
课程信息(课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码)
选课信息(编号、学号、课序号)
籍贯代码表(籍贯编号、籍贯名称)
政治面貌代码表(政治面貌编号、政治面貌名称)
成绩表(编号、学号、课程编号、成绩、考试次数、是否补修、是否重考、是否
已确定成绩)
课程表(编号、课序号、课程编号、上课时间天、上课时间节、上课地点)
班级信息(班级编号、年级、班级名称、人数、班主任)
民族代码表(民族编号、民族)
登陆表(口令号、密码、权限)
学籍代码表(学籍编号、学籍)
采用的MicrosoftSQLServer2000数据库,根据得到的关系建立起对应的二维表。
首先建立一个学生信息量。
该表记录每个学生的具体信息。
表的结构如表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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 学生 选课 系统 实验 报告