学生成绩管理系统Java课程设计.doc
《学生成绩管理系统Java课程设计.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统Java课程设计.doc(58页珍藏版)》请在咨信网上搜索。
1、目 录1 设计题目.12 设计目的.23设计分析34 概念结构设计65 逻辑结构设计116 表结构设计137 具体功能实现.158 总结.269 附录 . 27 1. 设计题目学生成绩管理系统2.设计目的本学生成绩管理系统模块是为了实现学校人力资源的优化和学生成绩管理的科学管理而设计的,通过试用本系统,可以更加有效的管理学生成绩信息,用数据库对大量数据的复杂操作进行保存,其中涉及学生的基本信息,成绩信息和班级成绩信息并且具有信息的增长,查询,修改和修改等功能。3. 设计分析3.1 可行性研究(1)运用面向对象的JAVA语言来进行系统开发,可以很方便的根据实际定义各个所需要的对象,并对这些对象进
2、行操作。同时由于本系统是在用戶图形界面进行各种用户操作,可以使界面多样化满足人们的对美观的规定,更易懂、更方便操,可以更方便验证用户的输入是否对的,并进行相应的提醒,这些需求和功能在目前情况下运用所学知识完全可以实现。并且本系统采用文献来存储数据,操作比较简朴,方便学生成绩的导出与打印,省去了人力的大量誊录,但是在一定限度上限制数据量和系统的运营速度。 该学生成绩管理系统可以在Microsoft Windows XP 和 Windows 7系统下进行开发和运营的,这些系统目前已经比较普及,用户在该系统中可以方便的进行各种操作,实现预期的目的。该系统的开发成本比较低,符合了人们对低资源高效率的追
3、求,运用较低的成本换取更高的回报。(2)具体的定义问题: 本次开发的项目是一个学生成绩管理系统,进行学生信息的增删改查、学生成绩的管理和班级成绩的管理,在进入系统之前需要登陆,登陆成功后即可进入系统的相应的用户界面。本系统的身份重要分为教务处、老师和学生。若是教务处登录可以进行多条件查询学生的信息,也可以增长、删除、修改、学生的信息,并可多条件查询学生成绩的信息,以及成绩的增长和修改,查询班级成绩,可按班级查询或按日期查询。若是老师登录,则可以查询所有的学生信息、学生成绩和班级成绩。若是学生登录,则只可以查询自己的信息和成绩,不可进行对任何信息的任何修。在登录界面有注册功能,并以学号为线索贯穿
4、整个系统。系统的基本流程图,如图3.1所示:图3.1 系统流程图3.2 需求分析(1) 用户需求:学生成绩管理系统的用户类,其属性有用户名密码以及身份,用户必须登录成功后才可进入主界面,用户再实现学生信息的查询、添加删除、修改,以及学生成绩的查询管理等功能,管理好这些用户对系统安全有十分重要的影响。(2) 功能需求: 登录模块:重要登录,系统自动根据用户的身份权限进行判断再弹出不同的用户界面。 注册模块:此模块用于添加用户并设定登录密码。 学生信息管理模块:使教务处实现对学生信息的添加、删除、修改、查找,以及对外键密码的查询;教师和学生则只可以查看。 学生成绩管理模块:教务处可以实现对学生成绩
5、添加、修改、查找学生成绩可以进行学生成绩的操作;教师和学生只可以查看。 班级成绩管理模块:此模块重要是按条件查询功能,不能手动添加记录,只能在添加学生成绩时,有系统自动调用方法对此表进行按班级并继承此班级的成绩添加记录,如没有此班级的记录则不用继承任何数据此学生的总成绩和平均成绩就是此条记录的总成绩和平均成绩。4. 概念结构设计学生成绩管理系统的设计,重要解决的是对系统中的学生的基本信息,学生成绩的基本信息,以及班级成绩管理工作。一方面,需要定义各个所需要的数据对象,然后在这些对象上进行操作;另一方面,实现功能模块时,采用先模块化,后集成化,即对系统各个功能模块分别独立设计和调试,在创建系统主
6、登录界面时再将各个功能模块通过主菜单对各个模块的调用集成到一起,最后进行系统整体设计调试。在数据存储和操作方面,采用文献的读写导出数据库,并在读出数据之后放入链表进行操作;并在数据更新之后将数据存到数据库中,这样可以减少对磁盘的直接操作次数,从而提高系统设计的效率。4.1 概念模型(系统E-R图)(1)局部E-R图 学生实体E-R图,如图4.1所示:姓名班级学号民族籍贯学生院系 性别入学年月出生年月图4.1 学生实体图 登录用户(此实体图涉及教务处、老师和学生)实体E-R图,如图4.2所示:权限密码用户名教务处图4.2 登录用户实体图 学生成绩实体,如图4.3所示:院系学号姓名班级平均成绩英语
7、 学生成绩总成绩Java软件工程日期操作系统图4.3 学生成绩实体图 班级实体E-R图,如图4.4所示:总成绩记录号班级号班级日期总成绩图4.4 班级实体图(2)整体E-R图,如图4.5所示:学生增删改查登录用户1n11增改查查询n学生成绩班级成绩添加n11图4.5 整体E-R图这些类之间对于同一个学生来说,反复定义的数据是相同的,在功能调用时采用数据耦合,减少系统中的耦合度。 4.2 类设计和数据存储(1)类设计 用户类:一方面定义一个用户类Logininfo,拥有私有属性用户名和密码,实现用户的登陆,将数据存入数据库。学生信息类:里面是一个学生信息类,包含学生姓名、学号、性别和籍贯等一些基
8、本信息。 学生成绩类:重要记录学生成绩信息。班级成绩类:用来记录随学生成绩修改添加而随之添加的班级成绩记录,并自动把班级成绩累加计算。数据库连接类:重要实现与数据库的连接,实现数据的操作。dao包:重要是包含用户信息以、学生信息和学生成绩信息的增删改查的操作方法的一些类。view包:此包中重要实现用户界面,各种GUI设计 主类:是程序的入口,程序从此类开始执行。类中数据不可被其他类访问的数据权限设为private,符合信息隐藏原理,能更好的实现模块独立化。(2)数据存储数据存储重要是通过用MySQL数据库来实现的,将数据库中的信息借助List这个接口,通过接口回调得到一个list对象,将从文献
9、中读取到的所有对象都放到list对象中,然后通过对list进行遍历,实现增删改查操作。学生成绩也可以导出到文本文档中保存,使用BufferedWriter类把list中的内容写到文本文档中,使用File类实现文献的创建和选择。4.3 功能模块设计(1)登陆管理模块实现用户的登录,如图4.6所示: 图4.6 用户登录模块(2)学生信息管理模块实现对学生信息增长、删除、修改、查找功能。如图4.7所示: 图4.7 学生信息管理模块(3)学生成绩管理模块用户可以实现对学生成绩的查询、添加和修改,其操作如下图4.8所示: 图4.8 学生成绩管理模块(4) 班级成绩管理模块重要实现班级成绩的自动添加与记录
10、,其操作如下图4.9所示 : 图4.9 班级成绩管理模块5. 逻辑结构设计5.1 逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行: (1) 从E-R图向关系模式转化数据库的逻辑设计重要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。(2) 将转化来的关系,网状、层次模型行向特定的DBMS支持下的数据模型转换。(3)对数据模型进行优化。5.2 概念结构(E-R图)向逻辑结构的转换(1)登录用户(用户id,用户名,用户密码)(2)学生(学
11、号,姓名,性别,院系,班级,籍贯,民族,入学年分,出生年月) (3)学生成绩(学号,姓名,班级,院系,英语成绩,操作系统成绩,软件工程成绩,Java成绩,总成绩,平均成绩,日期)(4)班级成绩(班级号,总成绩,平均成绩,日期)5.3 数据模型的优化(1) 学生关系模式内部存在如下数据依赖: 用户id 用户名 用户id 用户名(2) 学生关系模式内部存在如下数据依赖:学号学生姓名学号学生性别学号学生院系学号学生班级学号学生籍贯学号民族学号入学年份学号出生年月(3) 学生成绩关系模式内部存在如下数据依赖:学号学生姓名学号学生班级学号学生院系学号英语成绩学号操作系统成绩学号软件工程成绩学号Java成
12、绩学号总成绩学号平均成绩学号日期(4) 班级成绩关系模式内部存在如下数据依赖:班级号总成绩班级号平均成绩班级号日期由于本系统关系模式比较简朴,并不需要进一步优化。这里需要说明的是“用户”关系。用户的id是账号,事实上账号就是个实体的编号,如学生就是学号,教师就是教师号。当俩个关系的码相同时,根据消除冗余数据的原则,应当把这俩个关系合并为一个关系。即密码和权限应当放在学生、教师表中,作为学生、教师实体的属性。但本系统中为了提高速度,方便管理,把账号、用户名、密码和权限单提出来作为一张独立的表。6. 表结构定义(1) 登录用户t_login表结构定义,如下图6.1所示:图6.1 登录用户表结构定义
13、图(2) 学生t_srudentinfo表结构定义,如下图6.2所示:图6.2 学生表结构定义(3) 学生成绩t_grade表结构定义,如图6.3所示:图6.3 学生成绩表结构定义图(4) 班级成绩t_tongji表结构定义,如图6.4所示:图6.4 班级成绩表结构定义图7. 具体功能实现7.1 登录功能的实现(1) 登录界面该界面可以对用户名和密码进行验证如不对的则会显示错误信息,如图7.1所示:图7.1 登录界面(2)登录功能的实现代码,此段代码通过连接数据库用sql语句查找符合条件的用户,返回值为Logininfo类的对象,在调用此方法的程序中验证此对象是否为空,如为空,则没有该用户显示
14、错误信息;如不为空,则该用户存在,可直接用此对象的getRole()方法进入不同的界面。public Logininfo querybyUsernameAndPassword(Logininfo user) Logininfo u =new Logininfo(); String name=user.getName(); String pwd=user.getPassword(); String sql=select * from t_login where name =+name+and password=+pwd+; DBConnection conn=new DBConnection()
15、; ResultSet rs=conn.doQuery(sql); try if(rs.next() u.setName(rs.getString(name); u.setPassword(rs.getString(password); u.setRole(rs.getInt(role); catch (SQLException e) e.printStackTrace(); conn.queryclose(); return u; 7.2 学生信息查询功能的实现(1) 学生信息查询功能界面,可通过此界面按多条件查找如可按学号、姓名或班级等查找,如图7.2所示:图7.2 学生信息查询界面(2)
16、 学生信息查询功能的实现代码,此代码运用sql语句在数据库中查找所有学生信息,存放在List对象中;如有条件的查找则只需修改sql语句即可,提高了代码的重用性。public List queryAll() DBConnection conn = new DBConnection();String sql = select * from t_studentinfo;ResultSet rs = conn.doQuery(sql);List list = new ArrayList();try while (rs.next() Studentinfo student = new Studentin
17、fo(); student.setId(rs.getInt(id);student.setName(rs.getString(name);student.setClasses(rs.getInt(classes);student.setSex(rs.getString(sex);student.setRace(rs.getString(race);student.setNativeplace(rs.getString(nativeplace);student.setDepartment(rs.getString(department);student.setSchoolyear(rs.getS
18、tring(schoolyear);student.setBirth(rs.getString(birth);list.add(student); catch (SQLException e) e.printStackTrace();conn.queryclose();return list;7.3 学生信息添加功能的实现 (1) 学生信息添加功能界面,此界面可添加学生信息到数据库中,如图7.3所示:图7.3 学生信息添加界面(2) 学生信息添加功能的实现代码,此方法以Studentinfo的对象为参数,省去了传多个参数的麻烦,返回值为布尔型,可直接判断添加操作是否成功。public bool
19、ean insertStudent(Studentinfo student) DBConnection conn = new DBConnection();String name = student.getName();int classes = student.getClasses();String sex=student.getSex();String race=student.getRace();String nativeplace=student.getNativeplace();String department=student.getName();String schoolyear
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 Java 课程设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。