本科生毕业设计(论文)开题报告论文题目:基于Java技术的学生选课管理系统的设计与实现学院:软件学院专业:计算机科学与技术学生姓名:金雪学生班级:软件0903班学生学号:091201099指导教师:贾军学生选课管理系统一、课题的研究目的和意义随着信息技术在国际贸易和商业领域的广泛应用,利用计算机技术、网络通信技术和Internet来实现商务活动的国际化、信息化和无纸化,已成为各国商务发展的—大趋势。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为一个重要的课题。学生在学期开始选课是教学活动的一个重要环节,该环节如果能管理好,它不仅加快学生的选课速度,也提高了整个教学活动的效率。本学生选课管理系统是一个综合学校学生管理系统,因而具有较强的实用性和先进性。通过调查,要求系统需要以下的功能:由于操作人员的计算机知识普遍一般,要求有良好的人机界面;由于该系统的使用对象多,要求有较好的权限管理;原始数据修改简单方便,支持多条件修改;方便的数据查询,支持多条件查询;在相应的权限下,删除数据方便简单,数据稳定性好;数据计算自动完成,尽量减少人工干预。可行性分析由于本系统管理的对象单一,都是在校的学生、教师,且每个数据内容具有较强的关联性,涉及的计算机过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,因此可以完全实现。二、国内外发展现状国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。三、研究内容1.学生选课系统,其核心思想是提供一个以自然语言为主的用户界面,为在校人员解决选课等问题。本课题的开发工具可以使用Eclipse,开发语言可以是JSP/Java等开发语言,后台数据库可采用Oracle数据库。本系统基于浏览器/服务器体系人们常说的B/S体系,系统安装维护简便。数据集中管理,便于分散用户使用,适应互连时代软件的发展趋势。开发技术主要包括JSP,Java,CSS,JDBC以及Web应用开发中常用的脚本语言JavaScript。Web服务器采用Tomcat,数据库采用Oracle数据库系统。由于本系统采用的是Java相关的技术具有“一处编译处处运行”的特性,所以系统可跨平台使用,可运行于Windows系列操作系统平台。学生选课系统主要由教师信息管理、学生信息管理、课程信息管理三个部分组成。本课题主要功能详解如下:(1)学生信息模块完成学生的登陆,然后查看不同老师的选课信息,进行申请选课。其中学生登陆模块的功能是验证登陆人员,学生启动本系统后,系统提示输入用户编号和密码,验证后进入主控操作页面。(2)教师信息模块完成教师的登陆,可以添加选课,并审批选课申请。其中教师登陆模块的功能是验证登陆人员,教师启动本系统后,系统提示输入用户编号和密码,验证后进入主控操作页面。(3)课程信息管理系统包括添加课程,学生必须登陆才能进行对课程的选课否则不能进入选课系统。(4)系统管理是管理员对系统的用户信息进行添加、修改、删除操作,对系统操作日志进行修改、删除操作。图1选课系统功能结构图四、拟采用的方法和手段1.JavaJava是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java平台由Java虚拟机(JavaVirtualMachine,简称JVM)和Java应用编程接口(ApplicationProgrammingInterface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。选课系统学生选课管理已选课程管理系统管理课程管理成绩管理选课管理选课查询成绩录入管理成绩信息查询成绩信息修改选课资格管理选课时间管理课程信息管理用户管理系统管理课程管理2.OracleORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。Oracle数据库具有以下特点:(1)数据的大量性;(2)数据的保存的持久性;(3)数据的共享性;(4)数据的可靠性;3.MyeclipseMyEclipse企业级工作平台[2](MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。4.ApacheApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。Apachehttpserver是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。5.StrutsStruts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。和其他的java架构一样,Struts也是面向对象设计,将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。Struts由一组相互协作的类(组件)、Servlet以及jsptaglib组成。基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。6.整体架构系统以J2EE为开发平台,采用Oracle做后台数据库,选择功能强大的MyEclipse为开发工具,利用软件工程思想和方法,总体上用结构化生命周期法进行系统分析和设计,采用快速原型法来实现,系统本系统界面友好,而且操作更加简单,减少了用户学习操作的额外负担。该系统使用了功能强大的JavaWeb开发技术,前台页面使用JSP。同时系统使用了基于MVC机制的Struts技术。作为Web应用的一个比较成熟的开发模式——MVC模式把应用程序抽象为Mode(模型)、View(视图)、Controller(控制器)三个功能截然不同的部分,三者对于整个系统是相对独立的工作,但各部分之间又紧密联系,共同完成系统的各项功能。使操作方便,可维护性强。7.可能遇到的问题和拟解决的方法在毕业设计的过程中,有一些技术是学校课程中并未涉及的内容,需要我们在校外的学习中自主研究。同时,在毕业设计的初期,本次课题原定使用IIS作为该课题的服务程序。在经过进一步的考虑之后,由于本次课题使用了oracle数据库,对PC机的资源使用率非常高,因此考虑到对计算机资源的利用,以及考虑到课题的成本控制,最后决定采用基于开源的apache所开发的Tomcat,架设于PC机作为本次课题所需的服务器。如果出现死锁,添加事务处理;运行过程中出现异常,为了方便找到出错原因,添加log信息;为了防止用户信息泄露,对关键信息进行加密;为了用户有更好的用户体验,在耗时处理时,使用多线程;五、工作计划及进度安排序号教学周数工作计划及进度安排1Ⅰ(第11-12周)确定论文选题2Ⅰ(第13-14周)熟悉题目、查阅资料、调查研究3Ⅰ(第15-16周)翻译外文文献、撰写开题报告4Ⅰ(第17-18周)撰写开题报告,准备开题5Ⅰ(第19-20周)课程置换管理系统的实体建模,寒假完成此部分6Ⅱ(第1周)基于业务实体模型建立数据库7Ⅱ(第2周)构造界面原型8Ⅱ(第3周)复审并修正界面原型9Ⅱ(第4周)数据访问层服务类的设计10Ⅱ(第5周)数据访问层服务类的实现11Ⅱ(第6周)业务逻辑层实体类的设计12Ⅱ(第7周)业务逻辑层实体类的设计13Ⅱ(第8周)业务逻辑层实体类的设计14Ⅱ(第9周)业务逻辑层实体类的设计15Ⅱ(第10周)实现界面功能16Ⅱ(第11周)实现界面功能17Ⅱ(第12周)实现界面功能18Ⅱ(第13周)撰写毕业论文(引言、相关技术介绍部分)19Ⅱ(第14周)撰写毕业论文(系统分析与设计部分)20Ⅱ(第15周)撰写毕业论文(系统实现、结论、摘要等部分)21Ⅱ(第16周)修改完善毕业论文22Ⅱ(第17周)进行答辩准备23Ⅱ(第18周)毕业答辩参考文献[1]黄晓东.JAVA课程设计案例精编[M].中国水利水电出版社,2007.4[2]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.7[3]RamezElmasri,ShamkantB.Navathe(美).数据库系统基础.邵佩英,张坤龙等译.人民邮电出版社.2002.11.[4]冯燕奎,赵德奎.JSP实用案例教程[M].北京:清华大学出版社,2004.1[5]李刚.基于WebWork核心的MVC开发.北京:电子工业出版社,2008.[6]张海藩.软件工程[M].北京:人民邮电出版社,2002.9[7