学生成绩管理系统本科毕业设计论文

上传人:无*** 文档编号:62349310 上传时间:2022-03-14 格式:DOC 页数:40 大小:498.50KB
收藏 版权申诉 举报 下载
学生成绩管理系统本科毕业设计论文_第1页
第1页 / 共40页
学生成绩管理系统本科毕业设计论文_第2页
第2页 / 共40页
学生成绩管理系统本科毕业设计论文_第3页
第3页 / 共40页
资源描述:

《学生成绩管理系统本科毕业设计论文》由会员分享,可在线阅读,更多相关《学生成绩管理系统本科毕业设计论文(40页珍藏版)》请在装配图网上搜索。

1、 重庆信息技术职业学院毕业设计 题目 学生成绩管理系统 选题性质: 设计 报告 其他 院 系 软件学院 专 业 软件技术 20142014 届届 软软 件件 学院学院毕业设计选题审批单年级 2011 级 专业 软件学院 班级 2 班 学生姓名 学 号1110070206 选题学生管理系统 选题性质设计报告其他选题论证: 目前,在我国的各类学校,尤其是高等院校,近些年由于阔招生员,大大增加了学校的管理体制的负担,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。 根据开发要求,学生成绩管理系统主要应

2、用于教育系统,完成对学生成绩信息计算机化的管理,使学院教职员工减轻工作压力,同时,可以减少劳动力的使用,加快查询速度、加强管理,加快国家各部门关于信息化的步伐,使各项管理更加规范化。学生成绩管理系统是时代发展的必然产物。指导教师初审意见:签 名:年 月 日毕业设计工作领导小组审批意见:签 名:年 月 日 20142014 届届 软软 件件 学院学院毕业设计开题报告及进度要求年级 2011 级 班级 2 班 学生姓名 李尤学 号1110070206 指导教师 牟江涛选题性质设计报告其他选题学生成绩管理系统 选题的目的和意义: 目的:在通过理论学习掌握必须的“应知”知识的基础上,通过实际的项目训练

3、, 了解JAVA 设计的方法,掌握数据库的建立与链接的操作技能,提高学生的专业技术应用能力,同时培养良好的职业道德。 通过调研目前教学管理系统中的成绩管理子系统,了解成绩管理子系统的业务流程;通过分析比较,结合用户对成绩管理子系统的改进意见与实现情况,运用 JAVA 设计和实现一个简易的学生成绩管理子系统,以提高学生信息、课程、成绩管理的自动化、友好性等。本系统基于 JAVA SE 平台和 ACCESS 数据库,通过课程设计,可以使学生对 JAVA 开发管理信息系统有一个全面的了解。意义:借本次毕业设计之际,开发一个通用高校学生成绩管理系统,能有效地对成绩进行分析,通过设计这样的系统,我们可以

4、做到学生成绩处理的规范管理和快速查询,从而减少工作量,提高工作效率。 选题研究的主要内容和技术方案:主要内容:1.学生信息管理 学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、 删除。2.课程信息管理 课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程 信息进行添 加、修改、删除。 3.学生成绩管理 成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删 除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。技术方案 :(1)实现教师、学生验证登陆功能,(2)实现根据关键字查询:学生姓名、学号、班级、课程名称。(3)实现按照单科成

5、绩、总成绩、平均成绩、学号排序。(4)实现学生信息的插入、删除和修改。(5)实现学生成绩的录入、修改和删除。(6)查询每个课程的最高分、最低分及相应学生姓名、班级和学号。(7)实现课程的管理。整个程序使用 JAVA 编写,数据库采用的是 SQL2005毕业设计工作时间 2013 年 6 月 18 日至 2013 年 10 月 20 日毕业设计工作日程安排时间段工作内容6 月 18 日-6 月 30 日选题、开题、制定任务、开题7 月 1 日-7 月 20 日收集资料,拟定大概思路7 月 21 日-8 月 21 日设计各个界面与实现各个功能8 月 22 日-9 月 20 日测试程序9 月 21

