基于Android平台的酒店预订管理系统软件设计的论文

Keywords:android; hotel rooms management system; smart phone platform

目 录

摘要 I

Abstract II

第一章 绪论 1

1.1 研究内容 1

1.2 研究意义 1

1.3研究现状和发展趋势 1

第二章 系统分析 3

2.1 研究目标 3

2.2 需求分析 3

2.3业务流程分析 4

2.4数据流图 4

2.5数据字典 5

2.6性能分析 6

第三章 系统开发环境及相关技术 7

3.1开发环境 7

3.2 Java SDK 7

3.3 Eclipse 8

3.4 ADT 9

3.5 Android SDK 9

3.6 Tomcat服务器 13

3.7 JSP技术 14

3.8 JSON 14

3.9 Android开发平台搭建 17

第四章 程序设计 20

4.1 功能设计 20

4.2 数据库设计 20

1.概念结构设计 21

2.数据库表设计 23

第五章 程序开发 25

5.1 文件结构与用途 25

5.2 系统实现 26

5.2.1登录页 26

5.2.2 注册页 26

5.2.3酒店客房信息 27

5.2.4我的订单 29

第六章 系统测试 31

6.1 软件测试的重要性 31

6.2 测试实例的研究与选择 32

6.3 测试环境与测试条件 32

6.4 系统运行情况 33

6.5 系统评价 33

第七章 总结 33

参考文献 35

致 谢 36

第一章 绪论

1.1 研究内容

随着手机的普及以及手机应用的深入人心,近几年“智能手机”成为了人们关注的话题,智能手机将成为人们获取信息的主要设备。在当今这个只能手机群雄争锋的时代,2008年Google推出了一款名为Android的开源智能手机操作系统。Android凭借其开放性和良好的人际界面,受到广大手机生产商的重视。

当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本课题是基于Android系统的“酒店预订管理系统”软件的设计与实现。

1.2 研究意义

当今社会是一个信息技术迅速发展的社会,人们的生活越来越离不开计算机和手机。作为一个计算机专业的学生,希望通过自己四年所学的知识编制一款基于Android平台的酒店预订管理系统软件,方便你我方便他人。

现代社会的迅速发展使得人们的生活更加方便,人们也越来越会享受生活,催生了各种应用,好友之间通过拼车、拼房、拼游、拼购可以增进彼此的感情。同时,因为人们可以足不出户便可进行购物,娱乐,游戏等各种活动,通过这款基于Android系统的酒店预订管理系统完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共服务质量,更好地发挥对经济社会发展的现实性作用。

1.3研究现状和发展趋势

据Gartner最新数据显示,2011年第二、三季度全球智能手机销售继续大幅增长,其中第三季度Android 的市场份额突破了 50%,达到了 52.5%,超过了 iOS 和 BlackBerry 系统,成为全球第一大智能手机系统。2011第二、三季度与去年同期相比,增度分别是15.2%及22%,增势迅猛。而塞班系统市场份额还是有 16.9%,但比起去年同期已经是跌去一半,形势非常严峻。iOS 的份额则略微有所下滑,从去年同期的 16.6% 跌到了 15%。BlackBerry OS 系统则有所下滑,而 Bada 份额则到了 2.2%。

毫无疑问,智能手机即将变成整个社会的趋势了。而Android平台的智能机在手机市场中已明显的占有越来越多的比重。很多人都会选择Android手机。

第二章 系统分析

2.1 研究目标

(1) 了解Android应用程序的设计和开发过程;

(2) 使用多种组件进行基于Android 平台的酒店预订管理系统的软件开发。

本软件是基于Eclipse的开发环境,依托Tomcat服务器上的后台数据,开发出了针对Android平台的酒店预订管理系统。

2.2 需求分析

经过对酒店预订管理系统的了解、以及体验了酒店预订管理系统的流程,总结出本系统需要的功能如下

(1)用户注册登录

用户注册:系统将验证用户是否存在,以及用户信息是否合法。

用户登录:系统将验证用户是否存在,输入信息是否正确。

(2)管理员功能

管理员可以对用户进行管理,可以查看用户信息,管理预订。

(3)个人预订功能

用户可以查找,预订该酒店客房。

(4)预约管理功能。

管理员可以对用户的预约进行管理,可以查看用户的预约信息,还可以调整、删除用户的预约。

(5)个人信息维护功能。

用户可以对自己的信息进行增加、修改,也可以修改密码。

