学生信息选课系统

合集下载

学生选课管理系统设计

学生选课管理系统设计

学生选课管理系统设计一、引言学生选课管理系统是一种用于高校学生选课和管理选课信息的系统。

随着教育信息化的发展,学生选课管理系统的设计和应用对于提高教育质量、优化教学流程具有重要意义。

本文将围绕学生选课管理系统的设计展开讨论,包括系统的功能需求、数据库设计、系统架构等方面。

二、系统功能需求1. 学生模块•学生登录系统•学生浏览可选课程•学生选择课程•学生查看已选课程•学生退选课程2. 教师模块•教师登录系统•教师发布课程信息•教师查看本人所教授课程•教师查看选课学生信息3. 管理员模块•管理员登录系统•管理员管理学生信息•管理员管理教师信息•管理员管理课程信息三、数据库设计1.学生表(student)•学生ID•学生姓名•学生年龄•所选课程ID2.教师表(teacher)•教师ID•教师姓名•所教课程3.课程表(course)•课程ID•课程名称•授课教师•上课时间•上课地点四、系统架构学生选课管理系统采用B/S架构,前端使用HTML、CSS、JavaScript进行开发,后端采用Java语言和MySQL数据库进行搭建。

系统的主要模块包括学生模块、教师模块、管理员模块以及数据管理模块。

五、系统流程1.学生打开选课系统网页,输入账号和密码进行登录。

2.学生浏览可选课程列表,选择感兴趣的课程。

3.学生提交选课申请,系统自动将选课信息存入数据库。

4.教师登录系统后,可以查看自己所教授的课程和选课学生信息。

5.管理员负责管理学生、教师和课程信息,并保证系统正常运行。

六、系统优势学生选课管理系统的设计和应用,有效提高了教务管理效率,减少了手工操作,降低了选课过程中的错误率,提升了学生和教师的体验。

通过系统记录和分析学生选课情况,学校可以更好地根据实际需求进行教学资源配置,优化课程设置,提高教学质量。

七、总结学生选课管理系统是一种便捷高效的教务管理工具,对于高校提高教学质量和管理水平具有积极作用。

通过本文对学生选课管理系统设计的讨论,希望能够为相关教育管理工作者提供一些参考和借鉴,促进教育信息化建设的不断完善和发展。

学生选课系统数据流图

学生选课系统数据流图

学生选课系统数据流图概述:学生选课系统是一个用于学生在学校进行课程选取的系统。

该系统旨在提供一个便捷的平台,使学生能够根据自己的兴趣和学术需求选择适合的课程。

本文将详细描述学生选课系统的数据流图。

一、上下文图:上下文图是对系统与外部实体之间的交互关系进行描述的图形化工具。

下面是学生选课系统的上下文图:(图中包括学生、教务处、课程目录和学生成绩系统四个外部实体,以及学生选课系统作为中心的系统)二、数据流图:数据流图是描述系统内部数据流动的图形化工具。

下面是学生选课系统的数据流图:1. 学生注册和登录过程:(图中包括学生、学生注册、学生登录、学生信息、学生选课系统四个主要流程)- 学生注册流程:- 学生输入个人信息(姓名、学号、密码等)。

- 学生注册系统验证学生信息的合法性。

- 学生注册成功,系统将学生信息存储到学生信息数据库中。

- 学生登录流程:- 学生输入学号和密码。

- 学生登录系统验证学号和密码的正确性。

- 学生登录成功,系统显示学生的个人信息。

2. 课程查询和选择过程:(图中包括学生、课程目录、课程查询、课程选择、学生选课系统四个主要流程)- 课程查询流程:- 学生输入关键词或选择筛选条件进行课程查询。

- 学生选课系统从课程目录数据库中检索相关课程信息。

- 学生选课系统将查询结果显示给学生。

- 课程选择流程:- 学生选择感兴趣的课程。

- 学生选课系统验证学生是否满足选课条件。

- 学生选课系统将学生选课请求发送给教务处。

- 教务处验证选课请求的合法性。

- 教务处将选课结果(成功或失败)返回给学生选课系统。

- 学生选课系统将选课结果显示给学生。

3. 学生成绩查询过程:(图中包括学生、学生成绩系统、学生成绩查询、学生选课系统四个主要流程)- 学生成绩查询流程:- 学生在学生选课系统中选择查询成绩。