6、日-10 月 19 日毕业论文10 月 20 日完成毕业设计指导教师意见:指导教师意见: 成果要求:成果要求: 签字:签字: 年年 月月 日日重庆信息技术职业学院毕业设计小组任务分配表序号姓名班级毕业设计工作任务分配 学生成绩管理学系统 李尤 (重庆信息技术职业学院软件学院 重庆万州 404000) 摘要:摘要:学生成绩是教育单位不可或缺的一部分,应该能够为用户提供充足的信息和快捷的查询方式。传统的人工方式来管理学生的成绩存在着许多缺点,如:保密性差而且效率低,产生大量的文件和数据,对数据的查找、更新和维护带来困难。随着计算机科学逐步成熟以及完善,其渗透到人类社会的各个领域并发挥着重要的作用。

7、运用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理者对学生成绩管理的效率,使学校的管理科学化、正规化。关键词:关键词:学生成绩管理系统;数据库;access;数据词典。目目 录录绪论绪论.11 1 软件开发平台及工具简软件开发平台及工具简 . 22 2 软件项目描述软件项目描述.42.12.1 软件项目背景软件项目背景.42.1.1 项目开发背景.42.1.2 项目开发目标.42.1.3 开发日程计划.52.22.2 目标任务概述目标任务概述.52.2.1 学生信息管理.52.2.2 课

8、程信息管理管理.52.2.3 学生成绩管理管理.52.2.4 教师信息管理.5 2.32.3 功能需求分析功能需求分析.63 3 项目总体设计项目总体设计.83.13.1 概要设计概要设计.83.1.1 数据需求描述.83.1.2 系统功能需求.93.23.2 概念结构概念结构设计设计.93.2.1 E-R 图.94 4 逻辑与物理结构设计逻辑与物理结构设计.114.14.1 关系模式设计关系模式设计.114.24.2 数据定义类型数据定义类型.11 4.34.3 物理结构设计物理结构设计165 5 软件功能软件功能.185.15.1 模块代码的分析模块代码的分析.18 5.1.1 程序代码模

9、块.186 6 程序的运行界面程序的运行界面. 25 6.1 程序的运行以及截图.247 7 结论结论.298 8 致谢致谢.319 9 参考文献参考文献.32 绪论随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作可以更高效地进行。数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到各个角落,在数据处

10、理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富了我们的生活,数字化已经一步步走进我们的生活与工作,而且互联网技术与数据库技术的结合为计算机网络技术的在人类生活中的应用带来了巨大的影响。教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的计算机技术的应用程度还不够高,在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率取得良好的效果,而一些新兴的、规模较小的院校和教育机构还暂时没有全部使用计算机进行各项工作。因

11、此可见,随着我国教育的迅速发展,计算机技术在其上的应用还有待进一步深入。在我国,适用于学校的各类成绩管理系统并非一个新的课题,但是这些系统的普及率还不够高,有的工作几乎还是需要手工操作来完成。这样的话工作效率较低,工作的成本也比较大,而且比较容易出错。随着社会以及计算机技术的发展,信息化是社会进程的必然趋势,而学校管理只有快、准、精才能更有效的发挥其价值。本课题希望能开发一个学生成绩管理系统,目的就是可以减轻学院教职员工的部分工作压力,可以比较系统地对教务、教学上的各项成绩信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,使各项管理更加规范化。在我国,各大中小学校的各类信息管理

12、系统并非一个新的课题,但也有的学校根本就有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会程的必然趋势,学校管理只有只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。有些学校虽使用了计算机,甚管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。 还有,的系统很不完善到处是漏洞,可以说是千疮百孔,这样极

13、不完善的系统对管理来说是没有任何保障的。1.软件开发平台及工具简介Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。Java 由四方面组成:Java 编程语言、J

