




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. ;. 本科生毕业论文(设计)本科生毕业论文(设计) 中文题目中文题目 基于 Android 平台的食谱 APP 互动留言模块设计 英文题目英文题目 Comments Management System of Recipe APP Based on Android 学生姓名学生姓名 刘心宇 班级班级 11 学号学号 52121115 学学 院院 通信工程 专专 业业 信息工程 指导教师指导教师 职称职称 . ;. 吉林大学学士学位论文(设计)承诺书 本人郑重承诺:所呈交的学士学位毕业论文(设计) ,是本人在指导教 师的指导下,独立进行实验、设计、调研等工作基础上取得的成果。除文中 已经注明引用的内容外,本论文(设计)不包含任何其他个人或集体已经发 表或撰写的作品成果。对本人实验或设计中做出重要贡献的个人或集体,均 已在文中以明确的方式注明。本人完全意识到本承诺书的法律结果由本人承 担。 学士学位论文(设计)作者签名: 2016 年 6 月 11 日 . ;. 摘摘 要要 传统的食谱分散在民间各地,收集整理相对困难,而维护工作更是由于其内容的不 确定难以展开。但是,人们的生活却越来越需要食谱来提高生活质量,有时甚至需要通 过食疗来强身健体。如何高质量高效率地收集维护食谱也因此成为一项课题。通过移动 网络这项先进的技术,我们现在有方法实现食谱的信息化管理。如何建设一套菜谱的分 发与管理系统,就是本文希望探讨的话题。 本文章主要的核心内容就是试图设计一个兼使用与管理功能俱全的完整系统。该系 统主要客户端搭建在安卓系统之上,负责数据交互与信息收集的功能由服务器实用程序 来完成。客户端集成了评论模块,浏览模块,登录模块,注测模块,收藏模块等功能模 块。而管理端基于 web,可以运行于任何支持国际标准的浏览器之中。管理端集成了登 录模块,浏览模块,增删模块等管理模块。 本文中的数据库采用 MySQL,服务器采用 tomcat,服务器语言采用 Java,客户端使 用安卓平台,管理端使用 JSP 技术,多种技术融为一体。本文中从需求开始,细致分析 了各个功能所需要的数据及其结构,通过流程图结构图等传统的方法具体呈现系统的设 计方法,并且为其主要的用户界面提供展现。 关键词:安卓 评论管理系统 菜谱 . ;. ABSTRACT Traditional recipes are scattered out, witch are collected and sorted relatively difficulty, so it is difficult to maintain and expand its content. By peoples life more and more needed to be improved, sometimes it is even need to go through the diet to achieve physical fitness. How to collect and maintain the high quality and high efficiency becomes a topic. Through the advanced technology of mobile network, we now have the method to realize the information management of the recipe. How to build a set of recipes distribution and management system is the topic of this paper wants to explore. The core content of this paper is to design a completed system which use and manage functioning well. The client of the system is built on the Android platform, which is responsible for the function of data exchange and information collection. The client uses the Android platform to integrate the review module, the browsing module, the registration module, the note test module, the collection module and so on. The management side is based on Web, which can be run in any browser that supports international standards. The management terminal integrated login module, browse module, add or delete the module management module. By using MySQL database, using Tomcat server, using java language server, client using the Android platform, management end using JSP technology, integrated of a variety of technology, this paper complete a recipe comment management system. In this paper, we start from demand and analysis the data needed for each function and structure through the flow graph and show the main user interface. Keywords: Android Comments Management System Recipe . ;. 目目 录录 第一章 绪 论.1 1.1 研究的背景及意义.1 1.2 研究目的.1 1.3 国内外概况.2 1.4 研究内容和章节安排.2 第二章 设计原理及方法.3 2.1 架构概述.3 2.2 关键技术简介.4 2.3 开发环境简述.5 2.4 平台简述.6 2.5 需求分析.7 第三章 系统设计.10 3.1 功能模块划分.10 3.2 模块功能设计.10 3.3 数据库设计.10 3.4 数据库连接.14 第四章 系统实现.15 4.1 设计思路.15 4.2 登陆界面.16 4.3 主界面设计.20 4.4 管理界面.22 4.5 评论界面.23 第五章 测试.26 5.1 测试的基本概念.26 5.2 测试方法.26 5.3 盒子测试.27 结 论.29 谢 辞.30 参考文献.31 . ;. 第一章第一章 绪绪 论论 1.11.1 研究的背景及意义研究的背景及意义 食谱作为人们生活经验的积累,通常以口口相传,或者是以亲人亲身传授的方式, 得以传承。在如今,信息技术高速发展,人们有了不同于以往的技术手段来实现信息的 采集整合与存取1。网络作为本世纪以来发展最快,覆盖面最广,应用场合最全面的新 技术登上历史的舞台。而移动互联网,又是作为网络皇冠上的明珠,成为信息科学界的 新星。把握住移动互联网的浪潮,就能站立在时代前沿,既能推动时代的发展,又能获 得生活上的丰收。如何将移动互联网与食谱结合起来,就是本文试图探究的核心。 现今我们生活的是一个充满着数字信息技术的世界,衣食住行各行各业几乎都已经 迈开了数字化移动化的步伐。过去,食谱容易被食材污染,不易浏览,内容繁杂不易维 护。互联网尤其是移动互联网的发展带来一种全新的信息传递方式,即通过手机等移动 终端浏览。这种方式快捷便利,易于维护,减少存储的物理空间,也不会被食材污染或 污染食材。利用这些种种优势,我们可以对传统菜谱更新换代,用一种暂新的方法对传 统的信息进行升级。 1.21.2 研究目的研究目的 本设计主要是针对移动平台作为客户端,web 作为管理平台开发一个收录菜谱的系 统。首先我们系统地分析了菜谱系统的开发背景和现实意义,然后分析了现存 app 系统 的特性与共性,从中获取设计的灵感归纳系统设计的方法。接着,我们进行软件的需求 分析,系统分析,按照传统软件设计的方法,构思出系统的架构并设计出相应的设计, 接口文档。然后我们给予完整的开发过程和以供调试的关键代码,并介绍开发重点,比 如如何配置安卓 SDK,MySQL 工作站,JDBC 等配置文文件。最后,提供了完整的测试过 程,并给予总结。 系统设计部分较为关键,具体分为前台设计和后台设计两部分。前台设计主要是客 户端的设计,与之相对应的,后台设计主要是面向数据,尤其是对数据库及其数据的格 式结构的设计2。数据库部分主要描述了如何建立一个数据库并对其维护,数据部分阐 述了核心功能诸如收藏管理,评论管理,用户管理,菜谱管理等功能所需表结构及实现 方法。 最终,完备的测试过程检验了该设计的所有功能模块,无论是模块化检测还是集成 . ;. 检测,都证明本设计是一个有效,完整,而且具有较高实用度的系统。 1.31.3 国内外概况国内外概况 当今国内外安卓开发除了系统层面的研究,主要还是以开发应用为主,大体可以分 成以下三类:开发企业级应用只服务于大型企业,在谷歌的应用商城和其他应用市场上 销售自制的中小型通用应用,以及同样在谷歌应用商城上销售和其他应用市场上销售的 以游戏为主题的大中型游戏开发。菜谱应用正是其中的中小型通用应用3。 这种类型的应用基本架构成熟,拥有丰富的资源,和较多的开发资源,开发时长相 对较短,耗费人力相对较少。但是其弊端是用户忠诚度很低,同类可替代应用较多,只 有那些服务能力优秀,拥有优秀的人机交互界面,服务器承载能力较强的运营者能够脱 颖而出,最终赢得消费者的青睐。 安卓系统平台的优势在于其可以对多种设备,不同分辨率的设备统一进行软件开发, 大大减少了软件开发的时间和经费成本,真正实现跨平台软件开发。另外安卓系统是一 个功能强大的系统,除了拥有丰富的系统组件,还可以轻松地完成手机相应硬件功能的 调用,这样开发出的应用拥有着的强大功能使得其他系统无法与之相比。 1.41.4 研究内容和章节安排研究内容和章节安排 本设计主要是为了实现评论的管理,通过移动端浏览,新增,电脑端维护的方法对 评论及其数据进行维护。主要涉及的技术有 java,安卓,jsp,sql,web 等等。实现了用 户的登录,注册,浏览,评论功能以及管理员的登录功能,对用户数据的浏览,新增, 删除功能。 本篇第二章主要以简述设计系统的基本方法,主要包括基础的描述,需求分析以及 关键性的技术描述。第三章设计了系统关键的组成部分,包含思路,界面。第五章主要 是测试部分,介绍了先进的测试方法,并客观的阐述系统性能。 . ;. 第二章第二章 设计原理及方法设计原理及方法 2.12.1 架构概述架构概述 此设计的主要目的是为了完成菜谱系统,主要包括安卓平台的客户端软件开发,常 见数据库的创建,连接和维护。最终此设计完成的功能包括用户登录功能、收藏功能、 评论功能、注册功能、以及与之相关的后台管理功能。本系统各页面交互性良好,运行 状况良好。除了基础的安卓编程,此设计也包含了简易服务器的搭建,为了控制输入的 信息,本设计也使用了一些前端控件,在连接数据库之前作必要的信息验证以减少错误 的发生。为了规划系统,本设计也采用了数据流图,系统结构图等具体展示了各个系统 功能模块,主要界面图也会在接下里的阐述中得到呈现。 此菜谱系统主要的模式采用模型-视图-控制器(Model-View-Controller)的设计。尽 管暴露了一些缺陷,MVC 架构仍然是当前最流行的 web 应用模式, MyBatis、Spring、Struts 等知名框架就是采用了这种架构。在设计中 Model、View、Controller 的含义分别是模型、视图、控制器,三者结合共同组成这种典 型的模式4。 MVC 模式是一种经常用在计算机上,用于实现用户操作界面的软件架构模式。MVC 模式通常是吧软件应用程序的开发分别划为相互关联的三个部分,从而向用户提供从内 部信息方式中抽离的信息,亦或是从用户的信息当中抽取信息合并至内部。该操作的实 现需要其他组件的帮助。传统的 MVC 被广泛应用于桌面系统的开发(GUIs) ,然而该架 构最近在 web 应用的开发中也变得十分流行。安卓应用程序和 web 程序十分类似,因此 完全可以使用此模式开发。模型是 MVC 模型的中央组件,用于捕捉在其问题域的应用 程序的行为,独立的用户界面。模型的主要职责是直接管理数据的逻辑和规则。视图层 则是信息输出途径的拥有者,比如通过计算机自动绘制表示业绩的图,通过一次成功用 户会话等等。同一条信息可能同时存在于多个视图,比如一份选课单,一张管理视图。 最后控制器负责输入输出流,将视图的命令输入转化为模型亦或是将模型转化为输出视 图,也有不少此层负责处理业务信息的先例。 . ;. 2.22.2 关键技术简介关键技术简介 2.2.1 持久化 在计算机科学中,持久化是指一种创建进程的特征状态。在实现实践中,计算机通 过将状态数据存储在数据存储去。程序必须将数据传输至存储设备,并从本机编程语言 数据结构中提供到存储设备数据结构的映射5。 持久化亦分为“正交orthogonal”和“透明 transparent” ,当所指的是一个程序的执行 环境的内在属性时。一个正交的持久化环境不需要在其运行的程序中进行任何特定的操 作来检索或保存它们的状态。非正交持久化要求数据被写入和读取,并从存储使用特定 的指令在一个程序中。结果导致持久化的使用成为一个动作:如完成,程序持久化数据 中。正交持久化适用于那些简单且易于出错的程序。正交持久化操作系统和虚拟化平台 等系统为 VMware 和 VirtualBox 的广泛采用。 在本设计中持久化通过 Java Data Base Connectivity,也就是我们常说的 JDBC,一种 数据库连接来实现。 2.2.2 用户界面设计 用户界面设计(ui) ,通常在工业设计领域当中用于人机交互,经常用在在人类和机 器直接接触的场合。用户界面设计的目标是允许人类有效地控制机器终端的同时让机器 模拟信息反馈以为操作者提供有效决策信息。除了在计算机领域,界面交互还被手工工 具制作,重型机械的人工操作,过程控制等领域广泛采用。像人机工程学和心理学这样 的学科都对创建设计用户界面有很大的帮助6。 总的来说,设计用户界面的目标是产生一个自定义的高效的用户友好的简明界面, 一个操作者期望看到的结果。这通常意味着用户可以仅做最小化的操作就获得最符合期 望的输出结果,也意味着机器必须最小化人们不愿意看到的输出。 伴随着个人电脑的普及和社会对重型机械的意识下降,用户界面现在越来越多的是 特指图形化的计算机用户界面,用人机界面取代去描述工业中控制面板领域和机械设计 领域,以方便讨论。 . ;. 2.32.3 开发开发环境环境简述简述 2.3.1 Eclipse Eclipse 由常用的主要工作区域和多个可扩展插件的自定义槽组成,用于计算机编程 的集成开发环境7。Eclipse 的主要用途是用于开发 java 应用程序,但通过使用插件,该 软件也可以开发其他编程语言,包括: ABAP, C, C+, Fortran, Haskell, JavaScript, Lasso, PHP, Python, Groovy, R 和 Scheme。在增加了一系列的插件之后 eclipse 几乎成为了 java 开发的标准工具。而本文中使用的 Java 和安卓正好都是基于 java 语言的,使用 eclipse 可 以游刃有余地胜任两者的协同开发。 需要更多的功能时,可以通过为其安装插件来实现。同样插件可以在不同的运行时 环境中运行。Eclipse 的运行时系统是基于在 OSGi 核心框架下的 Equinox 的。 除了允许 eclipse 平台可以使用 C 和 Python 这样的语言扩展,它的扩展框架还允许 eclipse 平台像 LaTeX 那样或者像 talnet 和其他数据库管理应用程序那样重新排版。插件 支持任何扩展环境的编写,就连配置管理也不例外。Eclipse SDK 提供 Java 与 CVS 的支 持,但你需要从第三方提供商哪里获取其他版本的控制系统插件。 除了很小的 eclipse 的运行时内核,eclipse 的一切其实都是插件。这意味着开发 eclipse 的每个插件和其他的插件都是类似的。Eclipse 提供各种第三方插件无论是自由模 式的还是商业模式的,例如 UML 生成器,DB Explorer。 Eclipse SDK 包括完整的 eclipse java 开发工具(JDT) ,提供内置的增量 java 编译器。 虽然与 GNU 通用公共许可证不兼容,Eclipse SDK 在 Eclipse 公共许可证的条款下是免费 和开源软件。自从 2004 发布 3.0 版本至今已经发行 4.5 版本 Mars。 2.3.2 Tomcat 服务器 我们常听说的 tomcat 指的就是 Apache Tomcat,源于一个开源的 web 项目,已经获 得了了 Sun 公司的支持,受到了广泛的认可。 Tomcat 的开发和维护由 Apache 软件基金会和开放社区的开发人员协力完成,在 Apache 2 许可证发布下,tomcat 服务器是开源软件。 Catalina 是 Tomcat 的 servlet 容器。Catalina 实现 Sun 公司的规格为 servlet 和 JavaServerPages(JSP) 。在 Tomcat,Realm 元素代表了一个“数据库”的用户名,密码, 和角色(类似于 UNIX 组)分配给这些用户。Realm 不同的实现允许 Catalina 被集成到环 境中,这些认证信息已经被创建并保存,然后利用这些信息在 Servlet 的规范描述下来实 . ;. 现容器的安全管理8。 Tomcat 开始由杰姆斯邓肯戴维森一个 servlet 的参考而实现,杰姆斯是 Sun 公司的软 件架构师。后来他帮助开源项目,Sun 系统公司在其中起到了关键作用,把 tomcat 捐赠 给 Apache 软件基金会。Apache Ant 一个构建软件自动化工具的开发成为作为一个开放源 代码项目的 Tomcat 创作的一个副产品。 戴维森最初希望该项目能成为开放源代码。因为许多开源项目有 OReilly 的书籍, 他们的封面上的展示和动物有关,他也在想自己项目的动物名称。他想出了 Tomcat(公 猫) ,一个可以保护自己的代表动物,虽然 Tomcat 已经使用另一个 OReilly 的标题。当 OReilly 他们介绍 Tomcat 的书封面上出现了一只三脚猫,他希望看到的一个动物图标也 终于被实现了。 2.42.4 平台平台简述简述 2.4.1 Android 平台 安卓是一种移动操作系统(操作系统) ,该系统以 linux 内核为核心,最初由谷歌公 司开发,主要为触摸屏移动设备而设计,如智能手机和平板电脑。Android 的用户界面主 要是基于直接操作,使用触控手势松散地对应于真实世界的行为,如滑动、轻触、戳、 操纵屏幕上的对象,通常还伴有输入文字的虚拟键盘。除了触摸屏设备外,谷歌还为汽 车开发了 Android Auto,为手表开发了 Android Wear,为电视开发了 Android TV,而且 每个都拥有独享的用户界面。安卓在笔记本电脑、游戏机、数码相机和其他电子产品中 也有不同的应用。 安卓系统现在有所有操作系统的任何种类的最大的安装占有量。自从 2013 以来,安 卓一直是平板电脑上最好的销售系统,在智能手机上,它也占有绝对支配地位。 最初安卓由 Android, Inc.开发,在 2005 被谷歌收购,2007 年开放手机联盟成立了, 包括谷歌在内的 85 家企业,涉足硬件制造、软件开发、电信运营领域,共同研发和升级 安卓系统,使得这个原本并不算成熟的系统迅速成长起来。从 2008 年首款安卓手机问世, 到 2011 年,安卓系统仅用了 3 年就超过了盛极一时的塞班系统,问鼎全球第一系统的宝 座。截止到 2015 年,安卓已经拥有 14 亿个月活跃用户,并且在一项调查中显示超过 71%的 移动客户端开发者表示曾经使用过安卓系统开发应用,40%的职业移动应用开发者把安 卓作为优先目标平台,同时苹果的 ios 占有率为 37%9。 安卓在定制低成本高科技设备操作系统是十分流行。拥有很大的开源社区和数目庞 . ;. 大的开发爱好者,安卓系统增加了很多先进功能,甚至有高级用户将安卓操作系统的先 进特性移至到其他系统之内。同时,由于 Android 没有集中的更新系统大多数 Android 设 备无法获得安全更新:研究 2015 得出结论,几乎 90%的 Android 手机在使用过但由于缺 乏更新和支持未打补丁的安全漏洞。尽管安卓的源代码发布拥有谷歌的开源许可证书, 但是绝大多数的安卓设备最终是以一种开源和专有组合起来的方式发货的。甲骨文公司 最近起诉谷歌公司,认为其安卓系统中侵害了 java 的软件著作权索要天价赔款,但是诉 讼中美国法院认为其系统尚未构成抄袭,谷歌获得了此次诉讼的胜利。 2.52.5 需求分析需求分析 2.5.1 菜谱系统的需求分析 随着网络化步伐进一步加快,各行各业都在进行网络化改革。互联网成功创业的案 例层出不穷,一方面人们对于互联网的依赖性与日俱增,另一方面企业家们也开始对这 种新颖的商业模式产生浓厚兴趣。但是由于技术手段的受限,开发时间受限,开发人力 受限,开发经费不明确,管理经验不足等种种原因不少企业家更倾向于观望,持保守态 度,踌躇不前。因此,总的来说,大多数的传统企业家,对虚拟经济持观望态度,或者 处于长期考察的阶段。 建立一个优秀完整的系统之前,全面完备的系统分析是必不可少的。只有做好系统 分析,才能指导项目良好地长期发展。而本设计优良的系统分析是建立在优良的需求分 析之上的。 得益于良好的系统分析,本项目可以按计划有序进行,有秩序地逐步完成。假若没 有进行完整的系统分析,却试图通过编程调试来完成需求,必然会导致编程思路混乱, 新增功能时和原有功能冲突,严重扰乱系统逻辑,拖慢开发进度,此时再进行系统分析 恐怕为时已晚,成品的质量恐怕也是难以恭维。项目的进度一旦严重落后,开发人员的 内心难免也会产生波动,更加影响开发的质量,拖慢开发进度,甚至导致版本倒退,这 也正是软件危机的一种具体呈现。所以想要规避这种结果,做好系统分析必不可少。明 确系统的功能目的在系统分析时是首要的,考虑实现手段在此时则相对占次要地位。只 有明确系统的功能,最后问题才课能迎刃而解。 紧接着,是本文的核心。一个系统必然少不了用户和管理员的模型。用户是数据操 作的主体,对数据库进行主要操作,包括登陆,注册,查询,评论收藏。管理员主要负 责维护系统,主要职责包括维护菜谱的时效性,维护系统的稳定,可以进行用户的删除, . ;. 评论的删除,收藏的删除等操作。 菜谱系统在性能上应满足以下需求: (1) 界面友好: 用户无需培训就可以自发完成注册,浏览,收藏,评论等核心操作。 页面布局合理美观,信息一目了然,功能键按照常见的顺序排列,放置在醒目,合理的 位置。尽量让用户感受到所见即所得,用户体验优先。管理员对表的增删查改操作都应 该直观且高效。 (2) 交互及时: 控件应该是响应式或是具备响应式控件的特点,每次操作都有相关的 提示或者变化效果,以便用户了解自己操作的情况。远程操作后应该有操作成功或者失 败的提示,删除等危险操作时应该给予警告以防误触。 (3) 系统应该为新的功能保留接入的空间,即具有优良的扩展性。 (4) 系统运转之后应该可以长期稳定地维持运转,并在遭遇突发事件后有能力恢复系 统的正常运行。 表 2-1 需求表 主要属性 具体需求 正确性按照需求既无遗漏也不越界正确无误地完整执行程序。 健壮性亦可称为鲁棒性,即程序拥有容错能力和回复能力。 性能效率在拥有良好网络环境的情况下,响应时间不应该超过 3 秒。 易用性技术开发文档语言朴素平实并且没有歧义。 安全性关键性数据的传输与存贮应在成熟的加密协议下进行 可扩展性进行新功能的开发时不会对原有功能产生破坏 兼容性新版本的软件应该对旧版本程式给予支持 2.5.2 可行性分析 在因特网上,我们往往需要通过留言来进行跨时间的交流,这是一种典型的交互式 设计。最常见的形式就是网络用户需要与网页的拥有者或者维护者互通信息,或者游客 与游客之间相互交流时,可以在一个特定的区域张贴文章或者意见看法。 本系统后台数据库采用 MySQL,该数据库系统在安全性、准确性和成本方面有的较 大优势;前台采用来自 Oracle 公司的 Java 语言作为开发基础,可以无缝的连接 MySQL 数据库10。 . ;. 本系统的链接架构是基于 Android + Servlet + MySQL 框架开发而成的,采用 B/S 架 构,优点有成本低,建设快,维护方便等等。在实际运行时,本设计在功能模块化的指 导思想下,较好地达成了目标,也为今后的扩充功能保留了充足的空间,既方便又灵活。 综合以上几点总结分析,本次毕业设计选定安卓做为食谱系统的平台。 . ;. 第三章第三章 系统设计系统设计 系统设计又称概要设计,是为一个系统定义结构,组件,模块和接口等以满足的需 求过程。系统设计作为系统理论的应用,在其分析与架构上和一些工程学科有所重叠。 3.13.1 功能模块的功能模块的划分划分 本系统主要分为前端后端两个部分六个模块,前端作为客户端拥有登录模块,注册 模块,浏览模块,收藏模块,评论模块;后端作为管理系统拥有登陆模块和管理员模块。 3.23.2 模块的功能设计模块的功能设计 登录模块:用户键入账户名和密码,与后台数据库比对 浏览模块:用户可以浏览所有的菜谱条目,并对菜谱条目详细信息进行浏览 收藏模块:用户能够收藏所选菜谱 评论模块:用户能够评论指定菜谱 管理模块:管理员能够增加最新菜谱,管理用户,评论以及收藏。 3.33.3 数据库的设计数据库的设计 数据库结构设计 (Database Design)就是指按照需求,规划每个数据对象之间互相的 关联关系,并使数据库中表对象结构规划统一。此过程是在某一具体的数据库管理系统 之下,如本设计中所使用的是 JDBC,以完成数据库的规划与建立的11。 3.3.1 需求分析 首先,我们要对用户做调调研,整合优化他们的数据使用情况和业务需求,以初步 确定数据规模,种类还有长度。然后根据这些基础,建立起一个系统的需求,以供建立 数据使用。 对于菜谱系统来说主要实体首先是菜谱本身,菜谱表自动生成一个编号作为主键以 供其他模块使用。菜谱本身还需要一些其他的内容信息诸如做法,图片,分类,配料等 等。此系统另一个主要实体是用户。同样用户需要一个自动生成的编号作为主键,用户 还需要保存用户名,密码,注册时间等信息。在这两张表的基础之上,用户的收藏,评 论操作都是以用户表,菜单表的主键作为外键引用,并且自动生成编号作为主键。 通过已知的数据模型对数据模式进行设计,最后完成的符合需求的 E-R 图(实体-关 系模型)如图 3-1: . ;. 图 3-1 实体联系图 3.3.2 概念设计 概念设计是有关所有非美学设计管理学科的纪律的一个统称词汇。它是互动设计的 经验、方法和策略。人力,知识,产品,服务,流程,盈利能力,视觉以及其他的可能, 对设计师来说,每个不同的方面都需要不同的考量。概念设计紧紧联系着任何给定环境 下的抽象思考,帮助人们快速理解每个关键元素,失败的根源,也和人机交互紧紧联系在 一起。 自从设计思想作为一种商业和研究发展的高速工具出现,许多传统的训练有素的美 学设计人员被错误地要求为支持需要专业知识的组织与车间或过程开发做出无法与其容 量相匹配的不正确假设。这导致了一个巨大的阴影笼罩在设计行业中,其设计作为商业 或研究发展的价值也因此受到质疑。 本设计的结构示意图如图 3-2 所示: 名字配料介绍路径信息做法分类 实体:菜品Id: 主键 评论 实体:用户 收藏 用户名密码注册时间 Uid: 主键 内容 外键 外键 外键 外键 . ;. 图 3-2 示意图 Tomcat 服务器,Servlet 服务,JDBC 连接池 数据 操作 MySql 数据库 Html Html 安卓端:仅适用于安卓, 即客户端。 Web 管理端:在任何 浏览器中使用,用于数 据库维护,即管理端 Web 管理端 登陆界面 安卓端 主界面 登陆界面 注册界面 显示收藏评论功能 对数据库进行 增删查改操作 收藏评论操作 . ;. 3.3.3 逻辑设计 逻辑设计作为系统设计的一个部分,主要是对系统地数据流进行设计,用抽象表示 系统的输入输出。通常图表设计和抽象模型都需要进行。逻辑设计主要是通过模拟进行 的对实际系统的过度抽象。本设计中该环节的目标是把概念中的数据模式转化为建立在 一个具体数据库管理系统之上的具体数据结构。 本设计经过逻辑设计之后,获得的符合需求的数据表和字段名及其说明如下: (1)菜谱表 菜谱表是本设计的核心,其具体结构如表 3-1 所示。 表 3-1 菜谱表 名称意义数据类型内存宽度其他说明 1Id 编号 Int11 主键,自动递增 2Name 菜名 Text0 3Image 图片 Text0 4Introduce 介绍 Text0 5Ingredient 配料 Text0 6BaseTag 第一分类 Int11 7DetailTag 第二分类 Int11 8Tag 分类 Text0 9Url 相对位置 Text0 10Steps 做法 Text0 (2)用户表 用户表是用户实体的抽象,其具体字段如表 3-2 所示。 (3)收藏表 基于用户表和菜谱表,收藏表具体如表 3-3 所示。 (4)评论表 同样基于用户表和菜谱表,评论表的结构如表 3-4 所示。 . ;. 表 3-2 用户表 名称意义数据类型内存宽度其他说明 1Id 编号 Int11 主键,自动递增 2IpIpText0 3Pwd 密码 Text0 4Name 姓名 Text0 5regist_time 注册时间 Date0 6Channel 渠道 Text0 表 3-3 收藏表 名称意义数据类型内存宽度其他 1Id 编号 Int11 主键,自动递增 2Uid 用户 id Int11 用户表外键 3Cookbook_id 菜谱 id Int11 菜谱表外键 表 3-4 评论表 名称意义数据类型内存宽度其他说明 1Id 编号 Int11 主键自动递增 2Uid 用户 id Int11 用户表外键 3Cookbook_id 菜谱 id Int11 菜谱表外键 4Content 评论内容 Text0 3.43.4 数据库的数据库的连接连接 连接数据库是一项很关键的步骤,只有正确完整地完成连接,才能成功地进行其他 操作,才能开展之后的设计与实现工作。 本设计主要采用 java 语言编写,连接桥采用 Mysql-JDBC 驱动,服务器与数据库之 间共享数据通过 JDBC 完成。此连接桥由于十分常见,本文不再赘述,实际源码可以参考 附录。 . ;. 第四章第四章 系统系统实现实现 4.14.1 设计思路设计思路 用户用起来是否顺手,能否轻松简单的使用,用户进行操作和机器进行响应之间的 操作响应时间,以及终端发出消息主机接收到消息之间的连接时间,这些时延是否足够 的小,用户接收到的图片的综合质量是否令用户满意,首页的布局质量的高低以及首页 信息类型信息,这些都是用户感受最直接最基础的东西,这些东西就叫做移动终端。 生活中我们经常遇到的界面通常有三种情况: (1)文字:生活中我们看到一个界面,我们经常发现界面中的连接、标题、正文。 。 。 。 。 。都是主要以文字的形式出现。甚至一些按钮、警告、信息等等都是文字。我们通 常会把文字用来传递信息,这是最常出现的最普遍的情况。所以说文字是界面的内容载 体,而标题则是界面的眼睛。标题是对整个页面内容的总体概述,应该让人一眼看到, 能够直接传递一些重要信息,直观、醒目。而页面里的文字又有着很多属性,每个属性 都能出传递重要的信息。我们常用的属性一般有字体、颜色、大小、位置、排版。 。 。 。 。 。 我们可以通过这些属性对设计者想要传达的信息有一个大概的了解。字体,大小,颜色, 板式和排列都从侧面直观地投射出设计者的想法、水平和态度。要想真正体现出用户友 好型,必须从字体开始着手。在设计时,字体可以与 W3C 规范同步以保证美观。 (2)图形:除了上文中的文字是,界面比较直观的,反映信息的要素,还有一种要素, 在传递信息时有着至关重要的作用那就是:图形,我们可以通过合理的运用图形,来表 达,来传递一些信息,我们也可以通过,对图形的合理应用,来使的设计主题可以达到 更加生动更加形象的效果,在日常生活中,我们看网页中的图片一般都有如下格式: GIF,jpg,还有一些罕见的 png 的通用 web 格式。 (3)界面版式:板式是界面设计中的重要部分,其组合着文字与图形。一个美观大方 的板式能够提高阅读效率,加速信息传递,提高用户忠诚。 正是为了将文字,图形等元素有序的组合在一起,我们需要慎重设计终端系统的界 面。试想一个每个功能都图文并茂,甚至只需要图片就能了解功能概况的系统,必定能 够牢牢把握住用户的芳心,让用户爱不释手。反之,一个操作繁杂,难以上手,晦涩的 系统,肯定最终会被用户抛弃,消失在应用的海洋之中。 . ;. 4.24.2 登陆界面登陆界面 4.2.1 界面功能期望 我们期望主菜单界面拥有以下功能模块,首先我们希望能拥有让用户进行浏览的浏 览功能模块,而且还有供用户登录和注册的功能模块,如果用户想退出,还有退出的功 能模块,不光如此,评论和收藏的功能模块也必须要有,而且在此基础之上每个功能模 块,都能够独立的运行,相对独立地提供服务,而且从外观上,还要体现出美观得体, 要让用户一眼看上去很舒服,让用户有着更好的用户体验。 4.2.2 如何优化界面 我们的登录界面是面向用户的,所以让用户能够简单明了的进行操作是我们设计界 面的目的,我们期望每一个用户都有一个帐号和密码来进行登录,当然如果没有帐号和 密码的情况下,也可以以游客的身份进行浏览,但是他会比有帐号和密码的用户少一些 功能,例如说,他没有收藏功能,而且在使用本服务后,无法进行评论。当用户输入完 帐号和密码后,界面把消息发送给数据库,这一段消息得经过加密处理。数据库把加密 后的信息和数据库中的加密信息进行对比,只有两者相同才能通过验证,通过验证后返 回到主菜单界面,如果不对则返回主菜单界面并提示账号或密码错误。 4.2.3 功能描述 用户可需要通过输入用户名和密码来解锁移动终端首界面的所有功能。用户的账号 密码是通过注册写入数据库的,也可提前在服务器数据库中取定的,用户通过张海密码 登录。每一个用户的账号和密码都不是重复的,必须唯一。 . ;. 4.2.4 界面外观图 图 4-1 登录界面效果图 4.2.5 设计步骤 用户登录的控制我们是通过 Activity 来实现的,在完成基本的非空校验之后,将用户 名与密码发送的到服务器实用程序中去。非空校验主要是保证账号密码必须有值,如果 有一条为空那么就发送一条消息,该消息显示用户名或密码至少有一者为空。如果发送 了为空的用户名或者密码可能会造成服务器端空指针的错误所以务必要避免。服务器实 用程序将发送来的密码与数据库表中的数据进行匹配,匹配则返回指令提示移动终端跳 转到响应的页面。 4.2.6 关键源码设计解读 安卓程序的结构是在相应的控件之上绑定监听事件函数,比如登陆界面就是在登陆 按钮上绑定一个函数,如果检测到用户名或者密码的输入框中有未填写项,就会使用 toast 函数弹出一个提示框提示用户用户名会这密码未填写,只有不为空时,才会新建一 个线程向服务器发送数据。如果服务器经过比对返回了跳转指令,监听函数收到了跳转 指令,就会返回 UI 线程,在 UI 线程中跳转到指定的主界面。如果收到了失败指令,就 . ;. 会弹出一个提示框提示该用户用户名或密码填写错误。 在安卓的版本经过升级之后,系统性能有着显著的提升,其代价是设计者必须重新 思考程序的设计以适应新版本系统的结构。在较新的版本之中,多线程协调工作成为一 个应用必须的能力,而不再是过去简单的单线程应用也可胜任多重任务。在新版本之中, 主线程被认为是用户界面线程,有严格的运行时间限制,任何试图在主线程之中进行的 长耗时操作,诸如网络连接,新建界面,等待认证都会导致应用产生意料之外的行为。 其具体表现为应用不执行或跳过开发者的程序片段,产生空指针导致应用强行退出,点 击界面控件后长时间没有响应以至于整个应用停止工作。如何在适应新的框架下编写应 用成为开发者入门的一道难关。本设计将简单阐述多线程控制器(Handler)和在视图层 运行线程(runOnUIThread)两种方法实现简单的网络交互工作。 (1)多线程控制器(Handler) 多线程控制器同样是一种 MVC 结构设计的产物,作为一种特殊的控制器函数, Handler 负责协调各线程之间运行,并通过消息队列(handlemessage)处理来源于子线程 的更新请求。新版本中应用无法顺利执行多线程命令的原因是新的线程即耗时操作并不 是原本视图的拥有者。耗时操作的目的是为了更改原有的视图,这就产生了线程试图超 越它本身的权限的安全隐患,可能会导致恶意进程更改其他应用的用户界面,从而获得 对移动设备的控制权。所以,非视图拥有者是不能更改视图的,视图的拥有者即 MainActivity 需要创建一个控制器(handler) ,并通过安全的消息队列获得它产生的子线 程的数据完成视图的更新操作。其具体工作方式如图 4-2: . ;. 图 4-2 工作方式示意图 这样一来新的线程通知了视图的拥有者,让视图的拥有者去更新视图,完成视图操 作。达到了目标。详细的工作原理请参考有关安卓异步回调机制的相关书籍。 (2)视图层运行线程 视图层运行线程是指创建新的子线程之后或者是同时,再创建一个视图线程,该线 程是用户视图线程的拥有者,在子线程中完成耗时操作之后,再在此视图线程中完成视 图的更新操作,同样可以完成目标。这么做的好处是对于那些异步操作较少的简单应用, 比如仅仅是需要访问一次网络,可以更快地完成回调,但是对于那些异步操作较多的应 用,比如需要多次访问网络,频繁与其他界面交互,这种做法并不明智。 4.2.7 安卓系统机制概述 要想实现安卓的应用程序首先我们需要至少了解安卓系统的简单机制。一个安卓应 用程序一般来说是由多个活动(Activity)组成的,活动类似一个窗口或者一张视图, 特殊情况下应用程序也可能并不是这样组成的。在实际装配时,需要为每一个活动在配 置文件中(AndroidManifest.xml)至少设置一条记录。一个活动一般分成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能化办公楼装修设计施工及节能设备安装合同
- 2025年全球货运车辆租赁与运营合作协议
- 2025年标准化叉车租赁合同续约与解约程序规范
- 2025年度离婚经济补偿协议:财产分配与子女抚养费计算细则
- 2025年度智能仓储物流服务及信息系统全面升级合作协议
- 2025年城市绿化工程乙方材料采购与供应合作协议书
- 2025年度综合物业管理信息系统升级与持续技术支持合同
- 2025年度财务会计专业就业培训及职业发展服务合同
- 2025型智能客服bot平台建设与运营合作协议
- 2025孕产妇专业保健服务合同范本-孕期母婴健康保障协议
- 锅炉安全技术规程标准(TSG 11-2020)
- 员工薪资调整审批表
- 中医妇科学:女性的生殖脏器
- 除锈剂MSDS参考资料
- 不等式及其基本性质说课课件
- 明渠均匀流计算公式
- 《纯物质热化学数据手册》
- 中国儿童严重过敏反应诊断与治疗建议(2022年)解读
- 电动力学-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 放射科质控汇报
- 2023年山东威海乳山市事业单位招聘带编入伍高校毕业生12人笔试备考题库及答案解析
评论
0/150
提交评论