学生成绩管理系统Java课程设计

上传人:飞****9 文档编号:143931623 上传时间:2020-09-03 格式:DOC 页数:40 大小:802.50KB
返回 下载 相关 举报
学生成绩管理系统Java课程设计_第1页
第1页 / 共40页
学生成绩管理系统Java课程设计_第2页
第2页 / 共40页
学生成绩管理系统Java课程设计_第3页
第3页 / 共40页
学生成绩管理系统Java课程设计_第4页
第4页 / 共40页
学生成绩管理系统Java课程设计_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《学生成绩管理系统Java课程设计》由会员分享,可在线阅读,更多相关《学生成绩管理系统Java课程设计(40页珍藏版)》请在金锄头文库上搜索。

1、目目 录录 1 设计题目. .1 2 设计目的.2 3 设计分析 .3 4 概念结构设计 .6 5 逻辑结构设计 .11 6 表结构设计 .13 7 具体功能实现.15 8 总结.26 9 附录 . 27 1.1. 设计题目设计题目 学生成绩管理系统 2.2.设计目的设计目的 本学生成绩管理系统模块是为了实现学校人力资源的优化和学生成绩管 理的科学管理而设计的,通过试用本系统,可以更加有效的管理学生成绩信 息, 用数据库对大量数据的复杂操作进行保存,其中包括学生的基本信息,成绩 信息和班级成绩信息并且具有信息的增加,查询,修改和修改等功能。 3.3. 设计分析设计分析 3.1 可行性研究 (1

2、)利用面向对象的 JAVA 语言来进行系统开发,可以很方便的根据实际 定义各个所需要的对象,并对这些对象进行操作。同时由于本系统是在用戶 图形界面进行各种用户操作,可以使界面多样化满足人们的对美观的要求, 更易懂、更方便操,能够更方便验证用户的输入是否正确,并进行相应的提 示,这些需求和功能在目前情况下利用所学知识完全可以实现。并且本系统 采用文件来存储数据,操作比较简单,方便学生成绩的导出与打印,省去了 人力的大量抄写,但是在一定程度上限制数据量和系统的运行速度。 该学生成绩管理系统可以在 Microsoft Windows XP 和 Windows 7 系统 下进行开发和运行的,这些系统目

3、前已经比较普及,用户在该系统中可以方 便的进行各种操作,实现预期的目的。该系统的开发成本比较低,符合了人 们对低资源高效率的追求,利用较低的成本换取更高的回报。 (2)具体的定义问题: 此次开发的项目是一个学生成绩管理系统,进行学生信息的增删改查、学 生成绩的管理和班级成绩的管理,在进入系统之前需要登陆,登陆成功后即可 进入系统的相应的用户界面。 本系统的身份主要分为教务处、老师和学生。 若是教务处登录可以进行多条件查询学生的信息,也可以增加、删除、 修改、学生的信息,并可多条件查询学生成绩的信息,以及成绩的增加和修 改,查询班级成绩,可按班级查询或按日期查询。 若是老师登录,则可以查询所有的

4、学生信息、学生成绩和班级成绩。 若是学生登录,则只可以查询自己的信息和成绩,不可进行对任何信 息的任何修。 在登录界面有注册功能,并以学号为线索贯穿整个系统。 系统的基本流程图,如图 3.1 所示: 图 3.1 系统流程图 3.2 需求分析 (1) 用户需求:学生成绩管理系统的用户类,其属性有用户名密码以及 身份,用户必须登录成功后才可进入主界面,用户再实现学生信息的查询、 添加删除、修改,以及学生成绩的查询管理等功能,管理好这些用户对系统 安全有十分重要的影响。 (2) 功能需求: 登录模块:主要登录,系统自动根据用户的身份权限进行判断再弹出 不同的用户界面。 注册模块:此模块用于添加用户并

5、设定登录密码。 学生信息管理模块:使教务处实现对学生信息的添加、删除、修改、 查找,以及对外键密码的查询;教师和学生则只可以查看。 学生成绩管理模块:教务处可以实现对学生成绩添加、修改、查找学 生成绩可以进行学生成绩的操作;教师和学生只可以查看。 班级成绩管理模块:此模块主要是按条件查询功能,不能手动添加记 录,只能在添加学生成绩时,有系统自动调用方法对此表进行按班级并继承 此班级的成绩添加记录,如没有此班级的记录则不用继承任何数据此学生的 总成绩和平均成绩就是此条记录的总成绩和平均成绩。 4.4. 概念结构设计概念结构设计 学生成绩管理系统的设计,主要解决的是对系统中的学生的基本信息, 学生

6、成绩的基本信息,以及班级成绩管理工作。首先,需要定义各个所需要 的数据对象,然后在这些对象上进行操作;其次,实现功能模块时,采用先 模块化,后集成化,即对系统各个功能模块分别独立设计和调试,在创建系 统主登录界面时再将各个功能模块通过主菜单对各个模块的调用集成到一起, 最后进行系统整体设计调试。在数据存储和操作方面,采用文件的读写导出 数据库,并在读出数据之后放入链表进行操作;并在数据更新之后将数据存 到数据库中,这样可以减少对磁盘的直接操作次数,从而提高系统设计的效 率。 4.1 概念模型(系统 E-R 图) (1)局部 E-R 图 学生实体 E-R 图,如图 4.1 所示: 图 4.1 学

7、生实体图 登录用户(此实体图包括教务处、老师和学生)实体 E-R 图,如图 4.2 所示: 学生 学号姓名 班级 籍贯 民族 院系 入学年月出生年月 性别 教务处 用户名密码权限 图 4.2 登录用户实体图 学生成绩实体,如图 4.3 所示: 图 4.3 学生成绩实体图 班级实体 E-R 图,如图 4.4 所示: 图 4.4 班级实体图 (2)整体 E-R 图,如图 4.5 所示: 1n 11 n n 11 图 4.5 整体 E-R 图 这些类之间对于同一个学生来说,重复定义的数据是相同的,在功能调 用时采用数据耦合,降低系统中的耦合度。 学生成绩 学号姓名班级 院系 英语 Java 操作系统

8、软件工程日期 平均成绩 总成绩 班级 班级号记录号 总成绩 总成绩日期 登录用户学生 学生成绩班级成绩 增删改查 增改查 添加 查询 4.2 类设计和数据存储 (1)类设计 用户类:首先定义一个用户类 Logininfo,拥有私有属性用户名和密码, 实现用户的登陆,将数据存入数据库。 学生信息类:里面是一个学生信息类,包含学生姓名、学号、性别和 籍贯等一些基本信息。 学生成绩类:主要记录学生成绩信息。 班级成绩类:用来记录随学生成绩修改添加而随之添加的班级成绩记 录,并自动把班级成绩累加计算。 数据库连接类:主要实现与数据库的连接,实现数据的操作。 dao 包:主要是包含用户信息以、学生信息和

9、学生成绩信息的增删改查 的操作方法的一些类。 view 包:此包中主要实现用户界面,各种 GUI 设计 主类:是程序的入口,程序从此类开始执行。 类中数据不可被其他类访问的数据权限设为 private,符合信息隐藏原理, 能更好的实现模块独立化。 (2)数据存储 数据存储主要是通过用 MySQL 数据库来实现的,将数据库中的信息借 助 List 这个接口,通过接口回调得到一个 list 对象,将从文件中读取到的所有 对象都放到 list 对象中,然后通过对 list 进行遍历,实现增删改查操作。 学生成绩也可以导出到文本文档中保存,使用 BufferedWriter 类把 list 中的内容写