14、ava 类文件格式、Java 虚拟机和 Java 应用程序接口(Java API)。Java 平台由 Java 虚拟机(Java Virtual Machine,简称 JVM)和 Java 应用编程接口(Application Programming Interface,简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java 平台之后,Java 应用程序就可运行。Java 平台已经嵌入了几乎所有的操作系统。这样 Java程序可以只编译一次,就可以在各种系统中运行。Java 应用编程接口已经

15、从1.1x 版发展到1.2版。常用的 Java 平台基于 Java1.4,最近版本为 Java7.0。SQL 是英文 Structured Query Language 的缩写,意思为结构化查询语言。SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。按照 ANSI(美国国家标准协会)的规定,SQL 被作为关系型数据库管理系统的标准语言。SQL 语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如 Oracle, Sybase, Microsoft SQL Server, Access 等都采用了 SQL 语言标准。S

16、QL Server 是一个关系数据库管理系统。它最初是由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同开发的,于1988 年推出了第一个 OS/2版本。在 Windows NT 推出后,Microsoft 与Sybase 在 SQL Server 的开发上就分道扬镳了,Microsoft 将 SQL Server 移植到 Windows NT 系统上,专注于开发推广 SQL Server 的 Windows NT 版本。Sybase 则较专注于 SQL Server 在 UN操作系统上的应用。SQL Server 2000 是 Microsoft 公司推出的 SQ

17、L Server 数据库管理系统,该版本继承了 SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行 Microsoft Windows 98 的膝上型电脑到运行 Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于

18、业务的高可用和高性能的数据应用程序。Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集

19、成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。运行环境:硬件环境:计算机一台 软件环境: A.windows 系列 B.Microsoft SQL Server 20052.软件项目描述2.1 软件项目开发背景2.1.1项目开发的背境几年前各个学校对于学生成绩管理还停留在运用手工操作随着各个学校的模不断壮大,学生人数逐年增加。关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩

20、管理。但人工管理又有着许多缺陷,比如:效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。学校不能完全掌握每一个学生的学习情况,这样对学校的教学工作及其不利,使学校的教学质量一直停滞不前,所以我想借本次毕业设计之际,开发一个不仅适用于各校的通用高校学生成绩管理系统,使学校能够充分掌握学生的学习情况,便于学校教学工作的进行和改革。计算机已经深入到日常工作和生活的方方面面成为我们学习和工作的得力助手比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。随着越来越多的应用软件出现人们对它的要求也越来越高虽然现在世界上的各种软件层出不穷但它们依然不能满足用户的各种特殊需要

21、所以人们仍是不得不开发适合特殊需求的软件。高校成绩管理系统记录了一个大学生成绩的系统,它的出现使得查询、更新、插入简单化高效化成本也随之大大减少。使用计算机对成绩信息的管理,具有手工管理所无法比拟的优点:信息存储及时检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是高校成绩正规化管理的重要途径。 本软件控件均以中文形式表示对普通程序使用者的查询提供简单方便的快捷操作技术含量较低。 以 SQL SERVER 数据库管理系统为平台通过设计数据库概念模型、逻辑模型以及利用标准 SQL 语言的数据库实现掌握关系数据库系统的设计与实现方法增

22、强数据库设计和数据库应用系统开发能力。 操作人员与维护人员应懂的 SQL 语言。2.1.2 项目开发的目标建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效率和现代化水平。使学校对学生的成绩能够快速并准确的录入、修改和查询,更好地掌握每个学生的各科成绩,便于教师的管理。使学生对个人的学习成绩进行更快的查询。让老师能够更好、更快的了解学生的学习情况,使学校的教学质量进一步的提高。本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

23、1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。意义:在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用算机来管理学校的信息,是非常必要的。可行性分析:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。经济上可行性:现在,计算机的

24、价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:(1)学生信息管理:对学生的基本信息进行添加、删除、修改。(2)课程信息管理:设置课程信息,并对课程信息进行添加、删除、修改。(3)学生成绩管理:录入每位学生各

25、科成绩,并可以查询每位学生的各科成绩。(4)教师信息管理:对教师的基本信息进行添加、删除、修改。2.1.3 开发日程计划6月18日-6月30日 选题,开题,制定任务。7月1日-7月20日 收集资料,拟定大概思路7月21日-8月21日 设计各个界面与实现各个功能8月22日-9月20日 测试程序9月21日-10月19日 毕业论文10月20日 完成毕业设计2.2 目标任务概述系统设计思想:1.采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。2.系统就满足学校的需求,例如学生信息的录入、查询、更新等。3.系统就具备数据库维护功

26、能,及时根据用户需求进行数据添加、删除、修改等操作。2.2.1 学生信息管理 学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。2.2.2 课程信息管理 课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程信息进行添 加、修改、删除。 2.2.3 学生成绩管理 成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删 除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。2.2.4 教师信息管理教师信息管理模块:设置教师基本信息,并可以对教师信息进行添加、修改、删除。2.3 功能需求分析系统功能分析:权限功能:系统具有动态的权限分

27、配功能,可按用户权限对用户进行分组。可分为学生用户,教师用户。 学生用户只是查询不能修改,教师用户只能对授权范围内进行相应修改、添加及删除, 录入功能:为教师用户提供相应的录入功能。 查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。 退出功能:结束并关闭系统。程序功能分析:整个程序有登录界面开始,登录时可以选择教师登录和学生登录,所以分为教师版和学生版。教师版界面分为系统、学生数据操作、教师数据操作、课程和专业数据操作、帮助五个菜单项。(1)系统菜单项包含文件、新建、打开、退出;(2)学生数据操作菜单项包含添加学生基本信息、添加学生成绩信息、删除学生基本信息、修改学生基本信息、

28、查询学生基本信息、查询学生成绩信息。选择添加学生基本信息,则打开学生基本信息添加窗口,对学生基本信息进行添加;选择添加学生成绩信息,则打开学生成绩添加窗口,对学生成绩进行添加;选择删除学生基本信息,则打开学生基本信息删除窗口,对学生基本信息进行删除;选择修改学生基本信息,则打开学生基本信息修改窗口,对学生基本信息进行修改;以上四个功能权限归教师所有;选择查询学生基本信息,则打开学生基本信息查询窗口,能查看学生基本信息;选择查询学生成绩,则打开学生成绩查询窗口,对查看学生成绩;以上两个功能权限归所有用户。(3)教师数据操作菜单项包含添加教师基本信息、删除教师基本信息、修改教师基本信息。查询教师基

29、本信息。选择添加教师基本信息,则打开教师基本信息添加窗口,对教师基本信息进行添加;选择删除教师基本信息,则打开教师基本信息删除窗口,对教师基本信息进行删除;选择修改教师基本信息,则打开教师基本信息修改窗口,对教师基本信息进行修改;以上三个功能权限归教师所有;选择查询教师基本信息,则打开教师基本信息查询窗口,能查看教师基本信息;以上一个功能权限归所有用户。(4)课程和专业数据操作菜单项包含查询课程基本信息、查询专业基本信息、查询课程开设信息。选择查询课程基本信息,则打开课程基本信息查询窗口,可查看课程的基本信息;选择查询专业基本信息,则打开专业基本信息查询窗口,可查看专业的基本信息;选择查询课程

30、开设信息,则打开课程开设信息查询窗口,可查看课程的开设信息;以上三个功能权限归所有用户。(5)帮助菜单想包含软件信息。学生版界面分为系统、信息查询、帮助三个菜单项。(1)系统菜单项包含文件、新建、打开、退出;(2)信息查询包含学生基本信息查询、学生成绩查询、教师基本信息查询、课程基本信息查询、专业基本信息查询、课程开设信息查询。选择查询学生基本信息,则打开学生基本信息查询窗口,能查看学生基本信息;选择查询学生成绩,则打开学生成绩查询窗口,对查看学生成绩;选择查询教师基本信息,则打开教师基本信息查询窗口,能查看教师基本信息;选择查询课程基本信息,则打开课程基本信息查询窗口,可查看课程的基本信息;

31、选择查询专业基本信息,则打开专业基本信息查询窗口,可查看专业的基本信息;选择查询课程开设信息,则打开课程开设信息查询窗口,可查看课程的开设信息;以上六个功能权限归所有用户。(3)帮助菜单想包含软件信息。3.项目总体设计3.1 概要设计3.1.1数据需求描述 顶层数据流图显示学生和教师在系统里面所进行的操作,如登陆、查询和处理,如下图3-1所示:图3-1 顶层数据流图详细数据流图显示学生和教师在系统里所进行的操作的详细信息,如下图3-2所示:图3-2 详细数据流图3.1.2 系统功能需求1 学生成绩按每学年进行成绩统计;2 学生成绩名次排名;3 每门课程平均成绩统计;4 学生所学课程及学分统计;

32、 5 输入每个学生成绩时自动生成该学生已修总学分;6 学生成绩查询; 7 教师任课查询; 8 班级课程开设查询。系统功能图能查看整个系统的具体功能,如下图3-3所示:图 3-3 系统功能图3.2 概念结构设计 3.2.1 E-R 图E-R 图:E-R 图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成 E-R 图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity):用矩形表示,矩形框内写明实体名;属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;联系(Re

33、lationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n 或 m : n) 。1、数据模型设计。首先来做出学生成绩管理系统的 E-R 图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、班级这个系统的三个实体。2、再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和

