版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android的大学生课表管理应用APP设计与实现基于Android的大学生课表管理应用APP的设计与实现Themanagementandapplicationofuniversitystudents'curriculumbasedonAndroid 摘要随着计算机网络的发展,学生课表查看以及考试信息查看等不再仅仅局限于现实生活中进行,更大的市场拓向了网络这个庞大的信息传输工具。正是在这样一个网络化的社会中,本大学生课表APP的开发使得学生查看课表、考试信息领略网络的方便快捷。在这里,管理员可以对课程信息、考试信息、作业信息进行全方位管理。学校对学生的课程管理进入了现代化,进而提高学习效率,实现教学管理的自动化、规范化和程序化。该系统能够高速、快捷、智能化的管理全过程,提高信息处理的速度和准确性,能够及时、准确、有效的查看课程等情况,进而提高学校的整体管理水平。本设计利用安卓作为开发,采用了MySQL数据库设计。本系统有前台、后台两个模块:后台管理员登录。管理员通过系统可以对管理员信息、课程信息、考试信息进行添加、删除、查询,可以查看学生上传作业情况。APP用户则可通过登陆本APP实现查看课表、考试信息操作,上传作业信息。关键词:课表安卓MySQLAbstractWiththedevelopmentofcomputernetwork,students'schedulecheckingandexaminationinformationcheckingarenolongerconfinedtoreallife.AnditisinsuchanetworkedsocietythatthedevelopmentofthecurriculumAPPofcollegestudentsmakesitconvenientforstudentstoviewthecurriculumandtestinformationtoappreciatethenetwork.Here,administratorscanmanagethecourseinformation,examinationinformation,homeworkinformationinalldirections.Theschoolhasenteredthemodernizationofthecurriculummanagementofthestudents,andthenimprovesthelearningefficiencyandrealizestheautomation,standardizationandprocedureoftheteachingmanagement.ThesystemcanbehighspeedandfastAgileandintelligentmanagementofthewholeprocess,improvethespeedandaccuracyofinformationprocessing,cantimely,accurateandeffectiveviewofthecurriculum,andthenimprovetheoverallmanagementleveloftheschool.Androidisusedasthedevelopmentofthisdesign,usingtheMySQLdatabasedesign.Thissystemhasforeground,backgroundtwomodules:backgroundadministratorlogin.Theadministratorcanadd,deleteandquerytheadministratorinformation,courseinformation,examinationinformationthroughthesystem,andcanviewthestudents'uploadinghomework.APPuserscanloginthisAPPtoviewtheschedule,testinformationoperation,uploadjobinformation.Keywords:schooltimetableandroidMySQL目录摘要 IAbstract II1绪论 31.1项目背景 31.2课题研究 31.3论文组织结构 32系统相关技术 52.1Android简介 52.2androidstudio 52.3MySQL简介 62.4Tomcat 73系统分析 83.1系统可行性分析 83.1.1技术可行性 83.1.2经济可行性 93.1.3社会可行性 93.1.4操作可行性 93.2系统功能需求分析 93.3系统非功能需求分析 104系统设计与实现 114.1系统概要设计 114.2系统结构设计 114.3数据库设计 124.3.1数据库的选定 124.3.2数据库概念模型设计 124.3.3数据库逻辑设计 145系统详细设计与实现 175.1管理员模块实现 175.1.1系统设置模块实现 175.1.2课程管理模块实现 185.1.3考试管理模块实现 225.1.4作业管理模块实现 235.2前台学生模块实现 235.2.1应用模块实现 245.2.2公告管理模块实现 265.2.3我的模块实现 276系统测试 296.1登录模块测试 296.2管理员功能测试 296.3功能测试 306.4可用性测试 316.5安全测试 316.6程序调试 32毕业设计报告 34总结与展望 35致谢 36参考文献 371绪论1.1项目背景近年来,Android技术在国内快速发展,给人们的方方面面提供了便携深受人们的喜爱。可以预见Android将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。加上现在智能手机普及率极高,大学生几乎人手一台,信息获取极为方便。于是大学生课表APP作为促进学生提高学习信息关注和合理管理课程信息的一款应用就诞生了。现今,手机上的电子课表对于学生而言更方便查看上课地点和时间,不仅如此,除了查看课表它还具有考试提醒、课程提醒、作业提醒、作业上传等功能。学生不再需要像以前一样因为忘记课表在哪个地方上课而头疼,只需打开手机就能轻松解决一切。基于以上的问题,设计一款具有大学生课程信息管理的APP就尤为重要。1.2课题研究我这次的论文从分析目前很多大学生课表管理的系统需求入手,详细了解了我们大学生课表管理的相关开发技术,开发工作步骤主要分为对用户的需求分析、系统功能与界面的设计和系统功能与界面的实现三个部分,得出了大学生课表APP的设计与实现的过程,最后提出对此次设计与实现的总结和不足。具体工作如下所列:1、通过对大学生课表管理系统相关调查,我发现我们的大学生课表查看、考试信息查看有很大的需求,因此,也为我这款大学生课表APP的设计提供更多的功能需求。2、本文首先比较分析了常用管理系统解决方案的优缺点,并对安卓开发平台进行学习了解,并分析了大学生课表APP设计与实现在技术上的可行性,并对我们在用户需求分析所得到的内容,将我此次收集到用户功能需求进行分类总结和归纳。3、完成了大学生课表APP设计与实现。对于不同接口、数据库和其他关键问题之间的通信的关键特性也进行充分理解,形成程序相关的关键代码,确保了此次开发项目可行性。1.3论文组织结构本论文组织结构共六章,每一章的主要内容如下:第一章:介绍此次论文课题的相关研究背景以及研究此次大学生课表APP的意义,包括我这次的主要研究工作。第二章:全面分析安卓平台的体系结构、开发步骤和所需要用到的开发工具。第三章:分析了大学生课表APP开发的可行性以及功能需求。第四章:展示大学生课表APP的设计,首先说明设计目标及原则,列出功能模块图、大学生课表APP操作流程图以及大学生课表APP用例图。第五章:对大学生课表APP的模块进行了最终实现。第六章:对大学生课表APP进行全面的软件测试。
2系统相关技术2.1Android简介1.Android简史Android平台是开放手机联盟(OpenHandsetAlliance)的结晶。开放手机联盟是一个全身心致力于打造更加顶尖的移动电话的公司。这个组织的领导者是谷歌,其中还包括相关移动运营商等诸多公司,从安卓软件开发的来看,Android是开源世界的一个焦点。HTC制造的G1手机是全球市场上的第一款android手机,由T-Mobile提供。从这个想法到推出这个设备花了大约一年的时间,当时用于实现增量改进的SDK版本是唯一可用的软件开发工具。谷歌为了鼓励创新主办了两项“Android开发者挑战”,为获奖作品提供数百万美元。AndroidMarket在G1产生几个月之后发布了,用户一方面可以浏览应用程序,另一方面可以直接下载应用到他们的手机上。大约18个月之后后,一个引人注目的移动平台逐渐进入了大家的生活并产生巨大的影响。2.Android平台Android是一个有着非常丰富的功能的平台,这其中也存在着一些弊端,使得它容易被与其他桌面操作的App混淆在一起。其实Android是一个层次分明的开发环境,它是构建在Linux内核的基础上的,具有十分丰富的功能[5]。Android提供了许多连接选项,包括WiFi、蓝牙和无线数据传输(如GPRS、EDGE和3G)。利用谷歌地图来显示应用程序中的地址是Android应用程序中比较受欢迎的一种技术,备受大家青睐。2.2androidstudioAndroidStudio是Google推出基于IntelliJIDEA的Android应用开发集成开发环境(IDE)。而且提供了更多提高Android应用的构建效率的功能:(1)强大的布局编辑器;(2)InstantRun可以将变更推送到正在运行的应用中,无需重新构建;(3)快速和功能丰富的模拟器;(4)丰富的测试工具、性能工具(CPUProfile和MemoryProfile)和网络监控工具(NetworkProfiler);(5)使用Room将数据持久化数据库(SQLite);(6)使用apkanalyzer对预构建APK进行分析和调试。2.3MySQL简介在开发过程中,我们一般把数据库分为两类,一类就是非关系型数据库,另一类就是我们比较熟悉的关系型数据库,如Oracle,DB2,MySQL,但是,不同的数据库有这它们各自的优缺点[6]。MySQL是一个高性能且相对简单的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低。在性能方面,MySQL数据库没有用户数的限制,多个客户机可同时使用同一个数据库,运行速度快。它还拥有良好的可移植性、连接性和安全性。由于MySQL具有支持多线程的特点,有利于提高App资源的利用率,同时还提供了TCP/IP、ODBC和JDBC等多种方法来连接数据库,这样多元化的功能为我们开发App提供了巨大的便利[7]。此次我通过使用MySQL来建立App的数据库,也有利于我们在前期对App数据进行处理操作,更有利于我们在后期对app二次开发数据的扩展操作,对于这种有限级的数据处理,MySQL具有极其大的优越性,是我们的不二之选。如图2-1所示:图2-1数据库管理App和接口的原理2.4TomcatTomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范[8]。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的[9]。Tomcat的优点如下:(1)兼有可扩展性和安全性。假如单位时间内访问请求数急剧增加,可以用相对较低的费用增加前端的能力。(2)比较容易扩展。由于是通过在这台功能强大的服务器上运行的单个servlet容器,实际上也就不需要考虑session状态在分布式环境下的维护这类复杂的问题。(3)台后端服务器在外界不可以访问,网上的黑客只能访问前端的web服务器,不能直接访问后端的应用服务器,这就提高了安全性。但这并不意味着黑客们不能通过网络浏览器进行其它形式的攻击[10]。
3系统分析3.1系统可行性分析本节通过对软件实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从时间可行性、经济可行性、运行可行性和法律可行性等方面进行分析。我们在研究开发基于安卓的大学生课表APP前需要进行可行性分析,进行对开发项目的可行性分析已经是软件工程的一个常识,所谓的可行性分析,就是对一种研究项目是否可以进行开发的科学技术。其主要针对新系统是否具备开发的必要性和可能性的一个探讨和研究。它的切入点是经济、技术和可操作性等方面。目的是为了减少项目开发所遇见的开发风险,譬如人力、财力的无端浪费等。本系统比较容易实现,代码维护方面相对简单,工作量也较小,在技术上十分是可行的。系统的登录界面简单和友好,采用常见的界面窗口的登录界面,而系统的开发则采用的是较为常用的安卓技术。这些策略使得用户不需要很长的时间就能够掌握系统如何操作。还有就是在系统操作出错的时候会弹出对应的提示,能使用户操作更简单方便。系统的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻松的实现,只是需要确保系统的正常工作即可,以及拥有较高的效率。如果有特别低的硬件,它可以导致系统的低性能以及效率低,从而导致整个系统的运行卡顿。基于目前大多数的个人电脑而言,这是十分容易实现的。因此,本系统的开发在硬件方面是可行的。3.1.1技术可行性根据该系统目标来衡量所需的技术是否具备,一般可从硬软件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。考虑到系统实施的可行性,在软件方面选择了如今较流行的JSP技术来进行开发设计,使用MySQL数据库存储数据。在软件方面,由于JSP和MySQL都是两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件方面是可行的。大学生课表APP选择的是eclipse开发环境,这个环境是一个成熟的环境。选用的语言是java语言,适用于各种领域。数据库采用MySQL数据库,它是一个开源的,用途广泛的数据库。因此软件上面是完全可行的。硬件方面,基于市面上很普及的电脑配置:内存16GB,固态硬盘250GB。这些都是现在家庭所拥有的电脑配置。这些配置可以满足开发的需求。3.1.2经济可行性经济可行性分析主要从这个项目的开发的花费和开发后的产品收入入手。分析开发一款项目所需要在这个项目上投入的资金、人员和机器以及其他各种支出,并且也需要调研这款项目如果开发成功并且投入市场后的盈利情况。大学生课表APP,面向的是我国广大的学生群众。基本每个高校都需要一个智能化、操作简单化的大学生课表APP软件,因此大学生课表APP的市场是很广阔的,并且用于开发的工具和环境基本都是免费的,所以经济上完全满足开发条件。3.1.3社会可行性运行可行性是对系统结构的影响的可行性,在体制、机制和运行环境的适应性参与,系统和人员培训人员计划的可行性。现今社会信息化技术普及范围十分宽广,各种操作人员的水平都是相当高的,所以十分具有运行可行性。①所有技术资料都为合法。②知识产权问题不会发生在开发过程中。③没有抄袭其他相关系统,不会有侵犯版权的问题。④不会再开发过程中涉及法律责任。3.1.4操作可行性大学生课表APP基于良好的人机交互。它的操作页面美观大气易于理解和操作。不需要具备很好的计算机技术就可以操作,使用者完全可以自己熟悉练习几次,就能完全掌握操作方法,因此具有操作方便性。综上所诉,基于安卓的大学生课表APP的开发是完全可行的。3.2系统功能需求分析本系统实现了如下功能:管理员:(1)管理员可以对管理员信息进行增加、删除、修改、查询,管理员功能的分配。(2)课程信息管理:管理员可以对课程信息进行增删改查,其中包括课程名称、考试地点、教师、简介等信息。(3)考试信息管理:管理员可以对考试信息进行增删改查。(4)作业信息管理:管理员可以进行作业信息的查看管理。APP用户:(1)课程列表:学生登录App后点击课程列表,可以进行课程信息查看。(2)上传作业:学生登录APP后点击上传作业,可以进行作业信息的上传。(3)系统提醒:学生登录APP后,可以提醒课程时间。(4)考试列表:学生登录APP后可以进行考试相关事项的信息查看。3.3系统非功能需求分析(1)安全性需求用户只有在经过身份认证之后,才能访问在其权限内的数据和进行权限内的操作。能禁受来自互联网的一般性恶意攻击。(2)完整性需求保证各种课程信息、考试信息记录的完整性,各项信息记录内容不能为空,各种数据间联系应保持正确性,相同的数据在不同记录中的一致性。(3)灵活性要求系统的部分功能对数据的精确度有所要求,对于系统的浮点型数据,其数据精确度应精确到小数点后2位。跨平台要求:本系统可以运行于Linux操作系统的环境下。
4系统设计与实现在设计体系的时候要做到全方位的站在公众的立场上考虑问题,让最终的产品能够顺应用户的需求;同时也是为了给高校自身内部的发展埋下伏笔。这一章节将重点突出对于体系的结构框架的设计描述上,以详细的标明每一个数据库的主体结构框架。4.1系统概要设计基于Android的大学生管理应用APP采用B/S结构和JSP技术,使用MySQL数据库进行存储。系统工作原理图如图4-1所示: 图4-1系统工作原理图4.2系统结构设计系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统框架。依照系统功能的从属关系可以画出一款图表,这就是系统的功能模块图,大学生课表APP分为前台和后台,前台也就是客户端包含4个模块分别是应用、公告、任务和我的资料。其中应用包括4个核心功能模块分别是我的课程表模块、考试列表模块、上传作业模块和书包提醒模块。后台也就是服务端主要是四个系统功能分别是课程管理、作业管理、考试管理和系统设置(包含管理员权限设置和系统菜单设置)。系统功能模块如图4-2所示:图4-2系统功能模块图4.3数据库设计4.3.1数据库的选定数据库在一个大部门系统中占有非常举足轻重的地位,数据结构设计的好坏将直接影响到系统运行的速度、功能的扩展和最终使用效果[4]。要提高存储的效率就需要合理的数据结构设计并且保证资料的完整性和准确性,同时也易于应用系统的设计。本系统选用的是MySQL数据库,因为它的性能卓越服务稳定,很少出现异常宕机,支持多种API接口,易于维护安装简单。4.3.2数据库概念模型设计数据库概念模型即系统的实体—关系模型。根据具体的功能需求,对本系统的E-R图进行细化从而得到几种实体-关系模型,以下为部分实体-关系模型[16]。(1)管理员实体,如图4-3所示:图4-3管理员实体图课程实体,如图4-4所示:图4-4课程实体图考试实体,如图4-5所示:图4-5考试实体图作业实体,如图4-6所示:图4-6作业实体图4.3.3数据库逻辑设计本系统主要用到了多张数据表,部分表单如下。1.admin信息表:表4-1admin信息表字段名字段类型小数位数空否idvarchar(255)0否user_namevarchar(255)0是user_passwordvarchar(255)0是usernamevarchar(255)0是sexvarchar(255)0是agevarchar(255)0是cardidvarchar(255)0是createnamevarchar(255)0是createtimesvarchar(255)0是updatetimesvarchar(255)0是flagvarchar(255)0是checklogvarchar(255)0是2.doorback信息表:表4-2doorback信息表字段名字段类型小数位数空否idvarchar(255)0否doornumvarchar(255)0是lcvarchar(255)0是flagvarchar(255)0是createnamevarchar(255)0是createtimesvarchar(255)0是picvarchar(255)0是3.sys_menu信息表:表4-4sys_menu信息表字段名字段类型小数位数空否idvarchar(255)0否menunamevarchar(255)0是contentvarchar(255)0是createnamevarchar(255)0是createtimesvarchar(255)0是updatetimesvarchar(255)0是jbvarchar(255)0是flagvarchar(255)0是urivarchar(255)0是bstartvarchar(255)0是4.sys_user_menu信息表:表4-5sys_user_menu信息表字段名字段类型小数位数空否uidint(11)0否midvarchar(255)0是5.tab_appointment信息表:表4-2tab_appointment信息表字段名字段类型小数位数空否idvarchar(255)0否ppidvarchar(255)0是createtimesvarchar(255)0是createnamevarchar(255)0是demandvarchar(255)0是tpvarchar(255)0是splbvarchar(255)0是cgzvarchar(255)0是 gongyingshangvarchar(255)0是 wbyvarchar(255)0是
5系统详细设计与实现系统详细设计的根本目标是确定应该具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以对这个描述直接翻译成用某种程序设计语言书写的程序。5.1管理员模块实现管理员登录后,显示系统设置、系统统计、课程管理、考试管理、作业管理五个功能,实现了对管理员信息的增删改查管理等功能。服务端登陆界面如图5-1所示:图5-1服务端系统登录界面5.1.1系统设置模块实现管理员登录后点击系统信设置模块,显示系统菜单和管理员信息功能,实现了管理员信息的添加、修改、删除、查看,其中包括:账号、年龄、姓名、性别、电话等信息。系统菜单实现界面如图5-2所示,管理员信息实现界面如图5-3所示: 图5-2系统菜单实现界面效果图5-3管理员信息实现界面效果5.1.2课程管理模块实现管理员登录后点击课程管理模块,显示课程管理信息,实现了对所创建的课程信息的删除和修改以及对应课程的增加和查看。课程信息管理实现界面如图5-4所示,课程信息创建界面如图5-5所示:图5-4课程管理实现效果图5-5课程创建实现效果核心代码如下:importjava.io.IOException;@ControllerpublicclassTabClassController{ @AutowiredprivateTabClassServiceservice; /*课程信息界面*/ @RequestMapping("View")publicStringTabClassList(HttpServletRequestrequest,TabClasstabClass){ request.setAttribute("list",service.TabClassList(tabClass));return"caigou/kecheng";} /*课程信息新增*/ @RequestMapping(value="SaveTabClass") publicStringsaveTabClass(HttpServletRequestrequest){ Stringid=CreateUUID.getuuid();Stringloginname=(String)request.getSession().getAttribute("loginname"); Stringcreatedate=CreateDate.getDateTimess(); TabClassd=newTabClass(); d.setCreatetimes(createdate); d.setCreatename(loginname); d.setId(id); d.setMathematics(request.getParameter("mathematics")); d.setEnglishh(request.getParameter("englishh")); d.setPolitics(request.getParameter("politics")); d.setHighnumber(request.getParameter("highnumber")); d.setComputerapplication(request.getParameter("computerapplication")); d.setMicroeconomics(request.getParameter("microeconomics")); d.setCity(request.getParameter("city")); d.setTeacher(request.getParameter("teacher")); d.setJj(request.getParameter("jj")); service.saveTabClass(d); return"redirect:View.action"; } /*修改用户*/ @RequestMapping("updateFjl")publicStringupdateFjl(HttpServletRequestrequest,Stringid){ TabClasstabClass=service.getTabClassById(id); request.setAttribute("tabClass",tabClass);return"caigou/kechengUpdate";} /*修改用户信息*/ @RequestMapping("UpdateTabClass") publicStringupdateTabClass(TabClasstabClass,HttpServletRequestrequest, RedirectAttributesredirectAttributes){ service.updateTabClass(tabClass); return"redirect:View.action"; } /*删除用户信息*/ @RequestMapping("delKehuxinxik") publicStringdelTabClass(Stringid){ service.delTabClass(id); return"redirect:View.action"; } /*课程信息*/ @ResponseBody @RequestMapping(value="app_kechengxinxiAppdid_view",produces="application/json;charset=utf-8") publicStringApp_kechengxinxiAppdid_view(HttpServletResponseresponse)throwsIOException{ response.setContentType("application/json;charset=utf-8"); JSONObjectjsall=newJSONObject(); JSONObjectmember=newJSONObject(); JSONObjectjsonall=newJSONObject(); JSONArrayjson=newJSONArray();//数组 List<TabClass>findAll=service.TabClassAllList(); for(TabClasslist:findAll){ member.put("id",list.getId()); member.put("mathematics",list.getMathematics()); member.put("englishh",list.getEnglishh()); member.put("politics",list.getPolitics()); member.put("highnumber",list.getHighnumber()); member.put("computerapplication",list.getComputerapplication()); member.put("microeconomics",list.getMicroeconomics()); member.put("createname",list.getCreatename()); member.put("teacher",list.getTeacher()); member.put("jj",list.getJj()); member.put("createtimes",list.getCreatetimes()); json.add(member); } jsonall.put("data",json); jsall.putAll(jsonall);returnjsonall.toJSONString(findAll,SerializerFeature.DisableCircularReferenceDetect); } 5.1.3考试管理模块实现管理员登录后点击考试管理模块,显示课考试时间、考试地点、科目等信息,实现了对考试信息的删除、编辑。考试信息管理实现界面如图5-6,考试信息创建界面如图5-7所示:图5-6考试管理实现效果图5-7考试创建实现效果5.1.4作业管理模块实现管理员登录后点击作业作业管理模块,显示作业信息管理信息,实现了对科目、标题和内容等作业信息的删除和。作业管理实现界面如图5-8所示:图5-8作业管理实现界面5.2前台学生模块实现学生登录后,显示应用、公告、任务、我的资料四个功能,实现了课程、考试等信息查看。APP登录界面如图5-9所示:图5-9客户端登录界面5.2.1应用模块实现学生登录后点击应用模块,显示应用信息,实现了对课程列表、上传作业、系统提醒、考试列表管理。APP应用主界面如图5-10所示,应用中我的课程表如图5-11所示,上传作业功能如图5-12所示,考试列表功能如图5-13所示:图5-10APP应用主界面图图5-11我的课程表实现界面图5-12上传作业实现界面图图5-13考试列表实现界面图5.2.2公告管理模块实现学生登录后点击公告管理模块,显示系统通告信息。系统公告信息如图5-14所示。图5-14系统公告实现界面5.2.3我的模块实现学生登录后点击我模块后,显示个人资料和退出功能信息。我模块实现如图5-13所示,个人资料详情如图5-14所示:图5-15我的资料实现界面图5-16个人资料实现界面
6系统测试在我们设计软件的过程中,测试系统常用的测试方法主要有两种:功能测试和结构测试。功能测试,就是对产品的各项功能进行验证,根据功能测试用例,逐项测试,检查产品能否达到用户要求的功能。它的特点是不选要考虑整个软件的内部结构及代码,只需要考虑测试各个功能。按照需求编写的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户的要求。6.1登录模块测试针对系统的两个权限分别对管理员、学生的登录进行了测试。管理员拥有普通用户的全部权限以及查看学生信息等权限。1、管理员登录权限及各功能验证(1)操作步骤:登陆管理员账号,查看及操作系统信息管理、课程信息管理、考试管理等功能验证。(2)预期结果:可以填写、修改、提交管理员信息,对课程信息查看和汇总操作以及考试信息管理功能的操作。(3)实际结果:与预期结果一致。2、用户登录权限及各功能验证(1)操作步骤:登陆学生账号,查看及操课程考试以及查看公告信息功能验证。(2)预期结果:可以实现查看课程考试、查看公告信息等功能。(3)实际结果:与预期结果一致。6.2管理员功能测试管理员用户进入操作系统可以通过点击菜单选择相应操作,进入不同的功能界面。针对不同的选项,分别对管理员信息的账号、密码、姓名、性别、电话和其他内容进行添加、修改、删除、查找等操作及添加管理员信息,管理员功能分配。1、课程管理:点击左侧菜单的课程信息管理,按照点击的信息管理,右侧显示操作界面,与预期结果一致。2、考试信息管理:点击左侧菜单的考试信息管理,按照点击的考试信息管理,右侧显示操作界面,右侧显示操作界面,与预期结果一致。3、作业信息管理:点击左侧菜单的作业信息管理,按照点击的作业信息管理,右侧显示操作界面,与预期结果一致。管理员可以对管理员信息进行添加、删除、修改、查询等操作。1、管理员信息添加:点击表格下方添加按钮,输入用户信息,点击保存按钮,添加的用户信息显示在表格中,在数据库中可以找到该数据,与预期结果一致。2、管理员信息修改:点击表格下方或对应信息左侧的修改按钮,输入修改信息,点击保存按钮,查看表格及数据库中的用户信息,与修改内容一致,与预期结果一致。3、管理员信息删除:点击表格下方删除或对应信息左侧的删除按钮,确认删除信息,删除的用户信息未显示在表格中,在数据库中未找到该数据,与预期结果一致。管理员用户可以课程信息进行添加、删除、修改、查询等操作。1、课程信息添加:点击表格下方添加按钮,输入课程信息,点击保存按钮,添加的课程信息显示在表格中,在数据库中可以找到该数据,与预期结果一致。2、课程信息修改:点击表格下方或对应信息左侧的修改按钮,输入修改信息,点击保存按钮,查看表格及数据库中的课程信息,与修改内容一致,与预期结果一致。3、课程信息删除:点击表格下方删除或对应信息左侧的删除按钮,确认删除信息,删除的课程信息未显示在表格中,在数据库中未找到该数据,与预期结果一致。4、课程信息查找:点击表格下方的查找按钮,输入查询条件,点击查找按钮,查找的信息显示在表格中,与预期结果一致。5、课程信息查看:选中要查看的信息,点击表格下方查看按钮,显示课程具体信息对话框,与预期结果一致。6.3功能测试功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。本系统功能测试如表6-1所示:表6-1系统功能测试测试内容测试结果适用性好准确性好可操作性好依从性好安全性好6.4可用性测试可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6-2所示。表6-2系统可用性测试测试项测试人员的评价窗口移动、大小改变、关闭等操作是否正常是操作模块是否友好是模块、提示内容等文字描述是否正确是模块布局是否协调、合理是模块的状态是否正确(对选中项能否发生对应切换)是鼠标、键盘操作是否支持是所需数据项是否正确显示是操作流程是否合理是是否提供帮助信息是6.5安全测试在一个开发过程中,系统可能出现这样或那样的漏洞,而发现这些安全性漏洞,寻求有效的解决办法就需要用到安全测试。安全测试包括访问认证、数据加密、入侵检测、漏洞扫描、数据备份与恢复等。本系统安全测试主要从入侵检测开始包含以下几点:1)系统登陆安全测试:未注册以及使用错误的账号密码的用户都无法登陆系统,只有经过注册的用户才能登录客户端,经过管理员赋予权限的用户才能登陆服务端。2)系统管理权限安全测试:通过使用管理员账户和普通用户账户分别登录客户端和服务端,没有出现权限混乱现象。3)系统数据安全性:本系统对所有账号、密码数据都进行加密处理。对数据库进行伪文件处理(数据库文件后缀名更改成其它格式文件),且具有良好的数据库备份和恢复机制。6.6程序调试调试是保证所提供的设备能够正常运行的必须程序。在编好程序后,用各种手段进行查错和排错来修正语法错误和逻辑错误的过程。调试程序是可在被编译了的程序中判定执行错误的程序,它也经常与编译器一起放在IDE中。运行一个带有调试程序的程序与直接执行不同,这是因为调试程序保存着所有的或大多数源代码信息(诸如行数、变量名和过程)。它还可以在预先指定的位置(称为断点(breakpoint))暂停执行,并提供有关已调用的函数以及变量的当前值的信息。为了执行这些函数,编译器必须为调试程序提供恰当的符号信息,而这有时却相当困难,尤其是在一个要优化目标代码的编译器中。因此,调试又变成了一个编译问题。1、登录测试测试程序:1.打入无误的用户名和错误的密码察看结果是否和设置的相同。2.打入错误的用户名和无误的密码查看结果是否和设置的一样。3.打入无误的用户名和不输入密码查看结果是否和设置的一样。4.不打入用户名和打入无误的密码查看结果是否和设置的一样。5.打入错误的用户名和错误的密码查看结果是否和设置的一样。6.不打入用户名和密码查看结果是否和设置的一样。7.打入不允许登录的无误的用户名和密码查看结果是否和设置的一样。8.打入允许登录的正确的用户名和密码查看结果是否和设置的一样。测试方法:依据测试用例要求编写相关测试用例进行测试。测试结果:在正常情况下是否能进入主界面。处理方式:进行修改以后可以再进行回归测试。2、增加测试怎样进入测试流程:1.让管理员进入测试主界面。2.选择添加内部信息。3.输入错误的数据查看能否进行添加。4.输入正确的数据查看是否进行添加。测试种类:基于测试用举例子的要求编写相应测试用例子进行测试。测试应该查看的结果:数据是否能正常添加。处理方式:执行修改后再执行还原测试。3、测试查询怎样进行查询:1.挑选管理员级别的进入到主界面。2.采取查看内部信息。3.选择查看信息。4、主页面的登录模块测试测试流程:1.打开系统首页,输入错误的登录信息2.登录3.输入正确的登录信息4.登录5.测试结果
毕业设计报告本次毕业设计方便了教师和学生进行课程管理。在高中有一句话叫做铁打的教室,流水的老师形容上课地点固定老师轮换上课,但在大学恰恰相反,由于课程种类比较多上课地点也不固定,所以一张课程表就显得极为重要以至于大部分学生怕忘记上课地点兜里始终带着一张纸质课程表,这就显得比较不方便。由于Android在国内的快速发展,智能手机在大学普及度很高所以电子课程表应运而生。基于以上的问题设计出的大学生课程信息管理APP,不仅具有查看课程的功能,他还有课程提醒、考试提醒、作业提醒以及作业上传等功能。教师通过登录管理员账户在服务端进行课程管理,将课程信息录入系统方便学生在客户端查看,包括课程创建修改删除、考试信息的发布以及在线查看学生上传的作业。学生通过手机上的课表APP登录就能查看课程、考试、公告等信息,将老师课堂上或是通过公告布置的作业完成,在上传作业模块要么以拍照成图片来进行上传,要么编辑成文档来完成上传。点开考试列表就能查看考试信息包括地点时间科目等。学生只需拿出手机点开课表就会收到课程提醒,从而避免忘记上课的事情发生。
总结与展望经过了两个多月的时间,终于完成了大学生课表APP的开发与实现。这是我在大学期间完成的最大的项目开发实现。在系统开发实现的过程中,我受益匪浅。首先,我意识到代码规则的重要性,特别是在一些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学四年级(水利水电工程)水电站工程施工试题及答案
- 蓝黄色扁平插画企业风险管理培训课件其他管理
- 制氧机培训课件教学
- 工程安全质量培训心得课件
- 工程安全体验培训中心课件
- 2026年民法典知识竞赛测试题库及答案(完整版)
- 成瘾医患沟通的循证沟通策略选择
- 成本标杆的行业对标策略-2
- 安全意识模拟练习
- 样板制定模版规划
- 幼儿园教育项目投标书范本
- 电镀工初级复习题
- 2025至2030全球及中国室内定位技术行业项目调研及市场前景预测评估报告
- 生产安全操作安全培训模板
- 国际货运代理公司合伙协议书
- 质量安全环保保证协议书
- 北京市朝阳区2023-2024学年七年级上学期期末质量监测历史试卷及答案
- 教代会提案工作培训指南
- 2025年副高卫生职称-临床医学检验学技术-临床医学检验临床化学技术(副高)代码:058历年参考题库典型考点含答案解析
- 2025年四川单招试题及答案普高
- 学堂在线 雨课堂 学堂云 生活、艺术与时尚:中国服饰七千年 期末考试答案
评论
0/150
提交评论