从上面的描述中可以基本了解软件的功能需求:

本软件是一个Android 客户端+JSP Servlet服务端应用程序,启动Android上的应用程序后可以查看酒店客房预订、会议室信息等。Android客户端上的信息数据是通过后台JSP Servlet服务端应用程序获取的,这个后台服务可以根据客户端发出的请求,返回信息。 图片和文字这些信息都保存在数据库中。

2.3业务流程分析

在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。

业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程。

具体业务流程如图3.1所示。

在这里插入图片描述

图3.1业务流程图

2.4数据流图

数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程[6]。数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。

数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递[7]。

在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。该系统的数据流图分为顶层、一层、二层。现行的顶层数据流图如图3.2所示。

在这里插入图片描述

图3.2顶层数据流图

由于论文的篇幅限制不能一一列举数据流图,只给出了部分数据流图,其他的数据流图基本一致。

2.5数据字典

通过对系统数据流的分析,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体[8]。

数据元素条目如表2.1所示。

表2.1数据元素

数据元素条目如表2.2所示。

表2.2数据元素

数据元素条目如表2.3所示。

表2.3数据元素

2.6性能分析

程序响应速度快、安全性高、信息处理速度快。

第三章 系统开发环境及相关技术

3.1开发环境

Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。

简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。

(1) Java SDK

(2) Eclipse

(3) ADT

(4) Android SDK

3.2 Java SDK

JDK是sun公司java应用程序和组件的开发环境,是编译和测试工具,也是提供java程序的java虚拟机平台,是调试和运行所不可缺少的工具。

首先在安装前先要下载JDK,这可以从SUN公司的网站上下载,到http://java.sun.com/products/jdk/1.2这个页面下载JDK1.2.2-001-win.exe或JDK 1.3-win.exe,由于笔者n.exe为例。下载后,双击JDK1.2.2-001-win.exe就可以开始安装了,在安装过程中有很多选项,按个人需求正确选择,这里我们以第一次安装为例,全部选择默认配制即可,安装的默认路径为[windows所在的根目录(以下设为c:)]\jdk1.2.2,安装完毕后就可以重新启动了。

启动时要更新环境变量,在开机时要自动调用JDK系统,因此要设置一些环境变量,我们以windows2000 server版系统为例进行系统环境变量设置(在windows 9x系统中可在autoexe.txt中进行设置)。设置方法如下:

在桌面上,用鼠标右键单击[我的电脑]图标,选择[属性]按钮,弹出[系统特性]对话匡,选择[高级]选项卡,单击[环境变量]按钮,单击[环境变量]对话匡,该对话匡有两个选项组,分别为[Administrator的用户变量]和[系统变量]两个选项组。在[系统变量]选项组中找path变量,找到后单击[编辑],弹出[编辑系统变量]对话匡,在其中[变量值]文本匡中输入“(jdk所在根目录以下设为C:)\jdk1.2.2\bin",然后按“确定”就ok了,这样在运行jsp时系统就可以自动找到JDK路径进行编译了。与此同时,新建一个classpath变量,在[系统变量]选项组中,单击[新建]按钮,弹出[新建系统变量]对话匡,在[变量

名]文本匡中输入“classpath",在[变]文本框中输入:“c:\jdk1.2.2\lib\tools.jar;c:\jdk1.2.2\lib\dt.jar;c:\jsdk2.0\lib\jsdk.jar;”,

然后单击[确定]扭,然后再用此方法将c:\jdk1.2.2添加到java_home环境变量中,如果在安装时没有将其安装在默认目录下,必须在此进行环境变量的设置,否则系统将无法完成编译工作。以上工作完成后回到最处的[系统特性]对话匡中,单击[应用]或按下[确定],JDK就安装配制好了。

3.3 Eclipse

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

3.4 ADT

Eclipse ADT 是 Eclipse 平台下用来开发 Android 应用程序的插件。在企业开发中,很多程序员使用Eclipse IDE作为应用的开发环境。为了使得Android应用的创建,运行和调试更加方便快捷。Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)

下载地址:https://dl-ssl.google.com/android/eclipse/

然后安装Eclipse插件ADT

启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”, 然后点击Archive…,浏览和选择已经下载的ADT插件压缩文件。

点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会选中下面的“Android Developer Tools”和 “Android Editors“),点击 Next,最后重启 Eclipse。

3.5 Android SDK

SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK指的既是Android专属的软件开发工具包。

Android是谷歌(Google)公司推出的手机开发平台。与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。

Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。

下载地址: http://dl.google.com/android/android-sdk_r16-windows.zip

下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择window->preferences,在打开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。

刚下载下来的SDK的platforms文件夹是空的,可以通过双击SDK Setup.exe来获取具体Android版本,如果连接不上,可以勾选settings下面的force https://…source to be fetched using http://…选项,使用http方式连接

安装完成后,可以点击Available Packages查看已安装的Android版本

点击下图所示的工具栏按钮,打开虚拟设备管理器

点击New新建一台设备,然后设置好相应的值

Skin下Build-in的各个选项如下所示

点击Create AVD完成创建

然后在设备管理器界面选择一个设备,点击Start…启动设备,启动完成后,界面如下所示:

3.6 Tomcat服务器

Tomcat是一个免费的开源的Servlet容器。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。

基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。

3.7 JSP技术

JSP是Java Server Pages的简称,它是由Sun Microsystem公司于1999年6月推出,是基于Java Servlet以及整个Java体系的Web开发技术。作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境。JSP能够适应市场上包括Apache WebServer、IIS4.0在内的85%的服务器产品,这足以胜任绝大多数的商业事务处理。同时JSP代码经过服务器的解释执行后会直接嵌入到HTML语言中,这样就简化了页面的输出,也保留了脚本语言易于使用的优点。SUN公司开发出这个规范来整合和平衡已经存在的规范,对JAVA编程环境进行支持的技术和工具。其结果是产生了一种新的,开发基于WEB应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能支持。JSP设计目标是为了使动态页面编写更容易,更简单。JSP特点主要有以下几点:到处可执行,JSP技术完全与平台无关的设计,包含它的动态网页和底层Server元件设计,加强元件功能,更容易建立动态网页。

JDBC是Java Data Base Connectivity的简称,也就是java数据库连接。它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,各处运行“的特点。同时JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中。

3.8 JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是 JavaScript 很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。

表示名称 / 值对

按照最简单的形式,可以用下面这样的 JSON 表示"名称 / 值对":   { “firstName”: “Brett” }   这个示例非常基本,而且实际上比等效的纯文本"名称 / 值对"占用更多的空间:   firstName=Brett   但是,当将多个"名称 / 值对"串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个"名称 / 值对"的 记录,比如:   { “firstName”: “Brett”, “lastName”:“McLaughlin”, “email”: “aaaa” }   从语法方面来看,这与"名称 / 值对"相比并没有很大的优势,但是在这种情况下 JSON 更容易使用,而且可读性更好。例如,它明确地表示以上三个值都是同一记录的一部分;花括号使这些值有了某种联系。

表示数组

当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性。例如,假设您希望表示一个人名列表。在 XML 中,需要许多开始标记和结束标记;如果使用典型的名称 / 值对(就像在本系列前面文章中看到的那种名称 / 值对),那么必须建立一种专有的数据格式,或者将键名称修改为 person1-firstName这样的形式。   如果使用 JSON,就只需将多个带花括号的记录分组在一起:   { “people”: [   { “firstName”: “Brett”, “lastName”:“McLaughlin”, “email”: “aaaa” },   { “firstName”: “Jason”, “lastName”:“Hunter”, “email”: “bbbb”},   { “firstName”: “Elliotte”, “lastName”:“Harold”, “email”: “cccc” }   ]}   这不难理解。在这个示例中,只有一个名为 people的变量,值是包含三个条目的数组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址。上面的示例演示如何用括号将记录组合成一个值。当然,可以使用相同的语法表示多个值(每个值包含多个记录):   { “programmers”: [   { “firstName”: “Brett”, “lastName”:“McLaughlin”, “email”: “aaaa” },   { “firstName”: “Jason”, “lastName”:“Hunter”, “email”: “bbbb” },   { “firstName”: “Elliotte”, “lastName”:“Harold”, “email”: “cccc” }   ],   “authors”: [   { “firstName”: “Isaac”, “lastName”: “Asimov”, “genre”: “science fiction” },   { “firstName”: “Tad”, “lastName”: “Williams”, “genre”: “fantasy” },   { “firstName”: “Frank”, “lastName”: “Peretti”, “genre”: “christian fiction” }   ],   “musicians”: [   { “firstName”: “Eric”, “lastName”: “Clapton”, “instrument”: “guitar” },   { “firstName”: “Sergei”, “lastName”: “Rachmaninoff”, “instrument”: “piano” }   ] }   这里最值得注意的是,能够表示多个值,每个值进而包含多个值。但是还应该注意,在不同的主条目(programmers、authors 和 musicians)之间,记录中实际的名称 / 值对可以不一样。JSON 是完全动态的,允许在 JSON 结构的中间改变表示数据的方式。   在处理 JSON 格式的数据时,没有需要遵守的预定义的约束。所以,在同样的数据结构中,可以改变表示数据的方式,甚至可以以不同方式表示同一事物。