34、“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;学生、专业、地区 E-R 图可以查看学生、专业、地区基本信息内容,如下图3-4所示:图3-4 学生、专业、地区 E-R 图 课程、班级、教师 E-R 图可以查看课程、班级、教师基本信息内容,如下图3-5所示:图3-6 课程、班级、教师 E-R 图4.逻辑结构与物理结构设计4.1 关系模式设计将 E-R 图转换为关系模式定义实体型、属性及其联系。教师 (教师编号、教师姓名、教师性别、教师年龄、职称、联系电话)上课 (教师编号、班级编号) 授课 (教师编号、课程编号) 课程 (课程编号、课程名称、教师姓名、

35、开课学期 、学时、考试或考查、学分)学习 (学生学号、课程编号、学期、课程名、成绩、教师姓名)学生 (学生学号、学生姓名、学生性别、学生年龄、生源所在地、已修学分总数、编号地区、班级编号)地区 (地区编号、地区名称、生源总数)开设 (课程编号、班级编号)班级 (班级编号、班级名称、专业编号)专业 (专业编号、专业名称)4.2 数据类型定义对关系模式中的属性定义类型、长度和约束。(1)教师表的建立,设置教师编号为主键,唯一约束,非空,教师年龄0到150。CREATE TABLE 教师 ( 教师编号 CHAR(20) PRIMARY KEY, 教师姓名 CHAR(10), 教师性别 CHAR(2)

36、, 教师年龄 INT , 职称 CHAR(20), 联系电话 CHAR(10), constraint ck_性别 check (教师性别 =男 or 教师性别 =女 ), constraint ck_教师年龄 check (教师年龄 between 0 and 150) );如下表 4-1 所示:表 4-1 教师表数据项名数据类型长度完整性约束教师编号Char20主键,唯一,非空教师姓名Char20教师性别Char2男或女教师年龄Int0年龄 0), constraint ck_学分 check (学分 0) )如下表4-4所示:表 4-4 课程表数据项名数据类型长度完整性约束课程编号cha

