版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
洛阳理工学院毕业设计(论文)开题报告系(部):计算机与信息工程系2011年3月6日(学生填表)课题名称基于J2ME的移动选课系统的研究学生姓名专业班级课题类型软件工程指导教师职称课题来源1.综述本课题研究动态,说明选题的依据和意义随着移动通信技术和移动互联网技术的飞速发展,手机已成为人们生活和学习上不可或缺的工具。目前各高校纷纷开展移动学习研究和移动信息化平台建设,移动学习、移动办公将成为高校学习和管理中必不可少的方式。基于手机平台的选课系统是高校教务管理信息化平台建设中一个重要的组成部分,是现有选课系统的重要补充,可使广大师生随时随地方便快捷地选课、退课和课程查询,大大提高高校教学管理效率。目前基于Web的教学信息管理系统的发展也存在很多不足,对于有线接入用户有很多的限制,如教师和学生要想浏览教学信息就必须坐在联网的PC前进行,出于对安全的考虑甚至一些不在校内的学生想要浏览相关信息也是受限的。同时学生只能上网才能得到相关的信息,对于不经常上网的学生可能会错失很多有用的通告,如考试安排、课程调整通告等,而延误工作。基于现有网络教学管理系统的缺陷,个别高校开始尝试无线移动终端在高校教学工作中的应用。北京大学现代教育中心网络教学平台中的短信息服务,向用户提供借阅图书到期归还短信提醒、E-mail来信通知、订阅栏目等。华中师范大学的教务短信服务系统实现了师生注册、通知公告、成绩查询、学分查询、课表查询、信息定制等功能。西南交通大学移动教务系统为老师学生提供及时且不受地域限制的信息访问平台,用户可免费接收学校发送的重要通知、课程提醒、成绩通知等,同时也可编辑短信指令到指定号码,查询个人任课信息、成绩、选课、通知、校车车次等重要信息。随着Java技术的不断发展,SUN公司根据市场需求进一步将无线应用细分为针对企业应用的J2EE(Java2EnterpiseEdition)、针对普通PC应用的J2SE(Java2StandardEdtion)以及针对嵌入式设备及消费类电器的J2ME(Java2MicroEdtion)等3个版本。J2ME即Java2MicroEdition(Java2的微型版),是Sun公司Java2的重要组成部分。它是针对有限硬件、有限功率、有限网络连接的设备,进行应用开发的技术,它适合在无线通信设备上开发交互性较强的网络应用[1]。综上所述,手机在高校管理中的应用已经初见端倪,为我们的研究提供了很好的范例。本研究着眼于教务管理系统的子系统——基于手机平台采用J2ME的移动选课系统。一般学校在选课期间机房比较拥挤,在集中选课的时候,学生可能正在校外实习,不具备有线上网的条件,不能及时地进行选课,基于手机平台的选课系统可以帮助学生随时随地进行选课。2.研究的基本内容,拟解决的主要问题研究的基本内容从目前国内各高校的选课情况来看,选课系统的用户分为三类群体:教务管理员、教师和学生。通过查阅资料,结合我校选课流程及特点设计了手机选课系统的功能。该系统主要用户面向广大学生和任课教师。具体功能如下:=1\*GB2⑴为教务管理员提供添加用户、删除用户等功能。=2\*GB2⑵为学生用户提供选课/退课、选课查询、查看课程表、查看已申请课程等功能。=3\*GB2⑶为任课教师提供查看担任课程、查看选课学生、申请添加/删除课程等。=4\*GB2⑷在登录时可以注册用户。=5\*GB2⑸此外在个用户登录后的界面中设立修改用户信息等功能。拟解决的主要问题=1\*GB2⑴网络连接采用技术的问题本系统采用通用联网框架技术,其中解决J2ME客户端与服务器端应用表示层的联网的问题是其中关键一环。在J2EE平台中可以使用和java.io提供的类来访问网络服务和文件系统。由于移动设备的处理器和内存有限,因此,他们并不适合运行在移动终端上。为移动信息设备制定一个灵活、易于扩展的联网框架,于是诞生了通用连接框架GCF。通用连接框架定义在CLDC1.0(JSR30)规范中,具体实现则留给了上层的简表,如MIDP。事实证明,GCF的设计非常成功,还有专门为J2SE平台定制的版本,通用连接框架是基于借口设计的,便于扩展[2]。通用连接框架设计灵活,使用异常简单。首先,类建立到服务器端应用表示层的连接,然后为该连接分别建立两个数据缓冲区,客户端通过数据输入流和数据输出流来发送请求信息和接收响应信息。考虑到联网可能会堵塞用户界面,因此在该系统开发过程中,把联网操作在单独的线程中处理,而不在主线程中进行联网[3]。=2\*GB2⑵针对消息格式的设计本系统中,MIDlet发送给Servlet的HTTP请求信息只有三种:一是查询课程请求,二是更改用户信息请求,三是申请更新课程请求,鉴于安全需要三类请求都通过POST方法传输。当课程查询时,MIDlet发送的POST请求中包含3个字段:学号、密码、Number(一个指示查询方式的数字)。Number=0表示查询最近学期的课程;Number=1~8表示查询指定学期的课程Number=9表示查询所有已修课程。因为服务器端的Servlet的目的是与手机中的MIDlet打交道,而不是与电脑中的Web浏览器打交道,因此返回给客户端的查询结果采用了更加有效的纯文本格式而非HTML格式[4]。该格式首先指出课程数目,然后是用换行符分隔的课程信息串。每门课程信息由3部分组成:课程名、成绩、学分。当修改密码时,MIDlet发送的POST请求中也包含3个字段:学号、密码、新密码。尽管两类POST请求都包含3个字段,并且前两个字段完全一样,但是,Servlet不会混淆这两类请求,因为密码的长度通常不少于6个字符(MIDlet也会检测密码长度),Servlet可以根据最后一个字段的长度分辨出该POST请求是查询课程请求还是更改密码请求。更改密码时,Servlet返回的POST响应中,用1表示密码更改成功、0表示失败。申请更新课程(即选课)时,MIDlet发送的POST请求中需包括课程号,学号,密码3个字段,与修改和查询一样Servlet不会混淆此三类POST请求,服务器端返回POST响应,1表示成功,0表示失败。=3\*GB2⑶访问网络时的死锁问题为了解决因为网络流量过大造成的瓶颈问题以及提高数据库的访问效率,需通过数据库连接池技术实现数据库连接,实现多个请求共享公用资源。死锁产生的原因正是由于事件处理线程和访问网络线程共享了共同的数据——MIDlet对象。两个线程都为获得MIDlet资源而相互争执,互不相让,也就出现了线程死锁。为了解决操作的不完整性问题,在JAVA语言中引入了对象互斥锁的概念,用来保证共享数据操作的完整性。每一个对象都应用于一个可称为互斥锁的标记,这个标记用来保证在任一时刻只能有一个线程访问该对象。关键字synchronized与对象的互斥关系,当某个对象用synchronized修饰时,表示该对象在任一时刻只能有一个线程访问[5]。JAVA技术使用wait()和notify()来解决线程之间的交互。如果线程对一个同步对象x发出一个wait()调用,该线程会暂停执行,直到另一个线程对同一个同步对象x也发送一个wait()调用。然而为了让线程对一个对象调用wait()和notify(),线程必须锁定那个特定的对象,也就是说,只能在他们被调用的实例的同步块内使用wait()和notify()。而当线程执行包含对一个特定对象执行wait()调用的同步代码时,那个线程被放到了相关对象的等待池中,调用wait()方法的线程会自动释放对象的锁标志。调用wait()方法时必须进行异常处理。另一方面,在对一个特定对象执行notify()调用时,将对象的等待池中移走一个任意的线程,并放到锁池中,那里的对象一直在等待,直到可以获得对象的锁标记。只有锁池中的线程能获得对象的锁标记。锁标记允许线程从上次因调用wait()而中断的地方开始继续运行[6]。在本系统中,为了避免死锁现象,将访问网络设计成为一个独立的线程,当应用程序想要访问网络时,可以将访问网络线程唤醒,调用notify()方法。网络访问结束后,调用wait()方法,使访问网络线程释放锁并处在等待状态。=4\*GB2⑷设计过程中的中文问题解决方案在服务器端做UTF8-GBK编码转换。Java语言本身采用unicode,在高版本加强了对国际化的支持,在服务器端转换编码就显得比较容些。在无线客户端使用J2ME版本的URLEncode类将url要传送的参数进行编码转换,之后在服务器端进行解码。当然也可以把要上传的参数以输入流的方式上传,随后在服务器端把上传的参数据读取出来,得到上传后的utf-8参数后再进行编码转换。转换成能被数据库识别的GBK编码[7]。无论是JSP还是servlet在访问数据库后得到的编码都是数据库的编码值,可以通过在数据库jdbc驱动的url中设置将其返回的编码进行转换。当然也可以流的方式写出到网页。还可以通设置网页返回属性进行[8]。在无线客户端以字节流的方式读取字节数据之后进行编码重组,如果客户端仅支持utf-16,还可以进行utf-8到Unicode的编码转换。3.研究步骤、方法及措施本选课系统是在JDK1.6的编译环境下,运用Eclipse3.4.2绑定EclipseME1.79作为开发主环境编写,并通过Tomcat6.0实现客户端与服务器的通信,后台数据库采用SQLServer2005开发版。前期需要对JDK1.6进行安装并配置环境变量,且在windows中配置SQLServer数据源,最后在Eclipse中对Tomcat服务器进行部署。在测试阶段用WTK2.5.2和型号为NOKIA3110c的手机进行实机测试。研究步骤=1\*GB2⑴系统架构的设计基于J2ME平台开发手机客户端程序,支持打开网络连接、传送数据、访问远程服务器,但并不支持直接访问数据库的能力。因此,要想使移动终端能够访问到数据库系统,必须使用J2EE技术编写服务器端程序来接受移动客户端的请求指令。本课题采用J2ME技术开发系统客户端应用程序,采用J2EE技术开发服务器端应用程序,使用HTTP协议实现移动客户端与Web服务器端之间的网络通信。J2ME+J2EE体系结构如图2所示[9]。在建立移动选课系统时,由于移动终端设备资源有限,它不提供直接对后台数据库的访问能力,因此,要想使移动设备终端能够访问到数据库系统,必须要使用J2EE技术。根据需求,一个移动电子商务系统必须建立移动终端程序(使用J2ME技术)和服务器端应用程序(使用J2EE技术)。结合J2ME和J2EE技术,我们可以建立一个完整的移动选课平台。基于J2ME-J2EE的移动电子商务系统的架构如图所示。系统架构=2\*GB2⑵客户端的设计J2ME客户端主要用来发送请求信息以及显示服务器返回的信息,主要包括显示、查询、网络连接和数据传送。客户端J2ME程序可以通过无线开发工具包WTK(SunJ2MEWirelessToolkit)开发并打包成JAD文件,发布在教务管理系统网站上,学生和教师通过GPRS上网,下载JAD软件包并安装到手机,即可运行客户端程序,通过移动网络访问选课系统[10]。系统客户端的开发环境是由SUN公司提供的MIDP20.我们使用Eclipse绑定WirelessToolkit2.5作为开发工具编写MIDIet程序。MIDlet的界面屏幕(Screen)设计反映了程序的主要操作界面和操作流程。MIDlet中的Screen是所有高级用户接口类的超类,与显示和交互操作有关。本系统中,MIDlet比较重要的6个屏幕包括:“登录屏幕”、“注册屏幕”、“功能选项屏幕”、“学生选课屏幕”“查询结果屏幕”、“更改密码屏幕”。除了界面的设计之外,客户端的设计主要是针对请求方法、头、正文的设计。本项目使用HttpConnection接口来进行网络连接,客户端正文是发送信息的流向是从客户端到服务器端,因此,信息相对于客户端是输出流,而对于服务器端是输入流[11]。=3\*GB2⑶服务器端与数据库的设计服务器端的Servlet用于接收客户端请求,执行与数据库的通信,并将执行结果返回给客户端。服务器端采用Servlet程序,可开启多个线程供多个用户的同时访问。系统的服务器平台使用ApacheTomcat6.0。数据库采用SQLServer2005软件建立名为SelectCourse的学生成绩数据库.其中的学生相关数据存储在表Student中,任课教师的相关信息存储在Teacher表中,另设置User表和Course表分别存储用户信息和课程信息,用Servlet监听来自客户MIDlet的请求并通过JDBC技术实现对数据库的访问。当服务器收到并处理了客户请求后,需要打包并发送响应。服务器端的设计主要是针对正文的设计。与客户端一样,服务器端正文的功能是接受客户端信息,做出相应的处理后将处理的结果送给客户端,这时数据的流向是从服务器端流向客户端,因此,相对于服务器来说是输出流,而对于客户端来说是输入流。=4\*GB2⑷客户端与服务器的通讯J2ME客户端通过创建HttpConnection对象,使用HTTP协议连接到Web服务器,Web服务器的Servlet接收到请求后,解析请求的数据格式,根据请求的具体内容调用相应的EJB模块进行处理,EJB模块再通过JDBC访问数据库,数据库返回数据集后,EJB模块再把信息传递给Web服务器,由Web服务器的Servlet通过HTTP将信息返回到J2ME客户端,客户端J2ME程序接收到返回信息后,将信息转换成Java程序能处理的数据,并将其显示到手机屏幕[12]。方法和措施(1)通过广泛查阅国内外现有的相关文献资源,包括图书、期刊和网上资源,在此基础上进行分析、归纳和总结。(2)通过在本校广大师生中开展深入交流与调查,了解用户的需求,这样开发更加具有针对性和目标化;通过试用调查,得到用户的反馈意见,进一步完善和改进系统。(3)通过反复的开发、调试、完善,使系统的功能、安全性、运行稳定性等方面都能得到提高。4.研究工作进度第1-2周资料收集,整理,开题报告第3周数据库设计第4-5周客户端设计第6-8周服务器端设计第9-10周系统测试、代码优化第11周撰写论文第12周修改论文第13周答辩5.主要参考文献[1]卢军.J2ME应用程序开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2施工工艺控制标准图示-电仪篇
- 财务会计知识点
- 石河子大学《体能训练理论与方法》2022-2023学年第一学期期末试卷
- 石河子大学《平面设计基础》2022-2023学年第一学期期末试卷
- 石河子大学《教育研究方法》2022-2023学年第一学期期末试卷
- 沈阳理工大学《体育》2022-2023学年第一学期期末试卷
- 沈阳理工大学《机械制造技术基础》2021-2022学年第一学期期末试卷
- 沈阳理工大学《高级人工智能》2021-2022学年期末试卷
- 关于向政府请示履行合同的请示书
- 国外销售药品合同
- 2023年金华市城市规划设计院招聘笔试真题
- 江西省宜春市丰城市多校2024-2025学年五年级上学期期中数学试卷(含答案)
- 浙江省杭州市2024-2025学年高三上学期期中教学质量检测历史试题(无答案)
- 期中模拟测试卷3(试题)-2024-2025学年四年级上册数学(福建)
- 安徽省合肥市肥西县西苑中学2023-2024学年八年级上学期期中数学试卷
- 人教版(PEP)三年级英语上册2024期中考试(无答案)
- 防性侵安全教育主题班会教案3篇
- 宪法与法律学习通超星期末考试答案章节答案2024年
- 《数学三年级上学期数学期中试卷》
- 2024-2025学年人教版七年级地理上学期 期中知识清单:第一章 地球
- 宠物饲料购销合同模板
评论
0/150
提交评论