JSON和XML的比较

◆可读性

JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。

◆可扩展性   XML天生有很好的扩展性,JSON当然也有,没有什么是XML不能扩展,而JSON却不能。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。

◆编码难度   XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。

◆解码难度   XML的解析方式有两种:一是通过文档模型解析,也就是通过父标签索引出一组标记。例如:xmlData.getElementsByTagName(“tagName”),但是这样是要在预先知道文档结构的情况下使用,无法进行通用的封装。

另外一种方法是遍历节点(document 以及 childNodes)。这个可以通过递归来实现,不过解析出来的数据仍旧是形式各异,往往也不能满足预先的要求。   凡是这样可扩展的结构数据解析起来一定都很困难。

JSON也同样如此。如果预先知道JSON结构的情况下,使用JSON进行数据传递简直是太美妙了,可以写出很实用美观可读性强的代码。如果你是纯粹的前台开发人员,一定会非常喜欢JSON。但是如果你是一个应用开发人员,就不是那么喜欢了,毕竟xml才是真正的结构化标记语言,用于进行数据传递。   而如果不知道JSON的结构而去解析JSON的话,那简直是噩梦。费时费力不说,代码也会变得冗余拖沓,得到的结果也不尽人意。但是这样也不影响众多前台开发人员选择JSON。因为json.js中的toJSONString()就可以看到JSON的字符串结构。当然不是使用这个字符串,这样仍旧是噩梦。常用JSON的人看到这个字符串之后,就对JSON的结构很明了了,就更容易的操作JSON。

编码的可读性,xml有明显的优势,毕竟人类的语言更贴近这样的说明结构。json读起来更像一个数据块,读起来就比较费解了。不过,我们读起来费解的语言,恰恰是适合机器阅读,所以通过json的索引.province[0].name就能够读取“黑龙江”这个值。   编码的手写难度来说,xml还是舒服一些,好读当然就好写。不过写出来的字符JSON就明显少很多。去掉空白制表以及换行的话,JSON就是密密麻麻的有用数据,而xml却包含很多重复的标记字符。

3.9 Android开发平台搭建

Android开发平台搭建步骤:

①首先到http://www.eclipse.org/downloads/下载Eclipse集成开发环境并且解压,这里推荐下载Java Classic 集成版本,可以为平台的搭建省下不少工作。接着再去http://java.sun.com/javase/downloads/index.jsp 站点下载SDK后安装,下载http://dl.google.com/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解压。第一步下载工序就结束了。

②双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help-> Install New Software-> 选项卡上的Available Software,点击右侧的“Add”输入http://dl-ssl.google.com/android/eclipse/后确定,然后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个Developer Tools选项,勾上以后点击Next以后Eclipse会自动网上查找Android 开发工具插件,然后找到Android DDMS和Android Development Tools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。

③重启后选择Eclipse菜单中的Windows-> Preferences 在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。

④在WindowsXP的系统变量中的path变量中添加一个值,该值指向解压后的Android SDK目录下的tools文件夹。

第四章 程序设计

4.1 功能设计

从系统设计是一个把软件需求转换成用软件系统表示的过程。通过对目标系统的分析和研究,做出了二手商品信息的总体规划,这是全面开发系统的重要基础。在对二手商品信息全面分析调查的基础上,制定出二手商品信息的总体规划。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。

从数据流图出发,对数据流图进行分析,得出的层次化的模块结构图.

酒店预订管理系统功能模块图如图4.1所示:

在这里插入图片描述

图4.1 酒店预订管理系统功能模块图

4.2 数据库设计

数据库是本系统的核心和基础。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。

1.概念结构设计

从数据需求分析中得出系统的实体属性图。

注册用户实体属性图如图4.3所示:

在这里插入图片描述

图4.3注册用户实体属性图

