欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    基于Qt与Android的KTV管理系统设计与实现毕业论文.doc

    • 资源ID:3922124       资源大小:2.38MB        全文页数:29页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Qt与Android的KTV管理系统设计与实现毕业论文.doc

    -VI- 目 录 第 1 章 绪 论.1 1.1 论文研究主要内容 1 1.2 系统开发的意义 1 1.3 国内外现状 1 第 2 章 关键技术介绍.3 2.1 QT3 2.2 ANDROID6 2.3 WI-FI9 2.4 基于 TCP 的 SOCKET通信.10 第 3 章 系统分析与设计.12 3.1 构架概述 12 3.1.1 功能构架.12 3.1.2 模块需求描述.13 3.2 系统开发环境 14 3.2.1 硬件开发环境.14 3.2.2 软件开发环境.14 3.3 系统任务的可行性分析 14 3.4 系统构架.14 3.5 数据库设计.15 第 4 章 系统设计与实现.17 4.1 管理员系统页面设计.17 4.1.1 登录界面的设计17 4.1.2 修改人员信息界面的设计17 4.1.3 消费统计界面的设计17 -VI- 4.1.4 查询工资界面的设计17 4.2 服务员系统页面设计.17 4.2.1 登录界面的设计17 4.2.2 订单管理界面的设计17 4.2.3 消费统计界面的设计18 4.2.4 个人状态界面的设计18 4.3 客人系统页面设计.18 4.3.1 呼叫服务界面的设计18 4.3.2 评价服务界面的设计18 4.4 系统的用例图分析.19 第 5 章 系统测试.23 5.1 测试目的.23 5.2 测试方案 23 5.3 测试结果 23 第 6 章 结 论.25 参考文献.26 致 谢.27 东北大学东软信息学院毕业设计(论文) 第 1 章 绪论 -1- 第 1 章 绪 论 在这个信息化的时代,随着时代的发展,伴随着全球经济一体化进程的不断地加 快,IT 技术的飞速发展,电子产品的成本不断下降且便携设备的价格也越来越低,使 得越来越多领域开始使用软件和微处理器控制各种嵌入式设备。再加上娱乐业市场活 跃,蕴藏着巨大的商机,娱乐消费继续担当者拉动消费需求迅增的重要力量。所以由 此可见,KTV 管理系统的设计与实现是十分必要的,可以使运营与管理变得非常方便, 轻松,所以我作了这个 KTV 管理系统。 1.1 论文研究主要内容 本系统是属于 C/S 架构模式设计,通过数据共享方式完成对 KTV 正常运营的管理 工作。本人以当今流行的 C+及 Java 开发语言为基础,基于 Qt 和 Android 开发设计并 结合 SQL server 数据库操作以及 Wifi 无线连接技术。服务器端的开发使该软件实现了 人事管理、消费统计、消费管理、财会管理等功能,服务员客户端的开发使该软件实 现了订单处理、异常处理、数据处理等,客人客户端的开发使该软件实现了基本呼叫 服务功能、评价功能。本系统良好的运行稳定性使得本系统开发的可能性大大提高。 1.2 系统开发的意义 随着社会的发展,人类进入 21 世纪后的生活的水平有所提高,为了满足人们对生 活的需要,丰富业余生活,就需要有一些娱乐的设施来弥补这些空缺,KTV 已经越来 越深入大众生活。自我国加入世界贸易组织,KTV 服务业与国际市场接轨已成为大势 所趋,KTV 要迎接这场挑战,就必须提高整体竞争能力,提高整体竞争能力必须变革 KTV 的管理模式,提高管理水平,实施信息化建设无疑是实现这一目的的必由之路和 明智之举。目前,我国 KTV 服务业信息化管理的进程缓慢,跟国外的 KTV 相比管理 依然落后。在激烈的 KTV 业竞争中,如何能把握机会,保持自己的优势,立于不败之 地呢?这就需要提供最好的服务,提供最完善的设施和最先进的技术。一个成功的 KTV,其经营者不仅要提高服务水平和服务质量,从而提高包厢占有率和回头率,还 要有好的工作效率,并控制成本。在信息时代,更重要的是还必须要有一个完善的管 理信息系统,便于方便客人和更好地管理 KTV。 所以开发这样的 KTV 服务管理系统是十分有必要的。 1.3 国内外现状 国内量贩式 KTV 的市场格局正在发生变化,可谓前途一片光明却又竞争激烈。 东北大学东软信息学院毕业设计(论文) 第 1 章 绪论 -2- KTV 兴起于八十年代,雏形是几台电视机、几台 VCD、外加几个话筒,尽管最初 是简陋的,但是发展起来是非常迅速的,九十年代就开始有了 KTV 的正式场所,最早 的有嘟嘟、阿米果、欢乐谷、多来咪等。那时候去 KTV 是奢侈的,一般去消费的是事 业有成或经济比较好的时尚年轻人。随着 KTV 市场的升温,KTV 场所也越来越多, 消费也相对便宜了,成了经济实惠的娱乐方式。平常大家总是喜欢约上三五好友一起 到 KTV 去开心一下,聚一聚、吼一吼,既发泄了,又与朋友聚到了,实在是划算。随 着居民生活消费水平的提高,有时候会面临这样的问题:“晚上活动怎么安排?去 KTV 吧!”如今,卡拉 OK 已成为城市居民重要的休闲方式之一。自助式消费、健康 的活动内容,这种娱乐模式很快被市民接受。这种新的业态出现,改变了居民的生活 方式。 1、缺乏特色竞争激烈 我们发现,多数量贩式 KTV 店缺乏特色,同质化比较严重。量贩式已经不再是 KTV 经营者的“金招牌” 。据了解,目前,不少量贩式 KTV 店在经过惨烈的价格战之 后,仍难以挽回市场。好几家大家熟悉的 KTV 店因无法维持,已经悄悄打起了转让广 告。如今,这种经营模式似乎已不那么赚钱了。 2、市场格局正在变化 随着 KTV 行业的管理日趋完善和严格,量贩式 KTV 还面临要交版权费的问题。 虽然因为种种原因,目前对 KTV 店征收版权费还没有真正实施,但交版权费的日子必 定会到来,这无疑会加大经营成本。不少商家反映 KTV 行业越来越难做了。 3、消费者的需求日益复杂 由于现代消费者对娱乐的需求日益复杂,除在意装潢格调、音响音质、伴唱带质 量、餐饮口味服务外,业者必须经常调整营业内容及设施,提供各种不同的娱乐服务 给消费者,以满足消费者欢乐及新鲜的心理需求。在未来的 ktv 行业发展趋势中,应发 展新技术以改进服务质量,还有引进更先进的视听设备,使消费者可以享受更好的服 务。 由此可见,一个成功的 KTV,其经营者不仅要提高服务水平和服务质量,从而提 高包厢占有率和回头率,还要有好的工作效率,并控制成本。在信息时代,更重要的 是还必须要有一个完善的管理信息系统,便于方便客人和更好地管理 KTV。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -3- 第 2 章 关键技术介绍 该 KTV 管理系统的开发使用了 C/S 架构,一个服务器端和多个客户端,服务器端 管理员用于管理 KTV 的全面运营,客户端分为服务员和客户两种类型,分别具有不用 的权限和功能实现,服务器端使用 Qt 实现,两类客户端使用 Android 实现,它们之间 使用 Wifi 无线连接技术进行数据的共享。 2.1 Qt Qt 是在 1991 年一个由奇趣科技开发的跨平台 C+图形用户界面的应用程序开 发框架。且是面向对象语言,易于扩展且允许组件编程。Qt 支持的平台有 MS/Windows - 95、98、ME、NT 4.0、2000、XP、 Win7 和 Vista,以及 Unix/X11 - Linux、Sun Solaris、CompaqTru64 UNIX、HP-UX、IBM AIX、SGI IRIX、 、BSD/OS FreeBSD 和其它很多 X11 平台,另外还有 Macintosh - Mac OS X、Embedded - 有帧缓冲(framebuffer)支持的嵌入式 Linux 平台和 Windows CE 等。 Qt 支持的操作系统有 Windows,Linux,Solaris,SunOS,Mac,FreeBSD、BSD/OS,SCO,AIX,OS3 90,QNX 等等。Qt 的良好分装机制使得 Qt 的模块化程度非常高,可重用性良好, 对于用户开发来说是非常方便的。 Qt 提供了一种成为 signal/slots 信号和槽的安全 类型来代替 callback,具有可查询和可设计的属性,这样使得各个元件之间的协同 工作变得十分简单呐。 此外,Qt 还有丰富的 API,包括多达 500 个一上的 C+类,还提供基于模版 的 collections,file,serialization,I/Odevice,data/time,directory management 类。 甚至还包括正则表达式的处理功能。 Qt 还具有有约的绘画功能, Qt 的绘画工具 QPainter 类,在任意一个绘图设备上都可以润色图形。绘图设备包括组件、像素映 射、打印机和图形文件,相同的代码可以用在4 种不同类型的设备上。 Qt 的类库架构: 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -4- Qt 的主要通信机制是信号和槽,使用这种方法非常简单,只要编写一行代码就能 将用户事件和程序事件连接起来。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -5- 信号/槽机制是在 QObject 类中实现的。在 QObject 类或者期中一个子类(比 如 QWidget 类)继承法的所有类中,都存在了信号和槽。当对象改变其状态的时候, 信号被发送,对象不关心有没有其他对象接收到这个信号槽是类的正常成员函数, 可以将信号和槽通过 connect()函数任意连接。当一个信号被发射它所连接的槽会被 立即执行,如同一个普通函数调用一样。当心好被发出时,会调用与之相连接的槽。 槽是普通的 C+函数,可以用普通的方式来调用。它唯一特殊的地方在于可以与信 号相连接。槽的参数不能有默认值。同样,信号的参数也不能有默认值。在槽的函 数中尽量不使用自定义的数据类型,因为这样会使通用性降低。 既然槽和普通的成员函数差不多,它们和普通成员函数一样有访问限制,根据 槽的访问限制谁可以与它们相连接,能够分为以下三种情况: public slot:任何信号都可以与之相连接。这在窗口部件编程中非常有用,用于 创建一些对彼此一无所知的对象,只有通过信号和槽来交换信息。Public slot 就 像是标准的铁路一样。 protected slot:只有该类及其子类所派生的对象的信号才可以与之相连接。这 类槽的目的通常是为了类的完善,而不是类与外界的接口。 private slot:只有该类自己的信号才可以与之相连接。 当某个信号对其客户或所有者发生的内部状态发生改变,信号被一个对象发射。 只有定义过这个信号的类及其派生类能发射这个信号。当一个信号被发射时,与其 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -6- 相关联的槽将被立即执行,就像一个正常的函数调用一样。信号-槽机制完全独立 于任何 GUI 时间循环。只有当所有的槽返回以后发射函数才返回。如果存在所个槽 与某个信号相关联,那么,当这个信号被发射时,这些槽将会一个接一个地执行, 但是它们执行的顺序将会是随机的、不确定的,我们不能人为地指定哪个先执行、 哪个后执行。如果有两个不同的对象对一个信号感兴趣,只要将该信号连接到这两 个对象的槽上就可以了。 2.2 Android Android 是一个以 Linux 为基础的开放源码的 操作系统,它主要用于便携设备, Android 操作系统最初 是由 Andy Rubin 开发且主要支持手机。 在 2005 年由 Google 收购注资,并组建 了开放手机联盟开发改良 ,逐渐地扩展到平板电脑 以及 其他领域上。 在 2011 年第一季度, Android 在全球的市场份额首次超过 了塞班系 统,跃居全球第一。 在 2012 年 2 月数据中显示,Android 占据了全球智能手机操 作系统市场 52.5%的份额,在中国市场的占有率为 68.4%。 Android 系统架构和别的操作系统一样,采用了分层 架构。Android 一共分为 四层,从高到低 依次是应用程序层、应用程序框架层、系统运行库层和Linux 核 心层。它是以 Linux 为核心的手机操作平台 ,作为一款开放式的操作系统,随着 Android 快速发展,如今 已经允许了开发者使用多种编程语言来开发应用程序,而 不再是像以前一样只能使用 Java 开发 Android 应用程序的单一局面,因而 它受到 了众多开发者的欢迎,成为 了真正意义上的开放式操作系统。 开发者在 Android 中可以使用 Java 作为编程语言来开发应用程序,也可以通过 NDK 使用 C/C+作为编程语言 进行开发应用程序,也可使用 SL4A 来使用其他各 种脚本语言进行编程(如: php、python、tcl、 lua 等等) ,还有其他诸如: Mono(Mono for Android) 、Qt(Qt for Android)等一些著名 的编程框架也开始支 持 Android 编程。甚至通过 MonoDroid,开发者们还可以使用 C#作为编程语言开 发应用程序。 此外,Google 于 2009 年特别发布了针对初学者的 Android Simple 语言,该语言类似 Basic 语言。但是在网页编程语言方面, JavaScript,Ajax,HTML5,jquery、Phone、sencha、mobl、dojo Gap 等等都已经 支持 Android 开发。而在 Android 系统底层方面, Android 是使用 C/C+作为开发 语言。 android 四大组件分别是: 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -7- 1. 活动(Activity):用于表现功能。 2. 服务(Service):后台运行服务,不提供界面呈现。 3. 广播接收器(BroadcastReceiver):用于接收广播。 4. 内容提供商(Content Provider):支持在多个应用中 的存储和读取数据,相 当于数据库。 Activity 一个 Activity 通常展现为一个可视化的用户界面。例如,一个activity 可能展 现为一个用户可以选择的菜单项列表或者展现一些图片以及图片的标题。一个消息 服务应用程序可能包含一个显示联系人列表的activity,一个编写信息的 activity, 以及其它一些查看信息和修改应用程序设置的activity。虽然这些 activity 一起工 作,共同组成了一个应用程序,但每一个activity 都是相对独立的。每一个 activity 都是 Activity(android.app.Activity)的子类。 一个应用程序可能只包含一个 activity,或者像上面提到的消息服务程序一样 有多个 activity。一个应用程序包含几个 activity 以及各个 activity 完成什么样的功 能完全取决于应用程序以及它的设计。通常每个应用程序都包含一个在应用程序启 动后第一个展现给用户的 activity。在当前展现给用户的 activity 中启动一个新的 activity,可以实现从一个 activity 转换到另外一个 activity。 每个 activity 都会有一个用于绘制用户界面的窗口。通常这样一个窗口会填充 整个屏幕,当然这个窗口也可以比屏幕小并漂浮在其他窗口之上。 activity 还可 以使用一些额外的窗口,例如一个要求用户响应的弹出式对话框,或者是当用户在 屏幕上选择一个条目后向用户展现一些重要信息的窗口。 展示 activity 窗口的可视化内容区域是一些具有层次关系(很像数据结构中的 树)的视图,而视图则是由类 View 的子类表示的。每个视图控制窗口中的一个矩 形区域。父视图包含一些子视图并管理子视图的布局。位于叶节点的视图直接控制 并响应用户的动作。因此视图就是activity 与用户交互的接口。例如,一个显示图 片的视图,当用户单击的时候它可能会启动一个动作。Android 有许多开发人员可 以直接使用的视图,包括按钮,文本域,滚动条,菜单,复选框等。 通过调用 Activity.setContentView()方法来设置展现 activity 的窗口的视图。内 容视图则是视图层次结构中的根节点视图。 Service 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -8- service 没有用户界面,但它会在后台一直运行。例如, service 可能在用户处 理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并 把运算结构提供给 activity 展示给用户。每个 service 都扩展自类 Serivce。 多媒体播放器播放音乐是应用 service 的一个非常好的例子。多媒体播放器程 序可能含有一个或多个 activity,用户通过这些 activity 选择并播放音乐。然而, 音乐回放并不需要一个 activity 来处理,因为用户可能会希望音乐一直播放下去, 即使退出了播放器去执行其它程序。为了让音乐一直播放,多媒体播放器activity 可能会启动一个 service 在后台播放音乐。 Android 系统会使音乐回放 service 一直 运行,即使在启动这个 service 的 activity 退出之后。 应用程序可以连接到一个正在运行中的service。当连接到一个 service 后,可 以使用这个 service 向外暴露的接口与这个 service 进行通信。对于上面提到的播放 音乐的 service,这个接口可能允许用户暂停,停止或重新播放音乐。 与 activity 以及其它组件一样, service 同样运行在应用程序进程的主线程中。 所以它们不能阻塞其它组件或用户界面,通常需要为这些service 派生一个线程执 行耗时的任务。 Broadcase receiver broadcase receiver 不执行任何任务,仅仅是接受并响应广播通知的一类组件。 大部分广播通知是由系统产生的,例如改变时区,电池电量低,用户选择了一幅图 片或者用户改变了语言首选项。应用程序同样也可以发送广播通知,例如通知其他 应用程序某些数据已经被下载到设备上可以使用。 一个应用程序可以包含任意数量的boradcase reveiver 来响应它认为很重要的 通知。所有的 broadcast receiver 都扩展自类 BroadcastReceiver。 broadcast receiver 不包含任何用户界面。然而它们可以启动一个activity 以响 应接受到的信息,或者通过 NotificationManager 通知用户。可以通过多种方式使 用户知道有新的通知产生:闪动背景灯、震动设备、发出声音等等。通常程序会在 状态栏上放置一个持久的图标,用户可以打开这个图标并读取通知信息。 Content provider 应用程序可以通过 content provider 访问其它应用程序的一些私有数据,这是 Android 提供的一种标准的共享数据的机制。共享的数据可以是存储在文件系统中、 SQLite 数据库中或其它的一些媒体中。 content provider 扩展自 ContentProvider 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -9- 类,通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的数据。然 而应用程序并不会直接调用 ContentProvider 中的方法,而是通过类 ContentResolver。ContentResolver 能够与任何一个 ContentProvider 通信,它与 ContentProvider 合作管理进程间的通信。 任何时候当 Android 系统收到一个需要某个组件进行处理的请求的时候, Android 会确保处理此请求的组件的宿主进程是否已经在运行,如果没有,则立即 启动这个进程,当请求的组件的宿主进程已经在运行,它会继续查看请求的组件是 否可以使用,如果不能立即使用,它会创建一个请求的组件的实例来响应请求。 2.3 Wi-Fi Wi-Fi 的英文全称为 wireless fidelity,Wi-Fi 原先是无线保真的缩写 ,它在无 线局域网的范畴是指 “无线相容性认证 ” ,实质上那是一种商业认证,同时也是一 种无线联网的技术 。以前通过网线连接电脑,而现在则是通过无线电波来连网。 常见的就是一个无线路由器 ,那么在这个无线路由器 电波覆盖的有效范围 内都可 以采用 WIFI 的连接方式来进行联网,如果无线路由器连接了一条ADSL 线路或 者别的上网线路,则又被称为 “热点” 。 所谓 Wi-Fi,是由一个名为“无线以太网相容联盟” (Wireless Ethernet Compatibility Alliance, WECA)的组织所发布的业界术语,中文译为“无线相容认证” 。 它是一种短程无线传输技术,能够在数百英尺范围内支持互联网接入的无线电信号。 随着技术的发展,以及 IEEE 802.11a 及 IEEE 802.11g 等标准的出现,现在 IEEE 802.11 这个标准已被统称作 Wi-Fi。从应用层面来说,要使用 Wi-Fi,用户首先要有 Wi-Fi 兼容的用户端装置。Wi-Fi 是一种帮助用户访问电子邮件、Web 和流式媒体的互 联网技术。它为用户提供了无线的宽带互联网访问。同时,它也是在家里、办公室或 在旅途中上网的快速、便捷的途径。能够访问 Wi-Fi 网络的地方被称为热点。Wi-Fi 或 802.11G 在 2.4Ghz 频段工作,所支持的速度最高达 54Mbps(802.11N 工作在 2.4Ghz 或者 5.0Ghz,最高速度 600Mbps)。另外还有两种 802.11 空间的协议,包括(a) 和(b)。它们也是公开使用的,但 802.11G/N 在世界上最为常用。 Wi-Fi 热点是通过在互联网连接上安装访问点来创建的。这个访问点将无线信号 通过短程进行传输- 一般覆盖 300 英尺。当一台支持 Wi-Fi 的设备(例如 Pocket PC) 遇到一个热点时,这个设备可以用无线方式连接到那个网络。大部分热点都位于供大 众访问的地方,例如机场、咖啡店、旅馆、书店以及校园等等。许多家庭和办公室也 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -10- 拥有 Wi-Fi 网络。虽然有些热点是免费的,但是大部分稳定的公共 Wi-Fi 网络是由私 人互联网服务提供商(ISP)提供的,因此会在用户连接到互联网时收取一定费用。 802.11b 有时也被错误地标为 Wi-Fi,实际上 Wi-Fi 是无线局域网联盟(WLANA)的一 个商标,该商标仅保障使用该商标的商品互相之间可以合作,与标准本身实际上没有 关系。但是后来人们逐渐习惯用 WIFI 来称呼 802.11b 协议。它的最大优点就是传输速 度较高,可以达到 11Mbps,另外它的有效距离也很长,同时也与已有的各种 802.11 DSSS 设备兼容。笔记本电脑技术迅驰技术就是基于该标准的。IEEE(美国电子 和电气工程师协会)802.11b 无线网络规范是 IEEE 802.11 网络规范的扩展,最高带宽 为 11 Mbps,在信号较弱或有干扰的情况下,带宽可调整为 5.5Mbps、2Mbps 和 1Mbps,带宽的自动调整,有效地保障了网络的稳定性和可靠性。其主要特性为:速度 快,可靠性高,在开放性区域,通讯距离可达 305 米,在封闭性区域,通讯距离为 76 米到 122 米,方便与现有的有线以太网络,支持 Wi-Fi 的笔记本。 整合,组网的成本更低。WiFi(WirelessFidelity,无线相容性认证)的正式名称 是“IEEE802.11b” ,与蓝牙一样,同属于在办公室和家庭中使用的短距离无线技术。 虽然在数据安全性方面,该技术比蓝牙技术要差一些,但是在电波的覆盖范围方面则 要略胜一筹。WiFi 的覆盖范围则可达 300 英尺左右(约合 90 米) ,办公室自不用说, 就是在小一点的整栋大楼中也可使用。 2.4 基于 TCP 的 Socket 通信 基于 TCP 的 Socket 通信是通过指定 IP 地址和 port 号,采用 C/S 模式建立 TCP 协 议下的两个通信进程间的连接,实现可靠的双向通信。在 Java 中,实现客户端套接字 的 Socket 类;实现服务器端套接字的 ServerSocket 类。 Socket 通信原理是网络中基于 Socket 通信的两个进程间建立连接时,会将其中一 个进程作为客户端,而另一个进程作为服务器端。ServerSocket 类和 Socket 类实现通 信的 C/S 模型。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -11- Socket socket=new Socket(ServerHost,PORT); OutputStream out=socket.getOutOutStream(); InputStream in=socket.getInputStream(); Out.close(); In.close(); Socket.close; ServerSocket serversocket=new ServerSocket(PORT); Socket socket=serversocket.accept(); OutputStream out=socket.getOnputStream(); InputStream in=socket.getInputStream(); Out.close(); In.close(); Socket.close(); Serversocket.close(); 客客户户端端进进程程 服服务务器器端端进进程程 创创建建客客户户端端 实实例例并并发发送送 请请求求 数数据据通通信信 结结束束通通信信 创创建建服服务务 器器端端实实例例 监监听听端端口口并并 建建立立连连接接 数数据据通通信信 结结束束通通信信 由服务器端程序与客户端程序两部分组成,基本功能是: 服务器端程序监听 C/S 双方约定的端口(55558) ,等待并接收客户请求,接受客 户请求后建立一个至客户端的基于套接字的连接,然后利用该连接返回到客户端的 Socket 对象,创建一个服务器端输入流 InputStream 和一个服务器端输出流 OutputStream,同时将它们分别包装成便于操作与刷新的 BufferedReader 输入流和 PrintWriter 输出流。 然后,服务器端从 InputStream 读入客户端输出的数据,用 OutputStream 向客户端 输出数据,直到接收到客户端的数据终止标志“结束”为止, 最后关闭连接,释放网络资源,结束本次通信。 客户端程序首先创建客户端 Socket 对象后,然后在约定端口向服务器端发送请求, 待服务器端接受请求后建立基于套接字的连接,然后利用该连接的 Socket 对象,创建 一个客户端输入流 InputStream 和一个客户端输出流 OutputStream,同时将它们分别包 装成便于操作与刷新的 BufferedReader 输入流和 PrintWriter 输出流。 然后,客户端从 InputStream 读入服务器端输出的数据,用 OutputStream 向服务器 端输出数据,直到发送完数据终止标志“结束”为止,最后关闭连接,释放网络资源, 结束本次通信。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -12- 第 3 章 系统分析与设计 3.1 构架概述 3.1.1 功能构架 W Wi if fi i 管管理理员员 计算机 服服务务员员组组 客客人人组组 图 3.1 系统结构图 KTV管管理理系系统统 基基于于Qt服服务务器器 端端(管管理理员员) 基基于于Android 客客户户端端(服服务务 员员) 基基于于Android 客客户户端端(客客 人人) 人人 事事 管管 理理 模模 块块 消消 费费 统统 计计 模模 块块 消消 费费 服服 务务 模模 块块 财财 会会 模模 块块 Wifi 模模 块块 消消 费费 统统 计计 模模 块块 订订 单单 管管 理理 模模 块块 个个 人人 状状 态态 模模 块块 Wifi 模模 块块 呼呼 叫叫 服服 务务 模模 块块 评评 价价 服服 务务 模模 块块 Wifi 模模 块块 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -13- 图 3.2 系统体系结构图 3.1.2 模块需求描述 通过图 3.1 所示,本 KTV 管理系统分为管理员、服务员、客人三个角色,管理员 使用基于 Qt 的服务器端,服务员与客人使用两种类型的客户端,通过 wifi 无线连接共 享数据库并利用不同的角色权限对数据库进行操作。 (1)管理员 管理员是本系统中进行总管理的角色,他规划整个 KTV 的运营流程,管理数据库 的增删改查,该角色在本系统中权限最高,在基于 Qt 的服务器端工作,包括人员管理、 消费统计、消费服务、财会管理等。 人事管理模块:本模块用于对 KTV 的在职员工进行管理,包括增加服务员、删除 服务员以及对他们信息的查询,方便 KTV 管理人员的管理。 消费统计模块:本模块是对消费项目以及金额进行统计的模块,包括对每一项目 在本日、本月、本年的消费量以及消费总金额进行统计,并绘制出消费统计曲线以便 友好直观的对 KTV 进行日常管理和运营。 消费服务模块:本模块用于服务员在客人点单时进行数据库的连接和确认,完成 后进行提交订单。客人中途需要修改订单时再对订单进行修改和维护,还可以对客人 的订单进行计时消费计算和查询。 财会模块:本模块用于对 KTV 运营的水费、电费、租金以及人事工资等进行记录 与汇总并绘制出收入支出和净收入、营业额的曲线,方便管理员的管理。 Wifi 管理模块:本模块用于与两个客户端的无线连接和数据共享。 (2)服务员 服务员是本系统中一个比较重要的用户,该用户可以进行的主要的功能有新建订 单、订单管理、消费统计、修改个人状态等功能。 订单管理模块:本模块用于查询已经存储在数据库中的订单详细信息,对其进行 修改和显示等动作。 消费统计模块:本模块用于在客人消费结束时对其服务消费的统计,并对其消费 进行最终确认。 个人状态模块:本模块用于服务员对自己的工作状态进行实时更新,包括空闲、 忙碌、事假、病假等,还有服务员的自身评价分数、累计工作时间等。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -14- Wifi:本模块用于与服务器端和客人的客户端进行连接并进行数据共享。 (3)客人 客人是本系统中另一个比较重要的用户,该用户可以进行一系列的招聘活动,主 要的功能有呼叫服务和评价服务。 呼叫服务模块:本模块用于客人在需要餐点和酒水时点击按钮使请求发送到 评价服务模块:本模块用于对服务的服务员进行评价,实行分数制,满分 100 分, 60 分及格。此分数为服务员个人属性以及用于最后工资评定。 Wifi 模块:用于与服务器端以及服务员的客户端进行数据共享和通信 3.2 系统开发环境 3.2.1 硬件开发环境 主机:戴尔 1420 笔记本电脑 处理器:Intel(R) Core(TM)2 Duo CPU T8100 2.10GHz 2.10GHz 安装内存(RAM):2.00GB 系统类型:32 位操作系统 3.2.2 软件开发环境 开发环境:Windows7 Ultimate SP1 X86/Qt Creator 2.4.1/Eclipse 3.7.2(ADT 18.0.0/android-sdk_r18-windows) 辅助工具:Photoshop CS3 3.3 系统任务的可行性分析 本系统的服务器采用了 Linux 系统的底层架构,服务器端软件使用 Qt Quick 框架 开发,数据库采用了 SQLite。Qt Quick 提供优秀的跨平台特性,对嵌入式设备有了良 好的支持;SQLite 数据库轻巧、高效,功能是较为完备的,非常适合用于嵌入式软件 的开发。开发工具为 Qt Creator,该工具提供完善的代码管理和调试功能,完全能够满足 本系统的开发的需求。 本系统客户端基于功能强大而且应用广泛的 Android 平台,Android 是一个相对开 放的平台,适用于各种类型的便携设备用以充分满足用户不同的需求。开发工具为安 装了官方 SDK 插件的 Eclipse,它也能够满足开发要求。 3.4 系统构架 本系统采用 C/S 架构模式设计开发,基于 Qt 的服务器端客户端应用软件完成管理 员这个角色的相关工作,基于 Android 的客户端类型包括服务员和客人两种。他们之 间通过 Wifi 进行无线连接的数据共享和通信。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -15- 3.5 数据库设计 根据以上的功能分析和 预估的实际情况 ,大致需要在数据库中建立 四张表来 支持以上的功能,分别为: 人员信息表,如表 3.1 所示:用于存储所有 KTV人员的全部信息。 订单信息表,如表 3.2 所示:用于存储所用 订单的消费信息。 包间消费信息表,如表 3.3 所示:用于存储所有 包间的状态 信息。 服务员属性信息表,如表 3.4 所示:用于存储所有 KTV人员的工资 信息。 本KTV管理系统使SQLite开源数据库进行开发,通过对实际功能需求的详细研究, 对表字段、主键的设置、数据字段的类型做了严格且细致的分析,决定将每个类别的 信息均分别建立一个表,这样设计减少了数据库中表由于字段过多而导致过于复杂, 因而得出了这套数据库建立方案。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分析与设计 -16- 表 3.1 人员信息表 字段名称字段名称数据类型数据类型字符描述字符描述 IDInt(20)工号:主键 NAMEVachar(20)人员名字 ENTRYDATEDatetime入职时间 POSITIONVachar(20)职务 DETAILSVachar(400)用户权限 EVALUATEVachar(200)评价得分 表 3.2 订单信息表 字段名称字段名称数据类型数据类型字符描述字符描述 NUMInt(20)包间号:流水号 RNUMInt(20)外键:包间号 IDInt (20)外键:工号 LUMPSUMInt(20)总价 表 3.4 消费统计信息表 字段名称字段名称数据类型数据类型字符描述字符描述 DATEDatetime主键:日期 SERVICE1Int(20)服务 1 统计量 SERVICE2Int(20)服务 2 统计量 SERVICE3Int(20)服务 3 统计量 SERVICE4Int(20)服务 4 统计量 表 3.4 工资信息表 字段名称字段名称数据类型数据类型字符描述字符描述 IDInt(20)工号:主键 ATTENDANCEInt(20)出勤工资 BASICInt(20)基本工资 SUBSIDYInt(20)补贴 SATISFACTIONInt(20)评价奖金 东北大学东软信息学院毕业设计(论文) 第 4 章 系统实现 -17- 第 4 章 系统设计与实现 4.1 管理员系统页面设计 4.1.1 登录界面的设计 如

    注意事项

    本文(基于Qt与Android的KTV管理系统设计与实现毕业论文.doc)为本站会员(来看看)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开