家教预约软件设计与实现毕业论文
2020-02-23 18:18:08
摘 要
本文主要以Android Studio来进行客户端的界面设计,用Eclipse来开发一些功能插件,以Tomcat作为服务器,连接Mysql数据库,实现对数据的操作,来开发一款家教预约系统。
论文首先介绍了项目的背景与意义,并探讨了项目的内容;之后简单阐述了本文中出现的技术;接着对项目进行需求分析,探讨了目前家教预约的传统方法,以及系统的用户人群特点,根据这些,分析系统应当具有的功能,接着对预约的业务流程进行仔细的分析,并以此来绘制出业务流程图,然后根据不同的用户群体进行需求分析,以及绘制出各自的用例图;根据这些分析设计功能逻辑以及数据库表,并逐步对功能模块设计;最后根据这些设计进行编码使家教预约系统实现。
本文的特色:把家教预约传统的方法变成能在手机上就可以操作的网上预约,方便了大学生当家教,便利了家长寻找家教,并且各自的信息在系统上可以看到,能够及时反馈情况,相信将来不断的改进会使家教行业带来更大的变化。
关键词:Android;数据库;C/S;
目录
摘 要 I
第一章 绪论 1
1.1 项目背景与意义 1
1.2 研究内容与现状 1
第二章 开发相关技术 3
2.1 Tomcat 3
2.2 C/S架构 3
2.3 Mysql数据库 3
2.4 XML技术 4
2.5 本章小结 4
第三章 系统需求分析 5
3.1 业务需求分析 5
3.1.1 预约业务分析 5
3.1.2 预约业务流程 5
3.2 用户需求分析 7
3.2.1 家教 7
3.2.2 家长 8
3.3 功能需求分析 9
3.3.1 家教模块的功能需求 9
3.3.2 家长模块的功能需求 10
3.4 系统性能需求分析 11
3.4.1 易用性 11
3.4.2 安全性 11
3.4.3 可扩展性 11
3.5 可行性分析 11
3.5.1 服务对象可行性 11
3.5.2 经济可行性 12
3.5.3 技术可行性 12
3.6 本章小结 12
第四章 系统设计 13
4.1 系统核心功能程序流程设计 13
4.1.1 添加课程模块 13
4.1.2 生成订单模块 14
4.1.3 管理订单模块 14
4.2 系统数据库设计 15
4.2.1 实体属性图 15
4.2.2 数据库表设计 18
4.3 本章小结 21
第五章 系统实现 22
5.1 环境搭建 22
5.2 系统实现 22
5.2.1 登陆主界面 22
5.2.2 家教功能页面 23
5.2.3 家长功能页面 24
5.2.4 添加课程功能页面 25
5.2.5 预约家教页面 26
5.3 本章小结 27
第六章 总结与展望 28
6.1 总结 28
6.2 展望 28
参考文献 II
致 谢 III
第一章 绪论
1.1 项目背景与意义
目前社会上有许多家庭会选择一对一辅导来提高孩子的学习成绩,换言之,家教的需求也越来越大。以往家庭寻找家教要么张贴广告,要么拜托亲戚熟人,这种方法现如今效率不仅低下,而且不能保证质量,这导致了大学生有知识无处施展、中小学生想学知识却不易寻找家教老师的尴尬状况。为了解决这一问题,使家长尽可能全面的了解教师的基本情况,找到自己心中认为最合适的教师来指导孩子学习,教师也可以方便了解自己要辅导的学生,了解学生的特点。我开发了这个家教预约系统。系统可以管理家教教师的基本情况,老师可以在手机上注册,发布自己的信息,然后想要家教的家长就可以看到自己发布的信息,家长也可以根据家教注册的信息寻找家教,主动联系。这样就能让家长与老师都能尽快的找到自己心中想要的对象,达到老师学生双重便捷。
较之于传统的家教中介,家教预约系统更加便捷,它提供了家教新闻信息,满足客户搜索信息、发布消息、沟通反馈信息以及更新个人信息,客户只需通过注册,就可以使用系统平台赋予的权限功能。
家教预约系统的设计与实现,争取实现高效化、无纸化、网络化的现代家教信息交流方式。家教预约系统前台用户包括用户登陆与注册客户,注册客户包括教师和家长。教师可以通过该平台注册个人信息、发布应聘消息、与家长沟通反馈信息,家长可以发布求教求聘信息,通过搜索寻找需要的家教,并及时沟通,互相交流反馈信息。这为人们的学习、工作和生活带来便利,总之,家教预约系统有较好的实用性。
1.2 研究内容与现状
家庭选择家教有着这几个基本要求:是否擅长孩子对应学科,家教时间是否充足,家教的费用。这些要求是否满足需要家教接到广告等消息联系家长并面试之后才知道,这是传统的预约家教的方式,这之间等待的时间以及印刷广告的费用,和为了准备面试的时间都浪费了,而且或许家教并不达标,就又要从头开始,给家庭造成极大的困扰。为了使用户更加方便的使用软件,我决定设计一款能在移动端运行的家教预约软件(因为移动端目前使用普遍)。一切的预约与管理都可以在网上操作,反应及时,管理清晰,改善了传统的雇佣家教的方式。
一开始打算选择移动端设计是因为目前手机,平板的普及率很高,基本上每个人都有一部智能手机,在移动端开发其使用概率就会更大,当然,由于移动端软件的数量庞大,应用的更换也更加频繁,所以为了保证使用率,应用需要有优秀的功能且是其他应用所没有的,并且使用起来舒适不繁琐,这是一开始的设计原则。
现在网上存在不少预约的软件,酒店预约,服务预约,上门预约,而我计划设计的家教预约可以说是属于上门预约这一类别的,然而目前现状是这些预约功能大部分都整合到一个软件里,比如美团,大众点评之类的,把大部分功能组合起来,供用户挑选使用。诚然这样确实方便了用户,但单个功能的细节处理就少了,或者说是同化了,所以我打算单独提取家教预约系统,细化功能,更好的服务于用户。
国内外研究现状分析:
目前,国内孩子业余辅导方式大致有三种:辅导班、家教、网络教育,缘于家教的面对面性、一对一或者多对一性,逐渐被家长广泛认可,家教面向的消费群体也从贵族型趋于平民化,家教在三大辅导方式中的比重也随之递增,目前约占三大辅导方式的45%。
然而,在国内要做家教却没有合适的途径,部分选择去中介公司或人才市场等登记,然后再等待家教需求方联系自己。这样不仅浪费了时间,更多的是得不到任何来自中介公司或者人才市场的回复信息。
在国外有较多大学生专属家教网站,例如:中国留学生网,在这个网站上我们可以很清楚地看到,50%以上的中国留学生在国外留学期间都会选择家教,这样既锻炼了自己,又服务了社会,在中国香港和澳门地区,情况也很普遍。
结合国内外现状分析,本系统将建设成基于移动端的网络联系沟通平台,它既满足教师,家长搜索需求信息,又能实现教师,家长的信息交流与信息反馈。
第二章 开发相关技术
2.1 Tomcat
Tomcat 是一种免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
它通常被称为Tomcat服务器,是由Apache软件基金会(ASF)开发的开源Java Servlet容器。 Tomcat实现了几个Java EE规范,包括Java Servlet,JavaServer Pages(JSP),Java EL和WebSocket,并提供了一个Java代码可以运行的“纯Java”HTTP Web服务器环境。 Tomcat由开放的开发者社区开发和维护,Apache开发者协会根据Apache License 2.0许可协议开发Apache开发者社区,并且是开源软件。
2.2 C/S架构
C/S结构即为Client/Servlet,客户端/服务器结构。它属于分布式应用程序结构,用于在服务请求者(称为客户端)和资源或服务的提供者(称为服务器)之间工作负载或划分任务。通常客户端和服务器通过计算机网络在单独的硬件上进行通信,但客户端和服务器可能驻留在同一个系统中。服务器主机运行一个或多个与客户端共享其资源的服务器程序。客户端不共享任何资源,但主要请求服务器的内容或服务功能。因此,客户端启动与等待传入请求的服务器的通信会话。使用C/S架构模型的计算机应用程序的示例是电子邮件,网络打印和万维网等。
本次开发运用C/S架构是为了使安全性提高。
2.3 Mysql数据库
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL是用C和C 编写的。它的SQL解析器是用yacc编写的。 MySQL适用于许多系统平台。
MySQL服务器软件本身和客户端库使用双重授权分配。它们是在2000年6月28日开始的GPL第2版(2009年已扩展FLOSS许可证例外)或使用专有许可证下提供的。
MySQL已经收到了积极的评论,并且评论者注意到它“在平均情况下表现得非常好”,并且“开发者接口在那里,并且文档(更不用说通过网站等在真实世界中的反馈)非常好”。它也被测试为“快速,稳定和真正的多用户,多线程的sql数据库服务器”。
2.4 XML技术
XML即为可扩展标记语言,它是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
标记语言(例如,参见标记语言XML)和标准通用标记语言解释了为什么可扩展标记语言是必要的。
XML还为通信协议(如XMPP)提供了基本语言。 Microsoft .NET Framework的应用程序使用XML文件进行配置。 Apple有一个基于XML的注册表实现。
大多数行业数据标准,例如HL7,OTA,NDC,FpML,MISMO等基于XML和XML模式规范的丰富功能。这些标准中的很多都非常复杂,并且规范包含几千页的情况并不罕见。
在发布时,DITA是XML行业数据标准。 XML被广泛用于支持各种发布格式。
XML广泛用于面向服务的体系结构(SOA)。不同的系统通过交换XML消息来相互通信。消息交换格式被标准化为XML模式(XSD)。这也被称为规范模式。
在网络环境中使用XML的进一步指导方针出现在RFC 3470中,也被称为IETF BCP 70,该文档涵盖了设计和部署基于XML的语言的许多方面。
2.5 本章小结
本章主要介绍了一些开发过程中出现的技术或者工具的名词解释,项目初期针对这些名词学习相关的知识,包括Tomcat,C/S架构,MYSQL,XMl等,为之后的设计做储备。
第三章 系统需求分析
家教预约系统是基于正常的家教预约流程与实际的情况进行分析与考量的,主要从预约业务流程与角色需求分析来展开。
3.1 业务需求分析
3.1.1 预约业务分析
通过采访以往参加过家教的学生以及接受过家教的家长,了解目前预约家教的难度与缺点,掌握传统的预约家教的流程。根据采访,我们了解到,一般的预约家教是通过张贴招聘信息,或者发布在家教群,抑或拜托熟人托关系。张贴广告效率低不说,还影响市容;在QQ或微信群上发布信息则无法清楚的了解家教的实际情况,还要等到了线下见面才能了解;拜托熟人不能保证家教是否认真教孩子学习,因为有熟人的关系也有管理的难度。如果能在线上建立一个家教平台,在上面发布消息,家教需合格填写自己的负责内容,这样管理方便,预约快捷,还可以从数据库中寻找符合自己的家教。本系统主要有两大用户群体,家长与家教(大学生),从数量上来说,家教群体庞大,所以关于预约的决定权,也就是确定订单的权利的人群应该是固定人群,而不是流动且庞大的家教人群,所以家教在系统上发布订单,由家长来抢单,由此订单确立,这是预约的设想。
3.1.2 预约业务流程
根据以上的预约业务分析,总结出系统预约家教的主要流程为:首先,家教通过输入用户名与密码进入家教的功能页面,然后在该页面添加课程,分别为课程与负责年级这些基本信息,其他信息可以酌情添加,家教填写好了,点击“保存”按钮,一条有该家教信息与所负责课程的信息就添加到数据库了,可以把它称为家教的“简历”。家教基本的操作到此为止,接下来是家长的操作:家长通过输入用户名与密码进入家长的功能页面,之后点击“寻找家教”的功能按钮,进入添加订单页面,页面会显示出每一位家教填的信息,也就是之前的“简历”,在每一个条目后面有一个“添加”按钮。点击后生成一个订单,包含家教与家长的信息,保存入数据库,家长同时只能有一条订单,生成订单页面后,家长可以在订单管理页面管理订单,并可以通过订单上的家教联系方式联系。家教登入系统会收到提示“您有新的订单”,之后在订单页面会有订单,家教可以根据联系方式先面谈薪资等条件,商讨好后,选择接单,此时家教的状态为“工作”,在家长添加订单页面不会出现该家教,已生成的订单由家教自行退掉。至此预约所有流程结束。业务流程图如下图3.1所示。
图3.1 预约业务流程图
3.2 用户需求分析
根据上面分析,我对家教预约系统进行了用户分析,根据项目的实际环境,我得到两个主要的用户群体,主要是家教与家长两个用户。下面就这两个用户群体进行需求分析
3.2.1 家教
家教作为家教预约系统的主要使用人群,其潜在身份大部分是大学生,大学生当家教的目的有如下几个目的:
- 提前获得工作经验
- 赚取一些零用
- 培养自己的交流能力
而大学生当家教也会存在一些问题,经调查,大部分大学生当家教会选择周六周日的时间,以及选择离自己居住地近的地方,为此,家教可以实时跟新自己的信息,比如居住地,联系方式,以及在添加课程时可以选择工作日,提前告知家长条件,除此之外,家教是可以拒单的,给了家教选择的自由,不过拒单时,要填写理由。
关于家教的角色用例图如图3.2所示,主要有个人信息管理,添加课程,管理课程,管理订单。
图3.2家教角色功能用例图
家教可以在个人信息管理功能里更新自己在注册没有填写的资料;可以在添加课程里填写自己擅长的科目,生成“简历”,之后可以在管理课程中对这些内容修改删除等操作;管理订单可以让家教查看当前接到的订单以及家长的部分信息,并自行选择订单的保留。
3.2.2 家长
家长作为家教预约系统的固定人群,应当保障其使用的稳定性,使其用户数量不流失,所以本系统不仅要从界面上,功能上,给予家长良好的用户体验,为此,根据之前的分析,家长需要的家教应当有如下几个条件:
- 所擅长教授的科目与孩子应当补的科目符合。
- 价钱应当低于自己的预算。
- 辅导孩子的时间应当符合自己要求的。
- 家教所居住地不要太远,安全第一。
- 家教是否认真辅导,能否及时和家长反应情况。
根据以上几点,我总结出了家长们可能会关注的:1.课目内容,2.价钱,3.上班时间,4.距离,5.反馈。所以家教再添加课程时,应当把前三点填上,家长也应当在注册时或者在个人信息管理页面填写住址,虽然目前未实现,但知道了双方的地址可以很好地判断距离,未来或加入自动计算距离与时长的功能,实现“离我最近”的筛选条件;其次,家长可以管理自己已经抢到的单,如果有突发情况,可以申请退订;最后,家长可以通过订单里家教里的联系方式,联系家教了解情况,并加入打分功能,在家教任职结束时,家长可以根据家教的实际表现打分并留言,这样可以让一些随意混下薪水的不认真家教拒之门外。以下图3.3是家长的用例图。
图3.3 家长角色用例图
3.3 功能需求分析
功能需求主要是描述各个功能在具体的实现过程中应当满足的一些条件和界面要求。接下来上述两个角色分别描述主要功能的功能需求。
3.3.1 家教模块的功能需求
个人信息管理的功能:家教管理的信息中已填写的内容需默认显示,密码部分最好设置隐藏,可以切换显示,修改完信息后,点击保存,使个人信息更新。
添加课程的功能:家教添加课程应当有这几个必填的内容:所选的课程名,最好设计成一个下拉菜单,可以选择语文,数学等科目,不过最好之前有年级这一下拉菜单,选择了年级之后课程的下拉菜单内容也会随之改变,目前先设置统一的基础科目。不会随年级的变动而变动;其次是价位,家教应当根据自身能力与实际情况合理填写价位,默认是元/天单位;之后是家教时间,选择天数,按实际情况填写,选择星期,会有多选的下拉菜单,选择时间段应当提供一个列表供用户选择。填好必填的信息后,点击保存,即可生成一条包含该家教与其负责内容的“简历”保存到数据库。
管理课程功能:家教之前填写的课程,可以在这里看到条目,最好设置最多三个负责课目年级的内容,一是因为家教不会负责太多课程,时间精力都不够用,三个刚好够;二是为了让界面看起来更加舒服,太多条目会使系统看起来更加繁琐,影响体验。家教可以对这里的条目进行删除,修改等操作。
管理订单功能:被家长抢到的单会在这里形成订单,订单分为三种状态:未进行、进行中、结束,这些只在服务器数据库显示。在订单页面,也有三个分页,分别为:未进行订单、当前订单、已结束订单,来分别表示之前的状态,未进行订单上限为3个,当前订单上限为一个(之后可能根据实际情况修改上限,而且在时间尚不能冲突),已完成或者退订的订单会在这里显示,已完成的订单会有家长打分与评价的内容。
3.3.2 家长模块的功能需求
个人信息管理的功能:家长管理的信息中已填写的内容需默认显示,密码部分最好设置隐藏,可以切换显示,修改完信息后,点击保存,使个人信息更新。
添加订单的功能:家长进入该页面,服务器会从数据库筛选出评分较高的家教,并根据他们的ID找到他们负责的课目年级数据,分条在页面显示,条目应当有的信息应该有姓名、性别、课目、年级、价位、评分、距离(这个暂时未实现)。家长可以选择筛选按钮,根据自己所需要的条件选择,之后服务器从数据库筛选出符合条件的家教条目,重新显示在页面上。家长可以点击某一条目后面的添加按钮,这样,就生成了一个订单。
管理订单的功能:和家教的管理订单页面大致相似,但是进行中的上限为多个,因为孩子可能要有不同课目要辅导,或者不同时间也有家教辅导,这也就有了多个进行中的订单了。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: