摘 要
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的APP应运而生,各行各业相继进入信息管理时代,香格里拉美食分享就是信息时代变革中的产物之一。
任何APP都要遵循系统设计的基本流程,本APP也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了香格里拉美食分享APP。该APP基于B/S即所谓浏览器/服务器模式,应用SSM框架与Android技术,选择MySQL作为后台数据库。系统主要包括用户、食谱分类管、食谱、每日打卡、留言反馈等功能模块。
本文首先介绍了香格里拉美食分享APP的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
关键词: 香格里拉美食分享APP;java语言;MySQL数据库;SSM框架
Abstract
With the rapid development of information technology and network technology, mankind has entered a new information age. Traditional management technology has been unable to manage information efficiently and conveniently. In order to meet the needs of the times and optimize management efficiency, a variety of apps came into being. All walks of life have entered the era of information management. Shangri La food sharing is one of the products of the transformation of the information age.
Any app should follow the basic process of system design, and this app is no exception. It also needs to go through the steps of market research, demand analysis, outline design, detailed design, coding and testing. The Shangri La food sharing app is designed and implemented based on Java language. The app is based on B / s, the so-called browser / server mode, applies SSM framework and Android technology, and selects MySQL as the background database. The system mainly includes users, recipe classification management, recipes, daily clock in, message feedback and other functional modules.
This paper first introduces the technical development background and current situation of Shangri La food sharing app, and then follows the conventional software development process. Firstly, select the applicable language and development platform for the system, formulate the module and design the database structure according to the demand analysis, and then draw the function module diagram, flow chart and E-R diagram of the system according to the design of the overall function module of the system. Then, design the framework and write code according to the designed framework to realize each functional module of the system. Finally, test the preliminarily completed system, mainly including function test, unit test and performance test. The test results show that the system can achieve the required functions, and the operation condition is OK without obvious shortcomings.
Key words: Shangri La food sharing app; Java language; Mysql database; SSM framework
目录
[++++摘++++ ++++要++++ I](#摘 要 I)
[++++Abstract++++ II](#Abstract II)
[++++1++++ ++++绪论++++](#1 绪论)
[++++1.1++++ ++++课题背景++++ 2](#1.1 课题背景 2)
[++++1.2++++ ++++课题研究现状++++ 3](#1.2 课题研究现状 3)
[++++1.3++++ ++++初步设计方法与实施方案++++ 4](#1.3 初步设计方法与实施方案 4)
[++++1.4++++ ++++本文研究内容++++ 5](#1.4 本文研究内容 5)
[++++2++++ ++++系统开发环境++++ 6](#2 系统开发环境 6)
[++++2.1 Java语言简介++++ 7](#2.1 Java语言简介 7)
[++++2.2 B/S模式++++ 8](#2.2 B/S模式 8)
[++++2.3 MySQL环境配置++++ 9](#2.3 MySQL环境配置 9)
[++++2.4 Android技术++++ 1](#2.4 Android技术 1)0
[++++3++++ ++++系统分析++++ 1](#3 系统分析 1)1
[++++3.1++++ ++++系统可行性分析++++ 1](#3.1 系统可行性分析 1)2
[++++3.1.1++++ ++++经济可行性++++ 1](#3.1.1 经济可行性 1)3
[++++3.1.2++++ ++++技术可行性++++ 1](#3.1.2 技术可行性 1)4
[++++3.1.3++++ ++++运行可行性++++ 1](#3.1.3 运行可行性 1)5
[++++3.2++++ ++++网站现状分析++++ 1](#3.2 网站现状分析 1)
[++++3.3++++ ++++功能需求分析++++ 1](#3.3 功能需求分析 1)
[++++3.4++++ ++++系统设计规则与运行环境++++ 1](#3.4 系统设计规则与运行环境 1)
[++++3.5++++ ++++系统流程分析++++ 1](#3.5系统流程分析 1)9
[++++3.5.1++++ ++++操作流程++++ 2](#3.5.1操作流程 2)0
[++++3.5.2++++ ++++添加信息流程++++ 2](#3.5.2添加信息流程 2)1
[++++3.5.3++++ ++++删除信息流程++++ 2](#3.5.3删除信息流程 2)2
[++++4++++ ++++系统设计++++ 2](#4 系统设计 2)3
[++++4.1++++ ++++系统设计主要功能++++ 2](#4.1 系统设计主要功能 2)4
[++++4.2++++ ++++数据库设计++++ 2](#4.2 数据库设计 2)5
[++++4.2.1++++ ++++数据库设计规范++++ 2](#4.2.1 数据库设计规范 2)6
[++++4.2.2 E-R++++ ++++图++++ 2](#4.2.2 E-R图 2)7
[++++4.2.3++++ ++++数据表++++ 2](#4.2.3 数据表 2)8
[++++5++++ ++++系统实现++++ 2](#5 系统实现 2)9
[++++5.1 用户前端功能模块++++ 3](#5.1 用户前端功能模块 3)0
[++++5.++++ ++++2++++ ++++管理员后端功能模块++++ 3](#5.2 管理员后端功能模块 3)1
[++++6++++ ++++系统测试++++ 3](#6 系统测试 3)2
[++++6.1++++ ++++功能测试++++ 3](#6.1 功能测试 3)3
[++++6.2++++ ++++可用性测试++++ 3](#6.2 可用性测试 3)4
[++++6.3++++ ++++维护测试++++ 3](#6.3 维护测试 3)5
[++++6.4++++ ++++性能测试++++ 3](#6.4 性能测试 3)6
[++++6.5++++ ++++测试结果分析++++ 3](#6.5 测试结果分析 3)7
[++++结++++ ++++论++++](#结 论)
[++++致++++ ++++谢++++ 4](#致 谢 4)0
1 绪论
1.1 课题背景
随着互联网的发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代[1]。香格里拉美食分享一直是餐厅的一大难题,餐厅规模不断壮大,用户不断的增加,因此餐厅许多事务需要更多的人来维护,此时寻找有效便捷的网络管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理香格里拉美食分享早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。
使用香格里拉美食分享APP相对传统香格里拉美食分享方式具备很多优点:首先可以大幅提高香格里拉美食分享信息检索,只需输入餐厅相关信息就能在数秒内反馈想要的结果;其次可存储大量的香格里拉美食分享信息,同时香格里拉美食分享信息安全性有更高的保障;相比纸质文件来管理香格里拉美食分享信息,香格里拉美食分享APP更节省空间人力资源[2]。这些优点大大提高运营效率并节省运营成本。因此,开发香格里拉美食分享APP对香格里拉美食分享信息进行有效的管理是很必要的,不仅提高了餐厅预约效率,增加了用户信息安全性,方便用户及时反馈信息给管理员,增加了用户与管理员之间的互动交流,更能提高香格里拉美食分享的体验强度。
本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而SSM框架,B/S架构则保证了较高的平台适应性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。
1.2 课题研究现状
现今,越来越多的人乐于选择一项合适的管理方案,但是往往受到管理经验地限制,Internet作为新型网络崛起,网络进入人们生活,香格里拉美食分享APP无疑是给用户提供更好平台,在这样成功的管理模式背景下,不仅方便管理员管理,其次方便用户查看食谱进行收藏。高效便捷地管理香格里拉美食分享成为了转变管理模式,与时代兼容的当务之急。
香格里拉美食分享APP,为用户随时随地查看食谱信息提供了便捷的方法,更重要的是大大的简化了餐厅管理员管理信息的方式方法,相比于传统香格里拉美食分享方法,这样的电子信息管理更为简洁方便,在香格里拉美食分享维护信息反馈和处理香格里拉美食分享信息方面也有得天独厚的优势[3]。
香格里拉美食分享APP能做到的不仅是大大简化管理员的信息管理工作,在提高餐厅运营收益的同时还能缩减开支,更能在数字化的平面网络上将香格里拉美食分享最好的一面展示给用户,而这个APP前端用户可以查看食谱信息进行收藏。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个APP成为香格里拉美食分享者最不可或缺的内容[4]。尽管目前大部分餐厅已经将香格里拉美食分享APP投入使用,但是人们对于APP要求也变得越来越高,大部分APP已经能完美处理各类信息,但是为了更好地契合香格里拉美食分享,不同用户有不同的要求,个性化也是APP十分重要的一点,所以每个餐厅都希望自己能有一个性化定制的香格里拉美食分享APP,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的香格里拉美食分享APP就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着餐厅规模的不断扩大,用户信息共享也成一种趋势。香格里拉美食分享的发展也证明了APP管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高,用户完全可以在进入页面时查看各类信息进行操作[5]。
1.3 初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用Eclipse。java开发语言[6]。
1.4 本文研究内容
本文主要分为七个章节,第一部分为绪论,主要介绍了目前电脑技术发展状况、香格里拉美食分享发展阶段,分析当前香格里拉美食分享APP弊端以及使用信息技术来管理香格里拉美食分享信息的好处。
第二部分为相关技术简介,主要介绍了各技术的发展历程,技术发展现状,技术优点以及选用该技术的原因等。
第三部分为系统分析,主要分析了软件设计所需要的功能。
第四部分为系统设计,主要进行了系统的架构设计、数据库设计等。
第五部分为系统详细设计[7]。
第六部分为系统调试与测试,利用测试方法进行可行性测试、性能测试、系统测试等。
第七部分为总结与致谢,主要总结了程序设计的完成过程及完成情况,比对完成设计过程中施以援手的同学和老师表达中心的感谢和祝愿。
2 系统开发环境
2. 1 Java语言简介
Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法,Java是一种纯面向对象的程序设计语言。Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。
Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为"一次编译、到处执行"。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能[8]。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。
2.2 B/S模式
B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员做出决策,这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。
图2-1 B/S模式三层结构图
2. 3 MySQL环境配置
(1)本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
(2)修改MySQL数据库的root密码[9]。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2. 4 Android技术
Android平台市场份额所占比例越来越大,使用Java语言的Android应用程序的发展将会越来越多。然而,不太可能在Android平台上部署大型企业应用,所以Android应用可能会出现在纯粹客户端的应用角色,然后通过网络和传统的大型应用互动,充当大型企业应用的客户端。
Android是目前最为方便易用的移动终端。其实在我们现实生活中也不难看出,现在基本每人一台手机,而且其中安卓机市场比例最大,这样的情况还是得力于安卓较高的方便性和性价比。Android的开放性让他允许所有人对系统进行修改和完善,这一点也让他在近些年成为便携设备上主要的操作系统。Android同时还内置了内置丰富的应用程序,比如电话、摄像头、播放器。这些都为在系统上开发程序提供了便利。该系统运用安卓完成前台的开发,包括登录注册、个性化特征的收集、基于个性化特征进行旅游信息的推荐和对推荐旅行方案的评价等[10]。
用户使用我们这个香格里拉美食分享APP只需一个Android手机就可以使用了,而且所有操作都是我们熟悉的操作手法。所有的操作通过手机就可以完成,用户不需培训,只要稍微提示一下即可。所以开发香格里拉美食分享APP使用安卓技术不仅方便了开发者而且用户使用起来也非常方便,可以说是相对来说比较完美的开发平台了。
3 系统分析
3.1 系统可行性分析
3.1.1 经济可行性
由于本系统是作为毕业设计系统,且系统本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该系统的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现,使用到的软件大多为开源软件,所以经济成本并不高,可以轻易实现。
3.1.2 技术可行性
本系统的开发使用java作为APP开发的开发语言,开发环境选择 Eclipse,而B/S结构决定了本系统的兼容性和多用户可操作性,此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性。
3.1.3 运行可行性
本系统作为以java作为开发语言的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
综上所述,本系统的设计与开发在经济上、技术上、运行上的条件都是满足的,因此,系统开发具备可行性条件。
3.2 网站现状分析
系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,网站管理者的工作量较大较繁琐。通过前期的调研总结出网站现有的对用户管理工作状况如下分析:
缺少统筹规划,如果一个网站在信息化管理中缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使香格里拉美食分享信息变得井井有条,成为市场竞争中的一大优势。
要循序渐进,心急吃不了热豆腐,任何事情都不可能一蹴而就,就算信息APP也一样,要让系统发挥最大效率还是应该多调研,多听取导师或同学的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。
(3)信息安全措施不到位
隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。
(4)资源不能充分共享
资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于香格里拉美食分享的发展存在不可或缺的帮助。
(5)现有系统可扩展性不高。
如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。
基于上述分析,香格里拉美食分享APP应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对餐厅名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性[10]。经过详细的讨论论证,确定系统的总体要求。
3.3 功能需求分析
系统功能需求分析是通过软件开发者在参与市场调研,导师与同学之间交流后经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能。这是开发的第一步,也是至关重要的一步,如果不在这个阶段制定系统所需模块,日后会带来不必要的麻烦。因此,必须严肃认真,全身心投入去做好这个步骤。
本系统采用自上往下的方法开发,基本定位如下功能:
本课题要求实现一套香格里拉美食分享APP,系统主要包括管理员模块和用户模块、教练模块功能模块。
(1)管理员用例图如下所示: