学生学籍管理系统--Java课程设计
- 格式:doc
- 大小:544.00 KB
- 文档页数:48
java学籍管理系统 课程设计一、课程目标知识目标:1. 掌握Java语言基础,包括数据类型、控制结构、类与对象等;2. 学会使用Java进行数据库连接和SQL语句操作,实现对学籍信息的增、删、改、查功能;3. 了解学籍管理系统的一般需求分析、功能设计及系统架构。
技能目标:1. 能够运用面向对象思想进行Java程序设计,编写出结构清晰、可维护性强的代码;2. 独立完成学籍管理系统的功能模块编写,具备一定的项目实践能力;3. 掌握使用Java开发工具(如Eclipse)进行代码编写、调试和运行。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,树立正确的学习态度;2. 培养学生的团队协作精神,提高沟通与协作能力;3. 增强学生的信息安全意识,认识到学籍信息管理的重要性。
课程性质:本课程为实践性较强的学科课程,结合实际学籍管理需求,培养学生的编程能力和项目实践能力。
学生特点:学生已具备一定的Java语言基础,具有一定的逻辑思维能力和问题解决能力。
教学要求:注重理论与实践相结合,强调动手实践,引导学生主动探究,培养学生的创新精神和实践能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. Java语言基础复习:变量、数据类型、运算符、控制结构(章节1-4);2. 面向对象编程:类与对象、继承、多态、接口(章节5-8);3. 数据库连接技术:JDBC简介、数据库连接、SQL语句操作(章节9);- MySQL数据库安装与配置;- JDBC API的使用;- 常用SQL语句编写与执行;4. 学籍管理系统功能模块设计:- 需求分析;- 功能模块划分;- 数据库表设计(学生信息表、班级信息表等);5. 编程实践:- 学生信息管理模块(添加、修改、删除、查询);- 班级信息管理模块(添加、修改、删除、查询);- 用户登录与权限控制模块;6. 项目测试与优化:单元测试、集成测试、性能优化(章节10);7. 课程总结与项目答辩:- 代码规范与编程习惯;- 项目展示与答辩;- 同学互评与反馈。
学生管理系统java课程设计一、课程目标知识目标:1. 掌握Java语言面向对象编程的基本原理,包括类、对象、继承、封装和多态;2. 学会使用Java集合框架,如List、Set、Map等,进行数据管理;3. 理解数据库连接和SQL语句执行过程,掌握JDBC操作数据库的基本方法;4. 了解学生管理系统的业务需求,掌握系统设计的基本流程。
技能目标:1. 能够运用面向对象思想,独立设计并实现Java类;2. 能够运用Java集合框架,实现对学生信息的增、删、改、查等操作;3. 能够使用JDBC连接数据库,执行SQL语句,实现数据的持久化存储;4. 能够根据需求分析,完成学生管理系统的设计与实现,具备一定的项目实践能力。
情感态度价值观目标:1. 培养学生的团队协作意识,学会与他人共同分析问题、解决问题;2. 培养学生面对实际问题的解决能力,增强自信心和成就感;3. 培养学生对计算机编程的兴趣,激发自主学习和持续探索的热情;4. 培养学生具备良好的编程习惯,注重代码规范和可维护性。
本课程针对高年级学生,结合学科特点和教学要求,以实际项目为载体,使学生掌握Java编程的核心知识,提高实际操作能力,培养团队协作和解决问题的能力。
通过课程学习,为学生今后的软件开发和项目实践打下坚实基础。
二、教学内容1. Java面向对象编程基础:讲解类与对象的概念,属性、方法、构造器的定义与使用,掌握封装、继承和多态等核心概念。
教材章节:第1章 面向对象编程基础内容安排:2课时2. Java集合框架:学习List、Set、Map等集合接口及其实现类的使用,掌握集合的增删改查操作。
教材章节:第2章 Java集合框架内容安排:2课时3. 数据库基础与JDBC:介绍数据库的基本概念,讲解JDBC连接数据库、执行SQL语句、处理结果集等方法。
教材章节:第3章 数据库编程内容安排:3课时4. 学生管理系统需求分析:分析学生管理系统的功能模块,明确系统需求,学习如何进行需求调研和撰写需求文档。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录一、设计目的 (2)二、功能介绍 (2)三、程序流程 (3)四、设计步骤 (4)五、设计总结 (11)六、程序清单 (11)七、参考文献 (17)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一、设计目的《java课程设计》是计算机相关专业的必修专业基础课程,其实践性,应用性很强。
实践教学环节是必不可少的一个重要环节。
本课程的程序设计专题实际是计算机相关专业学生学习《java程序设计》课程后,进行的一次全面的综合训练,java程序设计的目的是加深对理论教学内容的理解和掌握,是学生较系统的掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
二、功能介绍1、管理员登陆功能。
2、注册管理员功能。
3、按照学生学号搜索学籍信息功能。
4、显示所有学生学籍信息功能。
5、添加新的学生学籍信息功能。
6、删除指定学生学籍功能。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊三、程序流程四、设计步骤1、运行程序,通过LoginFrame类的构造方法LoginFrame()调用init()来初始化,生成界面,如果4-1所示,输入用户名、密码,如果用户名密┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊码正确,显示提示登录成功,如图4-2所示图4-1 登录界面图4-2 登录成功核心代码://验证用户public boolean check(String u,String p){boolean b=false;try{ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("select userpwd from users where username='"+u+"'");res=ps.executeQuery();if(res.next()){┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊String dbpwd=res.getString(1);if(dbpwd.equals(p)){b=true;}}}catch(Exception e){e.printStackTrace();}finally{this.close();}return b;}2、登录成功后,进入管理界面,如图4-3所示,然后按照提示,输入要查找的学籍的学生学号,点击搜索按钮,响应搜索按钮的事件处理,调用actionPerformed(ActionEvent e)实现事件监听,然后在这个方法中调用DBOperate类,创建一个DBOperate类对象,调用DBOperate类的getAXueJiInfo(String tnum)方法,参数为学号,然后显示出所查找学生的学籍信息,如图4-4所示:图4-3 学生学籍管理系统主界面┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图4-4 学生学籍管理系统主界面下的搜索界面核心代码://按学号查找学籍信息public xuejiBean getAXueJiInfo(String tnum){xuejiBean xjb=new xuejiBean();if(tnum.equals("")){return null;}int num=Integer.parseInt(tnum);try {ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("SELECT * FROM xueji WHERE num="+num+"");res=ps.executeQuery();while(res.next()){x jb.setNum(res.getInt(1));x jb.setSname(res.getString(2));x jb.setSex(res.getString(3));x jb.setMinzu(res.getString(4));x jb.setAge(res.getInt(5));x jb.setSdepart(res.getString(6));x jb.setStudytime(res.getString(7));x jb.setPface(res.getString(8));x jb.setAddress(res.getString(9));}} catch (Exception e) {e.printStackTrace();} finally{this.close();┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊}return xjb;}3、在管理界面的主界面中,点击搜索所有学籍信息,响应StuInfoFrame类中的actionPerformed(ActionEvent e)事件处理,然后在此方法中调用DBOperate类的ShowXueJiInfo()方法,然后在这个方法中查找数据库,将数据库返回的数据显示在JFrame中JTable内,显示结果如图4-5所示:图4-5 显示所有学生学籍信息的界面核心代码://显示所有学籍信息public ArrayList<xuejiBean> ShowXueJiInfo(){ArrayList<xuejiBean> al=new ArrayList<xuejiBean>();try {ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("SELECT * FROM xueji"); res=ps.executeQuery();while(res.next()){x uejiBean xjb=new xuejiBean();x jb.setNum(res.getInt(1));x jb.setSname(res.getString(2));x jb.setSex(res.getString(3));x jb.setMinzu(res.getString(4));x jb.setAge(res.getInt(5));x jb.setSdepart(res.getString(6));x jb.setStudytime(res.getString(7));x jb.setPface(res.getString(8));x jb.setAddress(res.getString(9));a l.add(xjb);}┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊} catch (Exception e) {e.printStackTrace();// TODO: handle exception} finally{this.close();}return al;}4、添加新的学生学籍信息,点击添加新学籍按钮响应StuInfoFrame类中的actionPerformed(ActionEvent e)事件处理,然后在此方法中,创建DBOperate类的实例,通过DBOperate类的实例调用putInforIntoDb(String name,String sex,String minzu,int age,Stringdepart,String time,String face,String address)方法将新学籍信息录入数据库中,效果如图4-6所示:图4-6 添加学生学籍界面核心代码://录入学籍信息public boolean putInforIntoDb(String name,String sex,String minzu,int age,String depart,String time,String face,String address){boolean b=false;try {ConnDB cd=new ConnDB();conn=cd.getConn();┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ps=(PreparedStatement) conn.prepareStatement("INSERT INTO xueji (sname,sex,minzu,age,sdepart,studytime,pface,address) VALUES (?,?,?,?,?,?,?,?)");ps.setString(1, name);ps.setString(2, sex );ps.setString(3, minzu);ps.setInt(4, age);ps.setString(5, depart);ps.setString(6, time);ps.setString(7, face);ps.setString(8, address);int cont=ps.executeUpdate();if(cont==1){b=true;}} catch (Exception e) {e.printStackTrace();// TODO: handle exception} finally{this.close();}return b;}5、在2中,搜索出某个学生的学籍信息后,可以点击“删除该学籍信息”按钮,然后该按钮响应tuInfoFrame类中的actionPerformed(ActionEvente)事件处理通过在此方法中创建DBOperate类的实例来调用DBOperate类中的Deleteuser(String id)方法来删除该学籍信息。
学生管理系统JAVA课课程设计一、教学目标本课程的目标是让学生掌握学生管理系统的Java编程知识,能够运用Java语言实现一个简单的学生管理系统。
具体目标如下:1.知识目标:–理解Java语言的基本语法和数据结构。
–掌握Java中的控制结构和面向对象编程思想。
–了解Java中的文件操作和数据库连接。
2.技能目标:–能够使用Java编写简单的程序,实现学生的增删改查功能。
–能够使用Java连接数据库,实现对学生信息的持久化存储。
–能够使用Java的文件操作,读写学生数据。
3.情感态度价值观目标:–培养学生的编程兴趣,提高学生解决问题的能力。
–培养学生团队协作的精神,提高学生的沟通表达能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.Java语言基础:包括基本语法、数据类型、变量、运算符等。
2.控制结构:包括条件语句、循环语句等。
3.面向对象编程:包括类、对象、继承、多态等。
4.文件操作:包括文件的读写、文件管理等。
5.数据库连接:包括JDBC的概念、数据库的连接与操作等。
6.学生管理系统的设计与实现:包括系统需求分析、系统设计、功能实现等。
三、教学方法为了达到课程目标,本课程将采用以下几种教学方法:1.讲授法:用于讲解Java语言基础、控制结构、面向对象编程等理论知识。
2.案例分析法:通过分析实际案例,让学生理解并掌握文件操作和数据库连接的方法。
3.实验法:让学生动手编写代码,实现学生管理系统,提高学生的实际操作能力。
4.小组讨论法:分组让学生讨论问题,培养学生的团队协作和沟通能力。
四、教学资源为了支持课程的顺利进行,我们将准备以下教学资源:1.教材:《Java编程思想》等。
2.参考书:《Java核心技术》、《Java Web开发》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境、数据库服务器等。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性。
设计报告课题名称:学生学籍管理系统学院:专业班级:计算机应用技术091 学号:学生:指导教师:2011年7月7日学生指导教师课题名称学生学籍管理系统设计时间2011.6.27-2011.7.8设计地点图书馆506设计目的(1)加深对运用JA V A编程的方法、原理及过程(2)熟练对流程图的绘制(3)增强上机调试程序,善于发现问题并解决问题(4)学习用文档书写程序设计说明(5)让同学们初步了解对小程序的开发过程一.需求分析学生信息的管理是学校日常工作中的重要组成部分。
高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。
在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。
当前学校对学生信息的管理不规范,不详细,而且管理信息费时费力浪费大量的人力物力。
不利于节省资源。
本程序就是为了快速便捷的存储,查找,修改,删除学生信息的。
二.设计目的(1)加深对运用JA V A编程的方法、原理及过程(2)熟练对流程图的绘制(3)增强上机调试程序,善于发现问题并解决问题(4)学习用文档书写程序设计说明(5)让同学们初步了解对小程序的开发过程三.函数作用及各类的关系1.StudentManager.java该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。
2.Inquest.java该类创建的对象是StudentManager类的重要成员之一,负责提供录入学生基本信息的界面。
3.ModifySituation.java该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。
4.Delete.java该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。
学生学籍管理系统Java课程设计一、介绍学生学籍管理系统是一套用于学校管理学生信息的软件系统。
本系统旨在通过Java编程,实现学生信息的录入、管理、修改和查询等功能。
在课程设计中,我们将使用Java语言和相关技术,如面向对象的编程思想、GUI设计等,来完成这一学生学籍管理系统的设计与实现。
二、功能需求1.学生信息录入:包括学生的学号、姓名、性别、年龄等基本信息的录入;2.学生信息查询:根据学生学号或姓名等信息进行查询,并将查询结果显示在界面上;3.学生信息修改:可以修改学生的基本信息,如姓名、性别、年龄等;4.界面友好:设计简洁、美观的用户界面,提高用户体验。
三、设计思路1.数据结构设计:使用类和对象来表示学生信息,构建学生类(Student类),包含学号、姓名、性别、年龄等属性;2.界面设计:使用Java Swing库来构建用户界面,包括菜单栏、文本框、按钮等组件;3.功能模块设计:将学生信息录入、查询、修改等功能封装成不同的方法,并在主程序中调用;4.异常处理:在程序中添加异常处理机制,以应对用户错误输入等异常情况。
四、具体实现步骤1.创建学生类:定义一个Student类,包含学号、姓名、性别、年龄等属性,并编写构造方法和getter、setter方法;2.设计主界面:使用Swing库创建主界面,包括菜单栏和各个功能按钮;3.实现学生信息录入功能:在录入界面添加文本框和确认按钮,将输入的信息保存到学生类实例中;4.实现学生信息查询功能:在查询界面设计查询条件输入框和查询按钮,根据条件查询学生信息并在界面展示;5.实现学生信息修改功能:在修改界面允许用户选择要修改的学生信息,并提供文本框供用户修改;6.异常处理:在程序中添加必要的异常处理代码,如输入非法字符、查询结果为空等情况。
五、总结通过本次课程设计,我们深入学习了Java编程语言,掌握了面向对象的程序设计思想,提高了对GUI界面设计的理解。
Java学生管理系统课程设计报告1. 引言学生管理系统是针对学校或教育机构开发的一款软件系统,旨在方便学校管理学生信息、课程安排和学生成绩等方面的工作。
本报告将详细介绍Java学生管理系统的设计与实现过程。
2. 系统需求分析学生管理系统通常需要具备以下功能:•学生信息管理:包括学生基本信息的录入、修改、删除和查询等操作。
•课程管理:可以添加、编辑、删除课程信息,并能将课程分配给相应的学生。
•成绩管理:记录学生的成绩,并可以按照课程和学生进行查询和统计。
•用户权限管理:对不同的系统用户进行权限管理,确保系统安全和数据保密性。
根据需求分析,我们将使用Java编程语言来设计和实现学生管理系统。
3. 系统设计3.1 技术选型本系统将使用Java语言进行开发,选择使用Java的原因如下:•Java具有较高的跨平台性,可以在不同的操作系统上运行。
•Java拥有丰富的类库和开发工具,可以方便地进行系统开发和维护。
•Java具有良好的面向对象特性,可以实现系统的模块化设计和复用。
3.2 系统结构设计学生管理系统可以按照MVC(Model-View-Controller)设计模式进行结构设计。
具体的系统结构如下:•模型(Model):负责处理与数据相关的操作,包括学生信息、课程和成绩等的存储和管理。
•视图(View):负责显示系统界面和获取用户输入,将用户的操作请求传递给控制器。
•控制器(Controller):负责处理用户的操作请求,调用模型和视图来完成相应的业务逻辑。
3.3 类设计系统将包括以下核心类:•学生管理类(StudentManager):负责学生信息的添加、修改、查询和删除等操作。
•课程管理类(CourseManager):负责课程信息的添加、修改、查询和删除等操作。
•成绩管理类(ScoreManager):负责学生成绩的录入、查询和统计等操作。
•用户权限管理类(UserManager):负责用户的登录和权限管理。
目录一、课程设计任务及要求.................................................1二、需求分析.............................................................2三、系统功能结构........................................................3四、设计思路..............................................................4五、详细设计.............................................................5六、运行调试与分析.....................................................10七、设计体会与总结....................................................21八、参考文献.............................................................21一、课设任务及要求课设任务:设计基于数据库的学籍管理系统设计要求:1管理员录入学生基本信息的功能2管理员修改学生基本信息的功能3按不同类别查询学生基本信息的功能4管理员删除学生基本信息的功能5利用不同的用户名登陆实现权限操作的功能6 实现登陆用户的注册7 学生个人修改自己的基本信息的功能8 学生通过SQL语句查询基本信息的功能9 打印10退出二、需求分析在开发学生学籍管理系统之前,首先要知道所要开发的系统要实现那些功能,是针对学生的系统还是针对管理员的系统,并且要清楚不同级别的用户具有什么样的功能,实现什么样的界面。
当明确了这些,项目开发的思路就清晰了,然后再对网络上别的学生学籍管理系统进行考察、分析,从中吸取经验,并结合本系统的要求以及实际的管理情况,设计出一个合理的学生学籍管理系统。
数据库课程设计说明书题目: 学生学籍信息管理系统院系:专业班级:学号:学生姓名:指导教师:2010年5月31日目录1、问题描述 (5)1.1 主要的数据表: (5)1.2 主要功能模块 (5)2、可行性研究 (5)3、需求分析 (5)4、总体设计 (6)4.1主要表的设计: (6)4.2学生学籍信息管理系统流程图(图4-4) (7)4.3数据库关系图(图4-5) (8)5、详细设计 (8)5.1主菜单设计(图5-1、5-2) (8)5.2函数设计及主要功能描述 (9)6、编码和单元测试 (9)7、综合测试 (10)7.1各函数测试结果如下图所示: (10)7.2测试 (11)8、软件维护 (12)9、总结 (12)10、参考文献 (13)11、附源程序 (13)1、问题描述1.1 主要的数据表:学生信息数据表,专业班级数据表,系统用户数据表等。
1.2 主要功能模块系统管理:管理员帐号添加、修改、删除、密码修改等。
专业班级管理:实现专业班级的添加、删除、修改、查询等功能。
学生信息管理:实现学生信息的添加、删除、修改、查询等功能。
学生检索:要求提供多种检索方式。
2、可行性研究对于所要求的功能模块,可以通过JAVA程序连接到数据库。
通过相对应的操作要求,可以通过用户或管理员的方式登录,然后通过提示完成上述一系列的操作,包括:账号的添加、修改,学生信息的添加、修改、删除,班级信息的添加、修改、删除等等操作。
3、需求分析用户登录:操作员可以分为两种,一种是管理员,一种是普通用户。
两者的权限是不一样的,所以在通过不同身份进入到系统里面会出现不同的操作界面。
其中管理员多了添加、修改、删除操作,还有就是用户管理操作;而一般的用户只有查看和修改自己密码的权限。
查看当前信息:主要是通过对数据库的访问,查看当前数据库中的信息是否完整,然后才能进行其它操作。
这一功能是普通用户和管理员都有的权限,所以两个方法可以合二为一,而不用去分别写了。
⼤学JAVA课程设计——学⽣信息管理系统摘要Java语⾔是当前最为流⾏的程序设计语⾔之⼀,诸多优秀的的特性使其成为被业界⼴泛认可和采⽤的⼯具。
本设计可以帮助同学掌握和应运所学的⾯向对象程序设计学⽣学籍信息管理系统的编程内容,培养同学们建⽴对象模型,处理对象和对象集关系和对图形⽤回界⾯设计编程以及⽂件和流的编程问题的能⼒,训练同学为解决实际问题⽽创建较完整的简单⾯向对象和管理系统编程应运程序的独⽴编程能⼒.本设计是⼀个常见的学⽣学籍管理系统应运程序.系统实现的功能:界⾯操作实现学⽣学籍信息的添加、删除、查询、修改功能,在⽂本⽂件中的的信息的动态处理。
关键词:学⽣学籍管理系统;图形⽤户界⾯设计;⽂件和流;java⽬录⼀、课程设计的⽬的与意义 (1)1.⽬的 (1)2.意义 (1)⼆、需求分析 (1)1. 学⽣学籍管理系统主界⾯模块 (1)2. 录⼊学⽣基本信息模块 (1)3. 修改学⽣基本信息模板 (1)3. 查询学⽣基本信息模板 (1)4. 删除学⽣基本信息模板 (1)三、分案设计 (3)1. 定义四个Panel⾯板 (3)四、⽅案的实施 (3)五、⼼得体会 (15)六、参考⽂献 (16)⼀、课程设计的⽬的与意义⽬的:深⼊理解java语⾔的语法规则及其优势,掌握类与⽅法的构造⽅法,掌握基于java的各种操作的实现⽅法,训练对基础知识和基本⽅法的综合运⽤能⼒,增强对算法的理解能⼒,提⾼软件设计能⼒。
在实践中培养独⽴分析问题和解决问题的作风和能⼒。
意义:熟练运⽤java语⾔、基本构造⽅法和算法的基础知识,独⽴编制⼀个具有中等难度的、解决实际应⽤问题的应⽤程序。
通过题意分析、选择类结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,不断地完善程序以提⾼程序的性能。
⼆、需求分析该学⽣学籍管理系统的所有功能均在⼀个Frame窗体中实现。
1.学⽣学籍管理系统主界⾯模块:采⽤Frame窗体来设置欢迎界⾯包括背景图⽚及字幕(可以设计成滚动字幕效果),左上⽅的菜单条设计成下拉式。
《面向对象程序设计》课程设计报告题目:学生学籍管理系统软件设计与实现院(系):信息科学与工程学院专业班级:计算机科学与技术1201班学生姓名:程伟学号:20121183011指导教师:奕20 14 年12 月29 日至20 15 年 1 月9 日华中科技大学武昌分校制面向对象程序设计课程设计任务书目录1需求与总体设计 (1)1.1需求分析 (1)1.2总体设计 (1)1.3设计要求 (2)1.4系统主要功能图 (2)2详细设计 (4)2.1 ManagerWindow类 (4)2.1.1 成员变量和法 (4)2.1.2 详细类图 (4)2.2 Student类 (5)2.2.1 成员变量和法 (5)2.2.2 详细类图 (5)2.3 StudentPicture类 (5)2.3.1 成员变量和法 (5)2.3.2 详细类图 (6)2.4 InputStudent类 (6)2.4.1 成员变量和法 (6)2.4.2 详细类图 (7)2.5 Inquest类 (7)2.5.1 成员变量和法 (7)2.5.2 详细类图 (8)2.6 ModifySituation类 (8)2.6.1 成员变量和法 (8)2.6.2 详细类图 (9)2.7 Delete类 (9)2.7.1成员变量和法 (9)3编码实现 (10)4系统测试 (38)4.1ManagerWindow创建窗口 (38)4.2InputStudent学生信息录入窗口 (38)4.3Inquest查询,打印窗口 (39)4.4 ModifySituation信息修改窗口 (39)4.5Delete删除信息窗口 (40)总结 (40)1需求与总体设计1.1需求分析学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的式管理文件档案、统计和查询数据,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.本系统完成了学生信息的增加、修改、删除、查询。
1.2总体设计在设计学籍管理系统时,需要编写7个Java源文件:ManagerWindow.java,ModifySituation.java,InputStudent.java,Inquest.java,Delete.java,Student.java,StudentPicture.java。
学籍管理系统除了需要编写的7个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JMenuItem,Hash Map和File等类。
专业.txt:学籍管理系统通过使用名字为“专业.txt”的文本文件来生成专业名称列表,以便灵活、有效地录入专业信息。
允用户自己编写“专业.txt”文件,只要将该文件和应用程序存放到同一目录中即可。
ManagerWindow.java(主类):ManagerWindow类负责创建学籍管理系统的主窗口,该类含有main法,程序从该类开始执行。
ManagerWindow类的成员变量中有4种重要类型的对象:InputStudent、Inquest、ModifySituation和Delete对象。
ManagerWindow 类的主要成员的作用将在后面详细阐述。
Student.java:Student类所创建的对象是InputStudent类的成员之一,负责封装学生的基本信息。
StudentPicture.java:StudentPicture类所创建的对象是InputStudent、Inpuest和ModifySituation类的成员之一,负责显示学生的照片。
InputStudent.java: InputStudent类创建的对象是MangerWindow类的重要成员之一,负责提供录入学生基本信息的界面。
Inquest.java:Inquest类创建的对象是MangerWindow类的重要成员之一,负责提供查询学生基本信息及打印基本信息的界面。
ModifySituation.java:ModifySituation类创建的对象是MangerWindow类的重要成员之一,负责提供修改学生基本信息的界面。
Delete.java:Delete类创建的对象是MangerWindow类的重要成员之一,负责提供删除学生基本信息的界面。
1.3设计要求1、录入学生信息:用户可以通过菜单选项让程序呈现“录入学生基本信息”功能的界面,系统操作人员打开学生信息添加界面,输入相关的信息(姓名、性别、出生日期、照片、专业和学院等)。
2、修改学生信息:根据学生的学号查询出该学生的相关信息,修改相关条目后保存在数据库中。
3、删除学生信息:根据学生的学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。
4、查询、打印学生信息:可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合查询条件的学生信息将都被显示出来。
1.4系统主要功能图系统的主要功能:学籍管理系统所用到的一些重要的类以及之间的组合关系如下图学籍管理系统除了需要编写的7个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JMenuItem,HashMap和File等类ManagerWindowInputStudent File ModifySituation Delete Inquest HashMap Student StudentPicture StudentPicture StudentPicture1.5系统主要类图2详细设计2.1 ManagerWindow类2.1.1 成员变量和法●“基本信息录入”是InputStudent对象,负责提供录入信息的界面。
●“基本信息修改”是ModifySituation对象,负责提供修改信息的界面。
●“基本信息查询”是Inquest对象,负责提供查询与打印信息的界面。
●“基本信息删除”是Delete对象,负责提供删除信息的界面。
●“基本信息”是HashMap<String,Student>创建的散列映射,用于存储键/值数据对,其中的键必须是一个String对象,键对应的值必须是Student对象。
●file是Flie文件对象,程序将“基本信息”散列映射写入该文件中。
●“录入”、“修改”、“查询”、“删除”和“欢迎界面”是JMenuItem创建的菜单项,这些菜单项都将当前窗口注册为自己的ActionEvent事件监视器。
●ManagerWindow()是构造法,负责完成窗口的初始化。
●actionPerformed(ActionEvent)法是ManagerWindow类实现的ActionListener接口中的法。
ManagerWindow创建的窗口是“录入”、“删除”、“查询与打印”、“删除”和“欢迎界面”菜单项的ActionEvent事件监视器,当用户选择其中某个菜单项时,窗口将执行actionPerformed(ActionEvent)法进行相应的操作。
●main法是程序运行的入口法。
2.1.2 详细类图2.2 Student类2.2.1 成员变量和法●number、name、disciping、grade、borth、和sex是String对象,它们的值分别表示学生的“学号”、“姓名”、“专业”、“年级”、“出生日期”和“性别”。
●imagePic是File对象,用来存放学生的照片图像和引用。
●setNumber(String)和getNumber()法分别用来设置number和获取number的值。
●setImagePic(File)和getImagePic()法分别用来设置imagePic的引用。
2.2.2 详细类图2.3 StudentPicture类2.3.1 成员变量和法●imageFile是File对象,用来存放图像文件的引用。
●tool是Toolkit对象,负责创建Image对象。
●StudentPicture()是构造法,负责创建pic对象。
●setImageFile(File)法负责设置imageFile对象。
●paintComponent(Graphics)法负责绘制根据imageFile文件创建的Image对象。
2.3.2 详细类图2.4 InputStudent类2.4.1 成员变量和法●“学生”是Student创建的对象,该对象含有和学生有关的数据。
●pic是StudentPicture创建的对象,负责绘制学生的照片。
●“基本信息表”是HashMap<String,Student>创建的散列映射,用于存储键/值数据对,其中的键必须是一个String对象,键对应的值必须是Student对象。
●“录入”、“重置”和“选择照片”是JButton创建的对象,这些按钮都将当前容器注册为自己的ActionEvent事件监视器。
●systemFile和imagePic是File声明的对象,其中systemFile存放的文件引用和ManagerWindow类中的file的相同,程序将“基本信息表”散列映射写入systemFile 文件中;而imagePic存放的文件引用有用户选择指定。
●InputStudent(File)是构造法,用来创建“基本信息录入”对象,当创建该对象时,通过该构造法的参数将ManagerWindow类中的file的引用传递给systemFile。
●actionPerformed(ActionEvent)法是InputStudent类实现的ActionListener接口中的法。
InputStudent创建的容器是“录入”、“重置”和“选择照片”按钮的ActionEvent 事件监视器,当用户单击其中某个按钮时,容器将执行actionPerformed(ActionEvent)法进行相应的操作。
2.4.2 详细类图2.5 Inquest类2.5.1 成员变量和法●pic是StudentPicture创建的对象,负责绘制学生的照片。
●print是PrintJob对象,负责打印。
●“基本信息表”是HashMap<String,Student>创建的散列映射,用于存储键/值数据对,其中的键必须是一个String对象,键对应的值必须是Student对象。