- 学生选课系统向学生成绩系统发送学生学号。

- 学生成绩系统从学生成绩数据库中检索学生的成绩信息。

- 学生成绩系统将成绩信息返回给学生选课系统。

学生选课系统数据流图

学生选课系统数据流图

学生选课系统数据流图一、引言学生选课系统是为了方便学生在大学期间选择课程而设计的一种信息管理系统。

本文将以数据流图的形式来描述学生选课系统的功能和数据流动。

二、系统概述学生选课系统主要包括学生信息管理、课程信息管理、选课管理和成绩管理等模块。

学生可以通过系统查询课程信息、进行选课和退课操作,并查看自己的成绩。

三、数据流图下面是学生选课系统的数据流图,包括了系统的各个功能模块和数据流动的过程。

1. 学生信息管理模块学生信息管理模块用于管理学生的个人信息,包括学生的学号、姓名、性别、年龄等。

该模块接收来自学生的个人信息输入,并将其存储到学生信息数据库中。

2. 课程信息管理模块课程信息管理模块用于管理课程的相关信息,包括课程编号、课程名称、授课教师、上课时间、上课地点等。

该模块接收来自教务处的课程信息输入,并将其存储到课程信息数据库中。

3. 选课管理模块选课管理模块用于学生选课和退课的操作。

学生可以通过该模块查询可选课程列表,并选择自己感兴趣的课程进行选课。

选课管理模块接收学生的选课请求,并将其发送到选课信息数据库中进行处理。

同时,该模块还会将选课结果反馈给学生,包括选课成功或失败的提示。

4. 成绩管理模块成绩管理模块用于记录学生的课程成绩和计算学生的绩点。

该模块接收来自教师的成绩录入,并将成绩信息存储到成绩信息数据库中。

学生可以通过该模块查询自己的成绩和绩点情况。

四、数据流图说明1. 输入流- 学生个人信息输入:学生在注册或更新个人信息时输入的相关数据。

- 课程信息输入:教务处或教师输入的课程相关信息。

2. 输出流- 选课结果反馈:选课管理模块将选课结果反馈给学生,包括选课成功或失败的提示。

- 学生成绩和绩点查询结果:成绩管理模块将学生的成绩和绩点查询结果反馈给学生。

3. 数据存储- 学生信息数据库:用于存储学生的个人信息。

- 课程信息数据库:用于存储课程的相关信息。

- 选课信息数据库:用于存储学生的选课信息。

学生网上选课管理系统(uml)

学生网上选课管理系统(uml)

《学生网上选课管理系统(UML)》一、系统概述学生网上选课管理系统是基于UML(统一建模语言)进行设计的,旨在为学生提供一个便捷、高效的选课平台。

本系统通过对选课流程的规范化管理,提高了选课效率,降低了教务管理人员的工作负担,同时保证了选课过程的公平、公正。

二、系统功能模块1. 用户登录模块用户登录模块包括学生登录和教务管理员登录两个部分。

学生通过学号和密码登录系统,进行选课操作;教务管理员则负责维护课程信息、监控选课过程及处理异常情况。

2. 课程浏览模块课程浏览模块为学生提供了丰富的课程信息,包括课程名称、课程编号、上课时间、上课地点、授课教师等。

学生可根据个人兴趣和需求筛选课程,为选课做好充分准备。

3. 选课操作模块选课操作模块是系统的核心部分,学生可以在该模块进行课程选择、退选、查看已选课程等操作。

系统会实时更新选课结果,确保学生选课的实时性和准确性。

4. 课程管理模块课程管理模块供教务管理员使用,主要包括课程信息维护、选课人数限制、选课时间设置等功能。

教务管理员可根据实际情况调整课程安排,确保选课工作的顺利进行。

5. 数据统计与分析模块数据统计与分析模块负责收集、整理选课数据,为教务管理员提供决策依据。

通过分析选课结果,教务管理员可以了解学生选课偏好,优化课程设置,提高教学质量。

三、系统特点1. 操作简便:系统界面设计简洁,操作流程清晰,便于学生快速上手。

2. 高效性:采用UML建模,系统结构合理,数据处理速度快,提高了选课效率。

3. 安全性:系统采用加密技术,保障用户数据安全,防止信息泄露。

4. 可扩展性:系统设计充分考虑未来发展需求,便于功能扩展和升级。

5. 易维护性:模块化设计,便于后期维护和故障排查。

《学生网上选课管理系统(UML)》四、系统角色与权限划分1. 学生角色查询和浏览课程信息;进行选课、退课操作;查看个人选课记录和课程表;接收选课通知和系统消息。

2. 教务管理员角色发布和更新课程信息;设置选课时间、人数限制等参数;监控选课过程,处理选课异常情况;管理学生账户信息,包括权限分配和密码重置;查询和导出选课数据,进行统计分析。

学生选课系统数据流图

学生选课系统数据流图

学生选课系统数据流图引言概述:学生选课系统是现代教育管理中不可或缺的一部分,通过数据流图可以清晰地展示系统中各个模块之间的数据流动和交互关系。

本文将详细介绍学生选课系统的数据流图,包括系统的整体结构和各个模块之间的数据流动。

一、学生选课系统整体结构1.1 学生模块- 学生信息录入:学生通过系统输入个人信息,包括姓名、学号、班级等。

- 选课功能:学生可以在系统中选择需要修读的课程,系统会实时更新学生的选课信息。

- 成绩查询:学生可以通过系统查询已修读课程的成绩和学分情况。

1.2 课程模块- 课程信息管理:教师或管理员可以在系统中录入课程信息,包括课程名称、授课教师、上课时间等。

- 选课情况统计:系统可以实时统计每门课程的选课情况,包括选课人数和选课情况分布。

- 成绩录入:教师可以在系统中录入学生的成绩信息,系统会自动计算学生的绩点和总成绩。

1.3 管理员模块- 用户权限管理:管理员可以设置不同用户的权限级别,包括学生、教师和管理员。

- 数据备份与恢复:管理员可以对系统中的数据进行定期备份,确保数据安全。

- 系统日志记录:系统会记录管理员的操作日志,以便追踪和排查问题。

二、数据流图中的数据流动2.1 学生选课流程- 学生选择课程:学生通过系统选择需要修读的课程,系统会将选课信息传输到课程模块。

- 课程信息更新:课程模块接收到学生选课信息后,更新相应课程的选课人数和选课情况。

- 学生选课成功:系统会将选课成功的信息反馈给学生,学生可以在成绩查询模块查看选课情况。

2.2 教师成绩录入流程- 成绩录入:教师在系统中录入学生的成绩信息,系统会将成绩数据传输到学生模块。

- 学生成绩更新:学生模块接收到成绩信息后,更新学生的成绩和绩点情况。

- 成绩查询:学生可以在系统中查询到最新的成绩信息。

2.3 管理员权限管理流程- 用户权限设置:管理员可以在系统中设置不同用户的权限级别,系统会将权限信息传输到用户模块。

- 用户权限更新:用户模块接收到权限信息后,更新用户的权限级别。

数据库学生选课管理系统

数据库学生选课管理系统

数据库学生选课管理系统一、引言数据库学生选课管理系统是一种用于高校教务管理的工具,旨在帮助学校管理学生选课、课程信息以及学生成绩等数据。

通过该系统,学生可以方便地进行选课、退课操作,教师可以查看学生成绩并进行评价,学校管理人员可以实时掌握学生选课情况,从而更好地安排教学计划和资源。

二、系统功能1. 学生端功能•学生登录:学生通过账号和密码登录系统;•查看可选课程:学生可以浏览当前学期开设的课程,了解课程内容和开课时间;•选课:学生在规定时间内进行选课操作,选择感兴趣的课程并提交选课申请;•退课:学生在选课期间可以自主进行退课操作,取消已选的课程;•查看成绩:学生可以查询已修课程的成绩和评价。

2. 教师端功能•教师登录:教师通过账号和密码登录系统;•查看所教课程:教师可以查看自己当前任教的课程列表和学生名单;•录入成绩:教师可以录入学生成绩,并进行评价;•查询学生成绩:教师可以查询所教课程学生的成绩。

3. 管理员端功能•管理员登录:管理员通过账号和密码登录系统;•管理学生信息:管理员可以添加、修改、删除学生信息,包括个人信息和选课情况;•管理教师信息:管理员可以添加、修改、删除教师信息,包括个人信息和任教课程。

三、系统实现1. 数据库设计系统数据库包含以下表格:•学生表(Student):用于存储学生基本信息,如学号、姓名、性别等;•课程表(Course):用于存储课程信息,如课程编号、课程名称、学分等;•选课表(Enrollment):用于存储学生选课信息,关联学生和课程;•成绩表(Grade):用于存储学生成绩信息,包括学生、课程和成绩。

2. 系统架构系统采用B/S架构,前端使用HTML、CSS、JavaScript实现页面交互,后端使用Java语言编写业务逻辑,数据库采用MySQL实现数据存储。

3. 用户角色权限系统根据用户角色划分权限,学生可以进行选课、退课和查看成绩操作;教师可以录入成绩和查询学生成绩;管理员可以管理学生和教师信息。

学生选课系统数据流图

学生选课系统数据流图

学生选课系统数据流图一、引言学生选课系统是现代教育管理中不可或者缺的一部份。

它是为了方便学生选修课程、管理学生选课信息以及提供学生选课结果的系统。

本文将详细介绍学生选课系统的数据流图,包括系统的功能、数据流、数据存储和处理过程。

二、系统功能学生选课系统的主要功能包括学生选课、课程管理和成绩查询。

下面将详细介绍每一个功能的数据流图。

1. 学生选课功能学生选课功能允许学生根据自己的兴趣和要求选择课程。

以下是学生选课功能的数据流图:(1)学生选课数据流图学生选课数据流图包括以下主要元素:- 学生:学生通过学生选课界面选择课程。

- 选课系统:接收学生选课请求,并将选课信息传递给课程管理模块。

- 课程管理模块:接收选课信息,更新学生选课记录,并将选课结果返回给选课系统。

- 学生选课结果:选课系统将学生选课结果展示给学生。

2. 课程管理功能课程管理功能允许管理员管理课程信息,包括添加课程、删除课程和更新课程信息。

以下是课程管理功能的数据流图:(2)课程管理数据流图课程管理数据流图包括以下主要元素:- 管理员:管理员通过课程管理界面进行课程管理操作。

- 课程信息:管理员可以添加、删除或者更新课程信息。

- 课程管理模块:接收管理员的课程管理请求,并更新课程信息。

3. 成绩查询功能成绩查询功能允许学生查询自己的课程成绩。

以下是成绩查询功能的数据流图:(3)成绩查询数据流图成绩查询数据流图包括以下主要元素:- 学生:学生通过成绩查询界面查询自己的成绩。

- 成绩查询系统:接收学生的成绩查询请求,并将查询结果返回给学生。

三、数据流数据流用箭头表示,表示数据的流动方向。

以下是学生选课系统的数据流:1. 学生选课数据流学生选课数据流从学生流向选课系统,表示学生选课请求的传递。

选课系统将选课请求传递给课程管理模块,然后将选课结果传递给学生。

2. 课程管理数据流课程管理数据流包括管理员的课程管理请求和课程信息的传递。

管理员通过课程管理界面发送课程管理请求,课程管理模块接收请求并更新课程信息。

学生选课信息管理系统数据库设计

学生选课信息管理系统数据库设计

学生选课信息管理系统一、系统可行性分析在系统开发过程中进行可行性分析,对于保证资源的合理使用,避免浪费和一些不必要的失败,都是十分重要的。

1. 目标和方案的可行性:如果采用人工操作的方式,不仅操作不方便,耗费人力,而且还容易出现错误.所以当前迫切需要一个计算机化的管理信息系统。

开发这个系统,能更好地满足学校要求,使学校的各种信息管理实现无纸化,高效化.2. 技术方面的可行性:本系统是用access结合Sql Server数据库来开发的一个信息管理软件。

Access在数据库方面的特长显得尤为突出:适用于多种数据库结构,结合客户端的html能够创建出完美漂亮且高效的软件系统。

3。

管理方面的可行性:作为学校教务信息管理系统之一的选课系统,对它的管理也是很方便的,只需要先将系统配置运行起来,然后分配好系统的三个主要角色,就可以投入实际的院校中进行使用。

根据以上几方面的可行性分析,可以得出结论:开发该学生选课管理系统是可以进行的。

二、系统需求分析本程序的设计任务就是制作一个可以用于学生选课管理的系统,主要可以进行对本系统、数据的管理、数据查询、常务操作、常用工具、数据库管理和帮助等功能。