37、r20主键,唯一,非空课程编名Char20教师姓名Char10开课时间Char20学号Int0考试或考查Char4学分Int0(5)学习表的建立,设置学生学号为主键,唯一约束,非空,课程编号为外键,成绩0到100。CREATE TABLE 学习 ( 学生学号 CHAR(20) PRIMARY KEY, 课程编号 CHAR(20), 学期 char(20), 课程名称 char(20), 成绩 int, 教师姓名 char(10), CONSTRAINT Course_Study FOREIGN KEY(课程编号 ) REFERENCES 课程 , constraint ck_成绩 check

38、(成绩 between 0 and 100) )如下表4-5所示:表 4-5 学习表数据项名数据类型长度完整性约束学生学号Char20主键,唯一,非空课程编号char20外键学期Char10课程编名Char20成绩Char100成绩 0) ) 如下表4-6所示:表 4-6 学生表数据项名数据类型长度完整性约束学生学号Char12主键,唯一,非空学生姓名Char10学生性别Char2男或女学生年龄Int0年龄150已修学分总数Int0班级编号char20外键地区编号char20外键(7)地区表的建立,设置地区编号为主键,唯一约束,非空。CREATE TABLE 地区 ( 地区编号 CHAR(20

39、) PRIMARY KEY, 地区名称 CHAR(20), );如下表4-7所示:表 4-7 地区表数据项名数据类型长度完整性约束地区编号char20主键,唯一,非空地区名称Char20(8)开设表的建立,设置课程编号为主键,唯一约束,非空,班级编号为外键。CREATE TABLE 开设 ( 课程编号 CHAR(20) PRIMARY KEY, 班级编号 char(20), CONSTRAINT Class_Setup FOREIGN KEY(班级编号 ) REFERENCES 班级 )如下表4-8所示:表 4-8 开设表数据项名数据类型长度完整性约束课程编号char20主键,唯一,非空班级编

