《软件工程》学生选课系统
- 格式:doc
- 大小:282.00 KB
- 文档页数:21
学年设计课程名称:学年设计(论文)(软件工程)实验项目:学生信息管理系统姓名:XXX专业:计算机科学与技术班级:XXX班学号:XXXX指导教师:XXX计算机科学与技术学院实验教学中心目录一、需求分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 1二、可行性分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 11.问题┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 12.项目目标┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 23.运行环境┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 24.开发风险┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 25. 经济可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 26.技术可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 27.法律可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 28.总体分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 3三、系统功能分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 31.系统功能的划分┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 32.系统模块┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 3四、数据描述┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 31.系统流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 32.数据流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 43.数据字典┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 54.E-R图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 85.用例图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 11五、总体设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 111、基本设计概念和处理流程┄┄┄┄┄┄┄┄┄ 112、软件结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 113、数据结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 13六、详细设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 141.模块设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 142.改密码┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 163.浏览┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 17七、功能介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 17八、关键代码展示┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 20九、心得体会┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 25一、需求分析现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。
编号:《软件工程》课程设计学生选课系统目录1 可行性分析报告…………………………………………………………………………2 需求规格说明书3 总体设计说明书4 详细设计说明书5 源程序清单6 软件测试报告7 用户手册8 软件开发总结报告(插入分节符)1可行性分析报告1.引言1.1 编写目的明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。
经过对此项目进行详细调查研究,初拟系统实现报告,对网站开发中将要面临的问题及其解决方案进行初步设计及合理安排。
明确开发风险及其所带来的经济效益。
1.2 背景在现代计算机技术、通信技术日益发展,Internet普及,现代网络生活已经遍布每个家庭,远程教育成了一种必然的趋势,但对于许多用户来说毕竟还是一件比较陌生的事,因此要使用户了解系统是一个重要的关键。
我们将实现通过网络对学生进行选课以及确定课程老师及方案。
1.3课题研究的意义学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
2.课题的可行性2.1 要求(1)与实践活动和相关的文件和资料由教师提供。
(2)本课题要求学生有熟练的ASP开发能力,有较强的自学能力以及一定的关系数据库理论开发功底。
《软件工程》课程设计手册 (3)1.1 开辟背景 (3)1.2 开辟目的 (3)1.3 开辟运行境 (3)1.4 系统功能 (3) (3)2.1 系统需求 (3)2.2 功能需求 (3)2.3 业务流图 (3) (4)3.1 基本设计概念和处理流程 (4)3.2 系统层次模图 (4)3.3 系统层次模块图 (4)3.4 模块设计 (5) (5)4.1 数据库的逻辑设计 (5)4.2 数据库的配置 (6) (8)5.1 学生登录模块的设计与实现 (8)5.2 学生注册模块的设计与实现 (9)5.3 学生查询模块的设计与实现 (9)5.4 学生选课模块的设计与实现 (10) (10) (10) (11)1.1 开辟背景Internet 的飞速发展深刻地影响了人们的日常生活和商业运作方式。
人们打开网页浏览当天的新闻,发电子邮件给远方的朋友,使用搜索引擎查找资料,进入网上商城购买商品——这一切都是在使用Internet。
社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。
1.2 开辟目的传统的手工选课不仅复杂,也牵涉了不少的人力,对管理也造成为了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。
1.3 开辟运行环境:开辟工具:java 语言开辟环境:JDK1.4 系统功能:(1) 登录、注册功能.(2) 选课功能(3) 查询功能2.1 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。
采集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。
2.2 功能需求通过系统功能分析,针对普通的网上选课系统,总结出如下的需求信息:(1) 学生的需求:网上选课、选课情况查询;(2) 本系统主要实现学生信息管理和选课查询。
《学生网上选课管理系统(UML)》一、系统概述学生网上选课管理系统是基于UML(统一建模语言)进行设计的,旨在为学生提供一个便捷、高效的选课平台。
本系统通过对选课流程的规范化管理,提高了选课效率,降低了教务管理人员的工作负担,同时保证了选课过程的公平、公正。
二、系统功能模块1. 用户登录模块用户登录模块包括学生登录和教务管理员登录两个部分。
学生通过学号和密码登录系统,进行选课操作;教务管理员则负责维护课程信息、监控选课过程及处理异常情况。
2. 课程浏览模块课程浏览模块为学生提供了丰富的课程信息,包括课程名称、课程编号、上课时间、上课地点、授课教师等。
学生可根据个人兴趣和需求筛选课程,为选课做好充分准备。
3. 选课操作模块选课操作模块是系统的核心部分,学生可以在该模块进行课程选择、退选、查看已选课程等操作。
系统会实时更新选课结果,确保学生选课的实时性和准确性。
4. 课程管理模块课程管理模块供教务管理员使用,主要包括课程信息维护、选课人数限制、选课时间设置等功能。
教务管理员可根据实际情况调整课程安排,确保选课工作的顺利进行。
5. 数据统计与分析模块数据统计与分析模块负责收集、整理选课数据,为教务管理员提供决策依据。
通过分析选课结果,教务管理员可以了解学生选课偏好,优化课程设置,提高教学质量。
三、系统特点1. 操作简便:系统界面设计简洁,操作流程清晰,便于学生快速上手。
2. 高效性:采用UML建模,系统结构合理,数据处理速度快,提高了选课效率。
3. 安全性:系统采用加密技术,保障用户数据安全,防止信息泄露。
4. 可扩展性:系统设计充分考虑未来发展需求,便于功能扩展和升级。
5. 易维护性:模块化设计,便于后期维护和故障排查。
《学生网上选课管理系统(UML)》四、系统角色与权限划分1. 学生角色查询和浏览课程信息;进行选课、退课操作;查看个人选课记录和课程表;接收选课通知和系统消息。
2. 教务管理员角色发布和更新课程信息;设置选课时间、人数限制等参数;监控选课过程,处理选课异常情况;管理学生账户信息,包括权限分配和密码重置;查询和导出选课数据,进行统计分析。
软件工程课程设计学生选课系统一、介绍随着信息技术的不断发展,各行各业都离不开计算机的帮助。
学校也不例外。
学校的学科设置繁琐多样,如何让学生更快速、更准确地选到自己感兴趣的课程,是每一所学校都需要考虑的问题。
而软件工程作为一门较为实用的学科,应用在学生选课系统中,能够提高学生选课的效率,减少繁琐的流程、缩短时间,同时也能提高课程安排的科学性和精确度。
二、需求分析1、学生需求:能够根据自己的兴趣、时间等因素进行筛选,以快速查找自己需要的课程;同时也需要在选课过程中能够及时了解有无课程时间冲突,并进行相应的调整。
2、教师需求:能够快速、高效地了解学生的选课情况,以便于更好地进行教学计划安排、资源调配以及课程评估等。
3、管理需求:能够更好地监管选课流程,防止出现不当行为,确保选课过程的公开透明及合规性。
三、系统设计方案1、需求规定1.1 系统管理员可以对选课系统的相关参数进行设定,包括课程的基本信息数据、学生课程清单、选课时间和规则等。
1.2 学生登陆后可以查看课程、进行筛选,以及进行课程信息的查看、查询、课程化选。
1.3 教师可以查看选课情况以及管理自己的教学班级,包括布置作业、成绩录入等。
1.4 学生选课的时间节点可以在选课处理中获取,只有在设定时间内才可以进行选课。
2、数据库设计2.1 学生课程清单表:表中存储每个学生的已选课程信息。
2.2 学生信息表:存储所有注册学生的个人信息,为学生选课提供账号管理和基础信息库。
2.3 课程信息表:其中存储课程的全部信息,用于学生、教师查看、筛选和选课。
2.4 教师信息表:教师信息表中包含教师姓名、工号、授课班级信息以及相关授课要求等信息。
2.5 选课流水表:记录学生选课及其它可以影响选课结果的流水明细。
3、功能模块设计3.1 系统登录模块:设计系统的登录模块,分别支持学生、教师、管理员等三种用户类型。
3.2 课程分析模块:根据学生的兴趣和要求对课程进行筛选,以便于更快地找到符合自己要求的课程。
目录一、引言 (1)1.1、学生选课系统开发的必要性 (1)1.2、学生选课系统开发的可能性 (2)二、需求工作流 (2)2.1.问题域 (2)2.1.1 问题 (2)2.1.2 问题的解决方案 (2)2.2.领域模型 (3)2.2.1 系统参与者 (3)2.2.2 用例 (3)三、分析工作流 (8)3.1.类图 (8)3.2.状态图 (10)3.3、顺序图 (10)3.3.1、用户登录 (10)3.3.2、学生选定课程 (11)3.3.3、老师做出相应操作 (12)3.3.4、老师查看学生选课情况 (13)四、设计工作流 (15)4.1 细化类图 (15)4.2 数据库设计 (16)4.2.1概念模型 (16)4.2.2 逻辑模型 (21)五、界面设计 (21)5.1 用户登陆界面 (21)六、总结 (22)七、参考文献 (22)一、引言1.1、学生选课系统开发的必要性当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好选课信息而设计的。
学校作为一种信息资源的集散地,学生和课程繁多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于选课情况的统计和查询等往往采用对课程的人工检查进行,对学生的选课权限、以及选课代号等用人工计算、手抄进行。
数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管学校都有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
----软件工程--—-学生选课管理系统组长:071103428 张成林组员:071103418 马成龙组员:071103417 刘岩组员:071103429 张凯1 引言1.1 编写目的编写本文档的目的在于详细、准确和全面的定义本选课系统的功能和和用户需求,用以指导系统顺利地进行开发,并保证后续地开发能够保质保量的完成.本文档所描述的需求信息将作为该项目最终验收的标准和依据.1.2项目范围本项目名称为学生选课系统,主要是面向学校教师和学生的选课的主要管理平台,此外也是学生综合系统的重要组成部分,其中选课系统中的学生信息和教师信息来自学生信息管理系统和教师管理系统.2.任务概述2.1产品概述现在,随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。
学生选课系统就是为了减少学校对信息管理的工作量,增强学生选课及成绩信息管理的安全性的双重要求下出现的。
本系统实现的主要功能是学生选课,成绩录入,成绩查询,课程信息管理,用户信息管理等。
采用的B/S架构,其作用范围为所有在校本科生和在校研究生和教师和系统管理员。
2.2用户特点本系统最终面向的用户主要分为三类:学生,教师,系统管理员.系统管理员主要任务是对数据库进行维护,并且保证信息的安全性。
教师和学生主要是对信息的输入和查询。
2。
3条件与限制本系统中涉及到大量的数据的录入和存储,开发人员要有一定的数据库操作技能,并且对于B/S架构和多任务多用户操作系统都有一定的认识,具有开发项目经验。
2。
4功能层次图3.数据描述3.1 一般性描述由于本系统的数据还算不上大型的。
所以数据库服务器与web服务器共用同一台计算机。
系统中的用户信息、系统信息和课程信息都放在数据库中。
3.2 System Use Case Diagram系统用例图下图所示。
各Use Case 说明如下:(1)选课:学生可以执行选课的操作.Step 1:成功登陆Step 2:查看所有可选课程Step 3:进行选课操作(2)查询:不管用户处于什么角色都可以使用查询Step 1:用户登陆Step 2:学生、老师和管理员分别使用的查询不一定全是相同的。
详细版!目录一、问题定义 (5)1.1问题的定义 (5)1.2 系统要解决的问题 (5)二、可行性研究 (6)2.1 引言 (6)2.1.1目的 (6)2.1.2背景及功能 (6)2.1.3 参考资料 (6)2.2 可行性研究的前提 (7)2.2.1 要求 (7)2.2.2 目标 (7)2.2.3 条件、假定和限制 (7)2.2.4 进行可行性研究的方法 (7)2.3 所建议的系统 (8)2.3.1 对所建议系统的说明 (8)2.3.2 处理流程和数据流程 (8)2.3.3 工作负荷 (9)2.3.4技术条件方面的可行性 (10)2.4 社会因素方面的可行性 (10)2.4.1 法律方面的可行性 (10)2.4.2 使用方面的可行性 (10)2.5 经济可行性 (10)2.6 结论 (10)三、项目开发计划 (11)3.1 引言 (11)3.1.1 编写目的 (11)3.1.2 背景 (11)3.1.3 参考资料 (11)3.2 项目概述 (11)3.2.1 工作内容 (11)3.2.2 产品 (12)3.2.4 完成项目的最迟期限 (13)3.2.5 关键问题及支持的系统条件 (13)3.3 支持条件 (13)四、需求分析 (14)4.1 系统需求 (14)4.2. 功能需求 (14)4.3业务流程图 (14)五、概要设计 (16)5.1 基本设计概念和处理流程 (16)5.2. 系统层次模块图 (16)5.3. 系统层次模块图 (16)5.4. 模块设计 (17)六、数据库设计 (18)6.1 引言 (18)6.1.1 编写目的 (18)6.1.2 背景 (18)6.1.3 定义 (18)6.1.4 参考资料 (19)6.2 外部设计 (20)6.2.1 标识符和状态 (20)6.2.2 使用它的程序 (20)6.2.3 约定 (20)6.2.4 专门指导 (20)6.2.5 支持软件 (20)6.3 结构设计 (21)6.4 运用设计 (25)6.4.1 数据字典设计 (25)6.4.2 安全保密设计 (25)七、详细设计 (26)7.1 引言 (26)7.1.1 编写目的 (26)7.1.2 背景 (26)7.1.3定义 (26)7.1.4 参考资料 (26)八、测试报告 (27)8.1 引言 (27)8.1.1 编写目的 (27)8.1.2 定义 (27)8.1.3 参考资料 (27)8.2 测试概要 (28)8.3 测试结果及发现 (31)8.3.1 测试具体实施 (31)8.4 对软件功能的结论 (32)8.4.1 用户登录模块 (32)8.5 分析摘要 (32)8.5.1 能力 (32)8.5.2 评价 (32)8.6 测试资源消耗 (32)九、用户手册 (33)9.1 引言 (33)9.1.1 编写目的 (33)9.1.2 定义 (33)9.1.3 参考资料 (33)9.2 用途 (33)9.2.1 功能 (33)9.2.2 性能 (34)9.2.3 安全保密 (34)十、附录 (36)10.1 数据库的封装代码DB.java (36)10.2 选课系统登陆界面代码Login.java (37)10.3 选课系统学生选课界面代码Student.java (41)10.4 学生选课情况查询代码Query.java (45)10.5 学生用户登录密码的修改代码Modify.java (48)10.6 教师查询学生选课的情况代码Teacher.java (51)10.7 超级管理员查询学生选课的情况代码Administrator.java (53)一、问题定义1.1问题的定义学生选课系统:也称学生课程选修制,即允许学生对学校所开设的课程有一定的选择自由,包括选择课程、任课教师和上课时间,选择适合自己的学习量和学习进程。
《软件工程》课程设计学生管理系统系统概述:1、架构分析学生管理是学校管理中不可少的一部分。
而基于B/S架构的学生管理系统是方便学校管理。
Web展示层的每个页面都可以直接对数据库进行访问,而不用过多的实现数据库连接和操作接口。
数据库是系统的最底层。
数据访问模块包含在Web展示层中。
Web 展示层通过数据库访问模块访问数据库。
数据库访问模块一般封装数据库的查询、添加、更新、删除等操作,同时还为Web展示层提供访问数据库的接口。
两层架构模式的各层功能:层名功能描述Web展示层系统最高层,向用户展示各种界面。
用户通过界面对系统进行操作,并实现用户各种操作信息的添加、修改和删除。
与数据库直接关联,其数据访问模块封装了对数据库的所有操作。
数据库数据库用来存储本系统所有数据。
2、主要模块本系统包括5个模块:用户管理模块、班级管理模块、课程管理模块、选课管理模块和成绩管理模块。
(1)、用户管理模块:主要功能是对用户属性和权限进行管理,是系统的基础模块。
由管理员添加的用户默认密码和用户名称相同,修改密码只能由本人或在数据库中修改完成。
(2)、课程管理模块:管理员具有对课程的增加、删除和修改权限。
课程分为基础课、专业课和选修课3种类型。
课程管理模块制约选课模块。
管理员在课程管理中添加课程信息后,学生才能进行选课。
分配课程主要是制定该课程的任课教师和授课班级(基础课才需要指定班级)。
(3)、选课管理模块:主要功能是删除和统计选课信息,既可对选修课程进行管理,也可统计选修课人数,并根据学生选课时间决定最终选修此课的学生。
(4)、成绩管理模块:管理员可以录入和统计学生成绩;学生可以自己查询自己课程的名称、学分、成绩。
当学生成绩不及格时,将无法获得本课程的学分。
3、主要负责模块:甄边梓:主体框架设计、学生数据库管理模块、选课管理模块、成绩管理模块张彩娟:登录权限验证、数据库与的连接、用户管理模块、课程管理模块一、系统设计2.1系统需求分析在该系统中主要对学生的基本信息、学生成绩等进行管理,系统主要功能如下:(1)学生信息管理:用来管理学生基本信息,包括查询、添加、修改和删除。
学生选课信息系统需求分析目录1.引言 (2)1.1.编写目的 (2)1.2.背景 (2)1.3.软件设计目标 (2)1.4参考资料 (2)2.任务概述 (2)2.1.运行环境 (3)2.2.用户特征 (3)2.3.假定与约束 (4)3.需求规定 (4)3.1.软件功能说明 (4)3.2.对功能的一般性规定 (4)3.3.对安全性的要求 (4)4.功能需求 (5)4.1学生选课用例图 (5)4.2.管理员课程管理用例图 (9)4.3.教师成绩管理用例图 (14)4.4 创建系统静态模型(类图) (23)4.5 创建系统动态模型(顺序图) (24)4.6 创建系统状态图 (25)4.7 创建系统部署图 (25)5.对性能的规定 (26)5.1精度 (26)5.2.时间特性规定 (9)5.3.灵活性要求 (26)5.4 输入输出要求 (26)5.5 故障处理 (27)6.系统运行要求分析 (24)6.1用户界面 (27)6.2.硬件接口 (9)6.3软件接口 (9)7.其他要求 (24)1.引言1.1编写目的本文档目的旨在方便开发者更全面的分析整个系统,从各个方面综合分析系统的需求,把整个系统的需求细化为一些模块的具体需求,集中地预测研发中可能出现的问题从而尽量避免。
同时本文档需要用户的参与,在开发前期以文档的形式来系统面向用户,用户根据自身的需求,结合此需求文档,向开发人员提出改进意见,用户也能更早的了解这个系统预想状态。
对系统逐渐的清晰明了,以便尽早发现问题,及早改进,减少修改费用,从而方便今后系统能更好的开展。
1.2背景本系统开发的目的是采用信息化和网络化的手段,帮助学生和学校信息化的管理选课教学任务。
为学生提供全面的选课数据信息,为有效的控制选课提供有力的帮助;为学校做到及时、准确地掌握选课情况,为选修课程做好部署工作。
1.3软件设计目标本系统是为高校学院制定的个人选课及管理的现代化信息平台,学生能过浏览器进行网上选课和并且可以查询自己的选课计划及所选课程进度。
1.概述1.1课题题目:学生选课系统1.2系统的主要目标:本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。
1.3 系统的开发环境及运行环境:操作系统:Windows XP Pro SP2建模工具:Rational Rose 2003数据库系统:SQL Server2000开发工具:Visual Studio 2005Web服务器:IIS+ 2.0平台2.系统需求分析学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
2.1用例图图2-1 学生选课系统用例图用例图说明:(1)系统的外部角色有:学生用户、教师用户和管理员。
学生网上选课管理系统(UML)一、系统概述学生网上选课管理系统是基于UML(统一建模语言)进行设计的,旨在为学生提供一个便捷、高效的选课平台。
本系统通过分析学生的需求,运用UML图示对系统进行详细描述,确保系统功能完善、操作简便。
二、系统功能模块1. 用户登录模块用户登录模块主要包括学生登录和教务管理员登录。
学生通过学号和密码登录系统,教务管理员则拥有更高的权限,负责系统维护和课程管理。
2. 课程浏览模块课程浏览模块为学生提供了丰富的课程资源,学生可以根据自己的兴趣和专业需求,查看课程详情、教师信息、上课时间等。
3. 选课模块学生在课程浏览模块中找到心仪的课程后,可以在此模块进行选课。
系统会根据学生的选课条件进行筛选,确保选课过程公平、公正。
4. 退课模块学生在规定时间内可对已选课程进行退课操作,避免因课程冲突或个人原因导致无法正常上课。
5. 成绩查询模块学生可以在成绩查询模块查看已选课程的成绩,了解自己的学习情况。
6. 教务管理模块教务管理员负责对课程、教师、学生等基本信息进行维护,确保系统正常运行。
三、系统UML图示1. 用例图用例图展示了系统的主要功能模块,包括学生、教务管理员等角色及其操作。
2. 类图类图描述了系统中的主要类及其属性和方法,如学生类、课程类、教师类等。
3. 序列图序列图展示了系统各模块之间的交互过程,如学生登录、选课、退课等操作。
4. 状态图状态图描述了系统中的关键对象在不同状态下的转换过程,如学生选课状态、课程状态等。
5. 活动图活动图展示了系统中的主要业务流程,如选课流程、退课流程等。
四、系统特点1. 操作简便:系统界面友好,操作流程清晰,便于学生快速上手。
2. 功能完善:系统涵盖了选课、退课、成绩查询等核心功能,满足学生日常需求。
4. 安全可靠:系统采用加密技术,保障用户数据安全,防止信息泄露。
五、系统优势1. 灵活的课程配置:学生网上选课管理系统允许教务管理员根据教学计划灵活调整课程设置,满足不同专业、年级学生的需求。
软件工程学生选课系统设计说明书设计说明书:选课系统一、引言选课系统是为了方便学生选择合适的课程,规范选课流程,提高选课效率而开发的一款软件。
该系统将实现学生的选课申请、课程查询、选课结果查询等功能。
二、系统需求1.学生选课申请:学生登录系统后,可以浏览并选择自己感兴趣的课程,并提交选课申请。
2.课程查询:学生可以通过系统查询所有的课程信息,包括课程名称、授课教师、课程时间等。
3.选课结果查询:学生可以查询选课申请的处理结果,包括选课成功和选课失败的详细信息。
4.教师管理:系统管理员可以管理教师信息,包括添加教师、修改教师信息等。
5.课程管理:系统管理员可以管理课程信息,包括添加课程、修改课程信息等。
三、系统设计1.用户角色-学生:可以进行选课申请、查询课程和选课结果。
-管理员:可以进行教师和课程的管理。
2.数据库设计-学生表:存储学生的基本信息,包括学号、姓名、密码等。
-教师表:存储教师的基本信息,包括工号、姓名、密码等。
-课程表:存储课程的基本信息,包括课程编号、课程名称、授课教师、课程时间等。
-选课表:存储学生的选课记录,包括学生学号、选课课程编号、选课状态等。
3.系统流程-学生选课申请流程:1)学生登录系统。
2)学生浏览课程信息并选择感兴趣的课程。
3)学生提交选课申请。
4)系统根据学生的选课申请进行处理,并生成选课结果。
5)学生可以查询选课结果。
-课程查询流程:1)学生登录系统。
2)学生查询课程信息。
-选课结果查询流程:1)学生登录系统。
2)学生查询选课结果。
-教师管理流程:1)管理员登录系统。
2)管理员可以进行添加教师、修改教师信息等操作。
-课程管理流程:1)管理员登录系统。
2)管理员可以进行添加课程、修改课程信息等操作。
四、系统实现该选课系统将采用Java语言进行开发,前端界面使用HTML、CSS和JavaScript技术实现。
后端使用Spring框架搭建整个系统,数据库使用MySQL进行存储。
软件工程–简单的选课系统系统概述选课是每个学生都必须完成的任务,而现在有许多大学已经实行了网上选课,方便了学生选择课程的同时也减轻了教务工作负担。
本文将介绍一个简单的选课系统,实现了学生选课、查看课表、选课排行等功能。
功能描述登录与注册在本系统中,学生需要先进行登录才能进行选课和查看课表等操作。
而注册则需要输入学生基本信息,包括学号、姓名、学院等,并设置登录密码。
选课本系统中,学生可以通过选择不同的课程和时间进行选课。
同时,课程信息也包括课程名称、授课老师、时间和位置等。
查看课表学生在完成选课后,可以通过登录到系统查看当前的课程表。
课程表中包括了课程名称、授课老师、时间和位置等信息。
选课排行本系统还提供了选课排行榜的功能。
学生可以通过该功能查看最热门的课程和授课老师,以便更好地选择自己感兴趣的课程。
系统结构数据库本系统使用的是MySQL数据库,主要包括学生信息表、课程信息表和选课记录表。
前端界面本系统的前端界面主要使用HTML、CSS和JavaScript技术实现,其中涉及了BootStrap框架和jQuery库等。
后端逻辑本系统的后端逻辑主要使用了Java语言和Spring框架实现,负责具体的业务逻辑处理和数据交互。
开发过程需求分析开发一款选课系统的前提是对其需求进行充分的分析和了解。
在该系统中,需要考虑的主要因素包括教务系统提供的相关信息、学生的选课习惯、课程安排等。
设计阶段在设计阶段,需要细化系统功能,包括界面设计、数据库设计和系统架构的选择等。
开发阶段在具体的开发阶段,主要围绕前端、后端和数据库进行实现。
前端需要实现用户界面,后端需要进行具体的业务逻辑和数据交互,数据库则需要进行相关表的建立和整合。
测试与部署在完成开发之后,需要进行测试和部署。
测试需要检验系统的整体性能和稳定性,部署则需要将系统上线并与教务系统进行连接。
一款选课系统需要综合涉及前后端的技术,需要对数据进行全面的处理和整合,需要满足学生选课需求,也需要与教务系统进行联动。
学生选课系统软件项目管理分析报告所属院系:信息学院班级:软件1201学号:**********姓名:日期:目录1.项目启动 (3)1.1合同拟定工作 (3)1.2生存期模型选择...................................................................................................... 错误!未定义书签。
2.项目计划与执行................................................................................................................. 错误!未定义书签。
2.1需求分析.................................................................................................................. 错误!未定义书签。
2.2任务分解WBS........................................................................................................... 错误!未定义书签。
2.3项目进度计划.......................................................................................................... 错误!未定义书签。
2.4项目成本估算.......................................................................................................... 错误!未定义书签。
学生选修课管理系统软件工程课程设计班级:09信息与计算科学学号:A姓名:学生选修课管理系统、问题定义“选课”是现在高校行政管理工作中一项很重要的课题。
而且是每个学期都必须要面对的问题。
选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。
因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。
随着近几年高校的持续扩招,学生人数逐年增加。
为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。
这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。
而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。
因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。
大学期间总会有很多公共选修课,以往的选课方法是随堂报名。
这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。
原因是传统的选课方法没有预见性,大家没有事先协调好。
并且学生选课存在这样的特点:公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。
使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。
使用本系统有三个角色,即管理员、学生和教师用户。
管理员的权限最高,包括设置系统登陆信息,用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。
老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。
二、可行性研究1.1可行性研究的任务为了使高校学生选课、教师开课操作更加简单方便、提高效率,我们需要设计一个选修课管理系统来解决高校教务管理中的选课工作。
网上选课系统课程设计手册团队:非你莫属学校:武汉轻工大学队长:刘一飞时间:2014.11目录1. 项目概述 (3)1.1开发背景 (3)1.2 开发目的 (3)1.3 开发运行境 (3)1.4 系统功能 (3)2.需求分析 (3)2.1 系统需求 (3)2.2 功能需求 (3)2.3 业务流图 (3)3.总体设计 (4)3.1 基本设计概念和处理流程 (4)3.2 系统层次模图 (4)3.3系统层次模块图 (4)3.4模块设计 (5)4.数据库计 (5)4.1 数据库的逻辑设计 (5)4.2数据库的配置 (6)5. 详细设计 (8)5.1 学生登录模块的设计与实现 (8)5.2 学生注册模块的设计与实现 (9)5.3 学生查询模块的设计与实现 (9)5.4 学生选课模块的设计与实现 (10)6 测试及提交 (10)1.项目概述1.1 开发背景Internet的飞速发展深刻地影响了人们的日常生活和商业运作方式。
人们打开网页浏览当天的新闻,发电子邮件给远方的朋友,使用搜索引擎查找资料,进入网上商城购买商品——这一切都是在使用Internet。
社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。
1.2 开发目的传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。
1.3 开发运行环境:开发工具:java语言开发环境:JDK1.4 系统功能:(1) 登录、注册功能.(2) 选课功能(3) 查询功能2.需求分析2.1 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。
2.2 功能需求通过系统功能分析,针对一般的网上选课系统,总结出如下的需求信息:(1) 学生的需求:网上选课、选课情况查询;(2) 本系统主要实现学生信息管理和选课查询。
学生信息包括学号、姓名、班级;课程信息包括课程名;2.3 业务流程图3.总体设计3.1 基本设计概念和处理流程互联网技术的飞速发展,Java等设计工具的方便实用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。
系统基本的流程是:用户登录->主界面->选择各项子系统。
3.2 系统层次模块图3.3系统层次模块图3.4模块设计(1) 用户注册模块:填写用户名、密码、确认密码(2) 用户登录模块:填写已注册的用户名称,填写正确的密码,进入主控制页面。
(3) 用户选课模块:。
(4) 用户查询模块:可以进行查看所选课程的操作。
4.数据库设计4.1 数据库的逻辑设计我们选用了Microsoft Access 2000。
数据通信接口采用ODBC 。
ODBC 是微软开发的一套读取数据库的解决方案,它的目的是将所有对数据库的底层操作全部隐藏在ODBC 的驱动程序内核里。
对于程序员来说,只要构建了一个指向数据库的连接,就可以采用统一的应用程序编程接口实现对数据库的读写。
目前ODBC 驱动已经提供了对大多数常见类型数据库的支持,包括dBase ,Informix ,Access ,SQL Server 和Oracle 等。
也包括了对其它类型的数据库的支持,如文本,Excel 电子表格等的支持。
根据系统功能设计的要求以及功能模块的划分,对于系统信息数据库,可以列出以下数据项和数据结构: 1. 名称:用户信息表学生选课系统登陆/注册选课查询数据库的设计表名称标识:login名称字段名称数据类型主键非空用户名UserName 文本No Yes 密码Password 文本No No记录:2.名称:课程信息表表名称标识:kechengbiao名称字段名称数据类型主键非空学号number 数字No Yes 姓名name 文本No No 课程名称lesson 文本No No记录:4.2数据库的配置一个真正的、完整的站点是离不开数据库的。
ODBC为应用程序提供了一种标准方法来操作相关的数据库:管理器根据数据源提供的数据库的位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。
这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。
按如下步骤可以建立一个新的系统数据源。
首先,在控制面板中双击ODBC图标,打开“ODBC数据源管理器”对话框,选择“系统DSN”选项卡,单击“添加”按钮。
如下图所示。
在“创建新数据源”对话框中,选择“Driver do Microsoft Access(*.mdb)”作为数据库驱动程序并单击“完成”按钮。
如下图所示。
在“ODBC Microsoft Access安装”对话框中,数据源名称填写为“student”,这是程序中将要引用的。
单击“选择…”按钮,从弹出的文件窗口中选择student.mdb文件所在的位置。
如下图所示。
然后单击“确定”按钮,这样就完成了Access数据库的ODBC数据源设置。
以上步骤,通过ODBC管理器注册了一个名字为student的数据源,并且指定了数据库的驱动程序。
5. 详细设计5.1 学生登录模块的设计与实现5.1.1. 登录模块功能:本模块主要用于对用户身份进行鉴别。
用户通过表单提供用户名和密码信息,系统根据用户提供的登录信息对用户进行身份查询鉴别。
如果身份合法,则将用户导向系统的选课页面。
输入:用户名、密码处理:(1) 输入用户的登录信息:在页面提供的表单出输入用户的用户名和密码信息,点击“登录”按钮提交表单信息到身份验证页面。
或点击“重置”按钮,重新输入。
(2) 用户身份进行验证:连接数据库,打开用户数据表login,检验用户登录信息。
以输入数据“用户名”为查询条件创建数据集查看输入用户名是否存在。
如果存在,继续检验输入的密码是否正确。
密码和用户名都正确,则进入选课页面;如果用户名不存在或密码不正确,则给出登录失败的提示框。
输出:学生选课页面5.1.2.学生登录页面图如下图所示:5.2 学生注册模块的设计与实现5.3 学生查询模块的设计与实现5.4 学生选课模块的设计与实现6 测试及提交7 项目小组成员及详细分工工作任务徐寒亭胡中涛卢文琳李爽查询功能选课功能登陆注册功能需求分析数据库的设计查询模块√注册登录模块√数据库设计模块√选课模块√8 附:模块源代码(1)登录模块import java.awt.*;import java.awt.event.*;import javax.swing.JOptionPane;import java.sql.*;public class Login extends Frame implements ActionListener{ Frame f,f1;Button b1;Button b2;Button b3;TextField t1;TextField t2;Label l1;Label l2;Connection con;Statement sql; //声明Statement对象ResultSet rs;public Login(){f=new Frame("学生选课系统");Toolkit tool=f.getToolkit();Dimension dim=tool.getScreenSize();f.setBounds(0,0,dim.width,dim.height);Panel p=new Panel();f.add(p);l1=new Label("用户名");l2=new Label("密码");t1=new TextField(20);t2=new TextField(20);b1=new Button("登陆");b2=new Button("取消");b3=new Button("注册");p.add(l1);p.add(t1);p.add(l2);p.add(t2);p.add(b1);p.add(b2);p.add(b3);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setVisible(true);t2.setEchoChar('*');f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){if(e.getSource()==b1){if(t1.getText().equals("")||t2.getText().equals("")){JOptionPane.showMessageDialog(null,"输入不能为空!");}else{try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch(ClassNotFoundException a){System.out.println(""+a);}try{con=DriverManager.getConnection("jdbc:odbc:sun","","");sql=con.createStatement();rs=sql.executeQuery("Select * FROM login"); //查询数据库boolean check = false;while(rs.next()){String UserName=rs.getString(1); //获得数据库第二列String Password=rs.getString(2); //获得数据库第三列if(t1.getText().equals(UserName) &&t2.getText().equals(Password)){ //判断语句check = true;JOptionPane.showMessageDialog(null,"登陆成功!");f.dispose();new WindowBox("选课窗口");t1.setText("");t2.setText("");break;}}if(check == false){JOptionPane.showMessageDialog(null,"登陆失败,请重新输入!");}con.close();} catch(SQLException el){}}}if(e.getSource()==b2){t1.setText("");t2.setText("");}if(e.getSource()==b3){f.dispose();new Regist("学生选课系统注册界面");}}public void windowClosing(WindowEvent e){System.exit(0);}public static void main(String[] args) {new Login();}}(2)注册模块import java.awt.*;import java.awt.event.*;import javax.swing.JOptionPane;import java.sql.*;class Regist extends Frame implements ActionListener{Label lb1, lb2, lb3;TextField tf1, tf2, tf3;Button bt1, bt2, bt3;Regist(String s){super(s);setLayout(null);setBounds(0,0,900,900);setVisible(true);setResizable(false);lb1 = new Label("用户名");lb1.setBounds(150,100,50,20);lb2 = new Label("密码");lb2.setBounds(150,200,50,20);lb3 = new Label("确认");lb3.setBounds(150,300,50,20);tf1 = new TextField();tf1.setBounds(200,98,200,20);tf2 = new TextField();tf2.setBounds(200,198,200,20);tf2.setEchoChar('*');tf3 = new TextField();tf3.setBounds(200,298,200,20);tf3.setEchoChar('*');bt1 = new Button("注册");bt1.setBounds(200,400,100,40);bt2 = new Button("返回");bt2.setBounds(350,400,100,40);bt3 = new Button("退出");bt3.setBounds(435,400,100,40);add(lb1);add(lb2);add(lb3);add(tf1);add(tf2);add(tf3);add(bt1);add(bt2);add(bt3);tf3.addActionListener(this);bt1.addActionListener(this);bt2.addActionListener(this);bt3.addActionListener(this);addWindowListener(new java.awt.event.WindowAdapter(){public void windowClosing(java.awt.event.WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){if(e.getSource()== bt1 || e.getSource()== tf1 || e.getSource()== tf2 ||e.getSource()== tf3){if(tf1.getText().equals("")|| tf2.getText().equals("") ||tf3.getText().equals("")){JOptionPane.showMessageDialog(this,"请输入用户名和密码","提示",JOptionPane.ERROR_MESSAGE); //判断文本内容语句}else{if(tf2.getText().equals(tf3.getText())){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con;Statement sq;ResultSet r;String u, p;con =DriverManager.getConnection("jdbc:odbc:sun",null,null);sq=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.C ONCUR_UPDATABLE);r = sq.executeQuery("SELECT * FROM login");while(r.next()){u =r.getString(1);if(tf1.getText().equals(u)){JOptionPane.showMessageDialog(this,"用户已存在","错误",JOptionPane.ERROR_MESSAGE);con.close();break; //判断用户是否存在}else if(r.isLast()){ //判断是否已经读完整个表u = tf1.getText();p = tf2.getText();sq.executeUpdate("INSERT INTOlogin(UserName,Password) V ALUES("+"'"+u+"'"+","+"'"+p+"'"+")"); //写入用户信息JOptionPane.showMessageDialog(this,"注册成功","提示",RMATION_MESSAGE);con.close();dispose();new Login();break;}}tf1.setText(null);tf2.setText(null);tf3.setText(null);}catch(SQLException b){JOptionPane.showMessageDialog(this,b,"错误",JOptionPane.ERROR_MESSAGE);}catch(ClassNotFoundException a){JOptionPane.showMessageDialog(this,a,"错误",JOptionPane.ERROR_MESSAGE);}}else{JOptionPane.showMessageDialog(this,"两次密码不一致","提示",JOptionPane.ERROR_MESSAGE);tf2.setText(null);tf3.setText(null);}}}else if(e.getSource()== bt3){System.exit(0);}else if(e.getSource()== bt2){dispose();new Login();}}}public class xuhanting1{public static void main(String args[]){new Regist("学生选课系统注册界面");}}(3)选课模块import java.awt.*;import java.awt.event.*;import java.sql.*;class WindowBox extends Frame implements ActionListener,ItemListener {Checkbox box1,box2,box3,box4,box5,box6;Label l1;Label l2;TextField t1;Label l3;TextField t2;TextArea t = new TextArea();Button b1,b2;WindowBox(String s){super(s);setLayout(new FlowLayout());l2=new Label("学号");t1=new TextField(10);l3=new Label("姓名");t2=new TextField(10);b1=new Button("确定");b2=new Button("重置");l1=new Label("所选课程");box1=new Checkbox("离散数学",false);box2=new Checkbox("汇编语言",false);box3=new Checkbox("java语言设计",false);box4=new Checkbox("软件工程",false);box5=new Checkbox("操作系统",false);box6=new Checkbox("马克思政治学",false);box1.addItemListener(this);box2.addItemListener(this);box3.addItemListener(this);box4.addItemListener(this);box5.addItemListener(this);box6.addItemListener(this);add(l2);add(t1);add(l3);add(t2);add(b1);add(b2);add(l1);add(box1);add(box2);add(box3);add(box4);add(box5);add(box6);add(t);b1.addActionListener(this);b2.addActionListener(this);setSize(500,500);setVisible(true);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});validate();}public void itemStateChanged(ItemEvent e){Checkbox box=(Checkbox)e.getSource();if(box.getState()){int n=t.getCaretPosition();t.insert(box.getLabel(),n);}else{t.setText("");}}public void actionPerformed(ActionEvent a){if(a.getSource()==b1){Connection con;Statement sql;ResultSet rs;String number1,name1,lesson1, recode,insertStr;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException g){System.out.println(""+g);}try{con=DriverManager.getConnection("jdbc:odbc:sun","","");sql=con.createStatement();number1=t1.getText();name1=t2.getText();lesson1=t.getText();recode="("+"'"+number1+"'"+","+"'"+name1+"'"+","+"'"+lesson1+"'"+")";insertStr="INSERT INTO kechengbiao values"+recode;sql.executeUpdate(insertStr);con.close();dispose();RuanJian rj=new RuanJian("查询窗口");}catch(SQLException h){System.out.println(h);}}else if(a.getSource()==b2){t1.setText("");t2.setText("");t.setText("");}}}public class xuhanting3{public static void main(String args[]){new WindowBox("选课窗口");}}(4)查询模块import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.JOptionPane;class RuanJian extends Frame implements ActionListener { Label lab1;TextField text1;Button b1,b2;TextArea t=new TextArea();RuanJian(String s){setTitle(s);setLayout(null);lab1=new Label("请输入学号");text1=new TextField(10);b1=new Button("确定");b1.addActionListener(this);b2=new Button("重置");b2.addActionListener(this);lab1.setBounds(120,100,100,30);text1.setBounds(250,100,200,30);b1.setBounds(220,180,50,30);b2.setBounds(320,180,50,30);t.setBounds(100,250,380,300);add(lab1);add(text1);add(b1);add(b2);add(t);setBounds(100,100,600,600);setVisible(true);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});validate();}public void actionPerformed(ActionEvent m){if(m.getSource()==b1){ String s;s=text1.getText();int r=1;Connection con;//java.sql包中Connection 连接Statement sql;//向数据库发送sql语句ResultSet rs;//处理查询结果try{Class .forName("sun.jdbc.odbc.JdbcOdbcDriver");//建立jdbc与odbc连接}catch(ClassNotFoundException e){System.out.println(""+e);}try{con=DriverManager.getConnection("jdbc:odbc:sun","","");sql=con.createStatement();rs=sql.executeQuery("select * from kechengbiao");while(rs.next()){ String number=rs.getString(1);String name=rs.getString(2);String lesson=rs.getString(3);if(s.equals(number)){t.append("学号:"+number+"\n");t.append("姓名:"+name+"\n");t.append("课程:"+lesson+"\n");r=0;break;}}if(s.equals("")){JOptionPane.showMessageDialog(this,"请输入学号","警告对话框",JOptionPane.WARNING_MESSAGE);}else if(r==1){JOptionPane.showMessageDialog(this,"学号输入错误","警告对话框",JOptionPane.WARNING_MESSAGE);// break;}con.close();}catch(SQLException e){System.out.println(e);}}else if(m.getSource()==b2){ String s="";text1.setText(s);t.setText(s);}}}public class xuhanting{public static void main(String args[]){RuanJian rj=new RuanJian("查询窗口");}}21。