具体来说就是可以通过管理功能对本系统用户进行用户添加删除以及密码修改和权限的管理;还可以通过数据管理功能对教师、学生、系部、课程、成绩、教室等信息进行添加、修改和删除等具体的操作;再者,可以通过数据查询功能对教师、学生、系部、课程、成绩、教室等信息的查询;同时本程序还引入常用工具功能,可以在本程序中使用计算器、Word、记事本、Excel、SQL Server和Web等常用工具;最后本程序还加入了数据库的备份、数据库的还原、数据库的压缩、数据的导入和数据的导出等功能方便于数据的整理的存储。

教师在本系统的功能:(1)教师信息管理,包括教师个人的基本情况和任课情况;(2)根据学校教务处所排课进行班级数及人数的统计,然后根据统计结果进行项目及班数的设定查询学生选课情况、自己任课情况、获取自己所担任课程分班表;(3)录入及修改成绩学生信息管理,学生在本系统的功能:(1)查询本人信息、(2)教师任课信息、选课、选课信息查询、(3)成绩查询。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《java语言程序设计》课程设计报告题目:个人事务管理系统学生姓名:罗军 1400170125班级:信息安全141院系:计算机科学与信息学院专业年级: 20142016 年 12 月21 日目录1绪论: (3)2需求分析 (3)3系统分析: (3)3.1系统流程图 (4)3.1.1管理员需求分析 (4)3.1.2学生需求分析 (4)3.1.3教师需求分析 (4)2.2系统用例图分析: (5)3.2.1用户需求分析 (5)3.2.2管理员需求分析 (5)3.2.3学生需求分析 (6)3.2.4教师需求分析 (6)3.3系统数据库分析 (6).3.3.1数据库概念模型设计: (6).3.3.2数据库逻辑模型设计: (8).3.3.3数据库物理模型设计: (9)4界面设计 (13)4.1登录界面设计与实现 (13)4.1.1登录界面主要代码: (13)4.1.2登录界面效果 (18)4.2管理员界面设计与实现 (18)4.2.1菜单主要代码: (18)4.2.2菜单界面效果: (21)4.3教师界面设计与实现 (21)4.3.1菜单主要代码: (21)4.3.2菜单界面效果: (24)4.4学生界面设计与实现 (24)4.4.1菜单主要代码: (24)4.4.2菜单界面效果: (27)5总结 (27)6组内自评 (27)1绪论:通过这次的设计,主要是做出一个小型的管理系统,来加强对JAVA 所学知识的巩固和融会贯通,可以说是对一个学期所学知识的一个小结,加深对JAVA数据库的理解。

2需求分析2.1功能需求分析:该系统具备管理学生信息、课程信息、选课信息的功能:用户通过输入账号和密码进下该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。

全部都可以进行增加、修改、删除、模糊查询,管理员:1.学生管理2.教师管理3.课程管理,教师:查看课程信息,成绩录入,学生:选课,修改选课.3系统分析:3.1系统流程图3.1.1管理员需求分析管理学生,教师的基本信息,设置起止时间。

3.1.2学生需求分析学生可以查看个人信息,选择课程,查看已经选课课程详细信息,删除已经选课课程,查看课程成绩。

3.1.3教师需求分析教师可以查和修改看个人信息,查看选课情况,设置课程详情,设置课程成绩。

2.2系统用例图分析:3.2.1用户需求分析用户包括教师,学生,管理员,用户可以注册,修改密码,登录系统就可以进行操作。

3.2.2管理员需求分析管理学生,教师的基本信息,设置起止时间。

3.2.3学生需求分析学生可以查看个人信息,选择课程,查看已经选课课程详细信息,删除已经选课课程,查看课程成绩。

3.2.4教师需求分析教师可以查和修改看个人信息,查看选课情况,设置课程详情,设置课程成绩。

