【基于Java的学生信息管理系统设计与实现8600字(论文)】_第1页
【基于Java的学生信息管理系统设计与实现8600字(论文)】_第2页
【基于Java的学生信息管理系统设计与实现8600字(论文)】_第3页
【基于Java的学生信息管理系统设计与实现8600字(论文)】_第4页
【基于Java的学生信息管理系统设计与实现8600字(论文)】_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录.信息管理系统的基本开发方法事实上,一个成功的MIS系统开发的标志是拥有一套完整的实用文档。科学合理的MIS开发过程通常从系统可行性分析开始,经过用户需求分析、系统功能分析、系统设计和系统实现几个主要阶段。在MIS的开发过程中,每个阶段都要建立完整、完善的文档。从软件工程的角度看,软件开发模型贯穿系统开发的整个生命周期,这一点对于MIS系统的开发过程同样适用。在软件工程发展的不同阶段,研究人员提出了大量的开发模型,比较有代表性的是瀑布模型(WaterfallModel)、喷泉模型(FountainModel)、增量模型(IncrementModel)、螺旋模型(SpiralModel)和快速原型模型(RapidPrototypingModel)。目前,在MIS系统开发中常用到的方法有两种:瀑布模型法和快速成型。实践证明,将这两种方法结合起来,相互借鉴,开发管理信息系统是一种行之有效的方法。采用面向对象的方法开发管理信息系统时,重点是生命周期分析阶段。分析阶段得到的对象模型也适用于设计阶段和实现阶段。2.Java开发技术2.1JavaSwing技术Swing是为Java设计的GUI工具包,Java是新一代的图形界面工具。swing组件的出现是为了解决AWT组件的可移植性问题,提供企业应用所需的更多接口功能。swing组件中的类主要包含在javax中。Swing包,jdk1.2之后的版本包括Swing类库。与AWT组件不同的是,javax中的大多数组件。Swing包没有对等体,所以简称为轻组件(当AWT组件中的类创建一个组件时,有一个对应的本地组件为其工作,称为其对等体)。AWT组件的设计原则是将显示组件和处理组件事件的工作交给同一实体,因此AWT组件通常被称为权重组件。)在轻组件的设计中,显示组件和处理组件事件的工作交给相应的UI代理。UI代理是用Java语言编写的类。当系统运行时,这些类被加载到Java运行环境中,这样组件的外观就不依赖于平台。因此,它可以在所有平台上保持相同的运行效果,具有良好的跨平台支持。因此,与weight组件相比,它具有更高的性能(注意:如果Java编程环境或Java运行时环境低于jdk1.2,则不能使用swing组件或运行包含swing组件的程序)。同时JavaSwing具有以下特点:(1)swing是用100%纯Java实现的。Swing组件是一个用Java实现的轻量级组件。它没有本地代码,也不依赖操作系统的支持。这是它和AWT组件最大的区别。因为AWT组件是由与特定平台相关的对等类实现的,所以swing比AWT组件更实用。Swing在不同的平台上执行一致,并且能够提供本地窗口系统不支持的其他功能。(2)swing采用MVC设计范式,即“模型-视图-控制器”,模型用于保存内容,视图用于显示内容,控制器用于控制用户输入。(3)swing外观:可插拔外观(PL&F)2.2JDBC数据库连接技术Java数据库连接(JavaDataBaseConnectivity,JDBC)是一种用于执行SQL语句的JavaAPI,它由一组用Java语言编写的类和接口组成,能为多种关系数据库提供统一访问。开发人员通过JDBC提供的标准API构建更高级的工具和接口。程序员只需用JDBCAPI写一个程序,就可以通过JDBC方便地向各种关系数据库发送SQL语句调用,而不必为访问Sybase、Oracle、Informix等数据库管理系统编写额外的应用程序代码。此外,Java语言和JDBC结合起来,程序员只须写一遍程序就可以在任何平台上运行,即“编写一次,处处运行”的优势。JDBC体系结构作为一种用于Java应用程序与数据库进行连接的标准方法,它相对于Java程序员而言是API,为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供标准方法;对实现与数据库连接的服务供商而言是接口模型。JDBC使用已有的SQL标准并支持与其它数据库进行连接的标准,如开放数据库互联(OpenDatabaseConnectivity,ODBC),之间的桥接。JDBC实现了所有这些面向标准的目标,并具有简单、严格类型定义且高性能实现的接口。Java具有稳定、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。JDBC是Java应用程序与各种不同数据库之间进行对话最合适的机制。JDBC扩展了Java的功能。例如,用Java和JDBCAPI可以发布含有Applet的网页,而该Applet使用的信息可能来自远程数据库。企业也可以在Intranet中通过JDBC将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机上操作系统各不相同)。结合Java和JDBC技术进行MIS系统开发,简化了信息传播方式,降低了信息传播成本。用户可以继续使用其现有数据库,即使信息储存在不同数据库管理系统上,用户也能便捷地存取信息,并且缩短新应用程序的开发周期,简化程序安装和版本控制过程。2.需求分析2.1信息需求分析通过对用户的调查和分析,了解了一般学校纯手工业务情况以及用户对系统的一些要求。接着,我们将结合手工系统和计算机管理系统的交互性和复杂性,以及计算机本身的一些特点,对学校公司的经营状况进行系统分析。在学生信息管理系统的开发中,不能简单地模仿手工系统,而应根据信息流的流向和顺序,考虑业务数据的组织、分类和汇总。通过逐步确定各主要数据流的范围和数据处理的频率,分析和解决手工系统存在的问题,构建了系统的业务流程图和系统结构图。2.2系统需求分析学生信息管理系统的总体任务是实现学生信息管理的系统化、网络化、规范化和自动化。其使用范围覆盖校级学生主管部门学工部(处)、院系学生辅导员(班主任),以及全体学生。根据学生管理工作的不同职责范围,其对系统的使用权限可以对应划分为以下三类:(1)管理员:学工处是整个学生管理工作的核心部门,设定其单位负责人为对应管理模块的系统管理员。系统管理员可以通过系统审核教师,拥有对数据库管理的最高权限。根据调研结果合理定义相关对象的数据结构,对教师和学生用户的添加管理和权限管理。所具备的功能是提供对学生的学号、姓名、性别等相关的基本信息以及班级信息的添加、删除、修改和更新操作。同时,对教师和学生用户的用户名和密码信息,以及相应的系统使用权限进行管理。(2)教师:主要是教导各课程的教师,可以浏览、查询、修改班级信息和学生基本信息,并对学生基本信息进行审核,组织对学生进行考勤、登记。(3)学生:全体学生可以通过系统查询和修改个人基本信息,包括个人的登陆系统的密码、所选课程、成绩等等。结合各级各类学校学生信息管理的实际业务情况,以及教师等岗位的不同角色分工。查询和统计功能在信息管理系统中是必不可少的重要功能,因此本系统也应为用户提供功能尽可能强大的查询、统计功能。此外,当用户执行一些不可恢复的操作(如数据更新、删除等操作)时需给出提示信息,待用户确认后再进行相关操作,以避免误操作造成的损失。对一些有限制条件的输入信息,提供校验功能,避免录入错误和无效的信息。用户界面的设计原则是界面友好,应用程序窗口布局合理,设计简洁、美观大方,同时为用户提供良好的操作导航功能,尽量简化用户操作。2.2功能需求分析功能主要分为以下模块:(1)学生基本信息管理该模块主要是存储学生的个人信息,如姓名、学号、性别、班级、选课、登陆密码等,并实现按不同条件对这些数据进行查询的功能。(2)教师基本信息管理该模块主要是对老师的个人信息进行存储和索引,如姓名、性别、登陆密码、职称、所教课程等,并实现按不同条件对这些数据进行查询的功能。(3)系统管理员信息管理该模块主要实现对系统管理员信息的管理。(4)班级信息管理该模块主要是对每个班级的基本信息进行有效管理,包括学生个数、学生信息、班干部信息、教师信息等。(5)课程信息管理该模块储存课程信息,教师、学生等可以根据需要查询自己的课程信息。(6)成绩信息管理该模块主要实现对每科课程进行管理的增删改、统计与汇总。(7)考勤管理该模块主要实现学生上课考勤统计信息展示,以及对统计信息的图形展示。根据用户角色不同,权限也不同,在系统中能看到的信息也不同,如下是本系统的用例图:图2-1学生用例图图2-2教师用例图图2-3管理员用例图2.3性能需求分析(1)系统界面友好美观,操作简单,查询灵活方便。(2)学校管理信息,随时掌握师生的现状、课程、表现等。(3)该系统方便可靠,安全性高,符合实用性和先进性的要求。(4)能快速导入学生、教师的信息。(5)通过该系统的实施,可以逐步提高学校的管理水平,提高学生上课和信息查询的方便性。3.概要设计根据系统功能分析,归纳出以下功能模块图图3-1学生信息管理系统架构图(思维导图)3.3数据库分析本学生信息管理系统实体根据分析得到E-R图,如图4.2所示,图中涉及到的多个个实体:学生信息、教师信息、课程信息、班级信息、考勤信息、成绩信息。各实体的主要属性描述如下:学生信息(学生姓名、性别、登陆密码等基本信息)教师信息(教师姓名、登陆密码、职称、年龄、性别等基本信息)班级信息(班级名称、学生、教师)成绩信息(成绩信息、成绩统计)考勤信息(学生课程考勤信息、考勤日期)课程信息(课程信息、学生选课信息)图3-2系统整体E-R图3.4数据库设计综合观察本系统各功能、开发工具以及结合数据库的特点,以此设计系统数据库,建构该数据库,应注意以下几方面:(1)数据冗余和重复。(2)数据结构设计和操作设计的统一。(3)数据结构的稳定性。下面将介绍几个主要表的设计:图3-3学生信息表图3-4教师信息表图3-5学生考勤信息表图3-6班级信息表图3-7课程信息表图3-8成绩信息表4.详细设计4.1用户角色管理在进行整个设计前,需要对软件的界面有所了解,比如,运行该软件后,呈现给使用者的界面是怎样,所以设计的第一步是设计一个友好的,简洁的使用操作主界面,在主界面下再进行一系列的添加,修改,删除,查询,统计等学生信息及成绩的操作,如图4-1的主界面所示,友好简洁的界面帮助使用者能迅速的学会对该软件的操作。其逻辑功能图如图4-2.图4-1系统软件效果图在主界面中需要创建一系列的功能菜单供使用者选择,还需要给每个相应的菜单都添件它的子菜单,同时选择这些子菜单时系统会对用户所做的操作有反应,就需要对该事件进行监听。该类的实现步骤为:(1)实例化每一个具体的功能类,包括主菜单和二级菜单都是每一个菜单为一个类(2)为框架添加关闭的事件监听和事件实现(3)为添加学生基本信息菜单添加监听和事件实现(4)为按学生,学号,班级,分数查询子菜单添加监听(5)为统计班级分数子菜单添加监听(6)为帮助菜单添加监听4.2学生信息管理学生信息管理在该系统图中属于比较重要的功能,包括学生基本信息的添加,修改与删除,如图所示,显示了当前后台已添加的几个学生的相关信息。图4-3为学生信息列表,添加学生信息,修改和删除学生信息截图,图4-4为逻辑功能截图:图4-2学生信息列表图图4-3学生信息添加、修改、删除界面效果图图4-4逻辑功能截图界面说明:模块初始化时,因为还没有当前学生,所以要先选择添加学生。若想对学生信息进行修改或者删除操作,首先选中列表中的该学生再进行修改或删除。输入:学生基本信息,其中密码和姓名都不能为空。处理过程:(1)判断操作类型,是新增还是修改,以根据不同的操作类型对数据库进行不同的操作。(2)由于登陆密码,而姓名也是重要的信息,所以新增信息时两者不能为空,判断操作类型若为新增,则检验密码和姓名是否为空。(3)若为修改,须先在列表中选中该学生,然后更新数据库中的信息。(4)若为新增,要另外选中添加学生按钮,然后填写相关信息后,确认新增,数据库信息更新。输出:处理成功或失败提示信息。4.2.1添加信息模块当需要添加一个学生信息时,比如新生入校后对该生的信息进行录入,在添加信息模块只需完成对信息的添加功能,界面情况如图4-。图4-5添加学生信息模块界面图4-6功能逻辑图此时,我们只需要在界面的姓名,密码,性别等处录入该生入校时的基本信息即可完成添加信息功能。输入:学生基本信息,其中密码和姓名不为空。输出:添加成功或失败提示信息。实现步骤为:(1)实例化数据库类,用来连接数据库。(2)实例化窗口中的各个基本组件,包括按钮,文本框和下拉菜单等。(3)初始化窗口,并在初始化工程中设置窗口的大小,标题等基本属性。(4)对各个菜单进行基本的设置。(5)得到界面的数据同时添加该记录到数据库。在设计界面时需要考虑密码,姓名录入时出现的一切录入不成功的情况,比如:1.当姓名为空时,弹出“姓名不能为空“的提示信息:if(StringUtil.isEmpty(studentName))JOptionPane.showMessageDialog(this,"请填写学生姓名!");//弹出姓名不能为空的提示信息)2.当学号为空时,弹出“学号不能为空“的提示信息:if(StringUtil.isEmpty(studentPassword)){JOptionPane.showMessageDialog(this,"请填写密码!");3、当所录入的信息填写完毕时,在进行添加操作时,会提示是否添加成功的提示:if(studentDao.addStudent(student)){JOptionPane.showMessageDialog(this,"添加成功!");}else{JOptionPane.showMessageDialog(this,"添加失败!");}4.2.2修改信息模块当需要进行学生班级调动或者进行信息调整时,我们就需要该软件能提供一种方便进行学生基本信息的修改功能,该模块的主要功能是完成对学生信息的修改,界面情况如图4-。图4-7修改信息模块界面实现步骤如下:(1)实例化窗口中的各个基本组件,包括按钮,文本框和下拉菜单等(2)初始化窗口,并在初始化工程中设置窗口的大小,标题等基本属性(3)对各个菜单进行基本的设置(4)得到界面的数据同时插入到数据库该功能的逻辑如图3-9。图4-9功能逻辑图在设计界面代码时,要考虑到与数据库的连接,框架的建立,字体大小等,界面中各个功能组件的布局,包括标签组件,文本框组件,选择框组件,按妞组件都需要先进行实例化再进行布局,而组件的实例化方法前面已经提到,对于该界面的设计代码在此不作解释。由于要修改的学生信息与添加的学生信息的方法一致,接下来定义的变量与前面添加学生信息时定义的变量一致,添加的响应事件也与添加学生信息时一致,在此都不重复说明。4.2.3删除信息模块在学生毕业,或者一些其他因素导致学生离校的情况,我们也需要考虑到数据库的承载数据的容量问题,需要在该系统中完善一种删除学生基本信息的功能,该模块的主要功能就是对学生的信息进行删除,界面情况如图4-10图4-10删除信息模块图首先在列表中选中要删除的学生,确认无误后对其进行删除操作,该操作将删除该学生对应的成绩。实现主要步骤如下:(1)实例化窗口中的各个基本组件,包括按钮,文本框和下拉菜单等(2)初始化窗口,并在初始化工程中设置窗口的大小,标题等基本属性(3)对各个菜单进行基本的设置(4)得到界面的数据同时删除数据库中的该记录该功能的逻辑如图4-11。,图4-11功能逻辑图添加的响应事件与前面修改与添加学生信息时一致,在此不多加说明,而需要说明在系统确认是否是删除该学生时的具体设计:introw=studentListTable.getSelectedRow();if(row==-1){JOptionPane.showMessageDialog(this,"请选中要删除的数据!");return;}if(JOptionPane.showConfirmDialog(this,"您确定删除么?")!=JOptionPane.OK_OPTION){return; }4.4教师信息管理教师信息和学生信息有一样的重要性,在本系统中都是必须的。管理员可对教师信息执行添加、删除、修改等操作。教师不能添加新的教师信息,但可以修改教师信息。图4-12教师信息界面效果图图4-13教师信息添加、修改、删除界面效果图界面说明:模块初始化时,对于管理员而言,因为还没有当前教师,所以要先选择添加教师。若想对教师信息进行修改或者删除操作,首先选中列表中的该教师再进行修改或删除。输入:教师基本信息,所有信息均不能为空。处理过程:(1)判断操作类型,是新增还是修改,以根据不同的操作类型对数据库进行不同的操作。(2)对于教师而言,每一项都是重要的信息,包括教师名称、性别、登陆密码、职称等,均不能为空(3)若为修改,须先在列表中选中该教师,然后更新数据库中的信息。(4)若为新增,要另外选中添加教师按钮,然后填写相关信息后,确认新增,数据库信息更新。输出:处理成功或失败提示信息。4.5课程信息管理本系统应包含课程的信息,包含课程名称、教课老师、课程介绍、课程最大人数、课程已选人数等基本信息,如下截图:图4-14课程信息界面效果图图4-15课程信息修改、删除界面效果图界面说明:根据角色的不同,能使用的功能也不同。管理员和教师能查看不同学生所选课程,并能对学生课程进行增删改操作。但学生只能查看和修改自己所选课程,不能查看其他同学的选课信息。本系统还具备选课功能,如下截图:图4-16选课信息界面效果图界面说明:4.6考勤信息管理考勤信息是本系统的重要功能,涵盖学生的考勤事件、考勤课程、学生姓名等,并且有相应的饼状图和柱状图显示。图4-17考勤信息界面效果图在学生考勤管理界面中,管理员、教师可以进行学生考勤的查询,添加和删除的操作,而学生只能进行签到和查询。与学生、教师信息管理模块类似,模块初始化时,没有考勤信息,所以成绩操作中要先新增。添加缺席,首先选择成绩管理,选中学生和对应的课程,然后点击添加缺席按钮。输入:更新后的考勤信息。输出:添加成功或失败提示信息。图4-18考勤逻辑功能图图4-18考勤统计柱状图图4-19考勤统计饼状图4.7学生成绩管理支持学生成绩的导入和修改,并且有相应的饼状图和柱状图显示:图4-20学生成绩信息界面效果图4.7.1学生成绩添加与修改在学生成绩综合管理界面中,我们可以进行学生成绩的查询,添加,修改和删除的操作。与学生、教师信息管理模块类似,模块初始化时,没有成绩信息,所以成绩操作中要先新增。修改成绩,首先选择成绩管理,选中学生和对应的课程,然后再填入各项要修改的值。输入:学生成绩信息。输出:修改,添加成功或失败提示信息。该类的功能就是完成对学生成绩的增加,修改的操作,该类的实现步骤为:(1)首先判断操作类型是新增还是修改,以根据不同操作类型进行不同的数据库操作;(2)若为删除信息,则首先从数据库中找到对应的记录,然后开始执行更新操作,对学生考勤进行修改删除。图4-20逻辑功能图该类的功能就是完成对学生成绩的增加,修改的操作,该类的实现步骤为:(1)首先判断操作类型是新增还是修改,以根据不同操作类型进行不同的数据库操作;(2)若为修改信息,则首先从数据库中找到对应的记录,然后开始执行更新操作。对学生成绩进行修改,如图4-22所示是在图4-21的该学生成绩基础上对其成绩进行的修改界面。(3)若为新增信息,计算总分,由程序自动计算,然后填入数据库,以避免操作学生计算总分出错,并可大大减少操作学生的工作量。图4-21成绩修改前图4-22成绩修改后4.7.2成绩统计模块在学生的成绩综合管理中,成绩统计也是该系统的一个特色功能。在生活中,我们需要对全校,全班或者对某一学科的学生成绩做个统计,为了方便查阅者方便的得到需要的信息,就可以通过系统中的成绩统计功能对成绩进行需求性的查询,如图4-23。图4-23成绩统计模块界面工作流程如下:(1)选择要排序的课名。我们还可以对具体的学科成绩进行统计,如图4-24所示,而此功能得到的结果将是全校学生关于此学科的成绩统计。图4-24按课程成绩统计模块界面(2)生成显示查询结果在完成了框架与组件的设计之后,在进行排名查询时,需要对数据进行循环调用,接着设计循环取出数据库中满足条件的记录:for(Scores:scoreList){Vectorv=newVector();v.add(s.getId());v.add(getStudentNameById(s.getStudent_id()));v.add(getCourseById(s.getCourse_id()));v.add(s.getScore());dft.addRow(v);(3)柱状图、饼状图显示:图4-25按课程成绩统计模块界面图4-26饼状图显示4结语随着我们国家高等教育事业的进一步发展,对学生信息管理的要求必将提出更高的要求,本系统的主要功能还只是对学生信息本身的管理,在今后的工作中,从“学生信息管理系统”发展到“学生管理信息系统”,仍然需要进行进一步的探索与研究:(1)学生信息包括越来越多的方面,在今后的研究中,可以将更多的涉及学生管理的相关信息融合起来,实现集成化信息管理系统;(2)要进一步提高系统的安全性和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论