管理员实体属性图如图4.4所示:

在这里插入图片描述

图4.4管理实体属性图

客房实体属性图如图4.5所示:

在这里插入图片描述

图4.5客房实体属性图

E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。

(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。

(2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。

(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。

(4)在程序中实现对他们的完整性和一致性控制。

从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图。

2.数据库表设计

本软件中有数据需要存储——商品的数据。因此选择Mysql数据库作为存储数据的方法,建立数据库b_jiudian,并且建立表。

表4-1 管理员的数据库表admin的结构

属性 数据类型 长度 说明

id int 11 主键id自增

Name varchar 20 登录名

Password varchar 20 密码

Screen_name varchar 20 昵称

Type Varchar 1 管理员类型

表4-2 客房的数据库表kefang_info的结构

属性 数据类型 长度 说明

Kefang_id int 11 主键id自增

kefang_name varchar 32 客房名称

kefang_pic varchar 255 客房图片

kefang_description varchar 16 描述

kefang_price varchar 16 价格

kefang_discount_price varchar 16 折扣价

kefang_flag Int 11 标志

kefang_count varchar 20 销售量

表4-3 用户的数据库表user_tb的结构

属性 数据类型 长度 说明

uid int 11 主键id自增

user_userid varchar 32 登录名

user_username varchar 16 密码

user_password varchar 32 昵称

user_phone varchar 32 电话

user_address varchar 255 地址

第五章 程序开发

5.1 文件结构与用途
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后是今天给大家分享的一些独家干货:

【Android开发核心知识点笔记】

【Android思维脑图(技能树)】

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【Android高级架构视频学习资源】

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后是今天给大家分享的一些独家干货:

【Android开发核心知识点笔记】

[外链图片转存中…(img-iJOkugLS-1713538282389)]

【Android思维脑图(技能树)】

[外链图片转存中…(img-Kjbf0Qvw-1713538282390)]

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

[外链图片转存中…(img-G6TA4k7T-1713538282392)]

【Android高级架构视频学习资源】

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘 要 近年来,Internet技术发展迅速,各种基本B/S架构的管理系统应用越来越普及,已经渗入到几乎每一个行业中。 本课题利用JSP技术和JDBC数据库技术,以MyEclipse为开发工具,基于B/S模式设计并实现了酒店预定系统。本系统可以方便游客预定酒店,实时了解酒店资源信息,避免了酒店资源重复预定的不足,极大提高了酒店管理的效率。该系统具有预定酒店资源、查看订单、留言、查看酒店信息、订单信息管理、资源信息管理、分组管理以及管理员权限管理等重要功能,使得游客无论在哪里都可以及时预定到想要的酒店,而且很快就知道预定结果,这是对当今酒店管理效率的一种提升。 关键字: JSP;JDBC;酒店预订;B/S。 Abstract In recent years, internet technologies are developing rapidly, a variety of manage systems based on B / S structure become more and more popular, having infiltrated into almost every industry....... . 目录 摘 要 I ABSTRACT II 第1章 绪论 1 1.1项目开发背景 1 1.2项目开发目的与意义 1 1.3 待解决的问题 2 第2章 系统综述 3 2.1 系统概述 3 2.2 系统运行环境 3 2.3 系统开发方法及运行原理 6 2.4 软件开发工具和环境 9 2.5 可行性研究 11 2.6 系统分析 11 第3章 系统需求分析 14 3.1 系统需求 14 3.2 系统建模 16 第4章 系统概要设计 21 4.1系统总体构架 21 4.2 系统模块设计 22 4.3 系统MVC模式设计 23 第5章 数据库设计 26 5.1 数据库概念 26 5.2 关系模型 26 5.3 数据库模型及结构设计 27 5.4 数据库功能设计——函数与存储过程 28 5.5 数据交互AJAX异步刷新技术 32 第6章 系统详细设计 34 6.1 系统全局流程模 34 6.2 登录注册系统 36 6.3 前台主界面 39 6.4 后台资源管理 39 6.5 后台管理管理 41 6.6 后台之订单管理 42 6.7 后台之分组管理 43 6.8 后台之订单处理 44 6.9 分页的具体实现 48 第7章 系统测试与部署 50 7.1系统测试 50 7.2 系统部署 56 总 结 59 参考文献 59 致 谢 62 附 录 63 以上是论文部分需要的请联系本人 QQ764366659这里只给出部分页面代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值