40、号char20外键(9)班级表的建立,设置编辑编号为主键,唯一约束,非空,专业号为外键。CREATE TABLE 班级 ( 班级编号 CHAR(20) PRIMARY KEY, 班级名称 CHAR(20), 专业编号 CHAR(20) constraint Major_Class foreign key(专业编号 ) references 专业 )如下表4-9所示:表 4-9 班级表数据项名数据类型长度完整性约束班级编号char20主键,唯一,非空班级名称Char20专业编号Char20外键(10)专业表的建立,设置专业编号为主键,唯一约束,非空。CREATE TABLE 专业 ( 专业编号

41、CHAR(20) PRIMARY KEY, 专业名称 CHAR(20), );如下表4-10所示:表 4-10 专业表数据项名数据类型长度完整性约束专业编号Char20主键,唯一,非空专业名称Char20数据库分析:用户需求具体有学籍管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。4.3 物理结构设计(1)聚簇设计 确定每个关系需要或不需要聚簇索引,该高校成绩管理系统数据库可建立以下聚簇:教师 (教师编号)课程 (

42、课程编号)学生 (学生学号,班级编号)班级 (班级编号) 这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。 (2)索引设计 索引就是表中数据和相应存储位置的列表,使用索引可以大大减少数据的查询时间。 对于一个确定的关系通常在下列情况下可以考虑建立索引。 在主键属性列和外键属性列上通常都可以分别建立索引,不仅有助于唯一性检查和完整性检查,而且可以加快连接查询的速度。 以查询为主的关系可建立尽可能多的索引。 对等值连接,但满足条件的元组较少的查询可以考虑建立索引。 如果查询可以从索引直接得到结果而不必访

43、问关系,则对此种查询可以建立索引。 该高校成绩管理系统数据库可建立以下索引:教师(教师编号) 课程(课程编号) 学生(学生学号,班级编号) 班级(班级编号) 学习(学号,课程编号) (3)分区设计 数据库文件和日志文件的分区问题。 涉及到数据库文件和日志文件的分区问题。 磁盘分区设计的一般原则: 减少访问冲突,提高 I/O 并发性。多个事物并发访问同一磁盘时,会产生磁盘访问冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,则 I/O 可并发执行,从而提高数据库访问速度。分散热点数据,均衡 I/O 负担。在数据库中数据访问的频率是不均匀的,那些经常被访问的数据成为热点数据,此类数据宜分散

44、存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。 保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问频率很高,为保证对它的访问不直接影响整个系统的效率,可以将其存放在某一固定磁盘上,以保证其快速访问。 该成绩管理系统由于程序较小,所以不进行分区设计。 5.软件功能5.1 模块代码的分析数据库的链接:载入一个正确的驱动程序后,就可以用它来建立与数据库的连接了。一个 JDBC 的数据库连接是用数据库 URL 来标记的。连接标记将告诉驱动程序管理器使用哪个驱动程序和连接哪个数据库。数据库 URL 的基本形式:jdbc::URL 的第一部分表示使用 JD

45、BC 建立数据库连接。第 2 部分表示所使用的 JDBC 驱动程序名或网络协议名。第 3 部分是数据源标记,它映射所需连接的数据库。例如数据库的数据源标记是 firm则同 JDBC-ODBC 桥连接该数据库所用的数据库 URL 为 jdbc:odbc:firm.可以通过 DriverManager 类的静态方法 getConnection()来建立一个数据库连接:String strDBUrl=jdbc:odbc:firm;conn=DriverManager.getConnection(strDBUrl,sa,);一旦建立数据库连接,就可以打开该目标数据库,并通过该连接向目标数据库 SQL

46、指令。SQL指令通常会执行查询,插入,更新和删除等数据库操作。要执行 SQL 指令,必须通过 Connection对象的 createStatement()方法来创建一个 STMT 对象。STMT 对象提供了许动方法来执行不同的数据库操作。可以 通过以下方式创建 STMT 对象:private Connection conn=null;private Statement stmt=null;ResultSet rs=null;stmt=conn.createStatement();5.1.1 程序代码模块(1)登录窗口代码:分为教师登陆和学生登陆。教师登陆页面代码;登录时对登录的验证代码:if

