基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc

上传人:小飞机 文档编号:4958033 上传时间:2023-05-26 格式:DOC 页数:38 大小:1.99MB
返回 下载 相关 举报
基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc_第1页
第1页 / 共38页
基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc_第2页
第2页 / 共38页
基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc_第3页
第3页 / 共38页
基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc_第4页
第4页 / 共38页
基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于安卓系统的教学管理系统学生客户端的设计与实现毕业论文.doc(38页珍藏版)》请在三一办公上搜索。

1、 基于安卓系统的教学管理系统-学生客户端的设计与实现毕业论文目录1引言12课题背景与可行性分析22.1课题背景22.2可行性分析22.3结论意见32.4开发工具简介33需求分析63.1特性需求分析63.2功能需求分析64总体设计114.1硬件配置设计114.2系统模块结构设计114.3数据库设计124.4代码设计195详细设计205.1手机客户端205.2服务器端模块205.3网页客户端286总结34参考文献35致谢36.WORD版本. 1引言随着科技的发展,移动通讯平台在不断地发展中愈来愈加成熟,预计2012年中国手机市场销量将达到3亿部,全球销量更是会超过10亿部,其中,安卓系统在手机中的

2、发展最为迅速。2012年1月20日,谷歌报告显示,通过谷歌服务器激活的Android设备用户总数已经超过2.5亿,而Android在中国大陆的智能手机操作系统市场占有率达到了68.4%。安卓系统以其开放的平台,众多、免费的应用,华丽、新鲜的运行界面,简单、亲切的用户体验而备受消费者的喜爱。在高校中,由于教师与学生之间往往只是在上课的时候才能见面,师生之间的交流并不是十分活跃,教师对于签到,布置作业,学生们对上课效果的反馈等等很多时候都不能及时解决和处理,而学生对于自己的签到记录,各个科目布置的作业题目和以及分数也往往不能明了,自己在学习上的问题也不能及时地反映给老师,影响正常的学习生活。基于A

3、ndroid系统的教学管理系统则是一款建立在安卓平台的软件,致力于为广大师生工作与学习提供便利,系统突破传统交流的时空限制,实现师生之间的方便有效地交流。基于Android系统的教学管理系统分为两个部分,一部分为教师客户端,为教师在对学生的签到,作业的布置评分等处理以及查看学生的反馈提供方面上便利。另一部分为学生客户端,学生可以通过此客户端查看自己签到状况,查看作业题目评分,以及进行反馈。由于考虑到学生可能不能每人都拥有一部安卓设备,此系统将会提供网页客户端,学生可以通过网页实现客户端容。本论文将对学生客户端,包括安卓客户端与网页客户端的实现进行详细的阐述,实现系统的C/S与B/S两个模式。2

4、课题背景与可行性分析2.1课题背景随着移动平台的成熟以及互联网的不断发展,手机等移动设备已经极大地普及,人们可以在随时随地用指尖去完成各种以往繁琐的事情。由于在高校中师生交流的不顺畅,严重影响着教师的教学工作和学生的学习生活,因此亟需一款软件去简化教师的工作,实现教师与学生简单方便地交流。考虑到安卓系统的迅速发展和极高的普遍率,以及其平台的开放性和友好的界面,这款基于Android系统的教学管理系统便应运而生了。该系统可以很轻松的实现师生间良好的互动,帮助教师完成签到,布置作业,打分以及查看学生反馈信息等功能,提高工作效率简化工作容的同时更好的完成教学任务,帮助学生实现查看自己签到情况,查看布

5、置的作业和打分情况以及对教师进行反馈,方便高效的完成学习任务。网页客户端可以弥补手机客户端的缺陷,更好的实现系统功能,帮助师生完成教学任务和学习任务。2.2可行性分析近些年,移动设备的高速发展,使得手机等移动设备高速智能化,移动网络通信正在以前所未有的惊人速度走入人们的生活、工作和学习中,提高了工作学习的效率,增加了获取信息的渠道,突破了相互交流的时空界限。教学管理系统可以基于移动平台安卓系统进行开发,帮助师生轻松解决教学中工作学习等问题。可行性分析既不能以偏盖全,也不能过于追求细节,必须为决策提供有价值的证据。软件领域的可行性分析主要考虑四个因素:技术可行性分析,经济、社会效益分析,法律可行

6、性分析,开发人员与进程可行性分析。技术可行性分析:安卓系统是基于Java编写的,因此手机客户端采用Eclipse配上AndroidSDK,完全可以实现系统功能,开发人员都具有一定Java功底,加之安卓平台开放性,网上很轻松的可以查看到各种实现代码,手机客户端在技术上是可行的。网页客户端用ASP.NET (C#)编写,在Visual Studio 2005环境下实现,ASP.NET运用面向对象的编程思想进行Web开发,并且是以编译方式执行,具有较高的开发效率和运行性能。后台数据库软件选用微软公司的大型数据库服务器SQL Server 2000。因此在技术上是可行的。经济、社会效益分析:主要进行成

7、本-效益分析。从成本方面看,本系统的实现,计算机和网络硬件已经拥有,由于安卓是个开放的平台,Eclipse与AndroidSDK都是免费提供的,网络客户端所用软件也都已经配备,因此成本很低;从效益方面看,本客户端主要是为广大师生提供便利,暂时还不会带来任何经济收益,不过经过完善后可以考虑作为产品在社会上推广,加上安卓系统的广泛应用,相信产品的盈利空间是很大的。法律可行性分析:从法律角度看,Android是个开放的平台,代码是开放的,加上基于Android的教学管理系统主要为师生提供便利,作为毕业设计,并不以盈利为目的,且是自主开发设计,因此不会在社会上引起侵权或其它责任问题,在法律上是可行的。

8、开发人员与进程可行性分析:开发人员都有一定的Java开发功底,并且学习能力较强以及指导老师的悉心教导完全可以胜任此次开发。由于此系统开发并不是以盈利为目的,开发周期可以相对较长,因此开发进程方面是可行的。2.3结论意见经过几个不同角度的可行性分析,可以确定该系统能够开发。2.4开发工具简介2.4.1Android及SDK介绍SDK指是软件开发包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDk指的既是Android专属的软件开发工具包。Android是Google公司推出的手机开发平台,和iPhone相似,Androi

9、d使用了WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,在手机上可以实现查看电子、搜索网址和观看视频节目等功能,较iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。Android手机系统最震撼人心之处在于其开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时 拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁,使得应用的安装更加方便;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。2.4.2Eclipse简介

10、Eclipse是一个著名的跨平台的自由集成开发环境软件。最初主要用来Java语言开发,现在人们可以通过安装插件使其作为C+、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是随着众多插件的产生,使得Eclipse拥有很好的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。虽然大多数用户更加乐于将Eclipse当作Java集成开发环境来使用,但Eclipse的作用已经不仅限于此。Eclipse还是含有插件开发环境,这个组件主允许希望扩展Eclipse的软件开发人员构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给E

11、clipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如容管理系统。本系统即通过Eclipse,添加Android做插件,匹配上AndroidSDK进行软件的开发。2.4.3ASP.NET简介ASP.NET是.NET框架的一部分,是一种建立动态Web应用程序的技术

12、。.NET框架(即.NET Framework)是支持生成、运行下一代应用程序和XML Web服务的部Windows组件,是Visual Studio.NET应用程序开发环境的核心。它定义了语言之间互操作的规则,以及如何把应用程序编辑为可执行代码,还负责管理任何Visual Studio.NET语言创建的应用程序的执行。.NET是Microsoft面向XML Web服务的平台,它使用一种统一的、个性化的方式将信息、设备和人员紧密地联系在一起。ASP.NET可以使用任何兼容.net平台的语言进行开发,具有较强的兼容性。由于ASP.NET是编译执行,因而比解释执行的ASP等开发方式具有更高的效率,

13、而且在面向对象性、数据库连接、大型站点应用等方面都体现出较好的性能。此外,ASP.NET还可以利用.NET平台架构的诸多优越性能,如类型安全以及对XML、SOAP、WSDL等Internent标准的强大支持。在ASP.NET页面中,可以使用ASP.NET服务器端控件来建立常用的用户接口元素,并对其进行编程;可以使用建可重用组件和自定义组件快速建立Web Form,从而使代码大大简化。相对原有的Web技术而言,ASP.NET提供的编程模型和结构有助于快速、高效地建立灵活、安全和稳定的应用程序。ASP.NET提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。A

14、SP.NET也提供了一种新的编程模型和结构,可以生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。当前,ASP.NET 2.0已逐渐被广泛使用。本系统采用C#作为开发语言,C#是.NET平台的通用开发工具,它能够建造所有的.NET应用。其固有的特性决定了它是一种高效、安全、灵活的现代程序设计语言。C#与.NET平台的结合足以为毕业设计综合管理系统提供完整的解决方案。2.4.4SQL Server 2000简介随着社会信息化的不断发展,人们面对的各种类型的数据信息正在呈现出爆炸式增长的态势,因而对数据的安全存储和高效管理具有越发明显的重要性。存储和管理数据需要使用数据库管理系统,不但需要后

15、台数据库对数据的安全存储,而且需要前台应用程序对数的方便高效管理。当前的数据库产品主要有Acess,MySql等小型数据库,以及 SQL Server,Oracle等大型数据库。鉴于毕业设计管理系统的数据量,可以选择SQL Server数据库。毕业设计管理系统不但要存储教师和学生的基本信息,而且要实现一些重要流程和必要操作,如课题的申请、审批和选择,毕业设计时间表的安排、论文的评阅答辩以及在线答疑等。这些除了需要对基本数据进行存储外,还需要开发专门的数据库系统来帮助对其进行管理。毕业设计综合管理系统需要实现数据库的建立和连接、系统界面的设计以及各个功能模块的设计和开发。该系统的开发过程主要包括

16、需求分析、系统设计、数据库设计、编码设计、软件测试等。系统采用模块化开发方法,每个模块各自实现相应的子功能,最后进行集成,共同实现系统的功能。2.4.5Visual Studio.NET 2005简介ASP.NET的开发环境有多种选择,该系统的开发选择Visual Studio.NET 2005。Visual Studio.NET 2005是一套完整的开发工具,用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。该环境提供了常用控件,直接拖动的开发方式提高了开发效率。而且可以创建自定义控件,使程序具有更好的扩展性、可维护性以及重用性。此外,Vi

17、sual Basic.NET、Visual C+.NET、Visual C#.NET和Visual J#.NET使用统一的集成开发环境,该环境允许它们共享并创建混合语言解决方案;这些语言都利用.NET Framework的功能,它提供了对简化ASP.NET Web应用程序和XML Web Services开发关键技术的访问。因此,使用Visual Studio.NET 2005作为开发环境进行高效开发乃是最佳选择。3需求分析3.1特性需求分析一个好的教学管理系统应该具有一下特性:(1)易操作和功能简单明确不令人误解。一个良好的教学管理系统应该功能明确,没有二义性,用户可以很明了的通过界面明白各

18、项功能的实现方法,而不是看到界面不知道各按钮的具体用途,即操作简单,界面友好。学生可以根据手机界面或网页界面很明白的进行对签到记录,作业情况的查询,并能够将自己的反馈及时提交给老师。(2)软件功能流畅,不拖沓。软件登陆,连接网络不能让用户等待时间过长,引起用户的烦躁。软件在运行不能发生崩溃,卡顿等问题,整个界面操作起来很流畅。(3)系统应该容易维护以及更新。系统各个模块设计应该很明确,核心代码处应有必要的注释,使得今后的软件维护,软件更新等操作应该能够顺利的进行。 3.2功能需求分析学生客户端教学管理系统应该能完成四种功能包括登录功能,签到情况查询功能,作业情况以及评分情况查询功能和向教师进行

19、反馈功能,并且能手机客户端形式与网页客户端两种形式实现上述功能,保证系统的正常运行。系统用例图如图3-1。图3-1教学信息管理系统用例图(1)登录功能进行学生身份的验证。手机客户端把学生学号密码通过网路传递给服务器,有服务器进行数据库查询,如若学号和密码匹配,则将学生信息和数据库容传递到手机端,不匹配则返回错误信息提示错误。网页客户端相似,若学号密码匹配,则进入系统,不匹配则拒绝登录。系统用例图如图3-2。图3-2登录功能用例图(2)签到情况查询功能可以提供给学生查询自己相应课程的签到情况,学生可以选择查询的课程名称,查看各个课程的考勤时间,和相应自己的签到记录。用例图如3-3。图3-3签到功

20、能用例图(3)作业容评分情况查询功能提供给学生查询每个课程作业的情况,学生通过选择需要查询的课程,查看此课程教师留下的作业的作业号,日期和作业题目等容,并可以查询自己在此项作业中得到的分数。用例图如图3-4所示。图3-4作业功能用例图(4)反馈功能则是学生向教师提出意见和建议的平台,学生可以通过此平台,选择想进行反馈的课程,给课程老师留言,查询修改和删除以往的反馈容,课程老师可以通过教师客户端查看学生留言。用例图如图3-5所示。图3-5反馈功能用例图3.3数据流图数据流图描绘信息流和数据从输入移动到输出的过程中所经受的变换,它反映系统必须完成的逻辑功能。从数据传递和加工的角度,以图形的方式刻画

21、数据流从输入到输出的移动变换过程。教学管理系统的运行同样离不开信息流和数据流移动变换,数据流图的描绘可以帮助开发者更好地理清整个程序的运行过程和参数传递。(1)学生登录功能主要是在服务器端进行的。学生用户在登录界面输入学号和密码,手机客户端会通过网络将学号和密码传送给服务器,服务器查询数据库,验证学号和密码是否与学生表中记录相同,如若两者和数据库中信息正确,则将客户端需要的数据库文件和信息传递过去。登陆功能数据流图如图3-6。图3-6登陆功能数据流图(2)手机客户端中学生签到功能通过查询下载的数据库文件实现。学生登陆成功后,学号信息会记录在手机中,查询数据库是可以被引用,进入签到功能界面,选择

22、需要查看的课程,选择完成后,系统会将课程名称记录下来,根据学号和课程名称信息查询此课程学生用户的签到情况。签到功能数据流图如图3-7。图图3-7签到功能数据流图(3)在进入作业功能界面时,学号信息会被记录下来,学生选择查询的课程,记录下课程名称,根据学号与课程名称查询数据库,显示出查询到的作业信息,学生选择某一个作业,通过学号信息查询自己的得分情况。作业功能数据流程如图3-8。图3-8作业功能数据流图(4)同签到功能和作业功能相同,进入反馈界面时,学号,信息被记录,学生选择反馈的课程,记录下课程名称,根据学号和课程名称查询数据库,进入反馈界面后,学生可以选择直接对课程进行添加反馈,也可以修改和

23、删除反馈信息,完成相关操作后,数据会上传数据库,教师端通过查询数据库查看反馈信息。反馈功能数据流图如图3-9。图3-9作业功能数据流图4总体设计总体设计即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。它包括:硬件配置设计、系统模块结构设计、数据库设计、代码设计等容。软件功能分解属于下列软件开发中的总体设计阶段。4.1硬件配置设计(1)手机客户端:Android系统要求:Android 2.3.3及其以上。手机配置:存 256M及其以上。主频 600HZ及其以上。(2)网页客户端:系统要求:window xp,vista以及win7,Linux等硬件配置:处理器:奔腾4

24、处理器及以上;存:1G及其以上。硬盘:20G及其以上。4.2系统模块结构设计教学管理系统学生客户端主要提供学生登陆,查询签到情况,查询作业情况,反馈信息四项功能,因此可以将系统分为四个模块:登陆模块,签到模块,作业模块,反馈模块。考勤系统学生客户端登陆模块签到模块作业模块反馈模块网络传递功能选择课程功能查看作业得分功能修改反馈信息功能查看签到信息功能查看作业内容功能添加反馈信息功能验证信息功能删除反馈信息功能图4-1考勤系统结构图系统的主要功能概述:(1)登录模块包括验证信息功能和网络传递功能,学生可以通过此模块输入学号密码,通过网络将输入的学号和密码传递给服务器,服务器通过搜索数据库验证密码

25、和学号是否匹配,若不匹配则传递提示错误信息给相应客户端,若匹配则传递给手机客户端需要的数据库文件和学生信息,网页客户端则直接进入功能界面。(2)签到模块包括选择课程功能和查看签到信息功能。学生进入界面后可以选择需要查询的课程,然后通过课程名称和学号查询数据库,搜索出登陆学生和对应课程的签到信息,显示在签到信息界面。(3)作业模块包括查看作业容功能和查看作业评分容。学生进入作业查询界面后,可以选择需要查询的课程,在数据库中搜索对应课程的作业信息,显示在作业情况界面,点击单个作业情况,可以查看作业题目的具体容,并查询数据库,显示该作业的登录学生的个人得分情况。(4)反馈模块包括添加反馈信息功能,删

26、除反馈信息功能和修改反馈信息功能。学生先选择需要反馈的课程,然后进入反馈信息界面。在反馈信息可以进行添加,修改和删除反馈信息功能,添加修改删除完成后,对数据库进行更改,然后由网络发送信息使服务器也进行相应更改,使客户端和数据库端信息实现同步。4.3数据库设计4.3.1数据库概念结构设计实体-联系图,即E-R图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型,在数据库系统概论中属于概念设计阶段。E-R图的设计与建立,可以帮助开发者更加合理的去制定数据库容,使得在开发过程中对数据库的各种操作(添加,查询,修改或删除)变得简单易行。教学管理系统学生客户端的实体联系图的实体主要包括学生

27、,班级,课程,签到记录,作业,留言板和教师实体。其中,班级和学生之间是一对多的关系;签到记录和学生之间是一对多的关系;教师与签到记录之间是一对多的关系;课程与教师之间是一对多的关系;教师与作业之间是一对多的关系;课程与作业之间是一对多的关系;学生与留言记录之间是一对多的关系;教师与留言记录之间是一对多的关系。由于每个课程都可以有很多学生选,而每个学生可以选很多课程,所以两者之间是多对多的关系;由于每个学生都要有评分,因此作业与学生之间有对应关系,而每个作业对应的是一个班级所有学生的,而每个学生可以有很多作业,因此作业和学生之间是多对多的关系。教学管理系统的实体联系图如图4-2所示。学生班级在N

28、课程作业选课NM作业记录MN留签到1NNN教1教师反馈1N1留言记录查看1N1签到记录点名1N 有1N图4-2教学管理系统E-R图部分实体图如下:学 生学号密码班级号姓名(1)学生实体图包括四个属性,其中包括学号,密码以及班级号,学号密码两个属性可以用来作为身份验证,供登录模块使用,班级号作为与班级实体对应,学号与实现与其他实体连接。学生实体图如图4-3。图4-3学生实体图(2)课程实体图包括两个属性,分别为课程名称与课程号。两个属性可以连接学生实体,教师实体以及作业实体。课程实体如图4-4所示。课程名课程号课 程图4-4课程实体图(3)班级实体图包括两个属性,分别为班级名称与班级号。两个属性

29、可以连接学生实体。班级实体如图4-5所示。班 级班级名班级号图4-5班级实体图(4)作业实体图包括作业号,课程号,日期,班级号以及作业题目五项属性。作业题目记录着作业的详细容,日期记录者作业的日期,课程号和班级对应着哪个班哪个课程留的作业,作业号联系着学生,教师以及课程实体。作业实体图如图4-6。作 业作业号课程号班级号题 目日期图4-6作业实体图(5)留言记录实体图包括容编号,学生编号,班级号,日期,课程号,反馈容六个属性。学生号,班级号和课程号记录着哪个班级的哪个课程的哪个学生留下的反馈信息,日期对应着反馈信息时间,通过容号找出某个留言信息。实体图如图4-7。留言记录学生号班级号课程号内容

30、号反馈内容日期图4-7留言记录实体图(6)签到记录实体图包括学生编号,班级名,日期,课程名,到否五个属性。学生号,班级名和课程名记录着哪个班级的哪个课程的哪个学生的签到信息,日期对应着学生签到的时间,到否记录该学生此次考勤是否签到。实体图如图4-8。签到记录学生号课程名班级名到否日期图4-8签到记录实体图(7)教师实体图包括教师号,密码,以及教师三项属性。教师实体主要应用于教师客户端,学生客户端不涉及到教师实体。实体图如图4-9。教 师教师号姓名密码图4-9教师实体图4.3.2数据库的物理结构设计根据以上的实体属性集可以建立相应的数据库表结构,其中教学管理系统学生客户端主要用到的数据库表结构如

31、下所示。(1)学生表(student)包括学号,密码,与班级号四个字段。教学管理系统学生客户端需要通过查询学生表验证学生信息,查询登陆者是否属于学校人员,并将学生信息的部分容反馈给客户端。学生表如表4-1。表4-1学生表字段名描述类型长度是否允许为空是否主键classid学号Varchar10否是studentnameVarchar20否否password密码Varchar10否否classid班级号Varchar10否否(2)班级表(class)包括班级号与班级名两个字段。教学管理系统无论学生端还是教师端都需要查询班级容,将班级容从学生表和教师表中提取出来可以简化数据库的相关操作。班级表如表

32、4-2所示。表4-2班级表字段名描述类型长度是否允许为空是否主键classid班级号Varchar10否是classname班级名Varchar20否否(3)课程表(course)包括课程编号与课程名两个字段。学生无论是查询签到情况,作业情况还是反馈信息,都需要选择课程,因此课程表是必须的。课程表如表4-3。表4-3课程表字段名描述类型长度是否允许为空是否主键courseid课程编号Varchar10否是coursename 课程名Varchar20否否(4)选课表(cs)包括学生编号和课程信息两个字段。由于学生与课程之间是多对多的关系,因此需要在两个表之间添加一选课表联系两表。选课表如表4-

33、4:表4-4选课表字段名描述类型长度是否允许为空是否主键studentid学生编号Varchar10否是courseid课程编号Varchar10否是(5)作业表(hw)是用来记录每个班级作业的具体情况,学生查看作业容需要查询此表。作业表包括作业编号,课程编号,班级号,日期和题目五个字段其中问题容可以为空,hwid要求每次自增1。 作业表如表4-5。表4-5作业表字段名描述类型长度是否主键是否允许空是否自增1hwid作业编号Varchar10是否是courseid课程编号Varchar10否否否classid班级号Varchar10否否否datetime日期Date0否否否question题目

34、Text0否是否(6)作业表(hwdata)包括作业编号,学生编号,分数三个字段,其中分数采用5分制。由于作业与学生之间是多对多的关系,因此需要创建一个作业记录表来关联两个表,学生可以通过查询此表来查询自己的成绩。作业记录表如表4-6。表4-6作业记录表字段名描述类型长度是否允许为空是否主键hwid作业编号Varchar10否是studentid学生编号Varchar10否是score分数Integer0否否(7)签到记录表(signdata)包括五个字段,分别为学生编号,课程名称,日期,班级名称和到否。学生可以通过这个表来查询自己每个课程的签到情况。签到记录表如表4-7。表4-7签到记录表字

35、段名描述类型长度是否允许为空是否主键studentid学生编号Varchar10否是coursename课程名称Varchar20否是datetime日期Date0否是classname班级名称Varchar20否否sign到否Varchar5否否(8)留言记录(feedback)包括容编号,学生编号,课程名称,日期以及反馈容五个字段,其中反馈容允许为空,容编号每次自增1。学生可以通过增加,修改删除此表容对教师进行反馈。留言板表如表4-8。表4-8留言表字段名描述类型长度是否主键是否允许空是否自增1fdid容编号Integer10是否是studentid学生编号Varchar10否否否cour

36、sename课程名称Varchar20否否否datetime日期Date0否否否context反馈容Text0否是否以上将教务处子系统中数据库概念结构设计的E-R图转换成SQLITE与Microsoft SQL Server2000 所支持的数据模型相符合的结构,只需使用数据定义语言将数据库逻辑设计和物理设计的结果严格描述出来,再经过调试产生目标模式就可以组织数据入库,进行数据库实施。4.4代码设计在代码设计这部分,将具体设计整个系统所用的大概逻辑框架,为详细设计提供必要的参考,以及各模块编程的规,参数的传递以及函数的接口。(1)首先,全局变量的传递。学生登陆后要记录该学生用户个人信息,以便完

37、成后续的功能查询,因此学生的学号信息要传递到studentid这个全局变量中,其他功能查询时,接受此变量的值即可使用学号查询,学生传递到studentname这个全局变量中,学生所在班级号传递到classid中。同样,在每个功能选择查询课程的时候,可将课程名称传递到coursename这个变量中,其他函数调用时,即可接受此变量的值。(2)所有的Activity类学要写在一个activity的package,所有的数据库操作函数都要写在一个DAO的package,所有的结构类都要写在一个model的package中,每个类的名字和函数的名字都要用易读的名称,以便系统的修改,更行等操作。(3)在重

38、要的函数和类成员旁边加上注释,增加可读性。(4)学生表储存在“check.db”的数据库文件,供登陆时查询。(5)数据库的其他表统一储存在数据库文件“mydata.db”中,以便调用。(6)每个函数的代码应控制在50行以,参数传递控制在三个以,以便增加系统可读性。(7)服务器端接收客户端请求端号为4567,向客户端发送信息端号为4568通过总体设计对软件的结构框架有了整体的认识,对系统的每个模块的功能都有了清晰的了解。下面便可以通过详细设计来实现整个系统。5详细设计5.1手机客户端5.1.1学生登陆模块手机客户端首先下载或更新“mydata.db”更新本地数据库。然后客户端通过查询本地数据库检

39、验用户输入的登录信息是否正确,如若信息不正确则传递提示错误信息,由客户端Toast出错误提示(如图5-2),若信息正确,提示登陆成功(如图5-3),将学号传递给studentid,学生传递给studentname,班级号传递给classid,并进入下一功能界面。网络功能使用Socket来传递客户端和服务器端的信息。客户端需要Socket这个类的对象,而服务器端同样需要一个叫ServerSocket的类对象,由客户端发送一个Socket请求,服务器端的ServerSocket监听计算机的某一个端口号(4567),监听到客户端发送的请求之后,那么服务器端和客户端通讯通道就建立起来了,此时客户端和服

40、务器端可同时向对方发送数据及相应信息。客户端发送数据需要用到IO流里面的OutputStream,通过OutputStream将数据发送给服务器端,服务器端用InputStream来读取客户端当中用OutputStream所写入的数据,同样,服务器端想将数据库文件发送给客户端时,那么就使用OutputStream写出数据,在客户端通过InputStream把服务器端当中通过OutputStream所写入的数据给它读取出来。 图5-1登录界面图5-2登录失败提示图5-3登录成功提示查询登录信息的SQL语句为:(例如:服务器端接收的学号为sid,密码为pword)Select studentnam

41、e,passwordFrom student Where studentid = sid若数据库中无sid对应信息,则返回错误信息,若有,服务器端验证password=pword,匹配则返回成功信息,传递“mydata.db”,不匹配则返回错误信息。5.1.2签到模块签到模块主要功能是查看登录学生的各门课程课程的签到情况。首先,先搜索该学生都学习了哪些课程,查询课程名称的SQL语句如下:(例如:studentid=001)Select coursename as _id From course,cs Where studentid=001 and course.courseid=cs.cour

42、seid查找到的课程名通过listview显示在界面中。图5-4签到模块选择班级界面点击课程名称,将执行操作:将点击的listview中的课程名传递到coursename,即String coursename=(TextView)view).getText().toString();然后执行如下SQL语句查询签到信息:(例如:点击为数据结构)Select datetime as _id,sign From signdata Where coursename=数据结构 and studentid=001便搜索到如图5-5:图5-5个人签到情况界面5.1.3作业模块作业模块主要功能是查看登录学生的

