




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要洛阳理工学院毕业设计(论文)PAGEIVPAGE1基于Android的移动选课系统的设计摘要随着互联网的不断发展以及高等教育与教学的改革,高校的选课方式已经从传统的纸质方式转向了网上选课方式。近年来,随着智能手机等移动设备的不断普及,移动选课将是继互联网选课之后的又一种选课模式。网上选课系统的软件较多,但具体的移动选课软件相对较少。针对这个情况,本文讨论在广泛应用的Android平台上设计与开发移动选课系统。本设计作为现有基于Web的网上选课系统的辅助手段和重要补充,旨在为广大学生提供随时随地方便快捷的选课方式。通过初步对Android软件开发技术和JavaServlet编程技术的学习以及对现有选课系统的分析和研究,结合移动互联网的特点,总结出移动选课系统所应具备的主要功能。运用信息系统开发方法等技术手段对该系统进行了整体的规划、设计与实现。该系统具有用户登录、选课、退选、查看选课信息等基本的功能。该系统分为系统登录、选课信息、选课、退选、已选课查询等模块。在移动选课系统的设计与实现过程中,采用了C/S架构、Http通信协议;服务器通过JDBC与数据库进行交互,手机通过流的形式接收从Web服务器传来的数据。关键词:移动选课,Android,JavaServlet,C/S架构
DesignOfMobileElectiveCourseSystemBasedOnAndroidABSTRACTWiththedevelopmentoftheinternetandthecollegeeducation’srevolution,universities’courseelectingformhaschangedtointernetcourseelectingformfromtraditionalonewhichusespapermaterials.Nowadays,PDAphoneandothermobileinstrumentshaveexploredaverybroadwayinthissociety.Mobilelectivecoursesystemisoneanothersystemwhichusestheinternettochoosecourse.Thereareafewofsoftwaresappearingontheinternetaboutcourseelecting.However,therearelittlesoftwareshavethefunctionsaboutMobilelectivecoursesystem.Underthissituation,thissystemwrotethisessaymainlytalkingabouthowtobroadlyusetheAndroidsystemtodesignandexploreMobilelectivecoursesystem.Thisessayasthesupplementarywaysbasedonsomeexistinginternetcourseelectingsystemsismainlytoprovideconvenientandefficientwaysforstudents’courseelectingneeds.AfterthebasicstudyabouttheAndroidsystemexplorationandtheJavaServletprogrammingtechnology,thissystemcombinedtheMobilinternet’scharacterstogetasummarywhichisaboutMobilelectivecoursesystemmainfunctions.Throughsomesystemexploitationthissystemmadeaprojectaboutit.Thissystemhassomepartssuchas:systemregister,courseelectiveinformation,courseelecting,coursecanceling,checkingaboutthechosencourses,etc.Duringthisdesigningprocess,thissystemusedC/SandHttp.TheserverusesJDBCdateresourcetocommunicate.ThephoneuseflowasthewaytoreceivedatefromWebserver.KEYWORDS:MobileElectiveCourse,Android,JavaServlet,C/S前言前言近年来,随着我国高等教育与教学的改革,数字信息化的教学管理系统在高校日趋广泛,伴随着学年制管理体制向学分制管理体制的发展,使得网上选课系统在高校中得到广泛的应用。传统的选课系统是以固定的形式访问互联网。这样,虽然能够满足大部分学生的选课需要。但是在选课高峰时期,学校的Web服务器因访问量过大而暂时瘫痪,学校机房的电脑数量有限难满足学生们的选课需求。有时为了选择到自己喜欢的课程,往往要提前半小时到一个小时在计算机上登录选课系统,守候在计算机旁边,而不能做到随时随地的选课。同时,随着科技的发展,搭载Android操作系统的智能手机依靠其庞大的应用程序和越来越低廉的价格吸引了广大的用户。在如此庞大的用户基数影响下,移动互联网技术得到了飞速的发展,我国的网民也正在从传统的互联网向移动互联网转移。在大学生中,智能手机用户也占有相当大的比例。因此,学生需要另一种的选课系统来解决当前选课系统存在的问题,来分流由于传统网络访问给服务器带来的压力。基于Android的移动选课系统应运而生。如今,高校的网上选课系统都是比较成熟完善的。移动选课系统只是现有网上选课系统的补充。基于上述考虑,客户端与服务器之间的通信采用Http通信协议。用C/S模式来建立移动选课系统比较合适。服务器端采用SQL数据库服务器,TomcatWeb服务器以及JavaServlet的Web服务器编程技术构建移动选课的应用服务系统;客户端采用Android平台的客户端软件用来登录服务器。开发基于Android的移动选课系统的意义在于:对当今流行的Android软件有深入的了解,发现在开发过程中所面临的问题,简化选课程序,方便同学们的选课。同时,为今后开发出适合我校情况的移动选课系统打下基础。REF_Ref168484390\r\h错误!未找到引用源。REF_Ref168484424\h错误!未找到引用源。第1章绪论1.1选课系统的现状现在大多数的高校的选课系统都是采用的浏览器/服务器(B/S)模式,这种模式相对最初的人工课程管理方便了许多,不在需要大量的人力,学生选课也不在排队拥挤,更不会因为选课而耽误正常的教学任务。B/S模式的选课系统只需要一台能访问网络的浏览器即可。只要选课服务器端提供选课、学籍管理、考试成绩、毕业设计等业务模块,在客户端的浏览器视窗中就能进行相应模块的功能管理。随着移动互联网的发展这种B/S模式的选课系统也存在很多不足,比如要进行选课操作时,就必须坐在接入网络的电脑前:而且课程开设的通知等等也是要通过上网才知道,对于一些不常上网的同学可能就会错过很多有用的消息,比如说课程调整通知、考试安排等等。而这些缺陷都可以通过移动终端来解决。1.2Android系统特点近几年,3G的全球覆盖使世界快速步入移动互联网时代,网络的应用范围变得更加广泛,移动智能终端在市场上迅速渗透,成为移动互联网发展的强大动力。根据市场调研机构Gartner发布的最新统计报告显示,2011年一季度全球手机销售量共4.278亿部,其中智能手机销量超过1亿部,现在高校师生的智能移动通讯设备拥有率已经和PC拥有率相近。而智能手机操作系统中,Android系统的市场份额又远远大于其他的手机操作系统。Android是Google于2007年11月5日发布的基于Linux内核的移动平台,该平台由操作系统、中间件、用户界面、应用软件组成;从软件分层的角度来说,Android平台由应用程序、应用程序框架、Android运行时库层以及Linux内核共4部分构成,是一个真正开放的移动平台。1.3基于Android的移动选课系统概述1.3.1基于Android的移动选课系统描述基于Android的移动选课系统是学校网上选课系统的补充,该系统的客户端运行于当下最流行的智能手机操作系统——Android智能手机操作系统之上。通过GPRS(通用无线分组业务)或WLAN(无线局域网)等无线数据传输平台,在我校集中的选课时间为我校的在校学生建立使用移动终端随时随地访问我校的选课系统的平台,了解选课信息,查询选课结果,及时、快速、准确的选择喜欢的课程。1.3.2基于Android的移动选课系统意义基于Android的移动选课系统的用户无论是在公交车,在商场,还是在没用电脑的宿舍。只要通过搭载有该客户端的Android手机就能随时随地的登陆系统进行选课。从而使用户远离的电脑的束缚,在学校集中选课的时间可以不用去机房排队等候选课,大大地提高了学生选课的效率。REF_Ref168484390\r\h错误!未找到引用源。REF_Ref168484424\h错误!未找到引用源。PAGE6PAGE8第2章环境配置2.1软件环境2.1.1Android开发环境的搭建1.安装JDKSun公司为所有的java程序员提供了一套免费的java开发和运行环境。可以通过访问Http:///j2se,根据提示下载支持Windows操作系统的JDK到本地硬盘。安装的时候可以选择安装到任意的硬盘驱动器上。正确安装之后,在JDK目录下有bin、demo、lib、jre等子目录。然后是设置JDK的环境变量,其设置方法如下:在Windows操作系统下,用鼠标右键单击【我的电脑】,弹出菜单选择【属性】,弹出【系统特性】对话框,再单击该对话框中的【高级选项】,然后单击【环境变量】按钮,添加如下的系统环境变量。变量名:PATH变量值:D:\java\bin;%PATH%(其内容根据JDK安装的目录变化)设置完成点击【确定】即可。2.Eclipse的安装访问/downloads/,下载EclipseIDEforJavaDevelopers(92M)的win32bit版,解压后即可使用。3.AndroidSDK安装在AndroidDevelopers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。运行SDKSetup.exe,点击AvailablePackages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Forcehttps://..."这项,再点击AvailablePackages。选择希望安装的SDK及其文档或者其它包,点击InstallationSelected、AcceptAll、InstallAccepted,开始下载安装所选包下载完成后,添加如下环境变量:变量名:PATH变量值:D:\Android_SDK\android-sdk\tools(其内容根据JDK安装的目录变化)然后单击确定即可。4.ADT的安装打开Eclipse,进入菜单中的"Help"->"InstallNewSoftware"在Workwith中输入网址/android/eclipse/,如图2-1所示。图2-1ADT的安装然后选中DevrloperTools单击“下一步”完成即可。完成之后选择Window>Preferences...,在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,点击Apply、OK,配置完成。5.创建AVD为使Android应用程序可以在模拟器上运行,必须创建AVD。(1)在Eclipse中。选择Windows>AVDManager(2)点击左侧面板的VirtualDevices,再右侧点击New(3)填入Name,选择Target的API,SDCard:512MB(保证模拟器运行流畅),Skin随便选,Hardware目前保持默认值。2.1.2SQLServer数据库配置在连接数据库之前必须保证SQLServer2005是采用SQLServer身份验证方式而不是windows身份验证方式。如果在安装时选用了后者,则重新设置如下:1.打开SQLServer2005,右击最上面的服务器,选择属性——>安全性,在右边框中选择SQLServer和Windows身份验证模式,如图2-2所示,最后点确定。图2-2服务器属性选择“安全性”中的登录名中的sa,右击选择“属性”,选择常规,在右边输入登录名sa,输入密码与确认密码123456(登录名和密码可以根据需要自行设置),再在左边选择状态,在登录中设“启用”。2.安装好SQLServer2005后,运行开始→所有程序→MicrosoftSQLServer2005→配置工具→SQLServerConfigurationManager,在打开的窗口的左边找到MSSQLSERVER的协议,在右边右单击TCP/IP,选择已启用。如果NamedPipes未启用也设为启用。双击右边的TCP/IP,在弹出的窗口中选择IP地址标签,把IpAll中的TCP端口设成1433,并将上方所有的“已启用”选项设置成“是”。如图2-3所示。图2-3TCP/IP属性3.运行开始→所有程序→MicrosoftSQLServer2005→配置工具→SQLServer外围应用配置器,在打开的窗口中选择服务和连接的外围应用配置器,在打开的窗口左边选择远程连接,在右边选择同时使用TCP/IP和namedpipes(B),然后点击“应用”。如图2-4所示。图2-4服务和连接的外围应用配置器2.2硬件环境开发Android应用程序要同时运行Java虚拟机、Android虚拟机以及Android模拟器,对计算机硬件的要求比较高。其硬件的最低配置如下:CPU:主频要在2.0GHZ以上。内存:要在2G以上。屏幕最佳分辨率:1024×768像素。对硬盘的大小不做要求只要有足够的空间能够保证程序正常运行就可以。第3章REF_Ref168484495\h错误!未找到引用源。洛阳理工学院毕业设计(论文)PAGE10第3章系统分析3.1系统设计的原则和目的移动选课系统基于我校现有的网上选课系统的数据库,设计目的就是作为现有的基于Web的网上选课系统的辅助手段和重要的补充,为广大的学生提供随时随地方便快捷的选课、退课和课程查询等功能。以原有的选课系统为基础,在不影响原有系统正常运行和使用的情况下增加通过手机选课的功能以扩充原有的选课系统,使选课的方式更加的灵活方便,且选课不受地域场所的限制,在学校集中选课的时间使用手机随时随地就可以选课。同时也分流了B/S模式下服务器超负荷的压力。根据我校选课的实际情况采用C/S模式开发适合手持设备使用的客户端软件以及在WEB服务器上部署的服务器软件。该系统充分按照简单使用性原则设计,客户端软件简单易用,同时充分考虑到无线网络和手持设备的特殊性,最大化的利用网络资源。在设计功能的同时,考虑到系统的可伸缩性;在设计和代码的实现上,给程序预留了可扩展的接口,以便需要时可以快速的增加上相应的功能。3.2需求分析3.2.1系统模块移动选课系统总共包含五个功能模块:系统登录、选课信息、选课、退选和已选课程查询系统登录:通过输入用户名和密码验证合法的学生身份,避免了恶意登录系统的情况。同时根据用户名提取满足其要求的信息选课信息:显示登录的学生可以选择的所有课程的信息和教师信息以供学生选择。选课:学生输入相应的课程号选择课程。退选:当用户点击了退选按钮后,退选已经选择的课程。已选课程查询:列出该学生已选的课程信息,以供参考。3.2.2客户端与服务器的连接方式手机客户端使用Http方式同Web服务器通信,服务器端通过JDBC与数据库交互。手机通过Http以流的形式接收从Web服务器传来的数据流。手机终端与Web服务器之间通信的数据格式采用一个特殊的标记,从而使客户端和服务器完成特定的功能。3.2.3系统结构客户机/服务器(C/S)结构,是大家熟知的软件系统体系结构,将任务合理分配到客户端和服务器端。其中,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务,省去了中间的其他环节。从而,提高了系统的响应速度,降低了系统的通讯开销,但是需要安装客户端才可进行相应的管理操作。同时,在C/S架构中客户端与服务器之间相互分离,可以对客户端进行单独的设计。使客户端的操作界面漂亮、形式多样,可以充分满足客户自身的个性要求。且此结构还具有较强的事务处理能力,能实现负载的业务流程等优点。因此,鉴于C/S架构的优点、手机操作系统、网络速度以及当前大多数Android手机应用都采用C/S架构的考虑。基于Android的移动选课系统采用客户端/服务器(C/S)结构。REF_Ref168484640\r\h错误!未找到引用源。REF_Ref168484646\h错误!未找到引用源。PAGE8PAGE16第4章系统设计4.1该系统的整体结构系统的整体结构:Android客户端手机通过无线网络访问后台服务器,如果需要数据访问,则访问后台数据库。如图4-1所示。手机客户端手机客户端Web服务器数据库服务器图4-1系统结构4.2数据库设计4.2.1数据库结构设计(1)用户表,包含的字段有:登录名、密码。(2)学生表,包含的字段有:学号、姓名、性别、出生日期、政治面貌、入学日期、联系电话、班级。(3)选课表,包含的字段有:学号、课程号。(4)课程表,包含的字段有:课程号、课程名、学时、学分、课程性质、考核方式、上课学期。(5)教师信息表,包含的字段有:姓名、课程号、所属系部、联系方式、上课地点。其E-R模型如图4-2所示。学生学生选课mnmn课程开设教师图4-2系统E-R图4.2.2数据库各表的设计根据上述设计的数据库的结构,设计了名称为“移动选课系统”的数据库。“移动选课系统”数据库有下面多个表组成,各表的命名及字段命名都是以汉字的形式来命名,各表的设计结果如下:表4-1用户表列名数据类型是否为空约束学号Char(9)Notnull主键密码Char(6)Notnull表4-2学生表列名数据类型是否为空约束学号Char(9)Notnull主键姓名Nchar(5)Notnull性别Nchar(1)Null值为‘男’或‘女’出生日期DatetimeNull政治面貌Varchar(50)Null默认为‘共青团员’入学日期DatetimeNull联系电话Char(15)Null班级Char(7)Null表4-3选课表列名数据类型是否为空约束学号Nchar(9)Notnull主键、外键课程号Nchar(6)Notnull主键、外键表4-4课程表列名数据类型允许空约束课程号Nchar(5)Notnull主键课程名Varchar(20)Notnull唯一学时TinyintNull学分TinyintNull课程性质Nchar(2)Null默认为‘选修’考核方式Nchar(2)Null默认为‘考查’学期Char(1)Null表4-5教师信息表列名数据类型允许空约束工号Char(7)Notnull教师姓名Nchar(5)Notnull课程号Char(6)Notnull外键所属系部Varchar(20)Null上课地点Varchar(10)Notnull联系方式Char(11)Null4.3服务器设计该移动选课系统的手机客户端采用了Http方式同Web服务器通信。基于这个要求,在服务器端编写了JavaServlet程序放置在名称为“servlet”包中用以实现手机客户端采用Http的方式同服务器进行通信。同时还编写了一个通过JDBC与数据库交互的程序放在名称为“shujuku”的包中以实现Servlet程序与数据库之间的数据交换。4.3.1JavaServlet程序Servlet是一种采用Java来实现CGI功能的技术。Servlet本身与协议无关,与平台与无关。对应的软件包有两个javax.servlet.http和javax.servlet.jsp,通常所说的Servlet编程主要就是指针对HTTP的Servlet编程。Servlet运行于Servlet引擎管理的Java虚拟机中,被来自客户端的请求所唤醒,在虚拟机中只要装载一个Servlet及能够处理新的请求。Tomcat服务器是运行Servlet程序的载体,在运行Servlet程序之前要在机器上安装好tomcat服务器。这是Servlet运行时所需要的环境。移动选课系统的Servlet程序包含LoginServlet、CX、SC、XS和XK五个类,这五个类同时继承HttpServlet类。这五个类的功能描述如下:LoginServlet类:接收和返回用户的登陆信息。CX类:接收用户对已选课程查询的请求,给用户返回相应的数据信息。SC类:接收用户对删除已选课程的请求,给用户返回是否删除成功的相应信息。XS类:接收用户对显示所有可选课程的请求,并给用户返回相应的信息。XK类:接收用户的选课请求,给用户返回是否选课成功的相关信息。4.3.2与数据库交互的程序与数据库的交互程序是服务器的核心程序,共包含lianjie、LogIn、ChaXun、XianShi、XuanKe和shanchu六个方法。功能描述如下:Lianjie方法:通过JDBC与数据库进行连接连接。LogIn方法:通过与数据库的交互验证登陆者的身份是否合法。ChaXun方法:通过与数据可的交互查询出登陆的用户已经选择的课程。XianShi方法:通过与数据库的交互给登陆的用户提供可以选择的所有课程信息。XuanKe方法:通过与数据库的交互为登陆的用户保存他的选课信息。Shanchu方法:通过与数据库的交互删除登陆的用户已经选择的课程信息。4.4Android客户端设计4.4.1Android客户端的页面设计Android客户端主要包括四个页面,登录页面、主页面、已选课程页面以及可选课程页面。每个页面的主要功能描述如下:登录页面:供用户登录系统只用。同时,检测用户输入的用户名和密码是否为空,是否合法。主页面:该页面上列出了若干项菜单。以供用户选择自己要完成的事项。已选课程页面:该页面上显示用户已经选择在的课程。可选课程页面:该页面罗列出所有可以选择的课程,以供用户选择自己喜欢的课程。其中,“课程退选”功能在已选课程页面添加一个“退选”按钮实现。“选课”功能在可选课程页面中添加一个“选课”按钮实现。4.4.2Android客户端各页面之间的关系Android客户端个页面之间的关系即客户端的结构如下图4-3所示:系统登录用户主菜单系统登录用户主菜单已选课程可选课程图4-3客户端结构REF_Ref168484640\r\h错误!未找到引用源。REF_Ref168484646\h错误!未找到引用源。PAGE31第5章系统的实现5.1客户端的实现5.1.1系统主界面的实现系统主界面很简介,只包含一个菜单选项,通过这个菜单导航到各个功能模块,主界面如图5-1所示:图5-1系统主界面主界面对应的类是MainActivity,继承了ListActivity类实现一个ListView,对应的就是界面上的菜单。在MainActivity中的onCreate方法中初始化数据。5.1.2系统登录模块的实现系统登录模块的流程图如图5-2所示:登录页面登录页面点击登录,以URL形式访问服务器成功?提示信息失败成功服务器解析URL,调用系统登录服务,返回登录结果解析返回的结果成功?主界面图5-2登录模块流程图当用户点击登录,若登录成功则进入如图5-1所示的系统主界面。若用户名或密码为空则在页面上弹出相应的提示,如图5-3所示;若密码错误同样出现相应的提示。如图5-4所示。图5-3密码为空图5-4密码密码不正确其中判断用户名和密码是否为空的代码如下:privatebooleanvalidate(){ Stringusername=userEditText.getText().toString(); if(username.equals("")){ showDialog("用户名称是必填项!"); returnfalse; } Stringpwd=pwdEditText.getText().toString(); if(pwd.equals("")){ showDialog("用户密码是必填项!"); returnfalse; } returntrue; }判断密码是否错误的代码如下:try{ Connectioncon=DriverManager.getConnection(dbURL,userName, userPwd); Statementlogin=con.createStatement(); ResultSetyhb=login.executeQuery("select学号,密码from用户表"); while(yhb.next()){ if(username.equals(yhb.getString("学号")) &&userpwdmima.equals(yhb.getString("密码"))){ ifdenglu=true; ifdenglu1="t"; break; } }else{ System.out.println("用户名或密码错误,请重试!!"); ifdenglu1="f"; }5.1.3已选课程查询模块的实现已选课程查询模块的流程图如图5-5所示:系统系统主界面点击菜单,以URL形式访问服务器成功?提示信息失败成功服务器解析URL,调用已选课程查询服务,返回登录结果解析返回的结果是否选课?已选课程图5-5已选课程流程图当用户点击如5-1的选课信息查询菜单后,用户进入已选课程页面如图5-6所示。图5-6已选课程当该用户没有选课是页面会出现您还没有选课的提示,如图5-7所示:图5-7未选课提示5.1.4退选模块的实现当用户点击图5-6的退选按钮时页面会给用户以响应的提示,提示用户是否退选成功。如图5-8所示:图5-8退选说明:退选模块的流程去前两个模块的相似,故在这里就不给出详细的流程图和核心代码,流程图可参考图5-2。5.1.5可选课程信息模块的实现当用户点击图5-1的可选课程查询菜单后,用户进入可选课程页面,如图5-9所示,在这里用户可以浏览所有可以选择的课程信息。图5-9可选课程说明:退选模块的流程去前两个模块的相似,故在这里就不给出详细的流程图和核心代码。流程图可参考图5-2。5.1.6选课模块的实现在如图5-9所示的用户页面中,输入要选择的课程号,点击选课按钮之后。页面上会给出选课是否成功的相应提示,以便用户有相应的了解。如图5-10和图5-11所示。图5-10提示选课成功图5-11提示已经选课说明:退选模块的流程去前两个模块的相似,故在这里就不给出详细的流程图和核心代码。流程图可参考图5-2。5.2服务器端的实现在服务器的Servlet编程中使用LogIn、ChaXun、ShanChu、XianShi和XuanKe五个类,与数据库进行交互,对数据库接收到的数据进行处理。将处理后的结果返回给客户端,并在服务器端打印出用户所请求的相关信息。如图5-12所示。图5-12服务器端显示相关信息其中ChaXun(显示选课信息)类的相关代码如下:try{ Connectioncon=DriverManager.getConnection(dbURL,userName, userPwd); Statements=con.createStatement(); ResultSetifyixuanke=s.executeQuery(sql); while(ifyixuanke.next()){ ifhas=ifyixuanke.getString("是否选课"); } s.close(); if(ifhas.equals("t")){ PreparedStatementchaxun=con .prepareStatement("select课程名,学时,学分,课程性质,考核方式,学期from课程表where课程号=(select课程号from选课表where学号=?)"); chaxun.setString(1,username); ResultSetkch=chaxun.executeQuery(); while(kch.next()){ re="t"+""+kch.getString("课程名")+""+kch.getString("学时")+""+kch.getString("学分") +""+kch.getString("课程性质")+"" +kch.getString("考核方式")+""+kch.getString("学期"); } ifkx="f"; chaxun.close(); }else{ System.out.println("您还没有选课!!"); ifkx="t"; re="f"; } con.close(); }catch(Exceptione){ System.out.println("连接数据库失败!"+e+"false"); re="f"; } returnre; }其他几个类的相关代码与CX类的类似,只是相关的Select语句有所不同,下面只给出与类相关的Select语句。LogIn类相关的Select语句如下:ResultSetyhb=login.executeQuery("select学号,密码from用户表");ShanChu类相关的Select语句如下:PreparedStatementsc=con.prepareStatement("deletefrom选课表where学号=?");XianShi类相关的Select语句如下:ResultSetrs=xs.executeQuery("select课程表.课程号,课程名,学时,学分,课程性质,考核方式,学期,教师姓名,所属系部from课程表,教师信息表where课程表.课程号=教师信息表.课程号");Xuanke类相关的Select语句如下:PreparedStatementtianjia=con .prepareStatement("insertinto选课表values(?,?)");5.3客户端与服务器端的通讯Android集成了ApacheHTTP客户端,在服务器Servlet编程中使用HttpServletRequest和HttpServletResponse来表示请求和响应。ApacheHTTP客户端也已经对请求和响应进行封装,只需根据请求方法的不同,用到HttpGet和HttpPost两个对象。其中,响应对象是HttpResponse,使用DefaultHttpClient执行请求获得响应。实现该模块的核心代码如下:publicclassHttpUtil{ //生命BaseURL常量 publicstaticfinalStringBASE_URL="11:8080/xiaoge/"; //通过URL获得HttpGet对象 publicstaticHttpGetgetHttpGet(Stringurl){ HttpGetrequest=newHttpGet(url); returnrequest; }publicstaticStringqueryStringForGet(Stringurl){ HttpGetrequest=HttpUtil.getHttpGet(url); Stringresult=null; try{ HttpResponseresponse=HttpUtil.getHttpResponse(request); if(response.getStatusLine().getStatusCode()==200){ result=EntityUtils.toString(response.getEntity()); byte[]b=result.getBytes("8859-1"); Stringa=newString(b,"UTF-8"); returnresult; } }catch(ClientProtocolExceptione){ e.printStackTrace(); result="网络异常!"; returnresult; }catch(IOExceptione){ e.printStackTrace(); result="网络异常!"; returnresult; }returnnull;}publicstaticHttpResponsegetHttpResponse(HttpGetrequest)throwsClientProtocolException,IOException{ HttpResponseresponse=newDefaultHttpClient().execute(request); returnresponse; }} 第6章测试本章内容主要是针对于整个系统功能的检测,分析系统的可行性以及弊端,以及运行的结果及发现的问题。6.1测试的作用和意义系统测试是系统的开发周期中的一个十分重要的环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的40%-50%。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。6.2测试方法对软件进行测试的主要方法有人工测试与机器测试。一般源程序通过编译后,要先经过人工测试,然后再进行机器测试。人工测试是采用人工方式进行,目的在于检查程序的静态结构,找出编译不能发现的错误。机器测试是运用事先设计好的测试用例,执行被测程序,对比运行结果与预期结果的差别以发现错误。另外人工测试又分为个人复查、走查与会审。机器测试又可分为黑盒测试与白盒测试,黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。对于这个基于Android的移动选课系统来说,我在每写完一个功能模块时就要对这个模块进行测试,或者每写好一段相对独立的程序时也对它进行相应的功能测试或模块测试。而当我完成整个系统时我采用上面所说的人工测试方法,把整个软件的逻辑关系理一下,避免发生逻辑错误,然后是检查软件的功能是否实现,与需求里面的功能要求作对比,检查功能实现是否完善,合理等。6.3测试内容(1)登录模块测试表6-1登录模块测试输入/操作期望的输出/响应实际情况登录检测输入正确的用户名和密码正常登陆输入错误的用户名和密码提示密码错误用户名或密码为空提示用户名或密码为空(2)已选课程模块测试表6-2已选课程模块测试输入/操作期望的输出/响应实际情况已选课程检测在屏幕上输出已选择的课程在屏幕上输出正常(3)退选模块测试表6-3退选模块测试输入/操作期望的输出/响应实际情况退选模块检测点击退选按钮时,退选成功提示推选成功(4)可选课程信息模块表6-4可选课程信息模块测试输入/操作期望的输出/响应实际情况可选信息检测进入可选信息页面时,显示所有可选课信息进入页面时显示所有的可选课程信息(5)选课模块测试表6-5选课模块测试输入/操作期望的输出/响应实际情况选课检测输入正确的课程号提示选课成功输入错误的课程号提示没有该课程6.4测试结果(1)服务器正常启动后,用户能够成功的登录到选课系统,当用户名、密码出错或为空时能够给出相应的提示。当服务器没有启动时会给出“网络异常”的提示。(2)用户在选课时,系统会给用户相应的提示。当用户选择了两个以上的课程时,不能够完全显示用户所选择的课程。(3)系统在显示所有可以选择的课程时,显示良好,可以拖动屏幕显示出所有的课程。(4)系统在删除课程时,没有给出相关的提示就直接删除,会给用户的误操作带来不便。(5)系统界面良好,在可操作性方面良好。6.5测试结论系统经过反复测试,发现存在上述测试结果中的一些问题,但是经过后来反复的修改和测试,本系统最终完成,测试结果中的大部分问题都得到完美解决。但是,由于本人能力有限,此系统仍存在一些潜在的问题没有解决。经过后期对软件的测试,懂得了测试的重要性,以及给本系统带来的巨大改善,让系统变的更强
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客房应急房管理制度
- 室外休息区管理制度
- 库房领用料管理制度
- 影像科费用管理制度
- 微商城推广管理制度
- 心理健康室管理制度
- 快递站消毒管理制度
- 怎样学餐饮管理制度
- 总商会培训管理制度
- 慈善会日常管理制度
- GB 10770-2025食品安全国家标准婴幼儿罐装辅助食品
- 单病种质量管理实施方案
- Unit9SectionB2a-2e课件-人教版八年级英语下册
- KRONES灌装检测工作原理及工艺参数调整
- SJG 01-2010 深圳市地基基础勘察设计规范
- 装修业务居间推广合同
- 物业维修流程培训
- 大学美育(同济大学)学习通测试及答案
- 2024年中考模拟试卷数学(湖南卷)
- 医院培训课件:《便携式血糖仪临床操作和质量管理》
- 持续葡萄糖监测临床应用专家共识2024解读
评论
0/150
提交评论