欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    学生成绩管理系统 毕业论文.doc

    • 资源ID:3926859       资源大小:353.02KB        全文页数:24页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生成绩管理系统 毕业论文.doc

    学生成绩管理系统1.引言随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。本系统采用myeclipse8.5的IDE环境和WTK2.5.2 手机模拟环境开发,采用tomcat5.5的web容器。1.1开发工具的选用本系统的开发利用mysql为本系统的数据库,它是一个支持多用户的数据库,适用于大中小规模的数据量需求。学校校园网的建设也为服务器/客户端的结构提供了硬件的支持。使用WTK2.5.2+myeclipse8.5+tomcat5.5作为系统开发的开发环境。WTK 的全称是Sun J2ME Wireless Toolkit Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。使用其中的工具可以开发与 Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的j2me 应用程序。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate,Spring。Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器。1.2 技术支持本项目主要用了如下技术:J2ME、GPRS、Servlet和J2EE技术。各项技术的简单介绍如下:1.2.1 J2ME技术J2ME(java 2 Micro Edition)java家族中的重要的一员,它是当前使用比较多的基于移动设备开发技术。J2ME构建于MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)或CDC(Connected Device Configuration)基础之上。目前国内外J2ME比较多的应用包括车载信息和计算、数字电视、电视机顶盒、Internet访问设备、家庭Audio/Video、无线手持设备等。J2ME具有很多Java技术特性,主要有如下特点:可以在各种支持Java的设备上运行。代码短小。充分利用Java的语言优势。安全性好。用J2ME实现的应用可以方便地升级到J2SE、J2EE1.2.2 GPRS技术通用分组无线服务技术(General Packet Radio Service)的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS可说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。GPRS的传输速率可提升至56甚至114Kbps。1.2.3 Servlet技术Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。1.2.4 J2EE技术J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,J2EE有13种技术规范:JDBC(Java Database Connectivity),JNDI(Java Name and Directory Interface),EJB(Enterprise JavaBean),RMI(Remote Method Invoke),Java IDL/CORBA,JSP(Java Server Pages),Java Servlet, XML(Extensible Markup Language),JMS(Java Message Service),JTA(Java Transaction Architecture),JTS(Java Transaction Service),JavaMail,JAF(JavaBeans Activation Framework)。2.系统分析2.1 系统调查在Internet飞速发展的今天,互联网已成为人们快速获取、发布和传递信息的重要渠道,它在人们的政治、经济、生活、娱乐等各个方面发挥着重要的作用,因此网站建设在Internet应用上的地位越来越重要。原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。2.2 系统目标本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。2.3 系统功能需求分析本系统适用于各高校,其功能主要分为4大类:各种信息的录入功能、登录、学生成绩的查询和各种信息的增加、删除、修改。具体功能分析如下: 录入功能:在服务器管理提供相应的录入功能。登录:用户分为两个角色,学生用户和教师用户。所有的用户都必须凭唯一标识登录系统,学生可以凭借学号和姓名进入手机终端查询成绩,学生用户用手机端进入只能查询个人信息、成绩等查询。教师用web页面进入服务器端,可以进行对学生信息、学生成绩等进行操作。查询功能:学生用户在安装完成学生成绩管理系统客户端后,进入手机软件页面后可以查询个人信息、成绩等操作,教师可以登录服务器的网页查询学生全部信息、成绩等等。维护功能:在管理端进行相应的增加、修改、删除等功能。2.4 系统运行环境该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。(1)系统运行环境支持软件 数据库系统:MYSQL5.5或者更高版本Web 服务器:Tomcat5.0或者更高版本开发集成环境IDE:myeclipse8.5模拟环境:WTK2.5.2软件系统框架:Struts2.2.3+Hibernate 3.2(2) 系统要求: 操作系统:windows xpCPU: Intel Pentium(R) 4 2.8CHz内存: 1GB硬盘:10GB以上浏览器:Internet Explorer、360浏览器3. 系统设计3.1 系统总体设计数据库服务器应用服务器Web服务器客户浏览器请求请求请求响应请求手机终端响应响应响应图3-1系统构架本系统的学生成绩管理系统采用B/S、手机终端结构模式,该结构由手机终端、浏览器和服务器组成,该结构主要特点是集中管理,随时随地,方便快捷,软件的程序、数据库、发布的信息等都集中在服务器,极大地简化了用户端的工作,用户端除了操作系统及浏览器外不需要安装其它软件。服务器则由Web服务器和数据库服务器组成,它将担负更多的工作,对数据库的访问和应用程序的执行都将在服务器上完成。3.2 系统结构本系统从功能上划分可分为以下几大模块:学生信息管理,课程信息管理,学生成绩管理,学生信息查询等几大模块。系统模块图: 学生成绩管理系统课程信息管理学生成绩查询成绩信息管理学生信息管理系统管理手机终端成绩查询  图 3-2 系统功能模块图以下将对各子模块进行说明。学生信息管理模块:包括学生信息录入和学生信息的查询两个子模块。学生信息的录入可以录入学生的学号、姓名、性别、出生时间、在校期间所要修的总学分、一些备注信息、学生的电子照片、专业。学生信息查询子模块可以查询学生的学号姓名等信息,并且分页显示,每页8条,也可以查询某一条的详细信息,并且可以对某一条进行删除修改。课程信息的管理模块:课程信息的录入,可以录入课程号,课程名,开课学期,本科共需要多少学时,学分是多少。课程信息的查询模块,可以查询课程号,课程名等信息,也可以查询详细信息,可以修改课程信息,但是不能修改课程号。成绩信息管理模块:学生成绩信息的添加,对于已经添加的不能再添加。学生成绩查询分页显示,可以查询出每个人的所有成绩并且按学号先后排序。 手机终端学生成绩查询:输入学号和姓名并且选择学期查询出各科成绩,可以查看学生个人信息,和该学生的所有成绩。3.3 数据库设计根据系统结构的分析,我们可以总结出数据库的基本表。根据系统管理我们可以得出有登录表,学生信息管理得出我们要设计学生表,成绩信息管理得出我们有成绩表。其他的表也是如此推出。3.3.1 数据库表介绍本系统定义的数据库中包含以下6个表:学生表,成绩表,课程表,专业表,登录表,学生-课程关系表等。下面介绍这些表的结构。学生信息表:用于保存学生的学号,姓名,性别,年龄,所在院系,班级名,入学年份等信息.登录表:用于保存系统用户及管理员信息.包括组别,登录用户名,密码等.成绩表:用于保存学生成绩信息,包括学号,课程号,成绩等字段.授课表:用于保存教师授课信息.包括教师名,课程号,学时数,班级名等.专业表:用于保存专业id,专业名,人数,专业负责人等。课程表:用户保存课程信息,包括课程名,课程号,先修课等信息.3.3.2表结构表3-1 学生表xsb字段名称说明字段类型备注xh学号bigint主关键字xm姓名varchar(50)不可为空xb性别bit可为空Zy_id专业idInt可为空Cssj出生时间datetime可为空zxf总学分varchar(50可为空Bz备注varchar(250)可为空Zp照片blob可为空xxxf现修学分Int可为空Rxnf入学年份Datetime可为空Id身份证号Char(18)不可为空Syd生源地varchar(20)可为空addr家庭地址Varchar(250)可为空phone个人电话Char(11)可为空zzmm政治面貌varchar(20)可为空yhkh银行卡号char(20)可为空zdy指导员Varchar(14)可为空表3-2 成绩表cjb字段名称说明字段类型备注Xh学号(外键)bigint不可为空kch课程号(外键)int不可为空cj成绩float可为空xf学分int可为空表3-3 课程表kcb字段名称说明字段类型备注kch课程号Char(3)不可为空kcm课程名Varchar(50)可为空kxxq开课学期int可为空xf学分int可为空表3-4 专业表zyb字段名称说明字段类型备注id专业IDChar(3)不可为空,自动增加zym专业名Varchar(50)可为空rs人数int可为空fzr专业负责人Varchar(20)可为空表3-5 学生-课程关系表xs_kcb字段名称说明字段类型备注xh学号(外键)bigint不可为空kch课程号(外键)char(3)不可为空3.3.3各表间的联系图3-3 表之间联系3.3.4数据库连接代码的实现学生成绩管理系统主要离不开与数据库的数据进行即时传输,所以保证与数据库的连通,是关键所在。实现连接代码如下:public class BaseDao private static String driver=null;private static String url=null;private static String user=null;private static String password=null;staticdriver=DBConfiger.getInstance().getProperty("DRIVER");url=DBConfiger.getInstance().getProperty("URL");user=DBConfiger.getInstance().getProperty("UNAME");password=DBConfiger.getInstance().getProperty("PWD");public static Connection getConnection() throws SQLExceptionConnection con=null;try /加载Class.forName(driver); /连接con = DriverManager.getConnection(url,user,password); catch (ClassNotFoundException e) JOptionPane.showMessageDialog(null,"数据库连接不正确!");e.printStackTrace();return con;4.系统编码与实现4.1手机端系统编程4.1.1登录界面在打开手机端学生成绩管理系统软件时,系统提示版权系统,输入学号和姓名进入下一个页面。登录界面效果如图 4-1所示:图 4-1登录页面主要代码如下: private Display display; /声明一个列表 private List mainList; /声明TextField TFStuid用于客户端输入学号 private TextField TFStuid,TFStuName; /声明用于保存学号和学期的字符串 private String stuID,termName,stuName; /声明发送,返回,退出,确定按钮 private Command cmdSend,cmdBack,cmdExit,cmdOk; /inputForm用于放置TFStuid等组件;returnForm用于放置查询结果 private Form inputForm, returnForm; /创建Alert放置声明版权的图版和文字 private Alert anAlert; /声明一个Ticker private Ticker aTicker; /声明一个图片 private Image anImage; /传送到 ServletApp的服务器程序Servlet进行处理http:/localhost:8080/xscj_chao/servlet/ServletApp final static String defaultURL="http:/localhost:8080/xscj_/servlet/ServletApp" /线程运行条件 private boolean condition=false; public MyScoreQuery() /版权声明的图片 try anImage=Image.createImage("/welcome.jpg"); catch(IOException ioe) ioe.printStackTrace(); /创建发送,返回,退出,确定按钮对象 cmdSend=new Command("发送",Command.EXIT,1); cmdBack=new Command("返回",Command.EXIT,1); cmdExit=new Command("退出",Command.EXIT,1); cmdOk=new Command("确定",Command.EXIT,1); aTicker=new Ticker("欢迎使用移动学生成绩查询系统"); anAlert=new Alert("版权声明","Copyright2010廊坊师范学院,ALL Right Reserved.",anImage,AlertType.CONFIRMATION); anAlert=new Alert("系统说明","廊坊师范学院学生成绩查询系统,Copyright2011廊坊师范学院,ALL Right Reserved.",anImage,AlertType.CONFIRMATION); /创建一个TEXTFIELD获取学生学号 TFStuid=new TextField("学号","09040261010",30,TextField.ANY); TFStuName=new TextField("姓名","黄昕华",30,TextField.ANY); /输入学号的标题 inputForm=new Form("输入查找信息:"); /输出查询结果的标题 returnForm=new Form("查询结果:"); inputForm.append(TFStuid); inputForm.append(TFStuName); /创建退出和确定按钮 inputForm.addCommand(cmdExit); inputForm.addCommand(cmdOk); /监听 inputForm.setCommandListener(this); public void startApp() throws MIDletStateChangeException / TODO 自动生成方法存根anAlert.setTimeout(Alert.FOREVER);display=Display.getDisplay(this);display.setCurrent(anAlert,inputForm);inputForm.setTicker(aTicker);condition=false;CommandThread commandThread=new CommandThread(this);commandThread.start(); public void destroyApp(boolean unconditional) public void pauseApp() 4.1.2 访问网络时多线程的设计与实现在手机端成绩查询体统,为了避免死锁现象,将网络设计成一个独立的线程。当应用程序想要访问网络时,可以用notify()方法将访问网络线程唤醒;当访问网络结束后,通过调用wait()方法使访问网络线程释放标记锁并且处于等待状态。连接网络状态图如图4-2所示:图4-2 连接网络状态(1)在startApp()中写如下代码:condition=false; CommandThread commandThread=new CommandThread(this);commandThread.start();(2)建立一个线程类,实现同步操作并且访问连接,需要注意的是访问连接要try,catch语句:class CommandThread extends Thread MIDlet parent; boolean exit=false; public CommandThread(MIDlet parent) this.parent=parent; public void run() while (true) synchronized (parent) while (!condition) try parent.wait(); catch (InterruptedException e) e.printStackTrace();condition = false;try invokeServlet(defaultURL); catch (Exception e) System.out.println(e.getMessage(); (3)访问网络方法:public void invokeServlet(String url)throws IOException /创建输入输出流连接 HttpConnection conn=null; DataOutputStream dos=null; DataInputStream dis=null; try /用HttpConnection的openOutStream()方法获取输出流,它将发送请求到服务器端 conn=(HttpConnection)Connector.open(url, Connector.READ_WRITE); /设置请求方式为post,默认的请求方式GET conn.setRequestMethod(HttpConnection.POST); /设置请求属性 conn.setRequestProperty("IF-Modified-Since", "15 Oct 2010 09:20 GMT"); conn.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Configuration/CLDC-1.0"); conn.setRequestProperty("Content-Language", "en-CA"); conn.setRequestProperty("Connection", "Keep-Alive"); /发送请求参数到servlet dos=conn.openDataOutputStream(); dos.writeUTF(termName); dos.writeUTF(stuID); dos.writeUTF(stuName); dos.flush(); dos.close(); /接受servlet响应数据 dis=new DataInputStream(conn.openInputStream(); String returnScore=dis.readUTF(); String returnXinxi=dis.readUTF(); dis.close(); String reslutstring="对不起,学号或者姓名错误" if(returnScore!=null) System.out.println("所有成绩"); if (!returnScore.endsWith(reslutstring) System.out.println("mainpanl");mainPanel=new MainPanel(this,returnScore,returnXinxi);mainPanel.showMe();else returnForm=new Form("查询结果"); returnForm.append(returnScore); returnForm.addCommand(cmdErro); returnForm.setCommandListener(this); display.setCurrent(returnForm); catch(Exception e) finally if(dis!=null) dis.close(); if(dos!=null) dos.close(); if(conn!=null) conn.close(); 4.2 服务器端编码服务器端采用struts+hibernate框架整合应用,基于j2ee平台开发N层架构模型,实现了表现层、业务逻辑层、数据访问层等多层架构。具体的逻辑是:jsp页面通过response、post方法发送给web.xml,web.xml通过配置struts2访问struts.xml,struts.xml将消息发送给action处理并返回结果,Action继承了ActionSupport,action调用service接口并且使用其serviceimp实现类,serviceimp调用dao接口并且使用daoimp实现类,daoimp实现操作数据库的具体的逻辑,daoimp调用model层的模型,model层建立数据库表。具体流程如下图4-3所示:图 4-3 ssh框架4.2.1 学生信息的查询采用表格形式展示,分别有展示的信息有学号、姓名性别、专业、出生时间、总学分等操作。学生排列顺序是按学号的从小到大排的。其界面如图4-4所示:图 4-4 学生详细信息其主要层daoimp的代码实现如下:public void delete(String xh) Session session=null; try session=HibernateSessionFactory.getSession(); Transaction ts = session.beginTransaction(); Query query=session.createQuery("from Xsb where xh='"+xh+"'"); Xsb xs=(Xsb) query.uniqueResult(); session.delete(xs); ts.commit(); catch (Exception e) / TODO: handle exceptione.printStackTrace();finallyif(session.isOpen() session.close(); public Xsb find(String xh) Xsb xs=null;Session session=null;try session=HibernateSessionFactory.getSession();Query query=session.createQuery("from Xsb where xh='"+xh+"'");xs=(Xsb) query.uniqueResult(); catch (Exception e) / TODO: handle exceptione.printStackTrace();finallyif(session.isOpen() session.close();return xs; public List findAll(int pageNow,int pageSize) List list=null;Session session=null;try session = HibernateSessionFactory.getSession();Query query = session.createQuery("from Xsb order by xh");int firstResult = (pageNow - 1) * pageSize;query.setFirstResult(firstResult);query.setMaxResults(pageSize);list = query.list(); catch (Exception e) / TODO: handle exceptione.printStackTrace();finallyif(session.isOpen() session.close();return list; public int findXsSize() int size=0;Session session=null;try session = HibernateSessionFactory.getSession();Query query = session.createQuery("from Xsb");List list= query.list();size=list.size(); catch (Exception e) / TODO: handle exceptione.printStackTrace();finallyif(session.isOpen() session.close();return size; public void save(Xsb xs) S

    注意事项

    本文(学生成绩管理系统 毕业论文.doc)为本站会员(韩长文)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开