计算机参考毕业设计论文.docx
- 文档编号:9510215
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:53
- 大小:249.49KB
计算机参考毕业设计论文.docx
《计算机参考毕业设计论文.docx》由会员分享,可在线阅读,更多相关《计算机参考毕业设计论文.docx(53页珍藏版)》请在冰豆网上搜索。
计算机参考毕业设计论文
分类号:
TP319UDC:
D10621-408-(2009)1842-0
密级:
公开编号:
2004034100
成都信息工程学院
学位论文
基于J2ME的师生助理软件的开发
论文作者姓名:
Xxx
申请学位专业:
计算机科学与技术
申请学位类别:
工学学士
指导教师姓名(职称):
魏乐(讲师)
论文提交日期:
2009年06月03日
基于J2ME的师生助理软件的开发
摘要
随着3G的到来,移动应用更加丰富多彩,移动终端也不再只是打电话、发短信的工具,它在娱乐、移动商务、办公中也将会得到广泛的应用。
J2ME技术因其固有的与平台无关性,备受移动应用开发者的青睐。
为更加方便师生在校的工作、学习和生活,摆脱桌面PC的时间和空间限制,提出了基于J2ME的师生助理软件开发。
本文首先对师生助理软件的需求进行了分析,包括功能需求和非功能需求;接着介绍了系统总体设计思路、方案选择和数据库设计;随后详细阐述了系统主要功能模块的实现过程;最后就软件开发过程中所遇到的一些特殊问题和解决办法进行了说明,并给出系统的测试方案。
师生助理软件主要基于J2ME技术,具有课程信息查询、课时自动提醒、个人月收入和支出记录、重要日期和事件备忘等功能。
系统分为服务器端和手机客户端两部分,服务器端提供模拟的学校课程表功能,主要包括对基础信息的维护,用户管理、课程管理以及课程安排,使用开源框架Spring和Hibernate构建轻量级J2EE应用。
客户端则基于J2ME,采用Http协议以URL传值的方式请求服务器端Servlet获取数据,并结合RMS,实现用户登录、课程信息查询、计算和记录功能、设置自动提醒以及增加备忘功能。
本系统的使用在方便师生、提高工作学习效率的同时,也为新技术在高校信息化建设中的应用,提供了有益的探索。
关键词:
移动应用;J2ME;Http协议;师生助理软件
TheTeacher-studentAssistantSoftwareDevelopment
BasedonJ2ME
Abstract
Withthearrivalof3G,Mobileapplicationsbecomemorecolorful.Themobileterminalwillnolongerjustasacallandtextmessagingtool,itwillalsowidelyusedintheentertainment,mobilecommerceandoffice.MoremobileapplicationsdevelopersarefondofJ2MEtechnologybecauseofitsinherentandplatform-independentcharacteristics.Teacher-studentassistantsoftwareisproposedfortheconvenienceofteachersandstudentsinwork,studyandlife,gettingridofthelimitsoftimeandspaceofdesktopPCs.
Thispaperfirstlyanalyzedtherequirementsofteacher-studentassistantsoftware,includingfunctionalrequirementsandnon-functionalrequirements;thenintroducesthecomprehensivedesignofthesystem,systemschemeselectionanddesignofdatabase.Thepaperalsoexpoundedtheimplementationprocessesofthemainfunctionalmodulesofthesystem.Finallythepaperexplainedsomespecialproblemsandsolutionsencounteredinthesoftwaredevelopmentprocessofthesystem,andofferedthetestplanofthesystem.Teacher-studentassistantsoftwareoffersthefollowingfunctions:
curriculuminformationquery,automaticremind,personalincomeandexpenditureoftherecord,importantdatesandeventreminderetc.Thesystemisdividedintotwoparts:
serverandmobileclient.Theserverprovidesthesimulatedschoolcurriculumfunction,includingthemaintenanceofbasicinformation,usermanagement,thecurriculummanagementandcoursearrangement.Theserverusesopenframework,suchasSpringandHibernatetoconstructJ2EEapplication.TheclientisbasedonJ2MEandusestheHttpprotocoltogetdatafromtheserverServletwithURLvalue,combiningRMStoimplementuserlogin,curriculuminformationquery,calculatingandrecordfunction,settingupautomaticreminderandaddingthememofunction.
Byusingthesystem,itisnotjustconvenientforteachersandstudentswithimprovedworkefficiency,butalsobeneficialforexplorationofthenewtechnologyapplicationincolleges&universities.
Keywords:
mobileapplications;J2ME;Httpprotocol;teacher-studentassistantsoftware
论文总页数:
34页
1引言
1.1项目开发背景及意义
随着3G的到来,移动应用丰富多彩,像无线企业应用、多媒体应用和联网游戏等多种形式的移动应用程序层出不穷,移动终端也不再只是打电话、发短信的工具。
移动商务、办公作为3G应用的重要分支,将会广泛流行。
因此,J2ME应用开发的范围不再仅仅局限于手机游戏领域,无线企业应用也必定会有更加广阔的市场。
目前,无线应用已经开始深入到了各种各样的企业应用中,虽然它不会替代有线网络,但它已经成为企业应用中不可或缺的重要角色。
近年来高校信息化建设的发展一直呈现方兴未艾的趋势,在短短十年内信息技术在高校教育教学领域中得到了很大的推广和应用。
基于J2ME的师生助理软件主要是针对广大在校师生查询课程表而开发的一款手机端应用软件。
它可以使广大师生无论何时何地都可以方便、快捷地查询学校课程表,记录个人月收支等。
它的使用有效地提高了广大师生学习和工作的效率,有力地推动了高校信息化建设的健康发展。
师生助理手机端应用软件具有PC客户端的大部分功能,比如按照不同的要求分别进行教师或者学生的课程信息的查询,同时增加了独有的温馨的有课时自动提醒功能。
该应用软件还具有个人月收入和支出的记录功能,另外还增加了重要日期和事件的备忘功能。
1.2开发环境和技术简介
1.2.1Java基础知识
Java技术已经深入到了人们生活的各行各业,对于不同的领域,Java针对每种行业的不同特点,设置了三种不同的版本:
J2SE、J2EE、J2ME。
1)J2SE
J2SE(Java2PlatformStandardEdition),Java标准版,Java最主要的、最核心的版本,包含了Java的核心的部分。
主要用于PC端的桌面程序的开发和低端商务应用系统开发。
2)J2EE
J2EE(Java2EnterpriseEdition),Java企业版,Java的高级版本,在Java核心的基础上,添加了一些针对Web服务器的开发,引用了一些新的技术,专门为企业提供电子商务系统开发以及Web服务器的解决方案。
3)J2ME
J2ME(Java2PlatformMicroEdition),Java精简版,由于J2ME主要针对小型的电子设备的开发,主要用于无线通信设备、手机、PDA等小型设备通用的软件开发,是移动商务的最佳编程语言。
J2ME主要是为了支持小型嵌入式设备或移动设备而制定的一系列的技术和规范的总称。
J2ME的体系结构共分为五层,从上到下依次为:
可选包、简表、配置、JAVA虚拟机以及主机操作系统。
J2ME中有两类虚拟机:
支持CDC的CVM和支持CLDC的KVM。
CDC(连接设备配置)只要针对电源充足、设备运算能力比较强的嵌入式设备;而CLDC(连接受限设备配置)主要针对电源有限、设备运算能力不高的嵌入式设备。
故本课题采用CLDC。
MIDP(移动信息简表)则定义了移动信息设备的类型和提供相关的API(应用程序编程接口)集合。
以下为J2ME中相关的一些名词术语的解释:
MIDP:
移动信息设备简表(MobileInformationDeviceProfile),它是专门为互联受限设备配置(CLDC)设计的,为移动设备提供了一套API集合,MIDP包含用户界面类、持久存储功能与网路功能,同时也包括一个供用户下载新应用到终端设备的标准应用环境。
CLDC:
互联设备受限设置(ConnectedLimitedDeviceConfiguration),主要针对电源有限、设备运算能力不高的嵌入式设备。
CLDC没有自己独立的核心类,它的所有的类都是由CDC继承而来的。
WTK:
无线开发工具包(Wireless Toolkit),该工具包的设计目的是为了帮助开发人员简化J2ME的开发过程。
通过JBuilder,Eclipse等IDE,J2ME开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。
RMS:
记录管理系统(RecordManagementSystem),RMS记录管理系统是一个小型的数据库管理系统,它以一种简单的,类似表格的形式组织信息,并存储起来形成持久化存储,以供应用程序在重新启动后继续使用。
1.2.2开发环境和技术简介
本系统的开发采用了J2ME与J2EE相结合的方式,包括了JSP、Servlet、Hibernate、JavaScript、Spring,J2ME等技术。
本系统使用Eclipse作为开发环境,JDK釆用1.5版本,Tomcat6.0作为Web服务器。
数据库采用SQLServer2005。
Hibernate是一个面向Java环境的对象/关系数据库映射工具。
对象/关系数据库映射(Object/RelationalMapping,ORM)表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型结构中去。
Hibernate不仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅单独减少开发时工人使用SQL和JDBC处理数据的时间。
Hibernate的体系结构如图1-1所示。
下面是对图1-1中一些对象进行定义及描述:
●SessionFactory
SessionFactory:
是对编译过的映射文件的一个安全的、不可变的缓存快照。
它是Session的工厂,是ConnectionProvider的客户。
●会话Session
会话Session:
是单线程、短生命期的对象,代表应用程序和持久化层之间的一次对话。
封装了一个JDBC连接,是Transaction的工厂。
图1-1Hibernate体系结构图
●持久化对象PersistentObject
持久化对象PO(PersistentObject):
是单线程的对象,包含了持久化状态和商业功能。
它们可能是普通的JavaBeans,与JavaBeans的唯一区别是它们现在属于且仅从属于一个Session。
●临时对象(TransientObject)及其集合(Collection)
临时对象:
指的是刚刚被程序实例化,还没有来得及被持久化,或者是被一个已经关闭的Session所实例化的对象。
●事务Transaction
Transaction:
是单线程、短生命期的对象,应用程序用它来表示一批工作的原子操作,是底层的JDBC、JTA或CORBA事务的抽象。
一个Session可跨越多个Transaction事务。
●连接提供者ConnectionProvider
ConnectionProvider:
是JDBC连接的工厂和池。
从底层的DataSource或者DriverManager抽象而来,对应用程序不可见。
●事物实例工厂TransactionFactory
TransactionFactory:
事务实例的工厂,对应用程序不可见。
1.2.3本文主要工作
本文主要综合整个系统,简述了该系统开发的系统背景和意义,详细描述了系统的需求分析和整体设计,并对系统的主要功能模块包括课程表,课时自动提醒,个人月收支的记录和查看以及备忘录等模块进行描述,解释了系统功能模块的实现流程,并给出关键模块的实现代码以及运行的效果截图。
论文最后总结了在毕业设计完成过程中所遇到的一些特殊问题以及相应的解决办法,并对系统做了整体测试,给出系统功能测试用例表。
2系统需求分析
2.1系统调研
在高校信息化建设中已有师生课程表查询,记录个人月收支等应用,但这些应用是基于PC机的,使用起来给用户带来了极大的不便。
而师生助理软件因J2ME为其提供了灵活的平台,摆脱了桌面PC的时间和空间上的限制,为广大在校用户师生带来了极大的方便。
下面是与本系统相关的定义:
课程查询:
用户可以通过选择不同的条件来进入到不同的查询界面,查看相应的课程表,并可以将其把保存为自己的课程表。
设置了课时自动提醒功能的用户会按时收到系统的温馨响铃提示,并且附有上课的具体时间、地点、以及课程名称和代课教师等详细信息。
个人收支:
教师用户可以自行记录和查看自己的个人月收入和支出。
用户可以添加自己在某段时间内的各项收入和支出,系统可以计算出该用户在该段时间内的收支情况,并自动显示在该界面供用户查看。
2.2系统功能需求
本系统的功能模块图如图2-1所示。
以下是对本系统功能需求的详细描述。
1)用户登录
管理员和普通用户(包括教师和学生)分别拥有自己的用户名和密码。
对于普通用户,首先选择登录身份,如果登录成功,则直接进入到用户个人主界面并选择各种操作,否则会返回到登录界面重新进行登录。
2)个人信息
用户登录成功后即可进入到用户主界面,查看用户的个人详细信息,还可以自行修改自己的密码。
同时,用户可以选择查询课表,进入到课程查询界面。
教师用户还可以对个人月收支进行管理。
图2-1系统功能模块图
3)课程表
普通用户(教师或学生)首先可以通过选择不同的条件来进入到不同的查询界面,查看相应的课程表,并可以将其把保存为自己的课程表。
还可以根据需要来设置课时自动提醒,课时提醒除了伴有温馨的铃声提示,还包括了上课具体时间、地点,上课教师以及所上课程等详细信息提示。
4)备忘录管理
备忘录包括重要日期和重要事件的备忘功能。
普通用户(教师或学生)可以添加或查看重要事件和重要日期,并且可以设置重要时间及日期的自动提醒功能。
5)课程管理
该模块主要包括对基础信息的维护,用户的管理和课程安排。
对基础信息的维护又包括校区管理、系别管理、专业管理、年级管理、班级管理和学期管理等。
2.3系统非功能需求
2.3.1精度
本系统所需的数据类型主要包括日期、时间和个人月收支等。
相关精度要求如下:
日期:
日(Day)。
例如:
“2009年6月1日”
时间:
秒(Second)。
例如“09:
32:
37”
金额:
单位为人民币:
元(RMB),精确到小数点后两位。
例如:
“100.00元”
在登录时,必须注意所选择的身份跟用户名和密码要保持一致。
2.3.2安全性要求
本系统的用户分为管理员和普通用户(包括教师和学生)两大类,用户登录时需要根据权限选择不同的功能,每个用户都有自己固定的用户名和密码;对数据的存储可以采用加密的办法。
2.3.3时间特性要求
1)查询数据的响应时间控制在5秒内;
2)用户登录验证时间控制在5秒内即可跳转到相应的页面;
3)用户的session变量的存储时间为系统默认时间20分钟,如果用户20分钟内没有做任何操作的话,session将会自动清除。
2.3.4灵活性
对设备的要求较低,且具有良好的可移植性,用户无论何时何地都可以方便、快捷地使用该系统,具有较强的灵活性和方便性。
3系统设计
3.1系统总体设计
本系统设计使用了面向对象技术和模块化技术。
面向对象技术(OOT)是一种软件开发和程序设计技术,其所开发的程序是面向对象程序,直接描述客观世界的对象及其相互关系。
对象是封装了数据和操作的程序块。
所谓封装是为这个程序块建立显示的界面,其它对象只能向这个界面发消息,不能访问内部的私有数据和操作。
因此,内部的数据和实现操作的算法若有改动,对其它程序对象没有任何影响。
封装使程序局部化、易修改、好维护,但许多对象有相同的功能时免不了重复,所以面向对象技术有继承的机制。
此外,由于对象自己操作自己的数据,对同一消息不同的对象均以自己的方式响应,使得一种消息可有多种响应方式,这就是多态性。
封装、继承、多态是面向对象程序的主要特征。
正是这些特征使程序安全、可靠、可重用、易维护。
因而面向对象技术也成为当今计算机的新兴技术。
而所谓的模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。
以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
模块化技术的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
图3-1MVC设计模式图
本系统还使用了MVC模式,MVC是Model-View-Controller的简称,即模型-视图-控制器。
MVC把应用程序分为三个核心模块:
模型、视图和控制器,它们分别担负不同的任务。
这三个模块各自的功能以及它们之间的相互关系如图3-1所示。
图3-2系统流程图
图3-1处理过程如下:
首先,控制器接受用户请求,并决定应该调用哪个模型来进行处理,然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
MVC作为一种被广泛使用的软件设计模式,受到越来越多的Web开发者的欢迎。
这与它给我们带来的好处是分不开的。
首先,多个视图能共享一个模型。
在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性。
其次,模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。
由于MVC的三个模块相互独立,改变其中一个不会影响到其他两个,因此依据这种设计思想能构造良好的松耦合的构件。
此外,控制器提高了应用程序的灵活性和可配置性。
控制器可以用来连接不同的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手段。
给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的视图将处理结果显示给用户。
本系统总体流程图如图3-2所示。
图3-2详细阐述了该系统的整体操作流程。
首先用户进行登录,选择登录身份是教师或者学生,如果用户名和密码正确则进入到相应的用户个人主界面,否则返回登录界面重新进行登录。
在用户个人主界面,用户可以进行各自需要的操作。
若用户为学生,则可以进行修改密码、课程查询、课表保存,并根据需要设置课时自动提醒以及对备忘录的管理;用户为教师的话,除了可以进行上述操作外,还可以进行个人月收支的管理。
最后,用户操作完毕,点击“退出”按钮退出本系统,整个系统操作流程到此结束。
3.2系统方案选择
本系统开发选用J2ME+J2EE+SQLServer方案,选用J2ME有以下优点:
开发效率高,易学易用;跨平台的灵活性;有越来越多的手机支持Java,技术趋于成熟,使用J2ME有很多可供学习的资料,详细情况见1.2.1节,此处不再赘述。
选用J2EE平台基于其有以下优点:
1)简化结构
J2EE平台支持简化的、基于组件开发模型,由于J2EE基于Java编程语言和J2SE平台,它提供了编写一次,随处运行的可移植性,遵循J2EE标准的所有服务器都支持该模型。
2)提高开发效率
由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。
3)可移植性强
除了Java语言固有的可移植性外,EJB体系结构在Bean和支持该Bean的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将Bean从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。
4)重用性好
由于在EJB模型中,各个软件组件都是严格分离的,因此,可以从现有的软件组件装配出服务器端应用程序,这与从现有的JavaBean可以装配出客户端应用程序一样,使软件能够重用。
5)易于维护
基于组件的设计简化了应用程序的维护。
由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。
6)可伸缩性
企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。
J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。
而数据库选用SQLServer2005因其有以下优点:
1)SQLServer2005数据库应用于中小型企业。
SQLServer2005的分布式、复制、全文检索、DTS都可以满足中型的应用。
2)SQLServer2005的数据存储在它本身的文件内,在安装目录下的DATA目录下,有和数据库同名的数据文件和日志文件组成。
3)SQLServer2005支持存储器、触发器、自定义函数等操作;安全性、并发控制能力、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 参考 毕业设计 论文