成绩分析管理系统_第1页
成绩分析管理系统_第2页
成绩分析管理系统_第3页
成绩分析管理系统_第4页
成绩分析管理系统_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书 毕 业 设 计 题 目 院(系)专业班级 学 生 姓 名 性别 指 导 教 师 职称 2007 年月日 实现语言:JSP 挂接数据库:SQLSERVER2000 设计理念 随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社 会。学校在管理、教学、办公各个方面也在悄悄地变化。一个学校的信息化 程度体现在将计算器与信息技术应用于教学与管理,以现代化工具代替传统 手工作业。无疑,使用信息化管理使教学更先进、办公更高效、管理更科学, 信息交流更迅速。 学生成绩分析管理系统是一个教育单位不可缺少的部分,它的内容对于 学校的决策者和管理者来说都至关重要,所以学生成绩信息管理系统应该能够 为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的 方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另 外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不 少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们 深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着 手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量 大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理 的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,故决定选择学生成 绩分析管理系统来作为本人的毕业设计,在很短的时间里开发出一套界面友 好,功能强大,使用简单的适用于各规模学院的学生成绩分析管理系统。该 学生成绩分析管理系统能有效的处理在校学生的成绩管理,具有成绩输入、 成绩查询、成绩统计及打印功能。 学生成绩分析管理系统可以实施应用在各中、大、小院校中,适用范围很广, 应用性强。随着系统实施的日益成熟,最终会使单机作业为主的教学管理活 动提高到这个平台上来,从而实现学校学生成绩信息管理的办公自动化,籍 以提高办学效率和质量。使学校充分利用计算机所带来的新技术,为培养人 才打下坚实的基础 系统分析系统分析 学生成绩分析管理系统的要求是能够管理学生成绩信息,主要涉及到学 生的基本信息、成绩信息和学校的授课计划信息的管理。 学生的成绩是需要由人工录入的,因此系统就需要设计一个学生成绩信 息录入的窗口来录入期考成绩,并且在这个窗口中放入一个数据窗口来实现 录入这方面信息的功能。 系统还要求具有查询期考成绩的功能,因此为了显示查询结果,就要设 计一个数据窗口,并将其放在查询期考成绩的窗口中实现查询功能。 由于查询成绩和录入成绩有区别,因此为了更好的实现相应的功能,设 计的数据窗口也要不同,分别采用两种风格的数据窗口实现。 系统要求能够录入授课计划和学生基本信息,必须设计录入授课计划窗 口和录入学生基本信息窗口来实现相应功能。 由于该系统是学校管理学生成绩信息的系统,因此必须具有一定的保密 性,需要特定的人员才可以修改,因此需要设计一个用户登陆的窗口,使具 有访问权限的用户才能登录此系统。 系统的主窗口要能够在用户选中相应操作后,调出相应的窗口来使用户 在窗口中完成相应的功能。 普通用户要先成为注册用户。 如图 是 否 登录验证流程图 主要特点:主要特点: (一)能管理以年级为单位的各次考试档案,几年来的各种考试归并管 理,可随时查阅该年级各次考试档案。 进入系统 输入用户名、密码 报错信息 判断数据输入是 否合法? 结 束 开 始 (二)考试科目自由设定,能适应各种考试。 (三)能进行标准分转换、年级各班各科平均分、年级排名、尖子生后 进生档案等统计分析工作。 (四)能进行各种各样的查询,提供各种分数段,各种排名、各种率等 等统计结果。 (五)既满足年级各班的需要,又能满足学校的需要,还能满足学生和 家长的需要。 本软件起初在 window98 据库环境下开发研制成功。目前,该软件已移植 到 WINDOWSxp、JSP 数据库运行通过,并计划于近期内通过 Web 技术在网上 运行发布。 合理的设计数据库合理的设计数据库 尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这 样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机 的运行速度。 作为学生成绩分析管理系统,必须能解决以下方面的问题:能录入信 息。所需录入的表有学生成绩信息表;学生基本信息表;授课计划表; 学生补考信息表。 设计出友好的界面设计出友好的界面 界面的友好与否是用户评价一个软件优劣的重要方面。 因为该系统涉及到学生成绩的真实性,所以该系统要具有一定的保密 性和权限控制,首先应设计一个用户的登陆窗口界面,要求只能由特定的人 员对该系统进行操作。 此外还应设计登陆后系统的主窗口,要求能够显示学生成绩的基本信 息,可以实现数据的录入,更新,删除、查询、统计等功能。 另外窗口界面要多用按钮和快捷键,少用菜单,窗口的各个控键布局 要合理,美观。要充分的利用 powerbuilder 提供的强大的功能,多用窗口和 控件,充分体现窗口的多元化格局。 在实际的学生成绩信息管理系统中,班名项的内容是系统事先给出的。 课程是学校事先安排好的,学校的数据库中一定有课程的资料,也就是相当 于后台的数据库,而对于我们在前台设计应用程序时应该考虑到这一点,因 此在设计录入授课计划窗口时,我多采用了下拉列表框和单行编辑框,因为 可以从已知的数据项中选择适当的项目来实现该窗口的功能。 由前面列出的设计要求来看,系统要具有删除课程、修改课程、录入课 程、浏览课库、返回主菜单等功能。因此,考虑到这些功能的需要,我设置 了相应的命令按钮,删除课程、修改课程、浏览课库和返回。对这五个按钮, 设计相应的代码使它们能够完成相应的功能。 根据前面设计的数据库中表的数据项,设计了六个下拉列表框(班名、 学期(2) 、课程名称、课程类别、考试方式) ,11 个单行单行编辑框(课名、 课号、学分、学时、每周学时、讲课学时、实验学时、课程设计、面授学时、 任课老师、备注) 。这样设计的原因是,根据系统检索数据的要求,系统要 求我们根据班名,学期等数据项进行检索数据,因此我们把预先给出的班名 等信息都存放在下拉表框中,这样便于查询并进行一些修改、删除等操作。 需要说明的是,考试方式一项是根据我国考试记分方式的不同设计的, 这样会使系统应用面更广,好的系统应该具有适应面广的特点。 同时设计了 2 个组框(删除课程、进入/修改课程) ,18 个静态文本框 (课号、学分、学时、每周学时等) 。这样做的好处是使界面清晰,使用者 使用意图明显。 窗口 open 事件脚本: string str integer ch,i DECLARE banming CURSOR FOR SELECT “banming“.“banming“ FROM “banming“ ;/建立游标建立查询 select count(“banming“.“banming“)into :ch FROM “banming“ ; open banming; for i=1 to ch fetch banming into :str; ddlb_1.additem(str) sle_1.additem(str)/将班名值赋给 ddlb_1 和 sle_1 end for close banming; SELECT “c_kechengku“.“keming“, “c_kechengku“.“xueshi“, “c_kechengku“.“xuefen“, “c_kechengku“.“xueqi“, “c_kechengku“.“kehao“, “c_kechengku“.“jiangshi“, “c_kechengku“.“kechengleibie“, “c_kechengku“.“kaoshifangshi“, “c_kechengku“.“mianshi“, “c_kechengku“.“shishi“, “c_kechengku“.“zhoushi“, “c_kechengku“.“laoshi“, “c_kechengku“.“beizhu“, “c_kechengku“.“kechengsheji“ INTO :sle_2.text, :sle_5.text, :sle_4.text, :ddlb_4.text, :sle_3.text, :sle_7.text, :ddlb_5.text, :ddlb_6.text, :sle_10.text, 定义字符串变量 str 定义整型变量 ch 定义游标 banming 在课程库中查询课名项并在 结果集中显示班名与 ddlb_2 内容相同的数据项 在课程库中查询课名项并在结果集中 显示班名与 ddlb_1 内容相同的数据项, 并赋值给 ch,并在结果集中显示班名 与 ddlb_1 内容相同的数据项 打开游标建立临时表 banming 从 0 到 ch 循环读出表中的值并将 它们赋值给 str,然后再在 ddlb_1 和 sle_1 中添加 str 项,结束循环 关闭游标,以班名和课名为检索 条件从 c_kechengku 中查找相应 的学分、学期、课时、任课老师 等项附给对应的单行编辑框 ddlb_2.text=ddlb_4.text sle_1.text=ddlb_1.text :sle_8.text, :sle_6.text, :sle_11.text, :sle_12.text, :sle_9.text FROM “c_kechengku“ WHERE ( “c_kechengku“.“banming“ = :ddlb_1.text ) AND ( “c_kechengku“.“keming“ = :ddlb_3.text ) ; /以班名和课名为检索条件从 c_kechengku 中查找相应的学分、学期、课时、 任课老师等项附给对应的单行编辑框。 ddlb_2.text=ddlb_4.text sle_1.text=ddlb_1.text 录入授课计划按规定班名、课名、考试方式不能为空,这样在保存数据 时针对漏输的情况设计了一个提示窗口。 messagebox(“注意“,“班名 、课名、考试方式不允许为空值!“) 成绩分析图形显示: 4.5.2.24.5.2.2 创建录入成绩窗口创建录入成绩窗口 根据系统要求:按班级、专业等方式录入成绩。特设计了按班级和专业 查询的功能,从实际情况出发考虑,把这两种查询方式作成单选按钮,一次 只可以以一种方式检索。根据表的数据设计了如上图选项,这都是在设计表 的时候就计划了的,设计了什么样的表就决定了要用什么样的查询检索方法。 更进一步,添加了两个下拉列表框(学期、课名) ,这是从方便特定的 查询出发的,设计者应该考虑到用户可能需要什么样的查询方式和数据,因 此添加了此项功能。 本窗口还要添加一个数据窗口控件,该控件是前面创建数据窗口时创建 的录入成绩数据窗口。 同时,根据系统的要求也设计了五个按钮,分别时录入成绩、修改成绩、 删除成绩、打印、返回。 还有五个单行文本框用来显示当前课程的信息,包括课程类型、考试方 式、学分、任课老师、总人数。 1)班级下拉框 select 事件脚本: ddlb_4.reset() string str,xh,xm int ch3,i,ch DECLARE keming CURSOR FOR SELECT “c_kechengku“.“keming“ FROM “c_kechengku“ where “c_kechengku“.“banming“=:ddlb_2.text; /建立以班名为条件检索的游标 select count(“c_kechengku“.“keming“) into :ch3 FROM “c_kechengku“ where “c_kechengku“.“banming“=:ddlb_2.text; open keming; for i=1 to ch3 fetch keming into :str; ddlb_4.additem(str) end for close keming; chengji_ban1=ddlb_2.text chengji_shu=1 2)班级单选按钮 cliked 事件 ddlb_1.enabled=true/使 ddlb_1 可选 ddlb_4.enabled=false 清除前一次的选项 定义字符串变量 str,xh,xm 定义整型变量 ch3,I,ch 定义游标 keming 在课程库中查询课名项并在结果集 中显示班名与 ddlb_2 内容相同的 数据项 在课程库中查询课名项并赋值给 ch3 并在结果集中显示班名与 ddlb_2 内 容相同的数据项 打开游标建立临时表 keming 从 0 到 ch 循环读出表中的值并将它们赋值 给 str,然后再在 ddlb_1 和 sle_1 中添加 str 项,结束循环 关闭游标,将 chengji_ban1赋值 ddlb2,chengji_shu 赋值为 1 ddlb_5.enabled=false ddlb_6.enabled=false ddlb_7.enabled=false /使 ddlb_4、ddlb_5、ddlb_6、ddlb_7 不可选 4.5.2.34.5.2.3 其它输入数据窗口其它输入数据窗口 见附件。 4.5.34.5.3 创建查询窗口创建查询窗口 4.5.3.14.5.3.1 创建成绩查询窗口创建成绩查询窗口 成绩查询窗口是负责按不同的要求查询成绩的,根据系统的要求设计了 此窗口。这个窗口和前面的录入/修改成绩的窗口有些类似,这是因为系统 要求的查询依据是一样的,所以才有两个窗口的相似。 此窗口只安排了两个按钮,因此此窗口的要求只是查询,并没有修改的 要求,因此只有打印和返回两个按钮。 此窗口中放置了一个数据窗口控件,即查询成绩数据窗口,也是为了显 示结果和打印检索数据结果而设计。根据不同的实际需要此窗口中的其它项, 比如总人数、院系等项与前面的录入/修改成绩窗口不同,这也是实际系统 的功能要求。 此窗口中有 2 个单选按钮、7 个下拉框、4 个单行编辑框、11 个静态文 本框、2 个按钮。 1.2.3 实现基本功能和一些特殊功能的操作实现基本功能和一些特殊功能的操作 该系统要求除了能实现信息的录入,删除,插入,更新,打印等基本 功能之外,还要求能够根据用户的需要进行操作。例如要查询学生成绩,要 求可以按照专业、班级等多种方式查询。这些功能基本上能满足用户操作的 需要,这样用户操作起来就更简单方便。 1.2.41.2.4 尽量减少用户的键盘输入尽量减少用户的键盘输入 这样可减少用户的工作量,提高用户的工作效率。 功能调查功能调查 (1)基本功能的调查 此系统能及时完成数据的添加、删除、修改、查询、统计等功能, 必须还具有打印报表功能。 (2)特殊功能的调查 该系统由特定人员使用,应具有一定的保密性。系统还具有维护 功能,如数据备份与恢复、用户密码修改等。 (3)功能显示及显示格式 用窗口的形式来显示信息。 2.1.3 结果输出的格式结果输出的格式 系统的数据有两种格式,一种是屏幕显示,另一种打印报表。 22 调查结果调查结果 2.2.1 功能需求功能需求 1)完成学生成绩和授课计划的管理,具有查阅、添加、删除、 修改、统计等基本功能。 2)完成按照指定条件查询。 3)完成所需报表的打印。 4)非管理员不能使用本系统。 5)具有帮助使用该系统的功能。 2.2.2 数据字典数据字典 (1)学生基本情况表(学号、姓名、性别、生日、地址、总成绩、 民族、录取号、是否超前、年级、院系、班名、专业、录取时间、毕业时间、 备注) 。 (2)成绩信息表(学号、姓名、课名、学期、班名、成绩、备注) 。 (3)课程信息表(班名、课名、学期、课号、课程类别、考试方式、 讲课学时、面授学时、实习学时、每周学时、老师、课程设计、备注) 。 (4)班名信息表(科类、专业名、办学形式、办学层次、学制、年 级、办学层次、学制、年级、所属院系、班名) (5)考试情况表(考试) (6)补考表(姓名、学号、课名、成绩、班名、日期、标志、记号) 。 (7)民族信息表(民族) 。 (8)科类信息表(科类) 。 (9)院系名信息表(代码、院系名) 。 (10)专业名信息表(代码、专业名 、专业方向、院系名) 。 (11)密码表(用户名、密码) 。 表的选取表的选取 根据该系统的要求以及可能将来和其它学生 信息管理系统结合,本系统 需要有一个管理学生的基本信息的表;作为成绩管理系统,要有成绩表;需 要包括课程的信息表,这就要建立一个课程表;鉴于学校考试制度,本系统 应设计一个补考表主要用来存放全校各班补考人名单和补考科目及其成绩; 成绩管理系统与考试密切相关,完整的考试数据要包括缺考、缓考、作弊情 况的记录,因此需要建立一个情况表;为避免输入信息出错和减少键盘的使 用量,可统一建立院系名表、班名表、民族信息表、科类信息表;由于系统 只有指定用户才可以修改使用,因此要设计一个用户登录的密码表。 3.1.2表的规范化表的规范化 表的规范化是一系列能够应用到数据库结构上的测试,通过这些测试可 以消除数据的冗余程度,使数据库结构处于一种优化形式,测试方法有: 对于每一行和列的交叉点,是否仅有一个值;是否所以非主码列依赖全 部主码;表中是否有依赖其它非主码列的非主码列。 3.1.3表的具体设计表的具体设计 根据实现学生成绩管理所涉及的数据,设计的表的结构如下:(注: 带有P标记的列为主码列) (1) 学生基本情况表(xueshengku) 主要存放学生的基本信息。 Column name 字段名 Data type 数据类型 Width 长度 Null 空 Default 默认值 备注 Xuehaochar6Nononep XingmingChar8Nonone XingbieChar2YesNone ShengriDate/YesNone DizhiChar40YesNone ZongchengjiNumeric5-1YesNone MinzuChar8YesNone LuquhaoChar6Yesnone ChaoqianChar6YesNone NianjiChar2YesNone YuanxiChar20YesNone BanmingChar16YesNone ZhuanyeChar30YesNone BiyebianhaoChar30YesNone XiuxueChar1YesNone BiaozhiChar1YesNone LuqushijianChar/YesNone BiyeshijianChar/YesNone LuqudiaquChar20YesNone beizhuChar40YesNone (2) 成绩信息表(c_chengjiku) 主要存放学生各门课程的成绩。 Column name 字段名 Data type 数据类型 Width 长度 Null 空 Default 默认值 备注 Xuehaochar6Nononep XingmingChar8Nonone KemingChar20YesNone Xueqichar10YesNone BanmingChar20YesNone Chengjichar6YesNone beizhuChar40YesNone (3) 课程信息表(c_kechengku) 主要用来存放全校各班各个学期的课程计划。 Column nameData WidthNullDefault备注 字段名type 数据类 型 长度空默认值 Banmingchar16Nonone KemingChar20yesnone Xueshinumeric5-1YesNone Xuefennumeric4-1YesNone XueqiChar8YesNone Kehaochar10YesNonep kechengleibieChar6yesnone KaoshifangshiChar6YesNone JiangshiNumeric5-1YesNone MianshiNumeric5-1YesNone ShishiNumeric5-1yesnone ZhoushiNumeric5-1YesNone LaoshiChar8YesNone kechengshejiChar40YesNone beizhunumeric5-1yesnone (4) 班名信息表(banming) 主要存放各个班级信息。 Column name 字段名 Data type 数据类 型 Width 长度 Null 空 Default 默认值 备注 Keleivarchar6Nonone Zhuanyevarchar30yesnone Xingshivarchar4YesNone Cengcivarchar6YesNone Xuezhinumeirc3YesNone Nianjivarchar6YesNone Yuanxivarchar20yesnone banmingvarchar16YesNonep (5) 补考表(c_bukaoku) 主要存放全校各班补考人名单和补考科目及其成绩。 Column name 字段名 Data type 数据类 型 Width 长度 Null 空 Default 默认值 备注 XingmingChar8Nonone XuehaoChar6yesnonep KemingChar20YesNone ChengjiNumeric5-1YesNone BanmingChar20YesNone RiqiDate10YesNone BiaozhiInteger/YesNone jihaointeger/YesNone (6) 考试情况表(c_kaoshi) 主要存放考试情况,例如缺考、缓考、作弊等情况。 Column nameData WidthNullDefault备注 字段名type 数据类 型 长度空默认值 KaoshiChar4Nononep (7) 民族信息表(minzu) 主要存放民族信息,例如汉族、藏族、回族等信息。 Column name 字段名 Data type 数据类 型 Width 长度 Null 空 Default 默认值 备注 Minzuvarchar10Nononep (8) 科类信息表(kelei) 主要存放学科类别,例如工科、理科、文科等类别。 Column name 字段名 Data type 数据类 型 Width 长度 Null 空 Default 默认值 备注 keleivarchar6Nononep (9) 院系名信息表() Column name 字段名 Data type Width 长度 Null 空 Default 默认值 备注 数据类 型 ydaimavarchar6Nononep YuanximingVarchar20Nonone (10)专业名信息表(专业名 Column name 字段名 Data type 数据类型 Width 长度 Null 空 Defaul t 默认 值 备注 zdaimaVarchar6NononeP ZhuanyeVarchar30NoNone Zhuanyefangxian g Char10Yesnone YuanximingVarchar20Nonone (11)用户密码表(password) 主要存放用户登陆的用户名和用户密码。 Column name 字段名 Data type 数据类 型 Width 长度 Null 空 Default 默认值 备注 NameChar10NoNonep PasswordChar10Nonone 3.2 模块设计模块设计 模块化就是把程序分为若干个模块,每个模块完成一个子功能,把这些 模块集中起来组成一个整体,可以完成指定的功能并满足问题的要求。开发 具有独立功能而且和其他模块之间没有相互作用的模块,就可以做到模块独 立。模块的独立程度可以由两个定性的标准来度量,这两个标准分别称为内 聚和耦合。耦合衡量不同模块彼此间相互依赖的紧密程度;内聚衡量一个模 块内部各个元素彼此结合的紧密程度。设计时,应力求提高模块的内聚程度, 降低模块间的耦合程度。 学生成绩分析管理系统此标准可分为用户登陆、输入数据、查询数据、 统计数据、系统维护等五个子模块。后四个模块下各有相应的子模块。 如下图。 3.2.13.2.1 数据输入子模块功能设计数据输入子模块功能设计 学生成绩信息量很大,不定期都会有新的数据产生,同时有报废的数据 淘汰,根据这些要求,数据输入子模块应具有插入、删除、修改等功能。输 入数据子模块如下: 1)院系备案 完成院系名数据的添加、删除,并具有翻页阅览功能。 2)专业备案。 用户登录 数据输入数据查询数据统计系统维护 学生成绩分析系统 完成专业名数据的添加、删除,并具有翻页阅览功能。 3)杂项备案 完成科类名、民族、专业层次数据的添加与删除。 4)班名备案 完成班名数据的添加与删除,并具有翻页阅览功能。 5)新生备案 完成学生基本信息的添加与删除,并具有翻页阅览功能。 6)学生档案修改 按专业、班级、院系的组合或按姓名、学好的任选一的单 一条件筛选,显示要修改的学生档案,并修改。 7)授课计划备案 完成课程的录入、修改、删除,并可浏览课程库。 8)期考成绩备案 按班级或专业输入学生成绩,并可修改、删除,打印报表。 9)补考成绩备案 按班名、课名来输入补考成绩,并可修改、删除。 10) 毕业成绩备案 按班名输入学生毕业设计题目及成绩,并可删除、修改, 打印报表。 如下图: 数 据 输 入 基本数据输入 院系备案 专业备案 杂项备案 班名备案 新生备案 学生档案修改 成绩输入 输入授课计划 输入期考成绩 输入补考成绩 输入毕业成绩 3.2.23.2.2数据查询子模块功能设计数据查询子模块功能设计 当学生成绩管理员需要查询有关成绩信息时,就可以进入查询模块, 此模块具备单一查询和组合查询功能,并且可以将结果输出报表打印。其基 本功能如下: 1)浏览授课计划 按班名或浏览或浏览全校的授课计划,结果可打印。 2)查询期考成绩 按班名或专业与学期、课名相组合查询学生指定学期的 考试成绩,结果可打印。 3)查询补考成绩 按班名查询学生所有补考成绩,并可打印结果。 4)查询补考名单; 按班名查询补考名单,结果可打印。 5)学生个人成绩 按学生姓名或学好、学期的组合条件来查学生所有课程 的成绩,结果可打印。 6)学生毕业成绩 按专业或班名查询学生的毕业成绩并打印。 如下图: 3.2.33.2.3 数据统计子模块功能设计数据统计子模块功能设计 当学生成绩管理员需要统计有关成绩信息时,就可以进入统计模块,其 基本功能如下: 1)全校单科班平均分 统计指定课程的班级考试情况,如应考人数、实考人数、不及 格人数、班平均分,并按平均分高低排名,结果可打印。 2)全班单科成绩排名 按班级、课名筛选学生成绩,并可按学号或成绩排序,结果可 打印。 3)全班个人平均分排名 指定班级、学期的学生所有课程平均分排名,结果可打印。 4)全班各科分数段统计 统计全班指定学期各科分数段的人数。 5)全班各科考试情况统计 统计全班各科考试情况,如应考人数、实考人数、不及格人数、 平均分,结果可打印。 6)全校单科成绩统计 查询数据 浏览授课计划 查询期考成绩 查询补考成绩 查询补考名单 学生个人成绩 学生毕业成绩 统计指定课程的各个班级分数段的人数,结果可打印。 7)补考情况统计 统计全班或全校所有补考次数。 3.2.43.2.4 系统维护子模块的功能设计系统维护子模块的功能设计 在系统维护模块里,学生成绩管理员可以修改当前年度,备份数据, 修改用户密码,并可使用系统自带计算器随时处理运算,使用帮助命令更好 的使用此系统。 1)修改年度 修改系统默认年度,如 02 年度春季下学期。 2)备份成绩数据 按班名、专业名备份成绩数据。 3)删除成绩数据 可以删除整个班级或班里某一个学生的成绩数据。 统计数据 全校单科班平均分 全班单科成绩排名 全班个人平均分排名 全班各科分数段统计 全班各科考试情况统计 全校单科成绩统计 补考情况统计 4)计算器 调用计算器,完成计算功能。 5)修改密码 修改当前用户的登录密码。 6)使用帮助。 7)退出系统。 如下图: 在 JSP 的应用中,一般用户对数据的操作和管理均在 DataWindow 中进 行,JSP 之所以功能这么强大并受到数据库客户应用程序开发者的广泛欢迎, 其关键因素之一也是它拥有数据窗口技术,因此我们首先就数据窗口管理数 据的机制和原理以及具体数据窗口对象的实现过程进行讨论。数据窗口是 JSP 的高级结构,它将数据访问封装到功能强大、智能、以数据为中心的对 象中。DataWindow 形式上就好像用作切菜的菜板一样可以在上面自由灵活 地操作和管理数据。通过它,不但可以对每个数据库的表进行查询、检索, 而且还可以对数据进行插入、删除和更新,甚至可以定义它的列显示格式及 系统维护 修改年度 备份成绩数据 删除成绩数据 计算器 修改密码 使用帮助 退出系统 编辑风格,定义它的检索条件、过滤条件、有效规则等等。DataWindow 是 如何实现对数据的操作的呢?首先,当操作光标在 DataWindow 中移动时, JSP 就在光标所在的当前单元上放置了一个编辑控件,此时编辑控件中的内 容为文本,文本还没有被 DataWindow 控件所接受。在文本中输入的数据也 还没有成为 DataWindow 缓冲区中的数据,只是编辑控件中一窜字符。当用 户改变了编辑控件的内容,按回车或离开该单元(按 TAB 键、使用鼠标或 按上移键、下移键等)时,JSP 将处理编辑控件中数据,判断该数据是否成 为有效数据。若有效则接受,编辑控件中的数据写入 DataWindow 当前缓冲 区当前行当前列中;若无效,则被拒绝,编辑控件中的数据不会写入 DataWindow 当前缓冲区的当前行当前列中。 对于数据窗口对象的具体实现过程为:第一步是根据所要建立的数据 窗口对象定义数据源,数据源的选择限定了即将生成的数据窗口的功能;第 二步是定义数据窗口的表现风格,表现风格的不同也取决于用户如何使用数 据窗口对象,如 Freeform 风格比较适合数据的录入、修改和删除,Crosstab 与 Graph 风格的数据窗口则常用于数据的分析与统计;第三步是对初始生成 的数据窗口的默认属性的重新定义或其他有关属性的设置,以及向数据窗口 中添加和修改各种不同的对象。 其他的各个功能模块都用同样的方法实现,在需要对数据进行操作 的时候,首先要根据需求建立建立相应的数据窗口对象,然后通过数据窗口 控件对其进行操作。 第 29 页 可以进入系统,其代码实现过程为: 确定按钮的 cliked 事件脚本: int ms string vpw,vname if sle_3.text=“ or sle_1.text=“ then messagebox(“提示“,“请输入用户和密码!“) return end if /如果没有输入用户和密码则会出现提示“请输入用户和密码”窗 口 vname=sle_1.text select “passwd“.“name“,“passwd“.“password“ into :vname,:vpw from “passwd“ where “passwd“.“name“=:vname; /从密码表中读入用户和密码值赋给变量 vname、vpw if sle_3.text=vpw then open(w_main)/密码对进入应用程序 timer(0.1,w_main) else ms=messagebox(“警告“,“您输入的密码有误,是否重试?“,Question!,YesNo!) /密码错出现提示窗口 if ms=1 then sle_3.text=“ sle_3.setfocus() /重试将清空用户和密码输入框 并光标重新定位 else close(parent)/不重试退出 第 30 页 end if end if 4.5.24.5.2 创建输入数据窗口创建输入数据窗口 4.5.2.14.5.2.1 创建录入授课计划窗口创建录入授课计划窗口 在实际的学生成绩信息管理系统中,班名项的内容是系统事先给出的。课 程是学校事先安排好的,学校的数据库中一定有课程的资料,也就是相当于后 台的数据库,而对于我们在前台设计应用程序时应该考虑到这一点,因此在设 计录入授课计划窗口时,我多采用了下拉列表框和单行编辑框,因为可以从已 知的数据项中选择适当的项目来实现该窗口的功能。 由前面列出的设计要求来看,系统要具有删除课程、修改课程、录入课程、 浏览课库、返回主菜单等功能。因此,考虑到这些功能的需要,我设置了相应 的命令按钮,删除课程、修改课程、浏览课库和返回。对这五个按钮,设计相 应的代码使它们能够完成相应的功能。 根据前面设计的数据库中表的数据项,设计了六个下拉列表框(班名、学 期(2) 、课程名称、课程类别、考试方式) ,11 个单行单行编辑框(课名、课 号、学分、学时、每周学时、讲课学时、实验学时、课程设计、面授学时、任 课老师、备注) 。这样设计的原因是,根据系统检索数据的要求,系统要求我们 根据班名,学期等数据项进行检索数据,因此我们把预先给出的班名等信息都 存放在下拉表框中,这样便于查询并进行一些修改、删除等操作。 需要说明的是,考试方式一项是根据我国考试记分方式的不同设计的,这 样会使系统应用面更广,好的系统应该具有适应面广的特点。 同时设计了 2 个组框(删除课程、进入/修改课程) ,18 个静态文本框(课 号、学分、学时、每周学时等) 。这样做的好处是使界面清晰,使用者使用意图 明显。 窗口 open 事件脚本: string str integer ch,i DECLARE banming CURSOR FOR SELECT “banming“.“banming“ FROM “banming“ ;/建立游标建立查询 select count(“banming“.“banming“)into :ch FROM “banming“ ; 第 31 页 open banming; for i=1 to ch fetch banming into :str; ddlb_1.additem(str) sle_1.additem(str)/将班名值赋给 ddlb_1 和 sle_1 end for close banming; SELECT “c_kechengku“.“keming“, “c_kechengku“.“xueshi“, “c_kechengku“.“xuefen“, “c_kechengku“.“xueqi“, “c_kechengku“.“kehao“, “c_kechengku“.“jiangshi“, “c_kechengku“.“kechengleibie“, “c_kechengku“.“kaoshifangshi“, “c_kechengku“.“mianshi“, “c_kechengku“.“shishi“, “c_kechengku“.“zhoushi“, “c_kechengku“.“laoshi“, “c_kechengku“.“beizhu“, “c_kechengku“.“kechengsheji“ INTO :sle_2.text, :sle_5.text, :sle_4.text, :ddlb_4.text, :sle_3.text, :sle_7.text, :ddlb_5.text, :ddlb_6.text, :sle_10.text, 定义字符串变量 str 定义整型变量 ch 定义游标 banming 在课程库中查询课名项并在 结果集中显示班名与 ddlb_2 内容相同的数据项 在课程库中查询课名项并在结果集中 显示班名与 ddlb_1 内容相同的数据项, 并赋值给 ch,并在结果集中显示班名 与 ddlb_1 内容相同的数据项 打开游标建立临时表 banming 从 0 到 ch 循环读出表中的值并将 它们赋值给 str,然后再在 ddlb_1 和 sle_1 中添加 str 项,结束循环 关闭游标,以班名和课名为检索 条件从 c_kechengku 中查找相应 的学分、学期、课时、任课老师 等项附给对应的单行编辑框 ddlb_2.text=ddlb_4.text sle_1.text=ddlb_1.text 第 32 页 :sle_8.text, :sle_6.text, :sle_11.text, :sle_12.text, :sle_9.text FROM “c_kechengku“ WHERE ( “c_kechengku“.“banming“ = :ddlb_1.text ) AND ( “c_kechengku“.“keming“ = :ddlb_3.text ) ; /以班名和课名为检索条件从 c_kechengku 中查找相应的学分、学期、 课时、任课老师等项附给对应的单行编辑框。 ddlb_2.text=ddlb_4.text sle_1.text=ddlb_1.text 录入授课计划按规定班名、课名、考试方式不能为空,这样在保存数据时 针对漏输的情况设计了一个提示窗口。 messagebox(“注意“,“班名 、课名、考试方式不允许为空值!“) 结果如图: 4.5.2.24.5.2.2 创建录入成绩窗口创建录入成绩窗口 根据系统要求:按班级、专业等方式录入成绩。特设计了按班级和专业查 询的功能,从实际情况出发考虑,把这两种查询方式作成单选按钮,一次只可 以以一种方式检索。根据表的数据设计了如上图选项,这都是在设计表的时候 就计划了的,设计了什么样的表就决定了要用什么样的查询检索方法。 更进一步,添加了两个下拉列表框(学期、课名) ,这是从方便特定的查 询出发的,设计者应该考虑到用户可能需要什么样的查询方式和数据,因此添 加了此项功能。 本窗口还要添加一个数据窗口控件,该控件是前面创建数据窗口时创建的 录入成绩数据窗口。 同时,根据系统的要求也设计了五个按钮,分别时录入成绩、修改成绩、 删除成绩、打印、返回。 还有五个单行文本框用来显示当前课程的信息,包括课程类型、考试方式、 学分、任课老师、总人数。 1)班级下拉框 第 33 页 select 事件脚本: ddlb_4.reset() string str,xh,xm int ch3,i,ch DECLARE keming CURSOR FOR SELECT “c_kechengku“.“keming“ FROM “c_kechengku“ where “c_kechengku“.“banming“=:ddlb_2.text; /建立以班名为条件检索的游标 select count(“c_kechengku“.“keming“) into :ch3 FROM “c_kechengku“ where “c_kechengku“.“banming“=:ddlb_2.text; open keming; for i=1 to ch3 fetch keming into :str; ddlb_4.additem(str) end for close keming; chengji_ban1=ddlb_2.text chengji_shu=1 制作完成测试制作完成测试 学生成绩分析管理系统开发完成以后,最终还要与系统中其他部分配套运 行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。 单独对系统的测试主要从以下几方面入手: 清除前一次的选项 定义字符串变量 str,xh,xm 定义整型变量 ch3,I,ch 定义游标 keming 在课程库中查询课名项并在结果集 中显示班名与 ddlb_2 内容相同的 数据项 在课程库中查询课名项并赋值给 ch3 并在结果集中显示班名与 ddlb_2 内 容相同的数据项 打开游标建立临时表 keming 从 0 到 ch 循环读出表中的值并将它们赋值 给 str,然后再在 ddlb_1 和 sle_1 中添加 str 项,结束循环 关闭游标,将 chengji_ban1赋值 ddlb2,chengji_shu 赋值为 1 第 34 页 (1)功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是 否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还 会以正式的软件说明书为测试标准。 (2) 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些 超负荷情况下功能实现的情况。 (3) 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护, 使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、 错数据、和非法数据干扰的能力的测试。 经过上述的测试过程对学生成绩分析管理系统进行测试后,学生成绩分析 管理系统基本满足开发的要求,测试宣告结束。 通过两个月来,在老师和同学的帮助下,校园学生成绩分析管理系统 基本实现了预定的功能。通过这次毕业设计,我也学到了很多的东西。掌握了 一些软件的功能。但由于时间的仓促和自己对一些东西的不太了解,学生成绩 分析管理系统没有做到尽善尽美,还要很多需要完善的地方,我会在今后的工 作和学习中总结经验,逐步改进自己存在的不足。 实践证明,校园学生成绩 分析管理系统有着很好的发展前景,经测试运行。本文所制作的校园学生成绩 分析管理系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已 基本具备了成熟的技术理论。 由于时间仓促,本次设计由我完成网络通讯录管理系统的制作,对我这样 一个 JSP 新手而言所制作的模块还有不完善的地方。数据库的设计也比较简单。 还有很多毕业设计中用到 JSP 语言的知识也不够全面,还有很多地方不能够作 到完全的理解和掌握。通过这次毕业论文的设计制作使本人受益匪浅。首先, 由于毕业设计所用的 JSP 技术和其中用到 JSP 语言的其他部分是在课堂上没有 接触过的,要用它来做设计必须通过大量自学来掌握,在这个过程中,不仅大 大提高了我的自学能力而且让我对 JSP 的学习有了进一步的认识 。由于是独立 完成在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个 过程中让我体会到了,一个团队的重要性。 第 35 页 软件安装与调试软件安装与调试 软件的安装与配置软件的安装与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论