您的当前位置:首页正文

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

2020-04-15 来源:榕意旅游网


重庆信息技术职业学院

毕业设计

题目 学生成绩管理系统 选题性质: ☑设计 □报告 □其他

院 系 软件学院

专 业 软件技术

2014 届 软 件 学院

毕业设计选题审批单

年级 2011级 专业 软件学院 班级 2班

学生姓名 选题 学生管理系统 学 号 1110070206 ☑设计□报告□其他 选题性质 选题论证: 目前,在我国的各类学校,尤其是高等院校,近些年由于阔招生员,大大增加了学校的管理体制的负担,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。 根据开发要求,学生成绩管理系统主要应用于教育系统,完成对学生成绩信息计算机化的管理,使学院教职员工减轻工作压力,同时,可以减少劳动力的使用,加快查询速度、加强管理,加快国家各部门关于信息化的步伐,使各项管理更加规范化。学生成绩管理系统是时代发展的必然产物。 指导教师初审意见: 签 名: 年 月 日 毕业设计工作领导小组审批意见: 签 名: 年 月 日

2

2014 届 软 件 学院 毕业设计开题报告及进度要求

年级 2011级 班级 2班 学生姓名 指导教师 选题 选题的目的和意义: 目的:在通过理论学习掌握必须的“应知”知识的基础上,通过实际的项目训练, 了解JAVA设计的方法,掌握数据库的建立与链接的操作技能,提高学生的专业技术应用能力,同时培养良好的职业道德。 通过调研目前教学管理系统中的成绩管理子系统,了解成绩管理子系统的业务流程;通过分析比较,结合用户对成绩管理子系统的改进意见与实现情况,运用JAVA设计和实现一个简易的学生成绩管理子系统,以提高学生信息、课程、成绩管理的自动化、友好性等。本系统基于JAVA SE平台和ACCESS数据库,通过课程设计,可以使学生对JAVA开发管理信息系统有一个全面的了解。 意义: 借本次毕业设计之际,开发一个通用高校学生成绩管理系统,能有效地对成绩进行分析,通过设计这样的系统,我们可以做到学生成绩处理的规范管理和快速查询,从而减少工作量,提高工作效率。 选题研究的主要内容和技术方案: 主要内容: 1.学生信息管理 学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、 删除。 2.课程信息管理 课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程 信息进行添 加、修改、删除。 3.学生成绩管理 成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删 除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。 技术方案 : (1)实现教师、学生验证登陆功能, (2)实现根据关键字查询:学生姓名、学号、班级、课程名称。 (3)实现按照单科成绩、总成绩、平均成绩、学号排序。 (4)实现学生信息的插入、删除和修改。 (5)实现学生成绩的录入、修改和删除。 (6)查询每个课程的最高分、最低分及相应学生姓名、班级和学号。 (7)实现课程的管理。 整个程序使用JAVA编写,数据库采用的是SQL2005

3

李尤 牟江涛 学 号 1110070206 选题性质 ☑设计□报告□其他 学生成绩管理系统

毕业设计工作时间 2013年6月18日至2013年10月20日 毕业设计工作日程安排 时间段 6月18日-6月30日 7月1日-7月20日 7月21日-8月21日 8月22日-9月20日 9月21日-10月19日 10月20日 工作内容 选题、开题、制定任务、开题 收集资料,拟定大概思路 设计各个界面与实现各个功能 测试程序 毕业论文 完成毕业设计 指导教师意见: 成果要求: 签字: 年 月 日 4

毕业设计小组任务分配表

重庆信息技术职业学院

序号 姓名 班级 毕业设计工作任务分配

学生成绩管理学系统

李尤

(重庆信息技术职业学院软件学院 重庆万州 404000)

摘要:学生成绩是教育单位不可或缺的一部分,应该能够为用户提供充足的信息和快捷的查询方

式。传统的人工方式来管理学生的成绩存在着许多缺点,如:保密性差而且效率低,产生大量的文件和数据,对数据的查找、更新和维护带来困难。随着计算机科学逐步成熟以及完善,其渗透到人类社会的各个领域并发挥着重要的作用。运用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理者对学生成绩管理的效率,使学校的管理科学化、正规化。

关键词:学生成绩管理系统;数据库;access;数据词典。

目 录

绪论 ........................................................... 1 1 软件开发平台及工具简… …………………………………………..……………………. 2 2 软件项目描述 ................................................... 4

2.1 软件项目背景 ................................................. 4 2.1.1项目开发背景............................................... 4 2.1.2项目开发目标............................................... 4 2.1.3 开发日程计划 .............................................. 5 2.2目标任务概述 ................................................. 5 2.2.1 学生信息管理 .............................................. 5 2.2.2 课程信息管理管理 ........................................... 5 2.2.3 学生成绩管理管理 ........................................... 5 2.2.4教师信息管理…………………………………………………………………………………...5 2.3功能需求分析………………………………………………………………………………………...6

3 项目总体设计 ................................................... 8

3.1概要设计 .................................................... 8 3.1.1数据需求描述............................................... 8 3.1.2系统功能需求............................................... 9 3.2 概念结构设计 ................................................. 9 3.2.1 E-R图 ................................................... 9

4 逻辑与物理结构设计 ............................................ 11

4.1 关系模式设计 ................................................ 11 4.2 数据定义类型 ................................................ 11 4.3 物理结构设计………………………………………………………………………………………16

5 软件功能 ..................................................... 18

5.1 模块代码的分析 ............................................... 18 5.1.1 程序代码模块…………………………………………………………………………...........18

6 程序的运行界面……………..……………………………………………………………………… 25

6.1 程序的运行以及截图…………………………………………………………………………....24

7 结论 ......................................................... 29 8 致谢 ........................................................ 31 9 参考文献 ..................................................... 32

重庆信息技术职业学院

绪论

随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作可以更高效地进行。

数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到各个角落,在数据处理领域发挥着越来越大的作用。

而互联网技术的出现,更是进一步丰富了我们的生活,数字化已经一步步走进我们的生活与工作,而且互联网技术与数据库技术的结合为计算机网络技术的在人类生活中的应用带来了巨大的影响。

教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的计算机技术的应用程度还不够高,在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率取得良好的效果,而一些新兴的、规模较小的院校和教育机构还暂时没有全部使用计算机进行各项工作。因此可见,随着我国教育的迅速发展,计算机技术在其上的应用还有待进一步深入。

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

在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会程的必然趋势,学校管理只有只有快,准,精才能发挥其价值。

所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。有些学校虽使用了计算机,甚管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。 还有,的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。

重庆信息技术职业学院

