基于安卓系统的教学管理系统学生客户端的设计与实现研究报告Word文件下载.docx
《基于安卓系统的教学管理系统学生客户端的设计与实现研究报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于安卓系统的教学管理系统学生客户端的设计与实现研究报告Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
由于在高校中师生交流的不顺畅,严重影响着教师的教学工作和学生的学习生活,因此亟需一款软件去简化教师的工作,实现教师与学生简单方便地交流。
考虑到安卓系统的迅速发展和极高的普遍率,以及其平台的开放性和友好的界面,这款基于Android系统的教学管理系统便应运而生了。
该系统可以很轻松的实现师生间良好的互动,帮助教师完成签到,布置作业,打分以及查看学生反馈信息等功能,提高工作效率简化工作内容的同时更好的完成教学任务,帮助学生实现查看自己签到情况,查看布置的作业和打分情况以及对教师进行反馈,方便高效的完成学习任务。
网页客户端可以弥补手机客户端的缺陷,更好的实现系统功能,帮助师生完成教学任务和学习任务。
2.2 可行性分析
近些年,移动设备的高速发展,使得手机等移动设备高速智能化,移动网络通信正在以前所未有的惊人速度走入人们的生活、工作和学习中,提高了工作学习的效率,增加了获取信息的渠道,突破了相互交流的时空界限。
教学管理系统可以基于移动平台安卓系统进行开发,帮助师生轻松解决教学中工作学习等问题。
可行性分析既不能以偏盖全,也不能过于追求细节,必须为决策提供有价值的证据。
软件领域的可行性分析主要考虑四个因素:
技术可行性分析,经济、社会效益分析,法律可行性分析,开发人员与进程可行性分析。
技术可行性分析:
安卓系统是基于Java编写的,因此手机客户端采用Eclipse配上AndroidSDK,完全可以实现系统功能,开发人员都具有一定Java功底,加之安卓平台开放性,网上很轻松的可以查看到各种实现代码,手机客户端在技术上是可行的。
网页客户端用ASP.NET(C#)编写,在VisualStudio2005环境下实现,ASP.NET运用面向对象的编程思想进行Web开发,并且是以编译方式执行,具有较高的开发效率和运行性能。
后台数据库软件选用微软公司的大型数据库服务器SQLServer2000。
因此在技术上是可行的。
经济、社会效益分析:
主要进行成本-效益分析。
从成本方面看,本系统的实现,计算机和网络硬件已经拥有,由于安卓是个开放的平台,Eclipse与AndroidSDK都是免费提供的,网络客户端所用软件也都已经配备,因此成本很低;
从效益方面看,本客户端主要是为广大师生提供便利,暂时还不会带来任何经济收益,不过经过完善后可以考虑作为产品在社会上推广,加上安卓系统的广泛应用,相信产品的盈利空间是很大的。
法律可行性分析:
从法律角度看,Android是个开放的平台,代码是开放的,加上基于Android的教学管理系统主要为师生提供便利,作为毕业设计,并不以盈利为目的,且是自主开发设计,因此不会在社会上引起侵权或其它责任问题,在法律上是可行的。
开发人员与进程可行性分析:
开发人员都有一定的Java开发功底,并且学习能力较强以及指导老师的悉心教导完全可以胜任此次开发。
由于此系统开发并不是以盈利为目的,开发周期可以相对较长,因此开发进程方面是可行的。
2.3 结论意见
经过几个不同角度的可行性分析,可以确定该系统能够开发。
2.4 开发工具简介
2.4.1 Android及SDK介绍
SDK指是软件开发包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
因此,AndroidSDk指的既是Android专属的软件开发工具包。
Android是Google公司推出的手机开发平台,和iPhone相似,Android使用了WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,在手机上可以实现查看电子邮件、搜索网址和观看视频节目等功能,较iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。
Android手机系统最震撼人心之处在于其开放性和服务免费。
Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁,使得应用的安装更加方便;
同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。
2.4.2 Eclipse简介
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进行软件的开发。
2.4.3 ASP.NET简介
ASP.NET是.NET框架的一部分,是一种建立动态Web应用程序的技术。
.NET框架(即.NETFramework)是支持生成、运行下一代应用程序和XMLWeb服务的内部Windows组件,是VisualStudio.NET应用程序开发环境的核心。
它定义了语言之间互操作的规则,以及如何把应用程序编辑为可执行代码,还负责管理任何VisualStudio.NET语言创建的应用程序的执行。
.NET是Microsoft面向XMLWeb服务的平台,它使用一种统一的、个性化的方式将信息、设备和人员紧密地联系在一起。
ASP.NET可以使用任何兼容.net平台的语言进行开发,具有较强的兼容性。
由于ASP.NET是编译执行,因而比解释执行的ASP等开发方式具有更高的效率,而且在面向对象性、数据库连接、大型站点应用等方面都体现出较好的性能。
此外,ASP.NET还可以利用.NET平台架构的诸多优越性能,如类型安全以及对XML、SOAP、WSDL等Internent标准的强大支持。
在ASP.NET页面中,可以使用ASP.NET服务器端控件来建立常用的用户接口元素,并对其进行编程;
可以使用内建可重用组件和自定义组件快速建立WebForm,从而使代码大大简化。
相对原有的Web技术而言,ASP.NET提供的编程模型和结构有助于快速、高效地建立灵活、安全和稳定的应用程序。
ASP.NET提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。
ASP.NET也提供了一种新的编程模型和结构,可以生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
当前,ASP.NET2.0已逐渐被广泛使用。
本系统采用C#作为开发语言,C#是.NET平台的通用开发工具,它能够建造所有的.NET应用。
其固有的特性决定了它是一种高效、安全、灵活的现代程序设计语言。
C#与.NET平台的结合足以为毕业设计综合管理系统提供完整的解决方案。
2.4.4 SQLServer2000简介
随着社会信息化的不断发展,人们面对的各种类型的数据信息正在呈现出爆炸式增长的态势,因而对数据的安全存储和高效管理具有越发明显的重要性。
存储和管理数据需要使用数据库管理系统,不但需要后台数据库对数据的安全存储,而且需要前台应用程序对数的方便高效管理。
当前的数据库产品主要有Acess,MySql等小型数据库,以及SQLServer,Oracle等大型数据库。
鉴于毕业设计管理系统的数据量,可以选择SQLServer数据库。
毕业设计管理系统不但要存储教师和学生的基本信息,而且要实现一些重要流程和必要操作,如课题的申请、审批和选择,毕业设计时间表的安排、论文的评阅答辩以及在线答疑等。
这些除了需要对基本数据进行存储外,还需要开发专门的数据库系统来帮助对其进行管理。
毕业设计综合管理系统需要实现数据库的建立和连接、系统界面的设计以及各个功能模块的设计和开发。
该系统的开发过程主要包括需求分析、系统设计、数据库设计、编码设计、软件测试等。
系统采用模块化开发方法,每个模块各自实现相应的子功能,最后进行集成,共同实现系统的功能。
2.4.5 VisualStudio.NET2005简介
ASP.NET的开发环境有多种选择,该系统的开发选择VisualStudio.NET2005。
VisualStudio.NET2005是一套完整的开发工具,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。
该环境提供了常用控件,直接拖动的开发方式提高了开发效率。
而且可以创建自定义控件,使程序具有更好的扩展性、可维护性以及重用性。
此外,VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET使用统一的集成开发环境,该环境允许它们共享并创建混合语言解决方案;
这些语言都利用.NETFramework的功能,它提供了对简化ASP.NETWeb应用程序和XMLWebServices开发关键技术的访问。
因此,使用VisualStudio.NET2005作为开发环境进行高效开发乃是最佳选择。
3 需求分析
3.1 特性需求分析
一个好的教学管理系统应该具有一下特性:
(1)易操作和功能简单明确不令人误解。
一个良好的教学管理系统应该功能明确,没有二义性,用户可以很明了的通过界面明白各项功能的实现方法,而不是看到界面不知道各按钮的具体用途,即操作简单,界面友好。
学生可以根据手机界面或网页界面很明白的进行对签到记录,作业情况的查询,并能够将自己的反馈及时提交给老师。
(2)软件功能流畅,不拖沓。
软件登陆,连接网络不能让用户等待时间过长,引起用户的烦躁。
软件在运行不能发生崩溃,卡顿等问题,整个界面操作起来很流畅。
(3)系统应该容易维护以及更新。
系统各个模块设计应该很明确,核心代码处应有必要的注释,使得今后的软件维护,软件更新等操作应该能够顺利的进行。
3.2 功能需求分析
学生客户端教学管理系统应该能完成四种功能包括登录功能,签到情况查询功能,作业情况以及评分情况查询功能和向教师进行反馈功能,并且能手机客户端形式与网页客户端两种形式实现上述功能,保证系统的正常运行。
系统用例图如图3-1。
图3-1 教学信息管理系统用例图
(1)登录功能进行学生身份的验证。
手机客户端把学生学号密码通过网路传递给服务器,有服务器进行数据库查询,如若学号和密码匹配,则将学生信息和数据库内容传递到手机端,不匹配则返回错误信息提示错误。
网页客户端相似,若学号密码匹配,则进入系统,不匹配则拒绝登录。
系统用例图如图3-2。
图3-2 登录功能用例图
(2)签到情况查询功能可以提供给学生查询自己相应课程的签到情况,学生可以选择查询的课程名称,查看各个课程的考勤时间,和相应自己的签到记录。
用例图如3-3。
图3-3 签到功能用例图
(3)作业内容评分情况查询功能提供给学生查询每个课程作业的情况,学生通过选择需要查询的课程,查看此课程教师留下的作业的作业号,日期和作业题目等内容,并可以查询自己在此项作业中得到的分数。
用例图如图3-4所示。
图3-4 作业功能用例图
(4)反馈功能则是学生向教师提出意见和建议的平台,学生可以通过此平台,选择想进行反馈的课程,给课程老师留言,查询修改和删除以往的反馈内容,课程老师可以通过教师客户端查看学生留言。
用例图如图3-5所示。
图3-5 反馈功能用例图
3.3 数据流图
数据流图描绘信息流和数据从输入移动到输出的过程中所经受的变换,它反映系统必须完成的逻辑功能。
从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
教学管理系统的运行同样离不开信息流和数据流移动变换,数据流图的描绘可以帮助开发者更好地理清整个程序的运行过程和参数传递。
(1)学生登录功能主要是在服务器端进行的。
学生用户在登录界面输入学号和密码,手机客户端会通过网络将学号和密码传送给服务器,服务器查询数据库,验证学号和密码是否与学生表中记录相同,如若两者和数据库中信息正确,则将客户端需要的数据库文件和信息传递过去。
登陆功能数据流图如图3-6。
图3-6 登陆功能数据流图
(2)手机客户端中学生签到功能通过查询下载的数据库文件实现。
学生登陆成功后,学号信息会记录在手机中,查询数据库是可以被引用,进入签到功能界面,选择需要查看的课程,选择完成后,系统会将课程名称记录下来,根据学号和课程名称信息查询此课程学生用户的签到情况。
签到功能数据流图如图3-7。
图图3-7 签到功能数据流图
(3)在进入作业功能界面时,学号信息会被记录下来,学生选择查询的课程,记录下课程名称,根据学号与课程名称查询数据库,显示出查询到的作业信息,学生选择某一个作业,通过学号信息查询自己的得分情况。
作业功能数据流程如图3-8。
图3-8 作业功能数据流图
(4)同签到功能和作业功能相同,进入反馈界面时,学号,姓名信息被记录,学生选择反馈的课程,记录下课程名称,根据学号和课程名称查询数据库,进入反馈界面后,学生可以选择直接对课程进行添加反馈,也可以修改和删除反馈信息,完成相关操作后,数据会上传数据库,教师端通过查询数据库查看反馈信息。
反馈功能数据流图如图3-9。
图3-9 作业功能数据流图
4 总体设计
总体设计即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。
它包括:
硬件配置设计、系统模块结构设计、数据库设计、代码设计等内容。
软件功能分解属于下列软件开发中的总体设计阶段。
4.1 硬件配置设计
(1)手机客户端:
Android系统要求:
Android2.3.3及其以上。
手机配置:
内存256M及其以上。
主频600HZ及其以上。
(2)网页客户端:
系统要求:
windowxp,vista以及win7,Linux等
硬件配置:
处理器:
奔腾4处理器及以上;
内存:
1G及其以上。
硬盘:
20G及其以上。
4.2 系统模块结构设计
教学管理系统学生客户端主要提供学生登陆,查询签到情况,查询作业情况,反馈信息四项功能,因此可以将系统分为四个模块:
登陆模块,签到模块,作业模块,反馈模块。
图4-1 考勤系统结构图
系统的主要功能概述:
(1)登录模块包括验证信息功能和网络传递功能,学生可以通过此模块输入学号密码,通过网络将输入的学号和密码传递给服务器,服务器通过搜索数据库验证密码和学号是否匹配,若不匹配则传递提示错误信息给相应客户端,若匹配则传递给手机客户端需要的数据库文件和学生信息,网页客户端则直接进入功能界面。
(2)签到模块包括选择课程功能和查看签到信息功能。
学生进入界面后可以选择需要查询的课程,然后通过课程名称和学号查询数据库,搜索出登陆学生和对应课程的签到信息,显示在签到信息界面。
(3)作业模块包括查看作业内容功能和查看作业评分内容。
学生进入作业查询界面后,可以选择需要查询的课程,在数据库中搜索对应课程的作业信息,显示在作业情况界面,点击单个作业情况,可以查看作业题目的具体内容,并查询数据库,显示该作业的登录学生的个人得分情况。
(4)反馈模块包括添加反馈信息功能,删除反馈信息功能和修改反馈信息功能。
学生先选择需要反馈的课程,然后进入反馈信息界面。
在反馈信息可以进行添加,修改和删除反馈信息功能,添加修改删除完成后,对数据库进行更改,然后由网络发送信息使服务器也进行相应更改,使客户端和数据库端信息实现同步。
4.3 数据库设计
4.3.1 数据库概念结构设计
实体-联系图,即E-R图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型,在数据库系统概论中属于概念设计阶段。
E-R图的设计与建立,可以帮助开发者更加合理的去制定数据库内容,使得在开发过程中对数据库的各种操作(添加,查询,修改或删除)变得简单易行。
教学管理系统学生客户端的实体联系图的实体主要包括学生,班级,课程,签到记录,作业,留言板和教师实体。
其中,班级和学生之间是一对多的关系;
签到记录和学生之间是一对多的关系;
教师与签到记录之间是一对多的关系;
课程与教师之间是一对多的关系;
教师与作业之间是一对多的关系;
课程与作业之间是一对多的关系;
学生与留言记录之间是一对多的关系;
教师与留言记录之间是一对多的关系。
由于每个课程都可以有很多学生选,而每个学生可以选很多课程,所以两者之间是多对多的关系;
由于每个学生都要有评分,因此作业与学生之间有对应关系,而每个作业对应的是一个班级所有学生的,而每个学生可以有很多作业,因此作业和学生之间是多对多的关系。
教学管理系统的实体联系图如图4-2所示。
图4-2 教学管理系统E-R图
部分实体图如下:
(1)学生实体图包括四个属性,其中包括学号,姓名,密码以及班级号,学号密码两个属性可以用来作为身份验证,供登录模块使用,班级号作为与班级实体对应,学号与姓名实现与其他实体连接。
学生实体图如图4-3。
图4-3 学生实体图
(2)课程实体图包括两个属性,分别为课程名称与课程号。
两个属性可以连接学生实体,教师实体以及作业实体。
课程实体如图4-4所示。
图4-4 课程实体图
(3)班级实体图包括两个属性,分别为班级名称与班级号。
两个属性可以连接学生实体。
班级实体如图4-5所示。
图4-5 班级实体图
(4)作业实体图包括作业号,课程号,日期,班级号以及作业题目五项属性。
作业题目记录着作业的详细内容,日期记录者作业的日期,课程号和班级对应着哪个班哪个课程留的作业,作业号联系着学生,教师以及课程实体。
作业实体图如图4-6。
图4-6 作业实体图
(5)留言记录实体图包括内容编号,学生编号,班级号,日期,课程号,反馈内容六个属性。
学生号,班级号和课程号记录着哪个班级的哪个课程的哪个学生留下的反馈信息,日期对应着反馈信息时间,通过内容号找出某个留言信息。
实体图如图4-7。
图4-7 留言记录实体图
(6)签到记录实体图包括学生编号,班级名,日期,课程名,到否五个属性。
学生号,班级名和课程名记录着哪个班级的哪个课程的哪个学生的签到信息,日期对应着学生签到的时间,到否记录该学生此次考勤是否签到。
实体图如图4-8。
图4-8 签到记录实体图
(7)教师实体图包括教师号,密码,以及教师姓名三项属性。
教师实体主要应用于教师客户端,学生客户端不涉及到教师实体。
实体图如图4-9。
图4-9 教师实体图
4.3.2 数据库的物理结构设计
根据以上的实体属性集可以建立相应的数据库表结构,其中教学管理系统学生客户端主要用到的数据库表结构如下所示。
(1)学生表(student)包括学号,姓名,密码,与班级号四个字段。
教学管理系统学生客户端需要通过查询学生表验证学生信息,查询登陆者是否属于学校人员,并将学生信息的部分内容反馈给客户端。
学生表如表4-1。
表4-1 学生表
字段名
描述
类型
长度
是否允许为空
是否主键
classid
学号
Varchar
10
否
是
studentname
姓名
20
password
密码
班级号
(2)班级表(class)包括班级号与班级名两个字段。
教学管理系统无论学生端还是教师端都需要查询班级内容,将班级内容从学生表和教师表中提取出来可以简化数据库的相关操作。
班级表如表4-2所示。
表4-2 班级表
classname
班级名
(3)课程表(course)包括课程编号与课程名两个字段。
学生无论是查询签到情况,作业情况还是反馈信息,都需要选择课程,因此课程表是必须的。
课程表如表4-3。
表4-3 课程表
courseid
课程编号
Varc