




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)论文题目基于Android的教务管理系统thesis TopicEducational administration management system based on Android全套图纸加扣 3012250582毕业设计(论文)任务书 第1页毕业设计(论文)题目:基于Android的教务管理系统毕业设计(论文)要求及原始数据(资料):1. 选题的依据及意义,以及国内普通高校教务管理系统的功能;2. 了解该Android高校教务管理系统应有的功能和特色;3. 熟练掌握开发该系统的软硬件环境和开发工具;4. 对基于Android的教务管理系统进行详细分析,完成系统的总体设计、功能设计、数据库设计等任务;5. 编写程序代码、创建数据库,并进行调试运行;6. 对系统进行测试,并根据测试结果对系统进行评估;7. 训练检索文献资料和利用文献资料的能力;8. 训练撰写技术文档与学位论文的能力。第2页毕业设计(论文)主要内容:1. 国内外高校管理系统的功能和使用概况;2. 可行性研究分析,并给出基于Android的教务管理系统的功能;3. 了解实现Android教务系统的相关技术;4. 对系统进行整体设计和模块设计;5. 将系统所要实现的功能用程序代码实现、并配合相关的数据库;6. 对系统进行调试运行、给出系统的核心代码和系统运行结果截图;7. 给出系统测试方法和测试结果,对系统进行正确的评价学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。第3页主要参考文献(资料):1 盖索林. Android开发入门指南(第二版)M. 北京:人民邮电出版社,20122 靳岩,姚尚朗. Android 入门开发与实践M. 北京:人民邮件出版社,20123 李佐彬. Android开发入门与实战体验M.北京:机械工业出版社,20104 伯内特,田俊静,张波等. Android基础教程(第3版)M.北京:人民邮电出版社5 汪源,刘芳. Android的进程与单线程模型浅析J. 仪器仪表用户,2011,(5):30-316 于志龙,郑名杰等.Android SDK 开发范例大全M.北京:人民邮电出版社,20127 邹治军. 3G Android应用程序数据存储的实现方法J. 商业文化, 2011,(5):236-2368 Peer review report 1 On “Statistical Regression Models for Assessing Climate Impacts on Crop Yields - A Validation Study for Winter Wheat and Silage Maize in Germany”J. Anonymous. Agricultural and Forest Meteorology.9 Peer review report 1 On “Statistical Regression Models for Assessing Climate Impacts on Crop Yields - AValidation Study for Winter Wheat and Silage Maize in Germany”J. Anonymous.Agricultural and Forest Meteorology.10Peer review report 2 On “Hyperspectral narrowband and multispectral broadband indices for sensing of crop evapotranspiration and its components (transpiration andsoievaporation)”J.Anonymous.Agricultural and Forest Meteorology.1基于Android的教务管理系统摘 要 本文描述了基于Android的教务管理系统的开发和设计所采用的主要技术,包括Android开发环境,Android编程语言、Android Studio开发工具、Sqlite数据库语言等等,该系统在这些先进技术的支持下实现了学校新闻浏览、教务信息查询、好友互动、信息反馈 等基本功能。文中给出了实现该系统所进行的可行性分析、需求分析、系统的总体结构设计、各功能模块设计、流程图设计、以及数据库的设计。本文还提供了实现该系统的部分主要软件代码和主要软件运行界面,并对所给代码和界面进行了必要的说明和讲解。在本文的最后部分介绍了对系统的整体测试情况,给出了所采用的测试方法黑盒测试。本文论述的教务管理系统运行良好,基本满足设计要求。因为本教务管理系统是针对用户端的服务需求而开发设计的,并且本系统是以太原理工大学的师生为服务对象,所以在本篇论文中简称该系统为“太理助手”。关键字:聊天软件;Java ;Android;教务管理IEducational Administration systemAbstractThis paper describes the main technologies of the design and development of educational management system based on Android, including the Android development environment, Android programming language, Android Studio development tools, Sqlite database language, the system realizes the news browsing, educational information query, friends interactive information feedback and other basic functions in these advanced technology support under the. The feasibility analysis, demand analysis, overall structure design, function module design, flow chart design and database design of the system are given in this paper.This paper also provides the main software code and the main software running interface of the system, and gives the necessary explanation and explanation for the code and interface. In the last part of this paper, the overall test of the system is introduced, and the test method, black box testing, is given. The educational management system described in this paper works well and basically meets the design requirements. Because of the educational management system is a service for the clients needs and development of the design, and the system is the principle of university teachers and students for the Ethernet service object, so in this paper the system is referred to as too physical assistantKey words: Chart software; Java; android; Educational AdministrationII目 录摘 要IABSTRACTII1 绪论11.1 教务管理系统开发背景及必要性11.2 教务管理系统开发目的和意义11.3 教务管理系统的优越性11.4 教务管理系统所用开发工具及环境简介21.4.1 Android Studio和Java简介21.4.3 SQLite、GreenDao3.0简介31.4.4 Bmob后端云简介41.4.5 融云及时通讯简介52 教务管理系统分析62.1 教务管理系统可行性分析62.2 教务管理系统需求分析62.2.1 功能需求62.2.2 运行环境需求72.2.3 业务流程分析72.2.4 数据流程图102.2.5 数据库需求分析113 教务管理系统设计133.1 功能模块设计133.2 系统数据库设计143.2.1 数据库概念设计143.2.2 数据库逻辑设计143.2.3 数据库文件设计144 系统界面实现174.1 引导页设计174.2 主页面设计174.3 校园新闻功能模块页面设计184.4 教务查询功能模块设计194.4.1 成绩查询功能模块设计204.4.2 课表查询功能模块设计204.4.3 学分绩点查询214.4.4 选课管理界面设计214.4.5 一键评教界面设计224.4.6 我要蹭课界面设计224.4.7 四六级查询界面设计23IV4.5 聊天功能模块设计244.6 我的模块设计244.6.1 个人信息界面设计254.6.2 个人信息设置界面设计264.6.3 学习资料界面设计264.6.4 意见反馈界面设计275 总体代码实现285.1 网络框架代码实现。285.2 数据库代码实现325.3 校园新闻页代码实现335.4 好友互动页代码实现365.5 我的页面代码实现396 教务管理系统测试426.1 实例测试的研究以及选择426.2 系统测试的结果427 结论46参考文献47致 谢48外文页49V1 绪论1.1 教务管理系统开发背景及必要性随着智能手机硬件的更新换代和4G网络的广泛普及,以及华为引领的5G技术的开始,全球移动互联网技术的迅猛快速发展,全国各地越来越多的人开始通过手机客户端接入互联网1,通过Android客户端浏览教务信息已经成为可能。由于在校大学学生人数众多,教务信息量大,校园教务信息发布和浏览走向便捷化,移动化已经是大势所趋2。因为教务信息的需求及用户多为在校大学生和任课教师,接收和发布教务信息时追求效率和简便,如果从PC端浏览器来获取这些教务信息会影响到用户体验,用户不可能随时都携带电脑来访问教务系统,因此使用Android客户端来访问高校教务资源,获取便捷及时的学校资讯以及更快速的沟通交流成为目前高校信息化建设追求的新目标。作为学生的我们已经不再满足于传统电脑浏览器的信息查阅,因此人们开始探索各种用于提高信息发布和接受的方式。所以,一些国内比较顶尖的大学如清华、北大等众多高校在2011年下半年便开始陆续开发适用于本校信息发布和接受的APP,现在校园(尤其是大学校园)已成为APP的重要市场,也有非常多优秀的校园app存在。一些学校将校园移动端APP打造成了集学业水平成绩、绩点、学校政策、校园新闻等,为大学生提供各种类型的学校兼职、二手交易活动、大型团队活动等服务为一体的综合性教务客户端。1.2 教务管理系统开发目的和意义针对本校园师生的教学和学习需求开发和设计一款移动端APP已经成为一种趋势,目前高校学生们关于教务信息的需求是查看课表,查看学分绩点,查看成绩,选课管理,一键评教等,因此相较于学校的官方网站,定制的APP有以下特点。 (1)简便性。当学生们知道一门成绩发布出来后,身边又没有电脑,在这种情况下学生们只能找有电脑的地方或者在手机上打开学校官网,然而学校官网是没有适配手机的,会导致一些教务信息查看不到,用户的体验性也不高,因此一款定制的校园app可以让学生们十分方便的查看学校教务信息;(2)因材施教。从学校师生实际需求出发,设计出查看课表,查看成绩的符合学生需求的app。(3)沟通性。作者在“太理助手”上设计了好友互动模块,可以添加好友并实时同好友互动,增强用户之间的学习交流;(4)用户粘性高。除了一些基本的查询功能外,作者还新增了学校新闻,校园活动,通知公告,学术动态四大新闻功能,用来增强用户粘性。1.3 教务管理系统的优越性 “太理助手”这款软件的主要目的是为了太原理工大学校园教务信息的分享与发布,服务太原理工大学的学生和老师们,希望可以给师生提供一站式的帮助,让学生们在学习生活,考试娱乐等方面都可以较为轻松。对比于其他的第三方教务查询app,“太理助手”的主要优势有以下几点:(1)在客户端的教务模块实现了Android客户端对接学校教务处官网,通过模拟登陆的方式学生们可以实时获取教务信息,学生们登录之后就可以查询科目成绩信息,上课课表,学分绩点,一键评教,选课管理等,方便了学生的教务管理;(2)提供教务处新闻,可以更加快捷的了解学校动态;(3)除了学校新闻模块和学校教务模块,作者还提供了及时聊天通讯的功能,可以让学生们随时随地的交流。1.4 教务管理系统所用开发工具及环境简介设计太理助手系统的时候,作者综合考虑了Android studio和eclipse,最后决定采用Android Studio作为开发工具,在1.4.1中会详细阐明了Android studio相较于eclipse3的优点。数据库方面作者采用了安卓自带数据库Sqlite以及Bmob后端云为后台数据库,使用的操作平台是 Windows7,这个并没有特殊的要求,Android模拟器使用的是Android 4.4以及Genymotion安卓虚拟机进行系统开发4。1.4.1 Android Studio和Java简介Android Studio 是谷歌新推出的Android开发工具,作者刚开始从eclipse转到Android studio的时候比较不适应,随着Android studio的使用,会发现Android studio是非常强大的,其主要特色是在代码提示和搜索功能这两个地方,我个人认为非常便捷智能,相较于eclipse,Android studio有几个比较明显的特点。比如自定义一个布局文件叫做Layout_splash,其中有个控件叫做RelativeLayout,如果我们使用eclipse的话,就必须要输入Re开头才能给出下面的提示,并且严格区分大小写,但是使用Android Studio的话,只要输入相似的字母,不论开头或者结尾,它就可以采用模糊查询。比如 输入layout的话,下面就会出现很多相关提示。再比如Android Studio通过一定的筛选和计算会给程序员一个最优的提示。每一次拿到的结果都不相同,并且很大可能首选项就是最需要的结果,这样可以大大提高开发效率。Android studio相较于eclipse,多了一个gradle的功能,这样每次开发都不需要引入jar包,在buil.gradle中添加引用程序,便可以将一些第三方的库引入进来,非常的清爽方便。Java:笔者在大二的时候开始接触java,这也是在学校真正意义上的第一门编程语言,当时对java的了解是java和javac这两个编译运行的语法,随着对java的学习认识,笔者知道了java是一门比较强大的面向对象的,跨平台的编程语言,它有三个比较厉害的特性,即封装,继承,和多态,这也是java语言有别于其他语言的原因。1.4.2 Android简介通过系统性的学习Android课程,我们会对Android应用体系有一个大致的了解,其中包括activity,service,BroadcastReceiver,以及ContentProvider四大组件,以及intent来传递意图,activity的作用是用来展示布局界面以及处理一些简单的逻辑判断,将一些用到的数据展示到界面上,而service的作用是将一些耗时的操作和逻辑都放在后台来处理,相当于又开了一个新的线程,而服务又分为service和 bindService,后者会随着activity的销毁而销毁。BroadcasReceiver是广播接受者,用来发送一些广播,让本应用或者其他的应用可以接受到相关的消息,ContentProvider是内容提供者,一些短信或者手机号码都是通过此方法来查看的。从图1-1我们可以看出,Android的logo是由一个个小的机器人组成的,由设计师勃洛克亲自设计,在设计之初,谷歌公司希望logo能给人一种科技和未来的感觉,为此在logo中创造了这个经典的绿色机器人,在设计过程中,勃洛克和她的同事们一致认为该logo应该和软件一样是开放的,也正因为此,Android才能在极端的时间内成为最受欢迎的操作系统。图1-1 Android Logo1.4.3 SQLite、GreenDao3.0简介数据库是用来存放一些重要的数据的仓库,我们经常会将一些比较重要的数据表保存在电脑硬盘中,如成绩表,学分绩点表等,以防止数据的丢失,数据丢失时也可以及时的恢复。 然而随着数据的不断增加,如何有效的管理这些数据就成为了当务之急,毕竟就算是记性再好也不可能记住每一个文件所在的位置以及文件中所存储的东西。 GreenDao是一个轻量级的数据库的帮助类,它所操作的数据库语言是sqlite。Sqlite是谷歌公司推出的专门针对Android手机的数据库。Greendao会将我们需要操作的SQL语句比如insert,update,delete等语句以对象的形式写入greendao的函数库内,只需要进行简单的调用,我们便可以完成相关的操作,如图1.2便是greenDao从SQL语句到java对象的转变。Android Studio中引入GreenDao数据库是非常简便的。1.引入GreenDao jar包2.运行生成对应的数据库文件3.对数据库进行对应的增删查改操作图1-2 GreenDao关系图 1.4.4 Bmob后端云简介对于很多刚接触过Android的新手来说,主要精力集中在Android客户端的实现上,往往会忽略了服务器方面的相关知识,因为在日常的开发过程中,开发者们只要知道服务器传回来的数据(一般回传回来json数据),并不关心具体的实现细节。如果开发者以个人能力来开发一款需要服务器的app,同时需要做到服务器端的数据查询和存储等相关功能比较给力的话几乎是不可能的,因为这就需要把客户端和服务器协同起来。并且需要在精通Android的前提下,对java后台开发有比较深刻的认识,才能胜任此项工作,这无疑增加了开发者的学习成本和精力。作者一直在想,如果我们只开发客户端,而服务器端有现成的框架可以直接使用,这无疑会增加我们的效率,经过向老师和同学们咨询,作者了解到了一个比较强大的第三方服务器框架Bmob后端云,如图1-3所示,Bmob后端云是一个全方位一体化的后端服务平台,不需要开发者自己写服务器,就可以拥有服务器的各种后端能力。在数据类型上,Bmob提供了丰富的数据类型,包括String类型、Number、布尔类型、Date类型、File类型、Geopoint类型、Array(数组)、Object(对象)图1-3 Bmob后端云图 1.4.5 融云及时通讯简介当开发者的应用需要实现及时通讯的功能时,首先想到的并不是自己去开发通信模块,因为通讯模块的开发需要耗费大量的人力物力,并要面对一定的技术难题,作为个人开发者的我们根本没有能力去开发及时铜须的模块,怎么办呢?如果有一些第三方的平台提供这些功能,可以让开发者非常简便的实现通讯模块,那对于开发者来说就太友好了,通过向指导老师咨询,作者知道了目前市面上有很多的及时通讯平台,在太理助手这款app中我使用融云sdk来完成通讯模块的开发。简单介绍下融云: 官网:/。进入融云的官网,会让开发者先选择框架集成的平台,如图1-4所示,只需要进行简单的注册,开发者就可以集成融云的相关功能,点击Android之后,我们需要下载IMkit和IMLib这两个jar包,把这两个jar包导入进项目,再进行一些简单的集成操作,便可以很轻松的使用融云及时通讯框架来开发了。 图1-4 融云即时通讯图 2 教务管理系统分析2.1 教务管理系统可行性分析近些年来,由于Android设备的高速发展,使得手机等移动设备高速智能化,移动网络通信正在以前所未有的惊人速度走入人们的生活、工作和学习中,提高了工作学习的效率,增加了获取信息的渠道,突破了相互交流的时空界限。教学管理系统可以基于移动平台安卓系统进行开发,帮助师生轻松解决教学中工作学习等问题。可行性分析既不能以偏盖全,也不能过于追求细节,必须为决策提供有价值的证据。软件领域的可行性分析主要考虑四个因素:技术可行性分析,经济、社会效益分析,法律可行性分析,开发人员与进程可行性分析。在技术可行性方面,所学技术都是老师上课所传授的Android技术和java基础,本系统所使用的一些第三方平台都有老师指导,并且这些平台也都有配置指南可以参考,所用到关键技术如“模拟登陆”也是在基地老师的帮助下完成的,所以本系统在技术上是可行的。在经济、社会效益方面,从成本方面看,本系统的实现,计算机和网路硬件已经拥有,并且谷歌的Android是个开放平台,Android Studio和本系统所使用的第三方库都是免费提供的,从效益方面看,“太理助手”主要是为广大师生提供的,并不会带来任何经济效益,不过经过二次开发,可以考虑投放到应用市场上,为广大师生提供方便。从法律可行性看,因为谷歌将Android开源,免费提供给广大开发者,加上基于Android的教务管理系统主要为广大师生提供便利,作为毕业设计,并不以盈利为目的,且是自主开发设计,因此不会产生侵权或其他责任问题,在法律上是完全可行的。2.2 教务管理系统需求分析2.2.1 功能需求太理助手系统为了满足广大师生的需求应该提供以下功能,为了让在校师生可以更将及时的了解到校内新闻,作者设计了第一个功能“新闻”功能,包括,“学校新闻”,“校园活动”,“通知公告”和“学术动态”四大特色新闻,可以从全方位,多角度的了解学校动态,作者在访问部分学生后,了解到访问学生个人教务信息较为繁琐,访问方式较为单一,学生们迫切希望有一个移动端的APP来访问自己的教务信息,为此作者设计了第二个功能“教务查询”,有以下具体功能:“成绩”,“课表”,“学分绩点”,“选课管理”,“一键评教”,“四六级查询”来方便学生查看个人信息,当老师向学生们传达任务或者学生们互相交流时,通过电话或者短信来传递消息,途径较为单一,方式较为传统,为此作者加入了“互动”功能,最后为了方便大家更好地使用APP或者及时提供意见给作者,特意加入了设置模块。2.2.2 运行环境需求硬件环境:Windows 7 旗舰版处理器:Inter(R) Core(TM) i5-3230M CPU 2.60GHz 2.60GHz系统类型:64位操作系统惠普笔记本一台软件环境:Android Studio 2.3.1Android 4.3 虚拟机2.2.3 业务流程分析通过对本系统的分析和了解,可以知道数据的来源是学校教务系统,所以第一步是通过模拟登陆的手段,获取学校的各项新闻,并通过Android中的技术展示出来,而学校的教务信息需要学生们填写账号密码以及验证码,登陆成功以后会跳转到教务页面,在教务页面我们通过解析html的方式就可以拿到学分,绩点等个人信息如图2-1所示。 图2-1 总体业务流程图新闻模块:通过jsoup等第三方库,我们可以拿到新闻网页的源码,解析这些html源码,我们就可以把“学校新闻”,“校园活动”,“通知公告”,“学术动态”等相关新闻解析出来,并且利用Android的相关知识展示到新闻列表页面,当用户点击新闻标题时,利用动态获取新闻链接的方法,我们就可以跳转到新闻详情页面,让学生们可以更加便捷的浏览学校动态,具体业务流程图如图2-2所示。图2-2 新闻流程图教务模块:第一步先让用户输入学号密码,登录学校教务系统,学校服务器会给我们返回一个状态码,通过状态码我们可以判断是否登陆成功,成功之后我们访问教务信息网址,服务器会给我们返回相应的html信息,通过使用jsoup解析工具,我们便可以拿到相应的教务信息。如果登录失败的话会再次跳转到登录页面,需要用户先刷新验证码,再次输入账号密码和验证码之后,重复第一个步骤即可,具体业务流程如图下图所示。 图2-3“成绩”流程图 图2-4“学分绩点”流程图“我要蹭课”功能需要先输入课程关键字,并且通过下拉框选择所在院系,选择好相关数据后,点击搜索按钮,所有数据会提交到学校服务器,服务器会根据提交的内容进行模糊查询,查询成功后会给“太理助手”客户端返回课程列表,通过点击课程标题,就可以进入相应的课程详情页,如图2-5所示。 图2-5 我要蹭课流程图 图2-6 选课管理流程图聊天模块:如果好友列表中没有此好友的话,需要点击添加好友按钮,进入搜索好友界面,输入好友账号,“太理助手”会访问第三方平台“bmob”中的好友体系,通过查找对应的账号,会给好友发送一个添加好友的请求,点击添加按钮即可添加成功,如图2-7所示。图2-7 聊天流程图退出模块:点击返回按钮,会弹出一个对话框,有确定和取消两个可选项,点击确认按钮,“太理助手”会关闭已经打开的所有界面,并且退出程序。点击取消按钮,不做任何响应,如图2-8所示。图2-8 退出流程图2.2.4 数据流程图系统分析的根本目的概括起来可以分为以下三点,即信息流动、处理、存储的过程。目前来看网络上关于数据流程分析有许多方法,这些方法都有一个显著地特点,即把一个系统看成一个完整功能,我们需要梳理项目信息的输入以及输出,而太理助手系统为了完成模块化功能,在其系统内部一定会有消息的处理、传递、存储过程。通过从上到下,层层梳理,就可以拿到具体的操作步骤 5。实现方法是:按照之前给出的业务流程图,我们需要将其中的数据处理过程用数据流程图的形式展示出来,在此基础上,我们需要将绘图同原有的数据处理过程,处理方式相对应,确认好输入和输出的关系,以及数据之间的传递关系。 图2-9 数据流程图通过图2-9,我们可以对处理框中的逻辑做进一步处理。如下图2-10所示。最右边是我们太理助手所要面向的主要对象,即学生群体,最左边开始,数据来源为学校网站,通过对教务处网页的分析,我们可以获取相应的功能信息,分别为,校园新闻表,社团公告表,课程表,成绩表,以及学分绩点表,通过查看浏览,我们可以进入到相应的模块详情页中查看模块详情信息。图2-10 数据流程图2.2.5 数据库需求分析本系统所用到的数据库为安卓自带的数据库sqlite6以及Bmob后端云数据库。当用户登录教务系统后,用户信息会保存到本地数据库。这样下次登陆时,便可先从本地判断是否成功。 图2-11 数据库 图2-12 数据库插入数据库的用户名和密码:图2-13 数据库3 教务管理系统设计教务管理系统设计部分包括两个大的方面,第一为查看新闻,课表,成绩,学分绩点这些功能的设计,第二为这些功能所用到的数据库的设计,经过对系统的模块设计,我们可以得到对应的实体对应关系以及相应的数据库的表结构。3.1 功能模块设计通过上边的系统分析我们可以很轻松的得到相应的功能模块设计,然后划分出“太理助手”系统的所有模块结构。基于安卓的教务管理系统,只要采用的是分层结构。太理助手共有四大模块构成,每个模块之间相互独立,第一大模块“新闻”模块共分为四个小模块,分别为:“学校新闻”、“校园活动” 、“通知公告”和“学术动态”进入之后可以查阅相关学校新闻,点击list列表标题,我们就可以进入新闻详情页,在新闻详情页中我们可以分享新闻,并且点赞相关新闻;第二模块“教务模块”共分为“成绩”、“课表” 、“学分绩点” 、“选课管理” 、“一键评教”和“四六级查询”共计6大功能模块,其中“成绩”,“课表”,“学分绩点”进入后可直接浏览相关信息;“四六级查询”可以通过输入准考证号与姓名获得相应信息;“一键评教”和“选课管理”需要提交一些相关信息才可以提交。“聊天模块”分为“消息”和“联系人”两大模块,“我的”模块分为“个人信息”,“学习资料”,“信息设置”,“换肤”,“意见反馈”五大模块。具体模块如下图3.1所示。图3-1 功能模块3.2 系统数据库设计3.2.1 数据库概念设计通过绘制“太理助手”的er图我们可以很清楚的了解到实体与实体之间的对应关系,是一对一还是一对多,通过er图,我们就可以很轻松的完成逻辑设计,方便我们建设相关的数据库表。E-R图如下图3.2所示: 图3-2 功能模块3.2.2 数据库逻辑设计逻辑结构的设计是将一些模糊的不具体的对应关系转换成Android所能够接受的数据模型,在此基础上,我们可以再次对其进行加工,直到拿到我们想要的结果。用户(学号,密码,用户名,登录密码,昵称,头像地址)成绩单(课程编号,课程名,学分,成绩)课程表(课程名,上课周数,上课星期,教师,教室)选课管理(课程编号,课程名称,任课教师)一键评教(评教时间,评教课程,代课教师,是否评教,评教内容)3.2.3 数据库文件设计逻辑结构的设计是将一些模糊的抽象的东西转换成相应实体,并对其进行优化。根据太理助手软件所依据的那些输入输出图,我们可以很轻松的得到实体图,每个实体所关联的数据结构图如下图所示。表1 用户表序号字段名称描述数据类型是否为空1stuId 学号char(10)No234passwordusername loginPassed密码用户名登录密码varchar(25)varchar(25)varchar(25)NoNoNo5userName昵称varchar(25)Yes6picUrl头像网址varchar(25)Yes表2 成绩单序号字段名称描述数据类型是否为空1courseId 课程编号char(10)No2courseName课程名称 varchar(25)No3coursePoint学分char(10)No4score成绩decimalIntNo表3 课程表序号字段名称描述数据类型是否为空1courseName 课程名varchar(25)No2weeksNum上课周数char(10)Yes3week所在星期char(10)No45classroomteacher教室教师char(10)varchar(10)YesYes表4 选课管理表序号字段名称描述数据类型是否为空1courseId 课程编号char(10)No23courseNameteacherName课程标题教师姓名varchar (25)varchar (50)NoNo表5 一键评教表序号字段名称描述数据类型是否为空1Time 评教时间char(10)No2345courseNameteacherNameisDocontent课程名称教师姓名是否评教评教内容varchar(25)varchar(25)varchar(25)varchar(25)NoYesYesNo4 系统界面实现4.1 引导页设计“太理助手”引导页共分为三个图片,概括了整个软件的大致功能模块,对用户来说可以起到非常好的提示作用,通过向右滑动图片,可以进入登录页面,三张图片如下图4.1所示。 图4-1引导页界面4.2 主页面设计“太理助手”软件的主界面如图4-2,用户通过输入账号密码验证码等相关信息以后,等待验证确认后会进入首页,主界面设计四大模块。因为采用底部菜单栏的设计结构,可以让用户更加便捷的操作。主界面中软件的四大功能我采用selector的形式来构建,模块之间相互独立,互不影响。本界面采用RadioGroup+ViewPager的结构组成,通过viewPager可以方便划分模块7。而RadioGroup中又嵌套了四个RadioButton,分别对应“新闻”,“教务”,“聊天”,“我的”四个模块,通过响应RadioButton的点击事件,可以非常方便的跳转到对应的模块中去。默认显示新闻模块。 图4-2主界面设计4.3 校园新闻功能模块页面设计校园资讯模块主要有以下四个模块,分别为:“学校新闻”、“校园活动” 、“通知公告” 、“学术动态”四个部分。其次,如果在“学校新闻”等四个模块中,点击每个条目会从教务处官网上获取相应的新闻页如图4-3,我们打开每条新闻之后,会显示相应的新闻详情。这些详情都是通过okhttp和jsoup相配合,直接解析的网站数据,如图4-4这新闻列表界面采用tabpagerIndicator与viewPager配合布局,在布局的最顶部我加入了bannerLayout,bannerLayout是一个可以轮播显示图片的控件,每个条目中的图片我采用Glide库,这个图片库允许我从网络上下载展示一张图片。新闻详情页我采用的是webView控件,因为学校新闻页是适配手机端的,所以我们可以直接拿来使用,方便快捷。 图4-3 “校园新闻”界面 图4-4新闻详情界面图4-5 “校园新闻”界面 图4-6 “校园新闻”界面4.4 教务查询功能模块设计教务查询模块包括“成绩查询”“课表查询”“学分绩点查询”“选课管理”“一键评教”“四六级查询”六个功能,如图4-7。四六级查询我采用模拟登陆访问四六级查询网站提交相关信息其余模块均是从教务处官网上下载的数据。教务管理界面布局采用GridView控件,通过设置列的宽度,列的数量可以设置每一项的具体参数,顶部图片使用imageView控件,通过简单的配置,使图片完全适配手机8。 图4-7 “教务管理”界面4.4.1 成绩查询功能模块设计打开“查成绩”模块,我将此模块分成四个小的模块,包括“本学期成绩”“上学期成绩”“所有成绩”,“不及格成绩”。如图4-8所示。“查成绩”界面 我通过recycleView来展示相关数据,因为每一条数据都有其父节点,采用recycleview可以很好的分层次来显示数据。如图4-9所示 图4-8 “成绩查询”界面 图4-9 “成绩查询详情页”4.4.2 课表查询功能模块设计“查课表”这个模块我是用的LinearLayout+ScrollView来实现的,我将查询到的课表信息存放到List中,每一门课程都是一个实体,通过动态计算他们的上课节数,我们可以在ondraw中绘制背景色为蓝色,方便我们查看相关课程信息,如图4-10所示。 图4-10 “成绩查询”界面4.4.3 学分绩点查询“学分绩点”查询界面我使用的是四个LinearLayout布局竖直排序,每个LinearLayout布局中都有上下两条,上边是条目,下边是内容,背景为白色,四个LinearLayout分别为学分,GPA,加权成绩,平均成绩。采用这种分层的布局,可以很轻松的查看和学生有关的各种成绩属性。方便了学生们查成绩时的操作。如下图4-11所示图4-11 “成绩查询”界面4.4.4 选课管理界面设计“选课管理”界面我使用的是listview9来实现,每个条目都对应数据库中的一个课程实体,实体中有人物头像,教师姓名,教师职位,教师所在部门以及教师的个人简介,我们通过点击每个条目便可选择是否预约此门课程。 图4-12 “成绩查询”界面 图4-13“成绩查询”界面4.4.5 一键评教界面设计一键评教界面类似于选课管理界面,每个评教信息对应数据库中一条数据,选课管理列表采用listview控件来实现,右边的红绿色按钮可以很清晰的告诉使用者,哪些数据是提交过的,哪些数据是没有提交过的。点击每一个条目,我们可以跳转到一键评价详情页,这个页面包含,课程编号和名称,教师的姓名,这门课程的实际学分,以及一些评价信息,通过点击这些信息,我们可以客观的完成对每个教师的评教。展示效果如下图4-14和4-15。图4-14 “成绩查询”界面 图4-15 “成绩查询”界面4.4.6 我要蹭课界面设计这个功能界面是我在实际学习生活中遇到的问题发展而来,当我们特别喜欢一个老师的上课风格,又或者对哪一门课程特别感兴趣,却无法得知上课的具体时间和地点,对我们来说难免有些失落,怎么能让爱好学习的学生们没有课课上呢,为此我将此功能集成进来,希望可以帮助到广大学生。课程查询界面如图4-16和图4-17所示,只要输入课程名称和所在院系,点击搜索按钮,就会将相应的课程名称和所在院系提交到学校服务器中,通过模糊查询的方式,会将相应数据查找出来,最后再用listview展示出来即可,如图4-18所示。 图4-16 “课程查询”界面 图4-17 “课程查询”界面 图4-18 “课程详情”界面4.4.7 四六级查询界面设计四六级查询界面我使用的是webview10去加载本地的html,这样速度比较快,也可以随意定制webview的样式,四六级成绩出来以后我们也可以及时的了解到相关信息。查询信息的方式和网页查询效果一致,如图4-19所示。图4-19 “课程查询”界面4.5 聊天功能模块设计如果”太理助手”中只有教务新闻和教务查询模块,整个应用会显得较为单调,用户粘性不会太
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业产业集群农业国际合作与交流研究报告
- 合伙经营协议书范本
- 懒财网协议书
- 2025年新能源行业绿色发展评价指标体系构建研究报告
- 2026年新能源储能政策导向下产业链发展趋势预测报告
- 2025广东惠州市龙门县教育局招聘教师80人(编制)考前自测高频考点模拟试题附答案详解(模拟题)
- 2025江苏海晟控股集团有限公司下属子公司招聘高级管理人员人员模拟试卷及1套完整答案详解
- 2025广东广州市越秀区农林街道办事处招聘辅助人员1人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025吉林农业大学招聘高层次人才7人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025春季内蒙古蒙发能源控股集团招聘44人模拟试卷及答案详解(易错题)
- 2021海康威视DS-AT1000S超容量系列网络存储设备用户手册
- 临床医学循环系统试题及答案2025年版
- 甘肃工装装修施工方案
- 户外鱼池用电安全知识培训课件
- 钢筋工程拆除专项方案(3篇)
- 复退军人就业创业课件
- 黑龙江省齐齐哈尔市九校2025-2026学年高三上学期期初联考英语试题(含答案)
- 四级手术术前多学科讨论优化
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教学课件
- 关于2024学宪法讲宪法知识竞赛题目及答案
- 2023年真空镀膜机行业市场分析报告及未来发展趋势
评论
0/150
提交评论