10、到文本文档中,使用 File 类实现文件的创建和选择。 4.3 功能模块设计 (1)登陆管理模块 实现用户的登录,如图 4.6 所示: 图 4.6 用户登录模块 (2)学生信息管理模块 实现对学生信息增加、删除、修改、查找功能。如图 4.7 所示: 图 4.7 学生信息管理模块 (3)学生成绩管理模块 用户可以实现对学生成绩的查询、添加和修改,其操作如下图 4.8 所示: 图 4.8 学生成绩管理模块 (4) 班级成绩管理模块 主要实现班级成绩的自动添加与统计,其操作如下图 4.9 所示 : 图 4.9 班级成绩管理模块 5.5. 逻辑结构设计逻辑结构设计 5.1 逻辑结构设计阶段的任务是将概

11、念结构设计阶段所得到的概念模型 转换为具体 DBMS 所能支持的数据模型(即逻辑结构),并对其进行优化。 逻辑结构设计一般分为三步进行: (1) 从 E-R 图向关系模式转化数据库的逻辑设计主要是将概念模型转换 成一般的关系模式,也就是将 E-R 图中的实体、实体的属性和实体之间的联 系转化为关系模式。 (2) 将转化来的关系,网状、层次模型行向特定的 DBMS 支持下的数据 模型转换。 (3)对数据模型进行优化。 5.2 概念结构(E-R 图)向逻辑结构的转换 (1)登录用户(用户 id,用户名,用户密码) (2)学生(学号,姓名,性别,院系,班级,籍贯,民族,入学年分,出生 年月) (3)

12、学生成绩(学号,姓名,班级,院系,英语成绩,操作系统成绩,软件 工程成绩,Java 成绩,总成绩,平均成绩,日期) (4)班级成绩(班级号,总成绩,平均成绩,日期) 5.3 数据模型的优化 (1) 学生关系模式内部存在如下数据依赖: 用户 id 用户名 用户 id 用户名 (2) 学生关系模式内部存在如下数据依赖: 学号学生姓名 学号学生性别 学号学生院系 学号学生班级 学号学生籍贯 学号民族 学号入学年份 学号出生年月 (3) 学生成绩关系模式内部存在如下数据依赖: 学号学生姓名 学号学生班级 学号学生院系 学号英语成绩 学号操作系统成绩 学号软件工程成绩 学号Java 成绩 学号总成绩 学

13、号平均成绩 学号日期 (4) 班级成绩关系模式内部存在如下数据依赖: 班级号总成绩 班级号平均成绩 班级号日期 由于本系统关系模式比较简单,并不需要进一步优化。这里需要说明的是 “用户”关系。用户的 id 是账号,实际上账号就是个实体的编号,如学生就 是学号,教师就是教师号。当俩个关系的码相同时,根据消除冗余数据的原则, 应该把这俩个关系合并为一个关系。即密码和权限应该放在学生、教师表中, 作为学生、教师实体的属性。但本系统中为了提高速度,方便管理,把账号、 用户名、密码和权限单提出来作为一张独立的表。 6.6. 表结构定义表结构定义 (1) 登录用户 t_login 表结构定义,如下图 6.

14、1 所示: 图 6.1 登录用户表结构定义图 (2) 学生 t_srudentinfo 表结构定义,如下图 6.2 所示: 图 6.2 学生表结构定义 (3)学生成绩 t_grade 表结构定义,如图 6.3 所示: 图 6.3 学生成绩表结构定义图 (4) 班级成绩 t_tongji 表结构定义,如图 6.4 所示: 图 6.4 班级成绩表结构定义图 7.7. 具体功能实现具体功能实现 7.1 登录功能的实现 (1) 登录界面该界面可以对用户名和密码进行验证如不正确则会显示错误 信息,如图 7.1 所示: 图 7.1 登录界面 (2)登录功能的实现代码,此段代码通过连接数据库用 sql 语句查找符合 条件的用户,返回值为Logininfo 类的对象,在调用此方法的程序中验证此对象是否 为空,如为空,则没有该用户显示错误信息;如不为空,则该用户存在,可直接用此对象 的 getRole()方法进入不同的界面。 publicpublic Logininfo querybyUsernameAndPassword(Logininfo use

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号