毕业论文-基于android系统的教学管理系统—学生客户端的设计与实现_第1页
毕业论文-基于android系统的教学管理系统—学生客户端的设计与实现_第2页
毕业论文-基于android系统的教学管理系统—学生客户端的设计与实现_第3页
毕业论文-基于android系统的教学管理系统—学生客户端的设计与实现_第4页
毕业论文-基于android系统的教学管理系统—学生客户端的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

基于ANDROID系统的教学管理系统学生客户端的设计与实现摘要高校中由于教学模式的原因,师生之间交流的时间极为短暂,而考勤,作业以及学生反馈等问题占用了很多宝贵的教学时间,往往会影响正常的教学计划和教学质量,同样也会给学生的学习生活带来不必要的麻烦。简化教学工作,提高学生学习效率已经成为高校中亟待解决的问题。近些年移动互联网的不断壮大和移动平台的飞速发展为教学模式的改善提供了新的渠道和手段。利用移动平台中应用最广泛的安卓系统,在手机和平板电脑上搭建的便捷高效教学管理系统学生客户端,为学生提供查询各课程签到,作业情况以及对教师教学内容进行反馈等功能,优化了教学模式,增加了教学时间,也提高了学生的学习效率,并通过搭建ASP网页学生客户端扩大了系统应用范围,缓解了学生的经济压力,极大改善了教学质量,帮助学生更好地去完成学习任务。关键词安卓;教学管理系统;学生客户端;ASPNETTEACHINGMANAGEMENTSYSTEMBASEDONANDROIDSYSTEMSTUDENTSCLIENTDESIGNANDIMPLEMENTATIONABSTRACTDUETOTHETEACHINGMODEL,THEINTERACTIONTIMEBETWEENTEACHERSANDSTUDENTSINUNIVERSITIESISEXTREMELYSHORT,ATTENDANCE,ASSIGNMENTSANDFEEDBACKFROMSTUDENTSANDOTHERISSUESTAKEUPALOTOFVALUABLETEACHINGTIME,WHICHTENDSTOAFFECTTHENORMALTEACHINGPLANSANDQUALITY,ANDALSOCAUSESUNNECESSARYTROUBLETOTHESTUDYLIVESOFSTUDENTSINRECENTYEARS,THEGROWINGMOBILEINTERNETANDTHERAPIDDEVELOPMENTOFMOBILEPLATFORMSCARRYTHENEWCHANNELSANDMEANSFORTHEIMPROVEMENTOFTHETEACHINGMODELUSINGANDROIDSYSTEMWHICHISEQUIPPEDINMOBILEPLATFORMTHEMOSTWIDELY,ITSACONVENIENTANDEFFICIENTATTENDANCESYSTEMCLIENTFORSTUDENTINMOBILEPHONESANDTABLETPCSTHATISBUILTTHECLIENTPROVIDESSTUDENTSTHEFUCTIONSOFQUERYINGTHESITUATIONSOFATTENDANCEANDHOMEWORKANDFEEDBACKINGONTEACHINGCONTENTSTOTHEIRTEACHERS,OPTIMIZESTHETEACHINGMODE,INCREASESTHETEACHINGTIMEANDALSOIMPROVETHESTUDENTSLEARNINGEFFICIENCYTHEPAGESCLIENTWHICHISBUILTWITHASPEXPANDEDTHESCOPEOFAPPLICATIONOFTHESYSTEM,ALLEVIATETHEECONOMICPRESSURESOFTHESTUDENTS,IMPROVESTHEQUALITYOFTEACHINGGREATLYANDHELPSSTUDENTSBETTERTOCOMPLETETHELEARNINGTASKKEYWORDANDROIDTEACHINGMANAGEMENTSYSTEMSTUDENTSCLIENTASPNET目录1引言12课题背景与可行性分析221课题背景222可行性分析223结论意见324开发工具简介33需求分析631特性需求分析632功能需求分析64总体设计1141硬件配置设计1142系统模块结构设计1143数据库设计1244代码设计195详细设计2051手机客户端2052服务器端模块2053网页客户端286总结34参考文献35致谢361引言随着科技的发展,移动通讯平台在不断地发展中愈来愈加成熟,预计2012年中国手机市场销量将达到3亿部,全球销量更是会超过10亿部,其中,安卓系统在手机中的发展最为迅速。2012年1月20日,谷歌报告显示,通过谷歌服务器激活的ANDROID设备用户总数已经超过25亿,而ANDROID在中国大陆的智能手机操作系统市场占有率达到了684。安卓系统以其开放的平台,众多、免费的应用,华丽、新鲜的运行界面,简单、亲切的用户体验而备受消费者的喜爱。在高校中,由于教师与学生之间往往只是在上课的时候才能见面,师生之间的交流并不是十分活跃,教师对于签到,布置作业,学生们对上课效果的反馈等等很多时候都不能及时解决和处理,而学生对于自己的签到记录,各个科目布置的作业题目和以及分数也往往不能明了,自己在学习上的问题也不能及时地反映给老师,影响正常的学习生活。基于ANDROID系统的教学管理系统则是一款建立在安卓平台的软件,致力于为广大师生工作与学习提供便利,系统突破传统交流的时空限制,实现师生之间的方便有效地交流。基于ANDROID系统的教学管理系统分为两个部分,一部分为教师客户端,为教师在对学生的签到,作业的布置评分等处理以及查看学生的反馈提供方面上便利。另一部分为学生客户端,学生可以通过此客户端查看自己签到状况,查看作业题目评分,以及进行反馈。由于考虑到学生可能不能每人都拥有一部安卓设备,此系统将会提供网页客户端,学生可以通过网页实现客户端内容。本论文将对学生客户端,包括安卓客户端与网页客户端的实现进行详细的阐述,实现系统的C/S与B/S两个模式。2课题背景与可行性分析21课题背景随着移动平台的成熟以及互联网的不断发展,手机等移动设备已经极大地普及,人们可以在随时随地用指尖去完成各种以往繁琐的事情。由于在高校中师生交流的不顺畅,严重影响着教师的教学工作和学生的学习生活,因此亟需一款软件去简化教师的工作,实现教师与学生简单方便地交流。考虑到安卓系统的迅速发展和极高的普遍率,以及其平台的开放性和友好的界面,这款基于ANDROID系统的教学管理系统便应运而生了。该系统可以很轻松的实现师生间良好的互动,帮助教师完成签到,布置作业,打分以及查看学生反馈信息等功能,提高工作效率简化工作内容的同时更好的完成教学任务,帮助学生实现查看自己签到情况,查看布置的作业和打分情况以及对教师进行反馈,方便高效的完成学习任务。网页客户端可以弥补手机客户端的缺陷,更好的实现系统功能,帮助师生完成教学任务和学习任务。22可行性分析近些年,移动设备的高速发展,使得手机等移动设备高速智能化,移动网络通信正在以前所未有的惊人速度走入人们的生活、工作和学习中,提高了工作学习的效率,增加了获取信息的渠道,突破了相互交流的时空界限。教学管理系统可以基于移动平台安卓系统进行开发,帮助师生轻松解决教学中工作学习等问题。可行性分析既不能以偏盖全,也不能过于追求细节,必须为决策提供有价值的证据。软件领域的可行性分析主要考虑四个因素技术可行性分析,经济、社会效益分析,法律可行性分析,开发人员与进程可行性分析。技术可行性分析安卓系统是基于JAVA编写的,因此手机客户端采用ECLIPSE配上ANDROIDSDK,完全可以实现系统功能,开发人员都具有一定JAVA功底,加之安卓平台开放性,网上很轻松的可以查看到各种实现代码,手机客户端在技术上是可行的。网页客户端用ASPNETC编写,在VISUALSTUDIO2005环境下实现,ASPNET运用面向对象的编程思想进行WEB开发,并且是以编译方式执行,具有较高的开发效率和运行性能。后台数据库软件选用微软公司的大型数据库服务器SQLSERVER2000。因此在技术上是可行的。经济、社会效益分析主要进行成本效益分析。从成本方面看,本系统的实现,计算机和网络硬件已经拥有,由于安卓是个开放的平台,ECLIPSE与ANDROIDSDK都是免费提供的,网络客户端所用软件也都已经配备,因此成本很低;从效益方面看,本客户端主要是为广大师生提供便利,暂时还不会带来任何经济收益,不过经过完善后可以考虑作为产品在社会上推广,加上安卓系统的广泛应用,相信产品的盈利空间是很大的。法律可行性分析从法律角度看,ANDROID是个开放的平台,代码是开放的,加上基于ANDROID的教学管理系统主要为师生提供便利,作为毕业设计,并不以盈利为目的,且是自主开发设计,因此不会在社会上引起侵权或其它责任问题,在法律上是可行的。开发人员与进程可行性分析开发人员都有一定的JAVA开发功底,并且学习能力较强以及指导老师的悉心教导完全可以胜任此次开发。由于此系统开发并不是以盈利为目的,开发周期可以相对较长,因此开发进程方面是可行的。23结论意见经过几个不同角度的可行性分析,可以确定该系统能够开发。24开发工具简介241ANDROID及SDK介绍SDK指是软件开发包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,ANDROIDSDK指的既是ANDROID专属的软件开发工具包。ANDROID是GOOGLE公司推出的手机开发平台,和IPHONE相似,ANDROID使用了WEBKIT浏览器引擎,具备触摸屏、高级图形显示和上网功能,在手机上可以实现查看电子邮件、搜索网址和观看视频节目等功能,较IPHONE等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部WEB应用的单一平台。ANDROID手机系统最震撼人心之处在于其开放性和服务免费。ANDROID是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了IPHONE等只能添加为数不多的固定软件的枷锁,使得应用的安装更加方便;同时与WINDOWSMOBILE、SYMBIAN等厂商不同,ANDROID操作系统免费向开发人员提供,这样可节省近三成成本。242ECLIPSE简介ECLIPSE是一个著名的跨平台的自由集成开发环境软件。最初主要用来JAVA语言开发,现在人们可以通过安装插件使其作为C、PYTHON、PHP等其他语言的开发工具。ECLIPSE的本身只是一个框架平台,但是随着众多插件的产生,使得ECLIPSE拥有很好的灵活性。许多软件开发商以ECLIPSE为框架开发自己的IDE。虽然大多数用户更加乐于将ECLIPSE当作JAVA集成开发环境来使用,但ECLIPSE的作用已经不仅限于此。ECLIPSE还是含有插件开发环境,这个组件主允许希望扩展ECLIPSE的软件开发人员构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于JAVA开发工具。尽管ECLIPSE是使用JAVA语言开发的,但它的用途并不限于JAVA语言;例如,支持诸如C/C和COBOL等编程语言的插件已经可用,或预计将会推出。ECLIPSE框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。本系统即通过ECLIPSE,添加ANDROID做插件,匹配上ANDROIDSDK进行软件的开发。243ASPNET简介ASPNET是NET框架的一部分,是一种建立动态WEB应用程序的技术。NET框架即NETFRAMEWORK是支持生成、运行下一代应用程序和XMLWEB服务的内部WINDOWS组件,是VISUALSTUDIONET应用程序开发环境的核心。它定义了语言之间互操作的规则,以及如何把应用程序编辑为可执行代码,还负责管理任何VISUALSTUDIONET语言创建的应用程序的执行。NET是MICROSOFT面向XMLWEB服务的平台,它使用一种统一的、个性化的方式将信息、设备和人员紧密地联系在一起。ASPNET可以使用任何兼容NET平台的语言进行开发,具有较强的兼容性。由于ASPNET是编译执行,因而比解释执行的ASP等开发方式具有更高的效率,而且在面向对象性、数据库连接、大型站点应用等方面都体现出较好的性能。此外,ASPNET还可以利用NET平台架构的诸多优越性能,如类型安全以及对XML、SOAP、WSDL等INTERNENT标准的强大支持。在ASPNET页面中,可以使用ASPNET服务器端控件来建立常用的用户接口元素,并对其进行编程;可以使用内建可重用组件和自定义组件快速建立WEBFORM,从而使代码大大简化。相对原有的WEB技术而言,ASPNET提供的编程模型和结构有助于快速、高效地建立灵活、安全和稳定的应用程序。ASPNET提供了一个统一的WEB开发模型,其中包括开发人员生成企业级WEB应用程序所需的各种服务。ASPNET也提供了一种新的编程模型和结构,可以生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。当前,ASPNET20已逐渐被广泛使用。本系统采用C作为开发语言,C是NET平台的通用开发工具,它能够建造所有的NET应用。其固有的特性决定了它是一种高效、安全、灵活的现代程序设计语言。C与NET平台的结合足以为毕业设计综合管理系统提供完整的解决方案。244SQLSERVER2000简介随着社会信息化的不断发展,人们面对的各种类型的数据信息正在呈现出爆炸式增长的态势,因而对数据的安全存储和高效管理具有越发明显的重要性。存储和管理数据需要使用数据库管理系统,不但需要后台数据库对数据的安全存储,而且需要前台应用程序对数的方便高效管理。当前的数据库产品主要有ACESS,MYSQL等小型数据库,以及SQLSERVER,ORACLE等大型数据库。鉴于毕业设计管理系统的数据量,可以选择SQLSERVER数据库。毕业设计管理系统不但要存储教师和学生的基本信息,而且要实现一些重要流程和必要操作,如课题的申请、审批和选择,毕业设计时间表的安排、论文的评阅答辩以及在线答疑等。这些除了需要对基本数据进行存储外,还需要开发专门的数据库系统来帮助对其进行管理。毕业设计综合管理系统需要实现数据库的建立和连接、系统界面的设计以及各个功能模块的设计和开发。该系统的开发过程主要包括需求分析、系统设计、数据库设计、编码设计、软件测试等。系统采用模块化开发方法,每个模块各自实现相应的子功能,最后进行集成,共同实现系统的功能。245VISUALSTUDIONET2005简介ASPNET的开发环境有多种选择,该系统的开发选择VISUALSTUDIONET2005。VISUALSTUDIONET2005是一套完整的开发工具,用于生成ASPNETWEB应用程序、XMLWEBSERVICES、桌面应用程序和移动应用程序。该环境提供了常用控件,直接拖动的开发方式提高了开发效率。而且可以创建自定义控件,使程序具有更好的扩展性、可维护性以及重用性。此外,VISUALBASICNET、VISUALCNET、VISUALCNET和VISUALJNET使用统一的集成开发环境,该环境允许它们共享并创建混合语言解决方案;这些语言都利用NETFRAMEWORK的功能,它提供了对简化ASPNETWEB应用程序和XMLWEBSERVICES开发关键技术的访问。因此,使用VISUALSTUDIONET2005作为开发环境进行高效开发乃是最佳选择。3需求分析31特性需求分析一个好的教学管理系统应该具有一下特性1易操作和功能简单明确不令人误解。一个良好的教学管理系统应该功能明确,没有二义性,用户可以很明了的通过界面明白各项功能的实现方法,而不是看到界面不知道各按钮的具体用途,即操作简单,界面友好。学生可以根据手机界面或网页界面很明白的进行对签到记录,作业情况的查询,并能够将自己的反馈及时提交给老师。2软件功能流畅,不拖沓。软件登陆,连接网络不能让用户等待时间过长,引起用户的烦躁。软件在运行不能发生崩溃,卡顿等问题,整个界面操作起来很流畅。3系统应该容易维护以及更新。系统各个模块设计应该很明确,核心代码处应有必要的注释,使得今后的软件维护,软件更新等操作应该能够顺利的进行。32功能需求分析学生客户端教学管理系统应该能完成四种功能包括登录功能,签到情况查询功能,作业情况以及评分情况查询功能和向教师进行反馈功能,并且能手机客户端形式与网页客户端两种形式实现上述功能,保证系统的正常运行。系统用例图如图31。教务处老师系统教师数据库信息学生签到模块作业模块反馈模块图31教学信息管理系统用例图1登录功能进行学生身份的验证。手机客户端把学生学号密码通过网路传递给服务器,有服务器进行数据库查询,如若学号和密码匹配,则将学生信息和数据库内容传递到手机端,不匹配则返回错误信息提示错误。网页客户端相似,若学号密码匹配,则进入系统,不匹配则拒绝登录。系统用例图如图32。学生输入密码输入用户名图32登录功能用例图2签到情况查询功能可以提供给学生查询自己相应课程的签到情况,学生可以选择查询的课程名称,查看各个课程的考勤时间,和相应自己的签到记录。用例图如33。学生选择课程查询考勤情况查询考勤时间图33签到功能用例图3作业内容评分情况查询功能提供给学生查询每个课程作业的情况,学生通过选择需要查询的课程,查看此课程教师留下的作业的作业号,日期和作业题目等内容,并可以查询自己在此项作业中得到的分数。用例图如图34所示。学生选择课程查询作业时间查询作业内容查询自己得分图34作业功能用例图4反馈功能则是学生向教师提出意见和建议的平台,学生可以通过此平台,选择想进行反馈的课程,给课程老师留言,查询修改和删除以往的反馈内容,课程老师可以通过教师客户端查看学生留言。用例图如图35所示。学生选择课程查询以往反馈内容添加反馈信息修改反馈信息删除反馈信息图35反馈功能用例图33数据流图数据流图描绘信息流和数据从输入移动到输出的过程中所经受的变换,它反映系统必须完成的逻辑功能。从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。教学管理系统的运行同样离不开信息流和数据流移动变换,数据流图的描绘可以帮助开发者更好地理清整个程序的运行过程和参数传递。1学生登录功能主要是在服务器端进行的。学生用户在登录界面输入学号和密码,手机客户端会通过网络将学号和密码传送给服务器,服务器查询数据库,验证学号和密码是否与学生表中记录相同,如若两者和数据库中信息正确,则将客户端需要的数据库文件和信息传递过去。登陆功能数据流图如图36。登录学生输入学号密码学号密码查询数据库学生表数据库文件接收数据库文件图36登陆功能数据流图2手机客户端中学生签到功能通过查询下载的数据库文件实现。学生登陆成功后,学号信息会记录在手机中,查询数据库是可以被引用,进入签到功能界面,选择需要查看的课程,选择完成后,系统会将课程名称记录下来,根据学号和课程名称信息查询此课程学生用户的签到情况。签到功能数据流图如图37。图学号选择课程课程名称查询数据库签到信息签到情况学生学生图37签到功能数据流图3在进入作业功能界面时,学号信息会被记录下来,学生选择查询的课程,记录下课程名称,根据学号与课程名称查询数据库,显示出查询到的作业信息,学生选择某一个作业,通过学号信息查询自己的得分情况。作业功能数据流程如图38。学生选择课程学号查询数据库课程名称作业信息选择作业学生作业情况作业评分信息查询数据库作业号学号作业信息得分图38作业功能数据流图4同签到功能和作业功能相同,进入反馈界面时,学号,姓名信息被记录,学生选择反馈的课程,记录下课程名称,根据学号和课程名称查询数据库,进入反馈界面后,学生可以选择直接对课程进行添加反馈,也可以修改和删除反馈信息,完成相关操作后,数据会上传数据库,教师端通过查询数据库查看反馈信息。反馈功能数据流图如图39。教师学生学号选择课程课程名课程名课程名修改反馈信息添加反馈信息删除反馈信息更新数据库反馈信息反馈内容反馈内容反馈内容反馈图39作业功能数据流图4总体设计总体设计即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。它包括硬件配置设计、系统模块结构设计、数据库设计、代码设计等内容。软件功能分解属于下列软件开发中的总体设计阶段。41硬件配置设计1手机客户端ANDROID系统要求ANDROID233及其以上。手机配置内存256M及其以上。主频600HZ及其以上。2网页客户端系统要求WINDOWXP,VISTA以及WIN7,LINUX等硬件配置处理器奔腾4处理器及以上;内存1G及其以上。硬盘20G及其以上。42系统模块结构设计教学管理系统学生客户端主要提供学生登陆,查询签到情况,查询作业情况,反馈信息四项功能,因此可以将系统分为四个模块登陆模块,签到模块,作业模块,反馈模块。考勤系统学生客户端登陆模块签到模块作业模块反馈模块网络传递功能选择课程功能查看作业得分功能修改反馈信息功能查看签到信息功能查看作业内容功能添加反馈信息功能验证信息功能删除反馈信息功能图41考勤系统结构图系统的主要功能概述1登录模块包括验证信息功能和网络传递功能,学生可以通过此模块输入学号密码,通过网络将输入的学号和密码传递给服务器,服务器通过搜索数据库验证密码和学号是否匹配,若不匹配则传递提示错误信息给相应客户端,若匹配则传递给手机客户端需要的数据库文件和学生信息,网页客户端则直接进入功能界面。2签到模块包括选择课程功能和查看签到信息功能。学生进入界面后可以选择需要查询的课程,然后通过课程名称和学号查询数据库,搜索出登陆学生和对应课程的签到信息,显示在签到信息界面。3作业模块包括查看作业内容功能和查看作业评分内容。学生进入作业查询界面后,可以选择需要查询的课程,在数据库中搜索对应课程的作业信息,显示在作业情况界面,点击单个作业情况,可以查看作业题目的具体内容,并查询数据库,显示该作业的登录学生的个人得分情况。4反馈模块包括添加反馈信息功能,删除反馈信息功能和修改反馈信息功能。学生先选择需要反馈的课程,然后进入反馈信息界面。在反馈信息可以进行添加,修改和删除反馈信息功能,添加修改删除完成后,对数据库进行更改,然后由网络发送信息使服务器也进行相应更改,使客户端和数据库端信息实现同步。43数据库设计431数据库概念结构设计实体联系图,即ER图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型,在数据库系统概论中属于概念设计阶段。ER图的设计与建立,可以帮助开发者更加合理的去制定数据库内容,使得在开发过程中对数据库的各种操作添加,查询,修改或删除变得简单易行。教学管理系统学生客户端的实体联系图的实体主要包括学生,班级,课程,签到记录,作业,留言板和教师实体。其中,班级和学生之间是一对多的关系;签到记录和学生之间是一对多的关系;教师与签到记录之间是一对多的关系;课程与教师之间是一对多的关系;教师与作业之间是一对多的关系;课程与作业之间是一对多的关系;学生与留言记录之间是一对多的关系;教师与留言记录之间是一对多的关系。由于每个课程都可以有很多学生选,而每个学生可以选很多课程,所以两者之间是多对多的关系;由于每个学生都要有评分,因此作业与学生之间有对应关系,而每个作业对应的是一个班级所有学生的,而每个学生可以有很多作业,因此作业和学生之间是多对多的关系。教学管理系统的实体联系图如图42所示。学生班级在N课程作业选课NM作业记录MN留签到1NNN教1教师反馈1N1留言记录查看1N1签到记录点名1N有1N图42教学管理系统ER图部分实体图如下1学生实体图包括四个属性,其中包括学号,姓名,密码以及班级号,学号密码两个属性可以用来作为身份验证,供登录模块使用,班级号作为与班级实体对应,学号与姓名实现与其他实体连接。学生实体图如图43。图43学生实体图2课程实体图包括两个属性,分别为课程名称与课程号。两个属性可以连接学生实学生学号密码班级号姓名体,教师实体以及作业实体。课程实体如图44所示。课程名课程号课程图44课程实体图3班级实体图包括两个属性,分别为班级名称与班级号。两个属性可以连接学生实体。班级实体如图45所示。班级班级名班级号图45班级实体图4作业实体图包括作业号,课程号,日期,班级号以及作业题目五项属性。作业题目记录着作业的详细内容,日期记录者作业的日期,课程号和班级对应着哪个班哪个课程留的作业,作业号联系着学生,教师以及课程实体。作业实体图如图46。作业作业号课程号班级号题目日期图46作业实体图5留言记录实体图包括内容编号,学生编号,班级号,日期,课程号,反馈内容六个属性。学生号,班级号和课程号记录着哪个班级的哪个课程的哪个学生留下的反馈信息,日期对应着反馈信息时间,通过内容号找出某个留言信息。实体图如图47。留言记录学生号班级号课程号内容号反馈内容日期图47留言记录实体图6签到记录实体图包括学生编号,班级名,日期,课程名,到否五个属性。学生号,班级名和课程名记录着哪个班级的哪个课程的哪个学生的签到信息,日期对应着学生签到的时间,到否记录该学生此次考勤是否签到。实体图如图48。签到记录学生号课程名班级名到否日期图48签到记录实体图7教师实体图包括教师号,密码,以及教师姓名三项属性。教师实体主要应用于教师客户端,学生客户端不涉及到教师实体。实体图如图49。教师教师号姓名密码图49教师实体图432数据库的物理结构设计根据以上的实体属性集可以建立相应的数据库表结构,其中教学管理系统学生客户端主要用到的数据库表结构如下所示。1学生表STUDENT包括学号,姓名,密码,与班级号四个字段。教学管理系统学生客户端需要通过查询学生表验证学生信息,查询登陆者是否属于学校人员,并将学生信息的部分内容反馈给客户端。学生表如表41。表41学生表字段名描述类型长度是否允许为空是否主键CLASSID学号VARCHAR10否是STUDENTNAME姓名VARCHAR20否否PASSWORD密码VARCHAR10否否CLASSID班级号VARCHAR10否否2班级表CLASS包括班级号与班级名两个字段。教学管理系统无论学生端还是教师端都需要查询班级内容,将班级内容从学生表和教师表中提取出来可以简化数据库的相关操作。班级表如表42所示。表42班级表字段名描述类型长度是否允许为空是否主键CLASSID班级号VARCHAR10否是CLASSNAME班级名VARCHAR20否否3课程表COURSE包括课程编号与课程名两个字段。学生无论是查询签到情况,作业情况还是反馈信息,都需要选择课程,因此课程表是必须的。课程表如表43。表43课程表字段名描述类型长度是否允许为空是否主键COURSEID课程编号VARCHAR10否是COURSENAME课程名VARCHAR20否否4选课表CS包括学生编号和课程信息两个字段。由于学生与课程之间是多对多的关系,因此需要在两个表之间添加一张选课表联系两张表。选课表如表44表44选课表字段名描述类型长度是否允许为空是否主键STUDENTID学生编号VARCHAR10否是COURSEID课程编号VARCHAR10否是5作业表HW是用来记录每个班级作业的具体情况,学生查看作业内容需要查询此表。作业表包括作业编号,课程编号,班级号,日期和题目五个字段其中问题内容可以为空,HWID要求每次自增1。作业表如表45。表45作业表字段名描述类型长度是否主键是否允许空是否自增1HWID作业编号VARCHAR10是否是COURSEID课程编号VARCHAR10否否否CLASSID班级号VARCHAR10否否否DATETIME日期DATE0否否否QUESTION题目TEXT0否是否6作业表HWDATA包括作业编号,学生编号,分数三个字段,其中分数采用5分制。由于作业与学生之间是多对多的关系,因此需要创建一个作业记录表来关联两个表,学生可以通过查询此表来查询自己的成绩。作业记录表如表46。表46作业记录表字段名描述类型长度是否允许为空是否主键HWID作业编号VARCHAR10否是STUDENTID学生编号VARCHAR10否是SCORE分数INTEGER0否否7签到记录表SIGNDATA包括五个字段,分别为学生编号,课程名称,日期,班级名称和到否。学生可以通过这个表来查询自己每个课程的签到情况。签到记录表如表47。表47签到记录表字段名描述类型长度是否允许为空是否主键STUDENTID学生编号VARCHAR10否是COURSENAME课程名称VARCHAR20否是DATETIME日期DATE0否是CLASSNAME班级名称VARCHAR20否否SIGN到否VARCHAR5否否8留言记录FEEDBACK包括内容编号,学生编号,课程名称,日期以及反馈内容五个字段,其中反馈内容允许为空,内容编号每次自增1。学生可以通过增加,修改删除此表内容对教师进行反馈。留言板表如表48。表48留言表字段名描述类型长度是否主键是否允许空是否自增1FDID内容编号INTEGER10是否是STUDENTID学生编号VARCHAR10否否否COURSENAME课程名称VARCHAR20否否否DATETIME日期DATE0否否否CONTEXT反馈内容TEXT0否是否以上将教务处子系统中数据库概念结构设计的ER图转换成SQLITE与MICROSOFTSQLSERVER2000所支持的数据模型相符合的结构,只需使用数据定义语言将数据库逻辑设计和物理设计的结果严格描述出来,再经过调试产生目标模式就可以组织数据入库,进行数据库实施。44代码设计在代码设计这部分,将具体设计整个系统所用的大概逻辑框架,为详细设计提供必要的参考,以及各模块编程的规范,参数的传递以及函数的接口。1首先,全局变量的传递。学生登陆后要记录该学生用户个人信息,以便完成后续的功能查询,因此学生的学号信息要传递到STUDENTID这个全局变量中,其他功能查询时,接受此变量的值即可使用学号查询,学生姓名传递到STUDENTNAME这个全局变量中,学生所在班级号传递到CLASSID中。同样,在每个功能选择查询课程的时候,可将课程名称传递到COURSENAME这个变量中,其他函数调用时,即可接受此变量的值。2所有的ACTIVITY类学要写在一个ACTIVITY的PACKAGE内,所有的数据库操作函数都要写在一个DAO的PACKAGE,所有的结构类都要写在一个MODEL的PACKAGE中,每个类的名字和函数的名字都要用易读的名称,以便系统的修改,更行等操作。3在重要的函数和类成员旁边加上注释,增加可读性。4学生表储存在“CHECKDB”的数据库文件,供登陆时查询。5数据库的其他表统一储存在数据库文件“MYDATADB”中,以便调用。6每个函数的代码应控制在50行以内,参数传递控制在三个以内,以便增加系统可读性。7服务器端接收客户端请求端号为4567,向客户端发送信息端号为4568通过总体设计对软件的结构框架有了整体的认识,对系统的每个模块的功能都有了清晰的了解。下面便可以通过详细设计来实现整个系统。5详细设计51手机客户端511学生登陆模块手机客户端首先下载或更新“MYDATADB”更新本地数据库。然后客户端通过查询本地数据库检验用户输入的登录信息是否正确,如若信息不正确则传递提示错误信息,由客户端TOAST出错误提示如图52,若信息正确,提示登陆成功如图53,将学号传递给STUDENTID,学生姓名传递给STUDENTNAME,班级号传递给CLASSID,并进入下一功能界面。网络功能使用SOCKET来传递客户端和服务器端的信息。客户端需要SOCKET这个类的对象,而服务器端同样需要一个叫SERVERSOCKET的类对象,由客户端发送一个SOCKET请求,服务器端的SERVERSOCKET监听计算机的某一个端口号4567,监听到客户端发送的请求之后,那么服务器端和客户端通讯通道就建立起来了,此时客户端和服务器端可同时向对方发送数据及相应信息。客户端发送数据需要用到IO流里面的OUTPUTSTREAM,通过OUTPUTSTREAM将数据发送给服务器端,服务器端用INPUTSTREAM来读取客户端当中用OUTPUTSTREAM所写入的数据,同样,服务器端想将数据库文件发送给客户端时,那么就使用OUTPUTSTREAM写出数据,在客户端通过INPUTSTREAM把服务器端当中通过OUTPUTSTREAM所写入的数据给它读取出来。图51登录界面图52登录失败提示图53登录成功提示查询登录信息的SQL语句为例如服务器端接收的学号为SID,密码为PWORDSELECTSTUDENTNAME,PASSWORDFROMSTUDENTWHERESTUDENTIDSID若数据库中无SID对应信息,则返回错误信息,若有,服务器端验证PASSWORDPWORD,匹配则返回成功信息,传递“MYDATADB”,不匹配则返回错误信息。512签到模块签到模块主要功能是查看登录学生的各门课程课程的签到情况。首先,先搜索该学生都学习了哪些课程,查询课程名称的SQL语句如下例如STUDENTID001SELECTCOURSENAMEAS_IDFROMCOURSE,CSWHERESTUDENTID001ANDCOURSECOURSEIDCSCOURSEID查找到的课程名通过LISTVIEW显示在界面中。图54签到模块选择班级界面点击课程名称,将执行操作将点击的LISTVIEW中的课程名传递到COURSENAME,即STRINGCOURSENAMETEXTVIEWVIEWGETTEXTTOSTRING然后执行如下SQL语句查询签到信息例如点击为数据结构SELECTDATETIMEAS_ID,SIGNFROMSIGNDATAWHERECOURSENAME数据结构ANDSTUDENTID001便搜索到如图55图55个人签到情况界面513作业模块作业模块主要功能是查看登录学生的各个科目的作业情况情况,学生可以选择科目,查看对应科目所留作业的时间内容和自己得到的分数。首先通过数据库搜索到学生所学课程。点击图56界面中的课程图56作业模块选择班级界面同签到模块一样,将课程名传到COURSENAME中,然后由课程名称COURSENAME找到课程编号例如COURSENAME08信计SELECTCOURSEIDFROMCOURSEWHERECOURSENAME08信计由COURSEID以及CLASSID查询班级中留下的作业例如COURSEID08信计,CLASSID001SELECTHWIDAS_ID,DATETIME,QUESTIONFROMHWWHERECLASSID001ANDCOURSEID08信计将转到作业历史界面图57作业信息界面点击单个作业记录,执行如下SQL语句例如HWID0001,STUDENTID001SELECTSCOREFROMHWDATAWHEREHWID0001ANDSTUDENTID001找到学生得分后显示QUESTION和SCORE的内容,如图58所示图58作业题目和得分514反馈模块反馈模块主要功能是进行学生对教师上课内容或作业内容进行反馈,将自己的疑问好的意见和建议提交给老师,供老师查看。这个模块可以完成学生进行反馈信息的增加,删除和修改功能。同签到模块和作业模块相同,一开始用数据库选出学生所学科目。图58反馈功能选择班级界面课程选择完成后,将科目名称传递到COURSENAME中,例如COURSENAME离散数学。在数据库中搜索登录学生先前发表的反馈SQL语句如下SELECTCONTEXTFROMFEEDBACKWHERESTUDENTID001ANDCOURSENAME离散数学然后进入反馈界面,如下图59图59反馈功能界面在文本框中输入需要进行的反馈,点击反馈按钮,将输入信息写入数据库,判断数据库是否为空,为空则插入FDID1,不为空则不用插入FDID。添加反馈信息的SQL语句如下INSERTINTOFEEDBACKFDID,STUDENTID,COURSENAME,DATETIME,CONTEXTVALUES1,001,离散数学,2012428,第一个问题不会点击手机MENU键,屏幕底端会出现修改和删除按钮,选中所要删除和修改的内容,可以进行对反馈内容的修改和删除。删除反馈信息的SQL语句DELETEFROMFEEDBACKWHEREFDID_ID修改反馈信息的SQL语句UDPATEFEEDBACKSETCONTEXT第二个问题不会WHERESORTID_ID每次更新数据库,则发送完毕后通过SOCKET将数据库语句发送给服务器端,并使服务器端进行数据库更新,使手机客户端的信息与服务器端信息实现同步。至此,手机客户端的主要功能已经实现,软件的代码编写思路,数据库查询语句和界面设计都已经很清晰得以阐述,需求中的要求都得以了实现。52服务器端模块521通讯数据格式定义服务器端主要用来接收客户端发来的信息,进行相应的操作,并将数据返回给客户端,同时对服务器端数据库进行管理。本系统利用SOCKET机制实现服务器端与客户端之间数据的传送,并且要对数据格式进行规范。服务器端向客户端发送数据的格式定义为表51的形式。表51客户端向服务器端发送数据的格式头信息客户端IP地址信息内容02021242522XXXX头信息定义为0该信息为请求下载数据库文件和传递用户参数,1该信息为请求添加数据,2该信息为请求删除数据,3该信息为请求删除数据。服务器端向客户端发送数据的格式定义为表52的形式。表52服务器端向客户端发送数据的格式头信息服务器端IP地址信息内容019315423XXXXX头信息定义为1该信息为数据库文件,2该信息为操作返回信息。522接收客户端发来的请求信息功能模块服务器端接收客户端的请求信息,通过建立一个一直运行的线程保持监听客户端发来的请求信息。部分代码如下NPRIVATECLASSSERVERTHREADEXTENDSTHREAD/接收信息线程PUBLICVOIDRUN/声明一个SERVERSOCKET对象SERVERSOCKETSERVERNULLWHILETRUE/无线循环TRYSERVERNEWSERVERSOCKET4567/定义接受端口CLIENTSERVERACCEPT/INNEWBUFFEREDREADERNEWINPUTSTREAMREADERCLIENTGETINPUTSTREAM/定义输入流THISREQUESTINREADLINE/获取信息THISHEADTHISREQUESTSUBSTRING0,1/剥离头信息IFTHISHEADEQUALS“0”/判断头信息数据库参数请求格式如下以添加为例INSERTINTOTABLE1,TABLE2,TABLE3CONTEXT1,CONTEXT2,CONTEXT3,CONTEXT4,CONTEXT5,CONTEXT6,CONTEXT7,CONTEXT8,CONTEXT9,CONTEXT10VALUES,在本系统所用添加删除修改最多不超过三个表,添加内容不会超过10个内容,传递数据时参数形式为DATANEWBYTE1024,DATA“TABLE1”,“TABLE2”,“TABLE3”,“CONTEXT1”,“CONTEXT2”,“CONTEXT3”,“CONTEXT4”,“CONTEXT5”,“CONTEXT6”,“CONTEXT7”,“CONTEXT8”,“CONTEXT9”,“CONTEXT10”其中若TABLE或CONTEXT为空,我们统一设定其为1。同样,修改,删除形式如上523发送返回数据模块在服务器端接收到客户端发来的请求时,服务器端将从数据库中查询相关内容返回给客户端。将模拟器的4567端口绑定到4568端口,代码如下RUNTIMEGETRUNEXECTHISADB_PATH”FORWARDTCP4568TCP4567”QIZHONGADB_PATH为ADB即为ANDROIDDEBUGBRIDGE所在路径。绑定端口后,想模拟器4567端口发送的信息其实是通过4568端口发送的。服务器端发送返回数据的代码如下SOCKETCLIENTNEWSOCKET“LOCALHOST”,4567OBJECTOUTPUTSTREAMOUTNEWOBJECTOUTPUTSTREAMCLIENTGETOUTPUTSRTREAMOUTWRITEOBJECTDATA/DATA为数据内容53网页客户端由于考虑到学生经济条件的不平均,不能保证每个学生都能拥有一部ANDROID手机,以至于部分学生不能使用此软件,导致学生不能正常查看自己作业签到情况,不能将好的建议意见提交给老师,影响正常的学习生活,网页学生客户端是必要的。网页客户端的主要功能同手机客户端的功能大体相似,分为五个模块登陆模块,功能选择模块,签到模块,作业模块以及反馈模块。531登录模块登录模块同样用于学生身份的验证,在服务器端验证用户名与密码正确与否。SQL语句较手机客户端稍有不同。例学号001,密码1234的学生信息查询SQL语句为SELECTFROMSTUDENTWHERESTUDENTID001ANDPASSWORD1234若查找到学生信息则登陆成功,否则,登录失败。网页客户端登陆界面如图510。图510网页端登陆界面532功能选择模块此模块是较手机客户端多出的一个小模块,由于手机客户端可用TABHOST分页显示出三个模块,网页客户端受到网页制作的限制,只得添加一个功能选择模块实现各功能页面的跳转。这里使用RADIOBUTTON选择页面的跳转。功能选择界面如图511。图511选择功能页面533签到模块通过功能选择模块跳转到签到页面,服务器会在数据库中自动搜索出登陆学生所学习的课程。查询课程的SQL语句与手机客户端相似,以STUDENTID001为例SELECTCOURSENAMEFROMCOURSE,CSWHERESTUDENTID001ANDCOURSECOURSEIDCSCOURSEID然后将课程名称输出到COMBOBOX中,点击所要查询的课程,服务器会查询登录学生在此门课程中的签到情况。以选择数据结构为例,签到信息查询SQL语句为SELECTSTUDENTNAME,DATETIME,SIGNFROMSTUDENTID,SIGNDATAWHERECOURSENAME数据结构ANDSTUDENTID001自动刷新页面后,将搜索到的信息显示在网页上。界面如下图512所示。图512签到页面534作业模块通过功能选择模块跳转到作业页面,过程同签到模块相似,服务器通过搜索学生所学课程,并将课程信息传递给COMBOBOX中,选择相应课程,以课程选择数据结构为例,服务器将执行如下SQL语句SELECTHWHWID,DATETIME,QUESTION,SCOREFROMHW,HWDATA,STUDENTWHERECOURSEIDANDSTUDENTSTUDENTIDANDHWDATAHWIDHWHWIDANDHWCLASSIDSTUDENTCLASSID查询完成后将刷新页面,将查询信息输出到作业页面上。作业界面如下。图513作业页面535反馈模块通过功能选择模块跳转到反馈页面。进入反馈页面之前,同签到,作业页面相同,学生课

温馨提示

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

评论

0/150

提交评论