47、if(e.getSource() = cancelBut) System.exit(0); /退出系统 elseelse ifif (e.getSource() = logInBut) String username, password; /定义用户名,密码 username = userIDT.getText(); /getText函数,返回用户名 password = userPWDT.getText(); /getText函数,返回密码 ifif(teacherRB.isSelected() /判断教师的复选框是否选中 setCurrentUser(teacher); ifif(user

48、name.toString().equals() /用equals方法检测用户名是否正确并返回 JOptionPane.showMessageDialog(nullnull, 请 输 入 用 户 名 , 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); /用户名不能为空,请输入用户名 elseelse ifif (password.toString().equals() /用equals方法检测密码是否正确并返回 JOptionPane.showMessageDialog(nullnull, 请 输 入 密 码 , 温 馨 提 示, JOptionPane.

49、INFORMATION_MESSAGE); /密码不能为空,请输入密码 elseelse MyConnection conn = newnew MyConnection(); ResultSet resultSet; /数据库结果集的数据表 String sql = select * from 教师 where 教师编号 = + username.toString() + and 登录密码 = + password.toString() + ; /通过数据库表教师的编号,验证该教师的用户名和密码是否正确 trytry resultSet = conn.getResult(sql); resul

50、tSet.last(); ifif (resultSet.getRow() = 1) setVisible(falsefalse); /设置为不可见 resultSet.beforeFirst(); whilewhile (resultSet.next() thisthis.dispose(); /关闭窗口 sql = select * from 教师 ; /通过数据库查找该教师 TeaMainFrame tmf = newnew TeaMainFrame(); /实例化TeaMainFrame tmf.setLayout(nullnull); /设置tmf布局可以为空 tmf.setVisi

51、ble(truetrue); /设置tmf为刷新可见 tmf.setLocation(300, 300); tmf.setResizable(falsefalse); /设置该窗体可以自由改变大小 tmf.setTitle(学生成绩管理系统教师登录界面); tmf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); tmf.addWindowListener(newnew WindowAdapter() publicpublic voidvoid windowClosing(WindowEvent e) System.exit(0); /退出系统 )

52、; JOptionPane.showMessageDialog(nullnull, resultSet.getString(教师姓名 ) + 老师您好 欢迎 登录学生成绩管理系统); /验证成功,欢迎登录学生成绩管理系统 elseelse JOptionPane.showMessageDialog(nullnull, 用户名或密码错误, 登录失败, JOptionPane.INFORMATION_MESSAGE); /验证失败,登录失败 catchcatch (Exception er) System.out.println(er.toString(); 学生登陆代码:ifif(student

53、RB.isSelected() /判断学生的复选框是否选中 setCurrentUser(student); ifif(username.toString().equals() /通过equals方法检测用户名是否正确并返回 JOptionPane.showMessageDialog(nullnull, 请 输 入 用 户 名 , 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); /用户名不能为空,请输入用户名 elseelse ifif(password.toString().equals() /用equals方法检测密码是否正确并返回 JOptionPa

54、ne.showMessageDialog(nullnull, 请 输 入 密 码 , 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); /密码不能为空,请输入密码 elseelse setCurrentUser(teacher); MyConnection conn = newnew MyConnection(); /实例化 ResultSet resultSet; String sql = select * from 学生 where 学生学号 = + userIDT.getText().toString() + and 登录密码 = + userPWDT

55、.getText().toString() + ; /通过数据库表教师的编号,验证该学生的用户名和密码是否正确 trytry resultSet = conn.getResult(sql); resultSet.last(); ifif(resultSet.getRow() = 1) setVisible(falsefalse); /设置为刷新不可见 resultSet.beforeFirst(); whilewhile (resultSet.next() thisthis.dispose(); sql = select * from 学生 ; /通过数据库查找该学生 StuMainFrame

56、 smf = newnew StuMainFrame(); /实例化StuMainFrame smf.setSize(500, 400); smf.setVisible(truetrue); /设置smf为刷新可见 smf.setResizable(falsefalse); /该窗体可以自由改变大小 smf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); smf.addWindowListener(newnew WindowAdapter() publicpublic voidvoid windowClosing(WindowEvent e) S

57、ystem.exit(0); /退出系统 ); JOptionPane.showMessageDialog(nullnull, resultSet.getString(学生姓名 ) + 同学您好欢迎登录学生成绩管理系统); elseelse JOptionPane.showMessageDialog(nullnull, 用户名或密码错误,登录失败, JOptionPane.INFORMATION_MESSAGE); (2)学生基本信息添加代码:添加学生的基本信息,包括学生学号、姓名、性别、年龄、已修总学分、班级编号、地区编号以及登陆密码。ifif(e.getSource() = btnCanc

58、el) dispose(); /如果getSource值与btnCancel值相等,则关闭。 newnew TeaMainFrame().setVisible(truetrue); elseelse ifif(e.getSource() = btnAdd) ifif(txtStuID.getText().toString().equals() /通过equals方法来判断输入的学生的学号是否正确 JOptionPane.showMessageDialog(nullnull, 请 输 入 学 号, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); elseel

59、se ifif(txtStuName.getText().toString().equals() /通过equals方法来判断输入的学生的姓名是否正确 JOptionPane.showMessageDialog(nullnull, 请 输 入 姓 名, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); elseelse ifif(txtStuAge.getText().toString().equals() /通过equals方法来判断输入的学生的年龄是否正确 JOptionPane.showMessageDialog(nullnull, 请 输 入 年 龄

60、, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); elseelse ifif(txtStutotalCredit.getText().toString().equals() /通过equals方法来判断输入的学生的已修总学分是否正确 JOptionPane.showMessageDialog(nullnull, 请 输 入 已 修 总 学 分, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); elseelse ifif(txtStuPostID.getText().toString().equals() /通过equ

61、als方法来判断输入的学生的地区号是否正确 JOptionPane.showMessageDialog(nullnull, 请 输 入 地 区 号, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); elseelse ifif(txtStuClassID.getText().toString().equals() /通过equals方法来判断输入的学生的班级号是否正确 JOptionPane.showMessageDialog(nullnull, 请 输 入 班 级 号, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE);

62、elseelse ifif(txtStuPwd.getText().toString().equals() /通过equals方法来判断输入的学生的密码是否正确 JOptionPane.showMessageDialog(nullnull, 请 输 入 密 码, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); elseelse String sex; /定义性别 ifif (man.isSelected() sex = 男; /性别为男 elseelse sex = 女; /性别女 trytry Class.forName(driverName); /返回

63、一个类 catchcatch (ClassNotFoundException ce) JOptionPane.showMessageDialog(nullnull, ce.getMessage(); trytry con = DriverManager.getConnection(dbURL, userName,userPwd); sql = con.createStatement(); intint a = sql.executeUpdate(insert into 学生 (学生学号 , 学生姓名 , 学生性别 , 学生年龄 , 已修学分总数 , 班级编号 , 地区编号 , 登录密码 ) +

64、values( + txtStuID.getText() + , + txtStuName.getText() + , + sex+ , + Integer.parseInt(txtStuAge.getText()+,+Integer.parseInt(txtStutotalCredit.getText() + , + txtStuClassID.getText() + , + txtStuPostID.getText() + , + txtStuPwd.getText() +); /向数据库添加学生信息,包括学生学号、姓名、性别、年龄、已修学分总数、班级编号、地区编号、登录密码。 ifif

65、(a = 1) JOptionPane.showMessageDialog(nullnull, 已 成 功 添 加, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); /如果a值为1,则添加成功 elseelse JOptionPane.showMessageDialog(nullnull, 添 加 失 败, 温 馨 提 示, JOptionPane.INFORMATION_MESSAGE); /否则添加失败(3)学生成绩的查询:可以查询学生的成绩,输入学生学号、课程号以及学年,即可查询该学生的成绩。con = DriverManager.getConnec

66、tion(dbURL, userName, userPwd); sql = con.createStatement(); rs = sql.executeQuery(select 学习 .学生学号 , 学习 .学期 , 学习 .课程编号 , 学习 .课程名称 , 学生 .学生姓名 , 课程 .学分 +from 学习 , 课程 , 学生 + where 学习 .学生学号 = + stuIDTxt.getText() +and 学习 .学生学号 = 学生 。学生学号 +and 学习 .课程编号 = 课程 .课程编号 + ); /对数据库数据进行查询,输入学生学号、课程号、学年,查询该学生成绩 ifif(rs.next() stuIDTxt.setText(rs.getString(学生学号 ); studyYearTxt.setText(rs.getString(学期 ); courseIDTxt.setText(rs.getString(课程编号 ); courseNameTxt.setText(rs.getString(课程名称 ); stuNameTxt.setText(rs.get

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!