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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计纸共39页第0页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录1设计题目.........................................................12设计目的........................................................23设计分析........................................................34概念结构设计....................................................65逻辑结构设计...................................................116表结构设计.....................................................137具体功能实现..................................................158总结...........................................................269附录.........................................................27课程设计纸共39页第1页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1.设计题目学生成绩管理系统课程设计纸共39页第2页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊2.设计目的本学生成绩管理系统模块是为了实现学校人力资源的优化和学生成绩管理的科学管理而设计的,通过试用本系统,可以更加有效的管理学生成绩信息,用数据库对大量数据的复杂操作进行保存,其中包括学生的基本信息,成绩信息和班级成绩信息并且具有信息的增加,查询,修改和修改等功能。课程设计纸共39页第3页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊3.设计分析3.1可行性研究(1)利用面向对象的JAVA语言来进行系统开发,可以很方便的根据实际定义各个所需要的对象,并对这些对象进行操作。同时由于本系统是在用戶图形界面进行各种用户操作,可以使界面多样化满足人们的对美观的要求,更易懂、更方便操,能够更方便验证用户的输入是否正确,并进行相应的提示,这些需求和功能在目前情况下利用所学知识完全可以实现。并且本系统采用文件来存储数据,操作比较简单,方便学生成绩的导出与打印,省去了人力的大量抄写,但是在一定程度上限制数据量和系统的运行速度。该学生成绩管理系统可以在MicrosoftWindowsXP和Windows7系统下进行开发和运行的,这些系统目前已经比较普及,用户在该系统中可以方便的进行各种操作,实现预期的目的。该系统的开发成本比较低,符合了人们对低资源高效率的追求,利用较低的成本换取更高的回报。(2)具体的定义问题:此次开发的项目是一个学生成绩管理系统,进行学生信息的增删改查、学生成绩的管理和班级成绩的管理,在进入系统之前需要登陆,登陆成功后即可进入系统的相应的用户界面。本系统的身份主要分为教务处、老师和学生。①若是教务处登录可以进行多条件查询学生的信息,也可以增加、删除、修改、学生的信息,并可多条件查询学生成绩的信息,以及成绩的增加和修改,查询班级成绩,可按班级查询或按日期查询。②若是老师登录,则可以查询所有的学生信息、学生成绩和班级成绩。③若是学生登录,则只可以查询自己的信息和成绩,不可进行对任何信息的任何修。④在登录界面有注册功能,并以学号为线索贯穿整个系统。系统的基本流程图,如图3.1所示:课程设计纸共39页第4页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图3.1系统流程图3.2需求分析(1)用户需求:学生成绩管理系统的用户类,其属性有用户名密码以及身份,用户必须登录成功后才可进入主界面,用户再实现学生信息的查询、添加删除、修改,以及学生成绩的查询管理等功能,管理好这些用户对系统安全有十分重要的影响。(2)功能需求:①登录模块:主要登录,系统自动根据用户的身份权限进行判断再弹出不同的用户界面。②注册模块:此模块用于添加用户并设定登录密码。③学生信息管理模块:使教务处实现对学生信息的添加、删除、修改、查找,以及对外键密码的查询;教师和学生则只可以查看。④学生成绩管理模块:教务处可以实现对学生成绩添加、修改、查找学生成绩可以进行学生成绩的操作;教师和学生只可以查看。⑤班级成绩管理模块:此模块主要是按条件查询功能,不能手动添加记录,只能在添加学生成绩时,有系统自动调用方法对此表进行按班级并继承此课程设计纸共39页第5页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊班级的成绩添加记录,如没有此班级的记录则不用继承任何数据此学生的总成绩和平均成绩就是此条记录的总成绩和平均成绩。课程设计纸共39页第6页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊4.概念结构设计学生成绩管理系统的设计,主要解决的是对系统中的学生的基本信息,学生成绩的基本信息,以及班级成绩管理工作。首先,需要定义各个所需要的数据对象,然后在这些对象上进行操作;其次,实现功能模块时,采用先模块化,后集成化,即对系统各个功能模块分别独立设计和调试,在创建系统主登录界面时再将各个功能模块通过主菜单对各个模块的调用集成到一起,最后进行系统整体设计调试。在数据存储和操作方面,采用文件的读写导出数据库,并在读出数据之后放入链表进行操作;并在数据更新之后将数据存到数据库中,这样可以减少对磁盘的直接操作次数,从而提高系统设计的效率。4.1概念模型(系统E-R图)(1)局部E-R图①学生实体E-R图,如图4.1所示:图4.1学生实体图②登录用户(此实体图包括教务处、老师和学生)实体E-R图,如图4.2所示:图4.2登录用户实体图③学生成绩实体,如图4.3所示:学生学号姓名班级籍贯民族院系入学年月出生年月性别教务处用户名密码权限课程设计纸共39页第7页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图4.3学生成绩实体图④班级实体E-R图,如图4.4所示:图4.4班级实体图(2)整体E-R图,如图4.5所示:1n11nn11图4.5整体E-R图这些类之间对于同一个学生来说,重复定义的数据是相同的,在功能调用时采用数据耦合,降低系统中的耦合度。4.2类设计和数据存储(1)类设计学生成绩学号姓名班级院系英语Java操作系统软件工程日期平均成绩总成绩班级班级号记录号总成绩总成绩日期登录用户学生学生成绩班级成绩增删改查增改查添加查询课程设计纸共39页第8页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊①用户类:首先定义一个用户类Logininfo,拥有私有属性用户名和密码,实现用户的登陆,将数据存入数据库。②学生信息类:里面是一个学生信息类,包含学生姓名、学号、性别和籍贯等一些基本信息。③学生成绩类:主要记录学生成绩信息。④班级成绩类:用来记录随学生成绩修改添加而随之添加的班级成绩记录,并自动把班级成绩累加计算。⑤数据库连接类:主要实现与数据库的连接,实现数据的操作。⑥dao包:主要是包含用户信息以、学生信息和学生成绩信息的增删改查的操作方法的一些类。⑦view包:此包中主要实现用户界面,各种GUI设计⑧主类:是程序的入口,程序从此类开始执行。类中数据不可被其他类访问的数据权限设为private,符合信息隐藏原理,能更好的实现模块独立化。(2)数据存储①数据存储主要是通过用MySQL数据库来实现的,将数据库中的信息借助List这个接口,通过接口回调得到一个list对象,将从文件中读取到的所有对象都放到list对象中,然后通过对list进行遍历,实现增删改查操作。②学生成绩也可以导出到文本文档中保存,使用BufferedWriter类把list中的内容写到文本文档中,使用File类实现文件的创建和选择。4.3功能模块设计(1)登陆管理模块实现用户的登录,如图4.6所示:图4.6用户登录模块课程设计纸共39页第9页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊(2)学生信息管理模块实现对学生信息增加、删除、修改、查找功能。如图4.7所示:图4.7学生信息管理模块(3)学生成绩管理模块用户可以实现对学生成绩的查询、添加和修改,其操作如下图4.8所示:图4.8学生成绩管理模块课程设计纸共39页第10页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊(4)班级成绩管理模块主要实现班级成绩的自动添加与统计,其操作如下图4.9所示:图4.9班级成绩管理模块课程设计纸共39页第11页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊5.逻辑结构设计5.1逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行:(1)从E-R图向关系模式转化数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。(2)将转化来的关系,网状、层次模型行向特定的DBMS支持下的数据模型转换。(3)对数据模型进行优化。5.2概念结构(E-R图)向逻辑结构的转换(1)登录用户(用户id,用户名,用户密码)(2)学生(学号,姓名,性别,院系,班级,籍贯,民族,入学年分,出生年月)(3)学生成绩(学号,姓名,班级,院系,英语成绩,操作系统成绩,软件工程成绩,Java成绩,总成绩,平均成绩,日期)(4)班级成绩(班级号,总成绩,平均成绩,日期)5.3数据模型的优化(1)学生关系模式内部存在如下数据依赖:用户id用户名用户id用户名(2)学生关系模式内部存在如下数据依赖:学号学生姓名学号学生性别学号学生院系学号学生班级学号学生籍贯学号民族学号入学年份课程设计纸共39页第12页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊学号出生年月(3)学生成绩关系模式内部存在如下数据依赖:学号学生姓名学号学生班级学号学生院系学号英语成绩学号操作系统成绩学号软件工程成绩学号Java成绩学号总成绩学号平均成绩学号日期(4)班级成绩关系模式内部存在如下数据依赖:班级号总成绩班级号平均成绩班级号日期由于本系统关系模式比较简单,并不需要进一步优化。这里需要说明的是“用户”关系。用户的id是账号,实际上账号就是个实体的编号,如学生就是学号,教师就是教师号。当俩个关系的码相同时,根据消除冗余数据的原则,应该把这俩个关系合并为一个关系。即密码和权限应该放在学生、教师表中,作为学生、教师实体的属性。但本系统中为了提高速度,方便管理,把账号、用户名、密码和权限单提出来作为一张独立的表。课程设计纸共39页第13页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊6.表结构定义(1)登录用户t_login表结构定义,如下图6.1所示:图6.1登录用户表结构定义图(2)学生t_srudentinfo表结构定义,如下图6.2所示:图6.2学生表结构定义课程设计纸共39页第14页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊(3)学生成绩t_grade表结构定义,如图6.3所示:图6.3学生成绩表结构定义图(4)班级成绩t_tongji表结构定义,如图6.4所示:图6.4班级成绩表结构定义图课程设计纸共39页第15页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊7.具体功能实现7.1登录功能的实现(1)登

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功