43、各个科目的作业情况情况,学生可以选择科目,查看对应科目所留作业的时间容和自己得到的分数。首先通过数据库搜索到学生所学课程。点击图5-6界面中的课程:图5-6作业模块选择班级界面同签到模块一样,将课程名传到coursename中,然后由课程名称coursename找到课程编号:(例如:coursename=08信计)Select courseid From course Where coursename=08信计由courseid以及classid查询班级中留下的作业:(例如:courseid=08信计,classid=001)select hwid as _id,datetime,questi

44、on from hw where classid=001 and courseid=08信计将转到作业历史界面:图5-7作业信息界面点击单个作业记录,执行如下SQL语句:(例如:hwid=0001,studentid=001)Select score From hwdata Where hwid=0001 and studentid=001找到学生得分后显示question和score的容,如图5-8所示:图5-8作业题目和得分5.1.4反馈模块反馈模块主要功能是进行学生对教师上课容或作业容进行反馈,将自己的疑问好的意见和建议提交给老师,供老师查看。这个模块可以完成学生进行反馈信息的增加,删除和修改功能。同签到模块和作业模块相同,一开始用数据库选出学生所学科目。图5-8反馈功能选择班级界面课程选择完成后,将科目名称传递到coursename中,例如coursename=离散数学。在数据库中搜索登录学生先前发表的反馈SQL语句如下:Select contextFrom feedbackWhere studentid=001 and coursename=离散数学然后进入反馈界面,如下图5-9:图5-9反馈功能界面在文本框中输入需要进行的反馈,点击反馈按钮,将输入信息写入数据库,判断数据库是否

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号