1.软件开发平台及工具简介

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

Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。

Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java 应用编程接口(Application Programming Interface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.4,最近版本为Java7.0。

SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。

SQL 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 公司推出的SQL Server数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

重庆信息技术职业学院

Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。

与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。

运行环境:

硬件环境:计算机一台

软件环境: A.windows系列 B.Microsoft SQL Server 2005

重庆信息技术职业学院

2.软件项目描述

2.1 软件项目开发背景

2.1.1项目开发的背境

几年前各个学校对于学生成绩管理还停留在运用手工操作随着各个学校的模不断壮大,学生人数逐年增加。关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。但人工管理又有着许多缺陷,比如:效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。学校不能完全掌握每一个学生的学习情况,这样对学校的教学工作及其不利,使学校的教学质量一直停滞不前,所以我想借本次毕业设计之际,开发一个不仅适用于各校的通用高校学生成绩管理系统,使学校能够充分掌握学生的学习情况,便于学校教学工作的进行和改革。

计算机已经深入到日常工作和生活的方方面面

成为我们学习和工作的得力助手

比如文字处

理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。随着越来越多的应用软件出现人们对它的要求也越来越高

虽然现在世界上的各种软件层出不穷

但它们依然不能满足用户

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

建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效率和现代化水平。使学校对学生的成绩能够快速并准确的录入、修改和查询,更好地掌握每个学生的各科成绩,便于教师的管理。使学生对个人的学习成绩进行更快的查询。让老师能够更好、更快的了解学生的学习情况,使学校的教学质量进一步的提高。

本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

1.系统应具有实用性、可靠性和适用性,同时注意到先进性。

重庆信息技术职业学院

2.对各个数据库进行动态管理,防止混乱。

3.能够按照用户选择的不同的条件进行简单查询和复合查询。 4.能够对查询结果进行分类汇总,实现报表打印。 5.注意数据的安全性,具有数据备份和恢复的功能。 6.方便用户的操作,尽量减少用户的操作。 意义:

在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用算机来管理学校的信息,是非常必要的。 可行性分析:

可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。 经济上可行性:

现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源;

第三,本系统的运行可以大大的提高学校的工作效率; 第四,本系统可以使敏感文档更加安全,等等。 所以,本系统在经济上是可行的。

为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

(1)学生信息管理:对学生的基本信息进行添加、删除、修改。

(2)课程信息管理:设置课程信息,并对课程信息进行添加、删除、修改。 (3)学生成绩管理:录入每位学生各科成绩,并可以查询每位学生的各科成绩。 (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.系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。 2.2.1 学生信息管理

学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。 2.2.2 课程信息管理

课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程信息进行添 加、修改、删除。

2.2.3 学生成绩管理

成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删 除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。 2.2.4 教师信息管理

教师信息管理模块:设置教师基本信息,并可以对教师信息进行添加、修改、删除。

2.3 功能需求分析

系统功能分析:

权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。可分为学生用户,教师用户。

学生用户只是查询不能修改,教师用户只能对授权范围内进行相应修改、添加及删除,

录入功能:为教师用户提供相应的录入功能。

查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。 退出功能:结束并关闭系统。 程序功能分析:

整个程序有登录界面开始,登录时可以选择教师登录和学生登录,所以分为教师版和学生版。 教师版界面分为系统、学生数据操作、教师数据操作、课程和专业数据操作、帮助五个菜单项。 (1)系统菜单项包含文件、新建、打开、退出;

(2)学生数据操作菜单项包含添加学生基本信息、添加学生成绩信息、删除学生基本信息、修改学生基本信息、查询学生基本信息、查询学生成绩信息。

选择添加学生基本信息,则打开学生基本信息添加窗口,对学生基本信息进行添加; 选择添加学生成绩信息,则打开学生成绩添加窗口,对学生成绩进行添加; 选择删除学生基本信息,则打开学生基本信息删除窗口,对学生基本信息进行删除; 选择修改学生基本信息,则打开学生基本信息修改窗口,对学生基本信息进行修改; 以上四个功能权限归教师所有;

重庆信息技术职业学院

选择查询学生基本信息,则打开学生基本信息查询窗口,能查看学生基本信息; 选择查询学生成绩,则打开学生成绩查询窗口,对查看学生成绩; 以上两个功能权限归所有用户。

(3)教师数据操作菜单项包含添加教师基本信息、删除教师基本信息、修改教师基本信息。查询教师基本信息。

选择添加教师基本信息,则打开教师基本信息添加窗口,对教师基本信息进行添加; 选择删除教师基本信息,则打开教师基本信息删除窗口,对教师基本信息进行删除; 选择修改教师基本信息,则打开教师基本信息修改窗口,对教师基本信息进行修改; 以上三个功能权限归教师所有;

选择查询教师基本信息,则打开教师基本信息查询窗口,能查看教师基本信息; 以上一个功能权限归所有用户。

(4)课程和专业数据操作菜单项包含查询课程基本信息、查询专业基本信息、查询课程开设信息。 选择查询课程基本信息,则打开课程基本信息查询窗口,可查看课程的基本信息; 选择查询专业基本信息,则打开专业基本信息查询窗口,可查看专业的基本信息; 选择查询课程开设信息,则打开课程开设信息查询窗口,可查看课程的开设信息; 以上三个功能权限归所有用户。 (5)帮助菜单想包含软件信息。

学生版界面分为系统、信息查询、帮助三个菜单项。 (1)系统菜单项包含文件、新建、打开、退出;

(2)信息查询包含学生基本信息查询、学生成绩查询、教师基本信息查询、课程基本信息查询、专业基本信息查询、课程开设信息查询。

选择查询学生基本信息,则打开学生基本信息查询窗口,能查看学生基本信息; 选择查询学生成绩,则打开学生成绩查询窗口,对查看学生成绩;

选择查询教师基本信息,则打开教师基本信息查询窗口,能查看教师基本信息; 选择查询课程基本信息,则打开课程基本信息查询窗口,可查看课程的基本信息; 选择查询专业基本信息,则打开专业基本信息查询窗口,可查看专业的基本信息; 选择查询课程开设信息,则打开课程开设信息查询窗口,可查看课程的开设信息; 以上六个功能权限归所有用户。 (3)帮助菜单想包含软件信息。

重庆信息技术职业学院

3.项目总体设计

3.1 概要设计

3.1.1数据需求描述

顶层数据流图显示学生和教师在系统里面所进行的操作,如登陆、查询和处理,如下图3-1所示:

图3-1 顶层数据流图

详细数据流图显示学生和教师在系统里所进行的操作的详细信息,如下图3-2所示:

图3-2 详细数据流图

重庆信息技术职业学院

3.1.2 系统功能需求

1 学生成绩按每学年进行成绩统计; 2 学生成绩名次排名; 3 每门课程平均成绩统计; 4 学生所学课程及学分统计;

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):用椭圆形表示,并用无向边将其与相应的实体连接起来;联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边

分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。

1、数据模型设计。首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、班级这个系统的三个实体。

2、再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;

学生、专业、地区E-R图可以查看学生、专业、地区基本信息内容,如下图3-4所示:

图3-4 学生、专业、地区E-R图

课程、班级、教师E-R图可以查看课程、班级、教师基本信息内容,如下图3-5所示:

图3-6 课程、班级、教师E-R图

重庆信息技术职业学院

4.逻辑结构与物理结构设计

4.1 关系模式设计

将E-R图转换为关系模式定义实体型、属性及其联系。

教师 (教师编号、教师姓名、教师性别、教师年龄、职称、联系电话) 上课 (教师编号、班级编号) 授课 (教师编号、课程编号)

课程 (课程编号、课程名称、教师姓名、开课学期 、学时、考试或考查、学分) 学习 (学生学号、课程编号、学期、课程名、成绩、教师姓名)

学生 (学生学号、学生姓名、学生性别、学生年龄、生源所在地、已修学分总数、编号地区、 班级编号)

地区 (地区编号、地区名称、生源总数) 开设 (课程编号、班级编号)

班级 (班级编号、班级名称、专业编号) 专业 (专业编号、专业名称)

4.2数据类型定义

对关系模式中的属性定义类型、长度和约束。

(1)教师表的建立,设置教师编号为主键,唯一约束,非空,教师年龄0到150。 CREATE TABLE 教师 (

教师编号 CHAR(20) PRIMARY KEY, 教师姓名 CHAR(10), 教师性别 CHAR(2), 教师年龄 INT , 职称 CHAR(20), 联系电话 CHAR(10),

constraint ck_性别 check (教师性别 ='男' or 教师性别 ='女' ), constraint ck_教师年龄 check (教师年龄 between 0 and 150) );

如下表4-1所示:

重庆信息技术职业学院

表4-1 教师表 数据项名 教师编号 教师姓名 教师性别 教师年龄 职称 联系电话 数据类型 Char Char Char Int Char Char 长度 20 20 2 10 20 完整性约束 主键,唯一,非空 男或女 0<年龄<150 (2)上课表的建立,设置教师编号为主键,唯一约束,非空,班级编号为外键。 CREATE TABLE 上课 ( 教师编号 CHAR(20) PRIMARY KEY, 班级编号 CHAR(20) , CONSTRAINT Class_Teach FOREIGN KEY(班级编号 ) REFERENCES 班级 , ) 如下表4-2所示:

表4-2 上课表 数据项名 教师编号 班级编号 数据类型 Char char 长度 20 20 完整性约束 主键,唯一,非空 外键 (3)授课表的建立,设置教师编号为主键,唯一约束,非空,课程编号为外键。 CREATE TABLE 授课 ( 教师编号 CHAR(20) PRIMARY KEY, 课程编号 CHAR(20), CONSTRAINT Course_Instruct FOREIGN KEY(课程编号 ) REFERENCES 课程 ) 如下表4-3所示: 表4-3 授课表 数据项名 教师编号 课程编号 数据类型 Char char 长度 20 20 完整性约束 主键,唯一,非空 外键 (4)课程表的建立,设置课程编号为主键,唯一约束,非空,学时学分大于0。 CREATE TABLE 课程

重庆信息技术职业学院

(

课程编号 CHAR(20) PRIMARY KEY, 课程名 CHAR(20), 教师姓名 CHAR(10), 开课时间 CHAR(20), 学时 INT, 考试或考查 CHAR(4), 学分 CHAR(4)

constraint ck_考试或考查 check (考试或考查 ='考试' or 考试或考查 ='考查' ), constraint ck_学时 check (学时 > 0), constraint ck_学分 check (学分 > 0) )

如下表4-4所示:

表4-4 课程表

数据项名 课程编号 课程编名 教师姓名 开课时间 学号 考试或考查 学分 (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 (成绩 between 0 and 100) ) 数据类型 char Char Char Char Int Char Int 长度 20 20 10 20 4 完整性约束 主键,唯一,非空 >0 >0

重庆信息技术职业学院

如下表4-5所示:

表4-5学习表

数据项名 学生学号 课程编号 学期 课程编名 成绩 教师姓名 数据类型 Char char Char Char Char Char 长度 20 20 10 20 10 10 完整性约束 主键,唯一,非空 外键 0<成绩<100 (6)学生表的建立,设置学生学号为主键,唯一约束,非空,已修学分总数大于0,班级编号和地区编号设置为外键。 CREATE TABLE 学生 ( 学生学号 CHAR(20) PRIMARY KEY, 学生姓名 CHAR(10), 学生性别 CHAR(2), 学生年龄 int, 已修学分总数 int, 班级编号 CHAR(20), 地区编号 CHAR(20), constraint Class_Student foreign key(班级编号 ) references 班级 , constraint Area_Student foreign key(地区编号 ) references 地区 , constraint ck_学生性别 check (学生性别 ='男' or 学生性别 ='女' ), constraint ck_学生年龄 check (学生年龄 between 0 and 150), constraint ck_已修学分总数 check (已修学分总数 > 0) ) 如下表4-6所示: 表4-6 学生表

数据项名 学生学号 学生姓名 学生性别 学生年龄 已修学分总数 班级编号 地区编号 数据类型 Char Char Char Int Int char char 长度 12 10 2 20 20 完整性约束 主键,唯一,非空 男或女 0<年龄<150 <0 外键 外键

重庆信息技术职业学院

(7)地区表的建立,设置地区编号为主键,唯一约束,非空。 CREATE TABLE 地区 (

地区编号 CHAR(20) PRIMARY KEY, 地区名称 CHAR(20), ); 如下表4-7所示:

表4-7 地区表

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

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

数据项名 班级编号 班级名称 专业编号 数据类型 char Char Char 长度 20 20 20 完整性约束 主键,唯一,非空 外键 (10)专业表的建立,设置专业编号为主键,唯一约束,非空。 CREATE TABLE 专业 ( 专业编号 CHAR(20) PRIMARY KEY, 专业名称 CHAR(20), ); 如下表4-10所示:

重庆信息技术职业学院

表4-10 专业表

数据项名 专业编号 专业名称 数据库分析: 用户需求具体有学籍管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

数据类型 Char Char 长度 20 20 完整性约束 主键,唯一,非空 4.3 物理结构设计

(1)聚簇设计

确定每个关系需要或不需要聚簇索引,该高校成绩管理系统数据库可建立以下聚簇: 教师 (教师编号) 课程 (课程编号)

学生 (学生学号,班级编号)

班级 (班级编号) 这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。 (2)索引设计

索引就是表中数据和相应存储位置的列表,使用索引可以大大减少数据的查询时间。 对于一个确定的关系通常在下列情况下可以考虑建立索引。

在主键属性列和外键属性列上通常都可以分别建立索引,不仅有助于唯一性检查和完整性检查,而且可以加快连接查询的速度。

以查询为主的关系可建立尽可能多的索引。

对等值连接,但满足条件的元组较少的查询可以考虑建立索引。

如果查询可以从索引直接得到结果而不必访问关系,则对此种查询可以建立索引。 该高校成绩管理系统数据库可建立以下索引: 教师(教师编号) 课程(课程编号)

学生(学生学号,班级编号) 班级(班级编号) 学习(学号,课程编号) (3)分区设计

数据库文件和日志文件的分区问题。 涉及到数据库文件和日志文件的分区问题。

重庆信息技术职业学院

磁盘分区设计的一般原则:

减少访问冲突,提高I/O并发性。多个事物并发访问同一磁盘时,会产生磁盘访问冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,则I/O可并发执行,从而提高数据库访问速度。

分散热点数据,均衡I/O负担。在数据库中数据访问的频率是不均匀的,那些经常被访问的数据成为热点数据,此类数据宜分散存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。

保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问频率很高,为保证对它的访问不直接影响整个系统的效率,可以将其存放在某一固定磁盘上,以保证其快速访问。

该成绩管理系统由于程序较小,所以不进行分区设计。

重庆信息技术职业学院

5.软件功能

5.1 模块代码的分析

数据库的链接:

载入一个正确的驱动程序后,就可以用它来建立与数据库的连接了。一个JDBC的数据库连接是用数据库URL来标记的。连接标记将告诉驱动程序管理器使用哪个驱动程序和连接哪个数据库。数据库URL的基本形式:

jdbc::<数据源标记>

URL的第一部分表示使用JDBC建立数据库连接。第2部分表示所使用的JDBC驱动程序名或网络协议名。第3部分是数据源标记,它映射所需连接的数据库。例如数据库的数据源标记是firm则同JDBC-ODBC桥连接该数据库所用的数据库URL为jdbc:odbc:firm.

可以通过DriverManager类的静态方法getConnection()来建立一个数据库连接: String strDBUrl=\"jdbc:odbc:firm\";

conn=DriverManager.getConnection(strDBUrl,\"sa\

一旦建立数据库连接,就可以打开该目标数据库,并通过该连接向目标数据库SQL指令。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(e.getSource() == cancelBut){

System.exit(0); //退出系统

}else if (e.getSource() == logInBut){

String username, password; //定义用户名,密码

username = userIDT.getText(); //getText函数,返回用户名

重庆信息技术职业学院

password = userPWDT.getText(); //getText函数,返回密码

if(teacherRB.isSelected()){ //判断教师的复选框是否选中

setCurrentUser(\"teacher\");

if(username.toString().equals(\"\")){ //用equals方法检测用户名是否正确并返回

JOptionPane.showMessageDialog(null, \"请 输 入 用 户 名 \温 馨 提 示

\INFORMATION_MESSAGE); //用户名不能为空,请输入用户名

}else if (password.toString().equals(\"\")){ //用equals方法检测密码是否正确并返回

JOptionPane.showMessageDialog(null, \"请 输 入 密 码 \温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE); //密码不能为空,请输入密码

}else{

MyConnection conn = new MyConnection(); ResultSet resultSet; //数据库结果集的数据表

String sql = \"select * from 教师 where 教师编号 = '\" +

username.toString() + \"' and 登录密码 = '\" + password.toString() + \"'\"; //通过数据库表教师的编号,验证该教师的用户名和密码是否正确

try{

resultSet = conn.getResult(sql); resultSet.last();

if (resultSet.getRow() == 1){

setVisible(false); //设置为不可见 resultSet.beforeFirst(); while (resultSet.next()){

this.dispose(); //关闭窗口

sql = \"select * from 教师 \"; //通过数据库查找该教师

TeaMainFrame tmf = new TeaMainFrame(); //实例化TeaMainFrame tmf.setLayout(null); //设置tmf布局可以为空 tmf.setVisible(true); //设置tmf为刷新可见 tmf.setLocation(300, 300);

tmf.setResizable(false); //设置该窗体可以自由改变大小 tmf.setTitle(\"学生成绩管理系统教师登录界面\"); tmf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); tmf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); //退出系统 }

重庆信息技术职业学院

});

JOptionPane.showMessageDialog(null, resultSet.getString(\"教师姓名 \") + \"老师您好 欢迎 登录学生成绩管理系统\"); //验证成功,欢迎登录学生成绩管理系统 }

}else{

JOptionPane.showMessageDialog(null, \"用户名或密码错误\登录失败\

JOptionPane.INFORMATION_MESSAGE); //验证失败,登录失败

}

}catch (Exception er){

System.out.println(er.toString());

学生登陆代码:

if(studentRB.isSelected()){ //判断学生的复选框是否选中

setCurrentUser(\"student\");

if(username.toString().equals(\"\")){ //通过equals方法检测用户名是否正确并返回

JOptionPane.showMessageDialog(null, \"请 输 入 用 户 名 \温 馨 提 示

\INFORMATION_MESSAGE); //用户名不能为空,请输入用户名

}else if(password.toString().equals(\"\")) //用equals方法检测密码是否正确并返回

{

JOptionPane.showMessageDialog(null, \"请 输 入 密 码 \温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE); //密码不能为空,请输入密码

}else{

setCurrentUser(\"teacher\");

MyConnection conn = new MyConnection(); //实例化 ResultSet resultSet;

String sql = \"select * from 学生 where 学生学号 ='\" +

userIDT.getText().toString() + \"' and 登录密码 = '\" + userPWDT.getText().toString() + \"'\"; //通过数据库表教师的编号,验证该学生的用户名和密码是否正确

try{

resultSet = conn.getResult(sql); resultSet.last();

if(resultSet.getRow() == 1){

setVisible(false); //设置为刷新不可见 resultSet.beforeFirst(); while (resultSet.next()){ this.dispose();

重庆信息技术职业学院

sql = \"select * from 学生 \"; //通过数据库查找该学生 StuMainFrame smf = new StuMainFrame(); //实例化StuMainFrame smf.setSize(500, 400);

smf.setVisible(true); //设置smf为刷新可见 smf.setResizable(false); //该窗体可以自由改变大小

smf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); smf.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0); //退出系统

} });

JOptionPane.showMessageDialog(null, resultSet.getString(\"学生姓名 \") + \"同

学您好欢迎登录学生成绩管理系统\");

}

}else{

JOptionPane.showMessageDialog(null, \"用户名或密码错误\登录失败\

JOptionPane.INFORMATION_MESSAGE);

(2)学生基本信息添加代码:添加学生的基本信息,包括学生学号、姓名、性别、年龄、已修总学分、班级编号、地区编号以及登陆密码。 if(e.getSource() == btnCancel){

dispose(); //如果getSource值与btnCancel值相等,则关闭。 new TeaMainFrame().setVisible(true);

}

}else if(e.getSource() == btnAdd){

if(txtStuID.getText().toString().equals(\"\")){

//通过equals方法来判断输入的学生的学号是否正确

JOptionPane.showMessageDialog(null, \"请 输 入 学 号\\"温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE);

}else if(txtStuName.getText().toString().equals(\"\")){

//通过equals方法来判断输入的学生的姓名是否正确

JOptionPane.showMessageDialog(null, \"请 输 入 姓 名\\"温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE);

}else if(txtStuAge.getText().toString().equals(\"\")){

//通过equals方法来判断输入的学生的年龄是否正确

重庆信息技术职业学院

JOptionPane.showMessageDialog(null, \"请 输 入 年 龄\\"温 馨 提 示\JOptionPane.INFORMATION_MESSAGE);

}else if(txtStutotalCredit.getText().toString().equals(\"\")){

//通过equals方法来判断输入的学生的已修总学分是否正确

JOptionPane.showMessageDialog(null, \"请 输 入 已 修 总 学 分\\"温 馨 提 示

\INFORMATION_MESSAGE);

}else if(txtStuPostID.getText().toString().equals(\"\")){

//通过equals方法来判断输入的学生的地区号是否正确

JOptionPane.showMessageDialog(null, \"请 输 入 地 区 号\温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE);

}else if(txtStuClassID.getText().toString().equals(\"\")){

//通过equals方法来判断输入的学生的班级号是否正确

JOptionPane.showMessageDialog(null, \"请 输 入 班 级 号\温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE);

}else if(txtStuPwd.getText().toString().equals(\"\")){

//通过equals方法来判断输入的学生的密码是否正确

JOptionPane.showMessageDialog(null, \"请 输 入 密 码\\"温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE);

}else{

String sex; //定义性别

if (man.isSelected())

{

sex = \"男\"; //性别为男

}else{

sex = \"女\"; //性别女

}try{

Class.forName(driverName); //返回一个类

}catch (ClassNotFoundException ce){

JOptionPane.showMessageDialog(null, ce.getMessage()); }try{

con = DriverManager.getConnection(dbURL, userName,userPwd); sql = con.createStatement();

int a = sql.executeUpdate(\"insert into 学生 (学生学号 , 学生姓名 , 学生性别 ,

学生年龄 , 已修学分总数 , 班级编号 , 地区编号 , 登录密码 )\" +\"values('\" + txtStuID.getText() + \"','\" + txtStuName.getText() + \"','\" + sex+ \"','\" +

重庆信息技术职业学院

Integer.parseInt(txtStuAge.getText())+\"','\"+Integer.parseInt(txtStutotalCredit.getText()) + \"','\" + txtStuClassID.getText() + \"','\" + txtStuPostID.getText() + \"','\" + txtStuPwd.getText() +\"')\");

//向数据库添加学生信息,包括学生学号、姓名、性别、年龄、已修学分总数、班级编号、地区编号、登录密码。

if (a == 1){

JOptionPane.showMessageDialog(null, \"已 成 功 添 加\\"温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE); //如果a值为1,则添加成功

}else{

JOptionPane.showMessageDialog(null, \"添 加 失 败\\"温 馨 提 示\

JOptionPane.INFORMATION_MESSAGE); //否则添加失败

(3)学生成绩的查询:可以查询学生的成绩,输入学生学号、课程号以及学年,即可查询该学生的成绩。

con = DriverManager.getConnection(dbURL, userName, userPwd);

sql = con.createStatement();

rs = sql.executeQuery(\"select 学习 .学生学号 , 学习 .学期 , 学习 .课程编号 , 学

习 .课程名称 , 学生 .学生姓名 , 课程 .学分 \" +\"from 学习 , 课程 , 学生 \" +\" where 学习 .学生学号 = '\" + stuIDTxt.getText() +\"and 学习 .学生学号 = 学生 。学生学号 \" +\"and 学习 .课程编号 = 课程 .课程编号 \"+ \"'\");

//对数据库数据进行查询,输入学生学号、课程号、学年,查询该学生成绩 if(rs.next()){

stuIDTxt.setText(rs.getString(\"学生学号 \")); studyYearTxt.setText(rs.getString(\"学期 \")); courseIDTxt.setText(rs.getString(\"课程编号 \")); courseNameTxt.setText(rs.getString(\"课程名称 \")); stuNameTxt.setText(rs.getString(\"学生姓名 \")); creditTxt.setText(rs.getString(\"学分 \").toString());}

stuNameTxt.setEditable(true); //设置stuNameTxt为可输入 courseNameTxt.setEditable(true); //设置courseNameTxt为可输入 creditTxt.setEditable(true); //设置creditTxt为可输入 }catch(SQLException se){

JOptionPane.showMessageDialog(s, se.getMessage()); }

重庆信息技术职业学院

重庆信息技术职业学院

6 程序的运行界面

6.1 程序的运行以及截图

功能测试:

1.等价类测试:在输入的数据类型上加以改变,如在INT型的输入框中输入STRING类型,以保证程序不会在无意间输错而导致程序崩溃。

2.边界分析:在个别的输入输出位置上故意的使类型越界,或正好越界。测试程序的健壮性。可靠性。

3.随机测试:在输入处随机的测试几组(1组10个数)正常范围内的类型。 非功能测试:

1.环境测试:在操作系统中进行不同的环境的测试,比如开大量的程序,使得程序可用内存几乎为0,检测程序可用性。

2.错误恢复测试:在程序出错的情况下测试程序是否会自动保存等功能。3.配置测试:在程序开始配置过程中,看程序再非正常配置下的状态。

4.保密性测试:被测应用通常还需要符合特定的安全需求,需要保证数据和软件的机密性。 5.可用性、易用性测试:基本的测试,主要测试包括:标准与规范测试、直观性测试、一致性测试、灵活性测试、舒适性测试、正确性测试、实用性测试等。

(1)登录界面:分为学生登录和教师登录,输入学生ID和教师ID以及密码即可登录学生成绩管理系统。

图6-1 登录界面

(2)学生基本信息添加:该界面可以添加学生的基本信息,包括学生学号、姓名、性别、年龄、已修总学分、班级编号、地区编号以及登陆密码。

重庆信息技术职业学院

图6-2 学生基本信息的添加

(3)教师基本信息添加:该界面可以添加教师的基本信息,包括教师编号、姓名、性别、年龄、职称、联系电话以及登陆密码。

图6-3 教师基本信息的添加

(4)添加学生成绩:该界面可以添加学生的成绩,包括学生学号、课程编号、课程名称、学期、成绩以及教师姓名。

重庆信息技术职业学院

图6-4 学生成绩的添加

(5)学生成绩的查询:该界面可以查询学生的成绩,输入学生学号、课程号以及学年,即可查询该学生的成绩。

图6-5 学生成绩的查询

(6)查询课程信息:该界面可以输入课程号,来查询该课程的名称、任课老师、开课的时间、该课程学时、课程的考试方式以及学分。

重庆信息技术职业学院

图6-6 查询课程信息

(7)查询专业信息:该界面输入专业号即可查看该专业的专业名称。

图6-7 查询专业信息

(8)查看课程开设信息:该界面输入课程编号,即可查询该课程有哪些班级在学习该课程、课程的开设时间、任课老师以及该课程的学时。

重庆信息技术职业学院

图6-8 查询课程开设信息

重庆信息技术职业学院

7 结论

高校开发一学生课绩管理系统,该系统由登陆模块,学生模块,教师模块,管理员模块,四部分组成。其功能如下:

学生登陆以后,可以选报课程。系统会根据学生所在系及课程的预修课判断(课程有系别,预修课等属性)。首先,系统会列出所有满足该生系别以及该生还未选报的课程,或者其预修课为“public”的课程。如果该生选报了未满足预修课要求的课程,系统会有相关的错误提示。 其次,学生可以查看自己的成绩,包括该生已选课程的名称,学分以及 该生的总分。如果教师还未给出成绩,则系统会有相关提示。 再次,该生可以更改自己的个人信息,包括密码,电话号码等,其中要求密码不能为空。

教师在本系统中拥有是否接受学生所选课程,以及给学生打分的权力,只有先接受学生,才能给该生打分。首先,系统要求教师选择学生,然后系统会列出该教师所代课程的班级, 其次系统会列出选报了该课程的所有学生(其中包括了该生的一些详细情况),在教师选择了接受以后,就可以给该生的这门课打分,在这之后系统会分析教师的输入是否正确(即是否为阿拉伯数字),否则会有提示。 其次, 在教师给出了学生成绩之后,系统会根据成绩来判断该生是否通过了考试,如果该成绩大于或等于60,则在该生的学分上加上该课程的学分。

管理员在本系统中有着最高的权力,包括新增,更改,删除学生,教师,课程以及班级。 其中“班级” 是本系统中关键的环节,同样也是数据库中的关键。 它直接与课程,教师,上课时间,地点联系,学生所选的课程也要具体到某一个班级,所以首先班级号不能为空,其次要保证同一教师在同一时间不能上两门课程。 在新增“课程”时,要求决定课程所在系以及其预修课(系统会动态列出现有的课程),其中课程所在系必须与预修课所在系一致(或者选择无预修课,再或者预修课属性为public),否则系统会有错误提示。除此之外,在更改或新增时,名称,ID或者密码不可为空,否则系统会有相关提示。

本系统采用Java+SQL2005 设计方式。

经过1个多月的学习和实践,基本上完成了学生成绩管理系统体设计和开发,并具备一定的使用价值。但是由于时间、技术等各方面因素,本系统仍不完善,有很多问题需要解决,结合在系统开发过程中的思考和各方面的意见,发现以下3点尚不成熟需要改进和完善的地方:

系统总体规划欠缺:系统在开发过程中就感到总体规划存在一定问题,如后台数据库表的冗余,导致对数据库的操作复杂。这个问题是开发到中后期发现的,发现的时候以及为时过晚,若当时改正,需要重新开发,这时才认识到软件开发过程的重要性。

功能不够完善:规划时出现的功能现在由于时间,技术等原因不能实现。

良好的写代码习惯是应该在代码中加入注释,以便以后维护更新系统的时候容易让人读懂,这

重庆信息技术职业学院

个缺陷的产生是因为开发时偏重速度导致的。

“学海无涯”,学习和教育是无止境的,正是由于这种无限的需求,使得各种各样的基于网络形式的交流不断出现,诸如网上论坛、网上新闻组等等事物已不在是新鲜的事物了,它正在被人们广泛地接受和使用,网络强大的功能正在吸引着人们更进一步的探索。

计算机技术和Internet技术的迅猛发展和广泛普及,使得基于Web的应用开发势在必行,数据库技术更是需要和Web技术相结合,才能有更为广阔的前景。具有简单易懂、开发效率高等特点的Java和RIA技术则正适应了这种潮流,在Web开发中发挥了十分重要的作用,成为流行的开发工具之一。可以预见,java和RIA将成为网上不可或缺的卓越技术,利用java和RIA技术开发的各种网络系统必将大行其道。

系统运行时对数据的保密性要求不高,对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。

通过对系统的需求分析,让我深深的意识到它的重要性,在老师的指导下,使我进一步增强了做需求分析的能力!把以前书本上学到的知识真正用到了实践中去,开阔了思路,强化了思维。

通过这次全面的系统设计,首先让我感到非常有成就感!在今后的工作的过程中,这样的困难会常常遇到的,别人不会帮你的,只要靠自己来解决。学无止境,我们要学的知识很多。

然而,由于本系统开发时间比较短,各种信息搜集还不完全,故而本系统也存在着许多不足之处,如:本系统是单机版的,不能在整个学校范围内进行使用,降低了系统的实用性,在以后的开发过程中应更好的完善系统,以求更好的服务于人们。

重庆信息技术职业学院

8 致谢

在这毕业设计的最后一个模块完成的时刻,我忽然感觉我走进大学的日子就在昨天。回想这三年来的生活,我感觉到很充实,很快乐。

在这次毕业设计的过程中我首先要感谢三年来学校对我进行的培养,让我最快最好的掌握了各种知识。其次我要感谢我的指导老师,因为无论在大学时代教授我们课程还是在最后的毕业设计期间,他始终都对我们的学业很关心,也给了我很多热心的帮助和建议,给我们最新最重要的信息。

我还要感谢我的父母,是你们给了我轻松的学习环境和生活环境,是你们在我身边永远的支持我,鼓励我,没有你们的疼爱和教导,就没有今天的我。

我还要感谢那些帮助过我的同学,是他们在我遇到困难的时候给了我很多的帮助,也是由于他们的帮助,我才能更好更顺利的完成我的毕业设计。

再次感谢学校和所有帮过我的老师和同学们,没有你们,我将一事无成。 最后,感谢各位答辩组的老师们,是您们的辛劳,给了我们最大的肯定。

重庆信息技术职业学院

9 参考文献

【1】Y.Daniel Liang,《Java语言程序设计》,机械工业出版社,2011年5月 【2】王珊、萨师煊,《数据库系统概论》,高等教育出版社,2006年5月 【3】殷锋,《软件工程》,天津科学技术出版社,2011年5月

【4】《Visual Basic轻松入门》[M] 李俊民 许波 编著,人民邮电出版社,2009年1月

因篇幅问题不能全部显示,请点此查看更多更全内容