3.3系统数据库分析:.3.3.1数据库概念模型设计:实体1:AdministratorAdministrator(no,name,password)no 为主码实体图:实体2:StudentStudent(no,name,gender,class,password,major,faculty)no为主码实体图实体3:TeacherTeacher(no,name,password,gender,p_职称,C_院系)no为主码实体图:实体4:CourseCourse(no,name,Tno,start,time,site,end,x_学分,y_已选人数,k_可选人数)no为主码实体图:.3.3.2数据库逻辑模型设计:E-R图:对应的关系模式:Administrator(no,name,password)Student(no,name,gender,class,password,major,faculty)Teacher(no,name,password,gender,p_职称,C_院系)no为主码Course(no,name,Tno,start,time,site,end,x_学分,y_已选人数,k_可选人数)Manage(A.no,T.no,S.no)SetUp(T.no ,C.no)X_选课(S.no,C.no).3.3.3数据库物理模型设计:数据库名称:XSXKXTAdministrator表:Student表:Teacher表:Course表:Manage表:SetUp表:X_选课表:4界面设计4.1登录界面设计与实现4.1.1登录界面主要代码:publicclass D_登录extends JFrame {privatestaticfinallong serialVersionUID = 2897071766481834392L;privatestaticint userName;privatestatic String nameStr;public D_登录() {}publicstatic String username(){return nameStr;}/*public static void setuserName(int userName){D_登录.userName=userName;}*/// 密码输入函数public D_登录(String s) {super("学生选课系统");setSize(250, 250);setLayout(new FlowLayout());setLocationRelativeTo(null); //设置窗口居中JPanel contentPane = new JPanel();setContentPane(contentPane);JLabel lab1 = new JLabel("账号:");JTextField tf = new JTextField(15);JLabel lab2 = new JLabel("密码:");JPasswordField keyField = new JPasswordField(15);keyField.setEchoChar('*');JCheckBox chk1 = new JCheckBox("管理员");JCheckBox chk2 = new JCheckBox("教师");JCheckBox chk3 = new JCheckBox("学生");JButton sureButton = new JButton("登录");JButton buildButton = new JButton("注册");JButton cancelButton = new JButton("取消");contentPane.add(lab1);contentPane.add(tf);contentPane.add(lab2);contentPane.add(keyField);contentPane.add(chk1);contentPane.add(chk2);contentPane.add(chk3);contentPane.add(sureButton);contentPane.add(buildButton);contentPane.add(cancelButton);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setVisible(true);sureButton.addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {char[] key=keyField.getPassword();String keyStr = String.valueOf(key);String name = tf.getText().trim();D_登录 .nameStr = String.valueOf(name);//加载JDBC驱动String driverName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";//连接服务器和数据库sampleString dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=XSXKXT";String uid = "sa"; //默认用户名String pwd = "5201314"; //密码Connection dbConn=null;ResultSet resultSet=null;PreparedStatement statement=null;String sql=null;if(chk1.isSelected()==true){try{Class.forName(driverName);dbConn=DriverManager.getConnection(dbURL, uid, pwd);sql="select name,password from Administrator";statement=dbConn.prepareStatement(sql);resultSet=statement.executeQuery();while(resultSet.next()){String nowKey=resultSet.getString("password");String userName=resultSet.getString("name");if(keyStr.equals(nowKey)&&D_登录 .nameStr.equals(userName)){new M_管理员("管理员主界面"); //进入主界面dispose();}}}catch(SQLException |ClassNotFoundException e1){System.out.println("操作数据库失败!");e1.printStackTrace();}finally{try {dbConn.close();} catch (SQLException e1) {// TODO自动生成的 catch 块e1.printStackTrace();}}}elseif(chk2.isSelected()==true){try{Class.forName(driverName);dbConn=DriverManager.getConnection(dbURL, uid, pwd);sql="select name,password from Teacher";statement=dbConn.prepareStatement(sql);resultSet=statement.executeQuery();while(resultSet.next()){String nowKey=resultSet.getString("password");String userName=resultSet.getString("name");if(keyStr.equals(nowKey)&&D_登录 .nameStr.equals(userName)){System.out.println(userName);new M_教师("教师主界面"); //进入主界面dispose();}}}catch(SQLException |ClassNotFoundException e1){System.out.println("操作数据库失败!");e1.printStackTrace();}finally{try {dbConn.close();} catch (SQLException e1) {// TODO自动生成的 catch 块e1.printStackTrace();}}}elseif(chk3.isSelected()==true){try{Class.forName(driverName);dbConn=DriverManager.getConnection(dbURL, uid, pwd);sql="select name,password from Student";statement=dbConn.prepareStatement(sql);resultSet=statement.executeQuery();while(resultSet.next()){String nowKey=resultSet.getString("password");String userName=resultSet.getString("name");if(keyStr.equals(nowKey)&&D_登录 .nameStr.equals(userName)){new M_菜单("学生主界面"); //进入主界面dispose();}}}catch(SQLException |ClassNotFoundException e1){System.out.println("操作数据库失败!");e1.printStackTrace();}finally{try {dbConn.close();} catch (SQLException e1) {// TODO自动生成的 catch 块e1.printStackTrace();}}}else {JOptionPane.showMessageDialog(null, "您输入的密码或用户名不正确!", "警告!", JOptionPane.ERROR_MESSAGE);}}});buildButton.addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new Z_注册("学生选课系统");dispose();}});cancelButton.addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {System.exit(0);}});}}4.1.2登录界面效果4.2管理员界面设计与实现4.2.1菜单主要代码:publicclass M_管理员extends JFrame {privatestaticfinallong serialVersionUID = 5750226625631933273L;public M_管理员(String s) {super(s);setSize(800, 600);this.setLayout(null);setLocationRelativeTo(null); // 设置窗口居中JMenuBar menuBar = new JMenuBar();JMenu[] menu = new JMenu[] { new JMenu("系统管理"), new JMenu("系统功能"), new JMenu("基本资料"), new JMenu("帮助") };JMenuItem[] menuItem1 = new JMenuItem[] { new JMenuItem("关闭"), new JMenuItem("进入学生主菜单"),new JMenuItem("进入教室主菜单") };JMenuItem[] menuItem2= new JMenuItem[] { new JMenuItem("学生管理"), new JMenuItem("教师管理") };JMenuItem[] menuItem3 = new JMenuItem[] { new JMenuItem("查看个人信息") };JMenuItem[] menuItem4 = new JMenuItem[] { new JMenuItem("关于") };for (int i = 0; i<menu.length; i++) {menuBar.add(menu[i]);}for (int i = 0; i<menuItem1.length; i++) {menu[0].add(menuItem1[i]);}for (int i = 0; i<menuItem2.length; i++) {menu[1].add(menuItem2[i]);}for (int i = 0; i<menuItem3.length; i++) {menu[2].add(menuItem3[i]);}for (int i = 0; i<menuItem4.length; i++) {menu[3].add(menuItem4[i]);}setJMenuBar(menuBar);JLabel label = new JLabel("欢迎进入学生选课系统", JLabel.CENTER);label.setBounds(10, 150, 750, 50);label.setFont(new Font("黑体", Font.BOLD, 36));label.setHorizontalTextPosition(SwingConstants.CENTER);label.setForeground(Color.red);JLabel label1 = new JLabel("新用户请完善个人信息", JLabel.CENTER);label1.setBounds(10, 200, 750, 50);label1.setFont(new Font("黑体", Font.BOLD, 30));label1.setHorizontalTextPosition(SwingConstants.CENTER);label1.setForeground(Color.red);add(label1);add(label);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setVisible(true);menuItem1[0].addActionListener(new ActionListener() { // 给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {System.exit(0);}});menuItem1[1].addActionListener(new ActionListener() { // 给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new M_菜单("学生菜单");}});menuItem1[2].addActionListener(new ActionListener() { // 给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new M_教师("教师菜单");}});menuItem2[0].addActionListener(new ActionListener() { // 给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new StudentManage("学生管理系统");}});menuItem2[1].addActionListener(new ActionListener() { // 给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new TeacherManage("教师管理系统");}});menuItem3[0].addActionListener(new ActionListener() { // 给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new CheckNewM("个人信息系统");}});menuItem4[0].addActionListener(new ActionListener() { // 给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new About();setVisible(false);}});}}4.2.2菜单界面效果:4.3教师界面设计与实现4.3.1菜单主要代码:publicclass M_教师 {public M_教师(String s){JFrame frame=new JFrame(s);frame.setSize(800,600);frame.setLocationRelativeTo(null);JMenuBar menuBar=new JMenuBar();JMenu[] menu = new JMenu[] { new JMenu ("系统管理"), new JMenu ("系统功能"),new JMenu ("基本资料"),new JMenu ("帮助") };JMenuItem[] menuItem1 = new JMenuItem[] { new JMenuItem ("关闭") };JMenuItem[] menuItem2 = new JMenuItem[] { new JMenuItem ("设置课程"),new JMenuItem ("查看选课情况") };JMenuItem[] menuItem3 = new JMenuItem[] { new JMenuItem ("查看个人信息") };JMenuItem[] menuItem4 = new JMenuItem[] { new JMenuItem ("关于") };for ( int i = 0; i<menu.length; i++ ){menuBar.add (menu[i]);}for ( int i = 0; i<menuItem1.length; i++ ){menu[0].add (menuItem1[i]);}for ( int i = 0; i<menuItem2.length; i++ ){menu[1].add (menuItem2[i]);}for ( int i = 0; i<menuItem3.length; i++ ){menu[2].add (menuItem3[i]);}for ( int i = 0; i<menuItem4.length; i++ ){menu[3].add (menuItem4[i]);}JLabel label=new JLabel("欢迎进入学生选课系统",JLabel.CENTER);label.setBounds(10, 100, 750, 200);label.setFont(new Font("黑体",Font.BOLD,36));label.setHorizontalTextPosition(SwingConstants.CENTER);label.setForeground(Color.red);JLabel label1=new JLabel("新用户请完善个人信息",JLabel.CENTER);label1.setBounds(10, 200, 750, 50);label1.setFont(new Font("黑体",Font.BOLD,30));label1.setHorizontalTextPosition(SwingConstants.CENTER);label1.setForeground(Color.red);frame.add(label);frame.add(label1);frame.setJMenuBar (menuBar);frame. setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);frame.setVisible (true);menuItem1[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {System.exit(0);}});menuItem2[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new SetGrade("设置课程");}});menuItem2[1].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new CheckChooseCourse("查看学生选课");}});menuItem3[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new CheckNewT("个人信息");}});menuItem4[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new About();}});}}4.3.2菜单界面效果:4.4学生界面设计与实现4.4.1菜单主要代码:publicclass M_菜单extends JFrame{privatestaticfinallong serialVersionUID = -1398247881143814899L;public M_菜单(String s){super(s);setSize(800,600);this.setLayout(null);setLocationRelativeTo(null); //设置窗口居中JMenuBar menuBar=new JMenuBar();JMenu[] menu = new JMenu[] { new JMenu ("系统管理"), new JMenu ("系统功能"),new JMenu ("基本资料"),new JMenu ("帮助") };JMenuItem[] menuItem1 = new JMenuItem[] { new JMenuItem ("关闭") };JMenuItem[] menuItem2 = new JMenuItem[] { new JMenuItem ("开始选课"), new JMenuItem ("查看课程表") };JMenuItem[] menuItem3 = new JMenuItem[] { new JMenuItem ("查看个人信息") };JMenuItem[] menuItem4 = new JMenuItem[] { new JMenuItem ("关于") };for ( int i = 0; i<menu.length; i++ ){menuBar.add (menu[i]);}for ( int i = 0; i<menuItem1.length; i++ ){menu[0].add (menuItem1[i]);}for ( int i = 0; i<menuItem2.length; i++ ){menu[1].add (menuItem2[i]);}for ( int i = 0; i<menuItem3.length; i++ ){menu[2].add (menuItem3[i]);}for ( int i = 0; i<menuItem4.length; i++ ){menu[3].add (menuItem4[i]);}setJMenuBar (menuBar);JLabel label=new JLabel("欢迎进入学生选课系统",JLabel.CENTER);label.setBounds(10, 100, 750, 100);label.setFont(new Font("黑体",Font.BOLD,36));label.setHorizontalTextPosition(SwingConstants.CENTER);label.setForeground(Color.red);JLabel label1=new JLabel("新用户请完善个人信息",JLabel.CENTER);label1.setBounds(10, 200, 750, 50);label1.setFont(new Font("黑体",Font.BOLD,30));label1.setHorizontalTextPosition(SwingConstants.CENTER);label1.setForeground(Color.red);add(label);add(label1);setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);setVisible (true);menuItem1[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {System.exit(0);}});menuItem2[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new StartChooseCourse("开始选课界面");}});menuItem2[1].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new CheckCourse("查看选课界面");}});menuItem3[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new StudentManage("个人信息界面");}});menuItem4[0].addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器publicvoid actionPerformed(ActionEvent e) {new About();setVisible(false);}});}}4.4.2菜单界面效果:5总结6组内自评。

相关文档
最新文档