




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、小型应用系统学年设计报告学院名称: 计算机与信息工程学院 班级名称: 网络工程151 学生姓名: 陈蕾 学 号: 题 目: 客房管理系统 指导教师: 赵玉艳 起止日期:2017年7月3日 2017年7月9日目录 1绪论11.1 设计背景和意义11.2 本文结构12开发工具及技术12.1开发工具介绍12.1.1 JDK和Eclipse12.1.2 MySql数据库22.2开发技术介绍22.2.1 Java简介22.2.2 SQL语言简介33 需求分析33.1 数据需求33.1.1 E-R图33.1.2 数据库表结构33.2功能需求43.2.1 功能划分43.2.2 用例图53.2.3 组织结构图
2、53.3 性能需求及运行环境63.3.1 性能需求63.3.2 运行环境64 系统设计64.1登录模块64.2客房管理模块74.2.1查询功能74.2.2添加功能84.2.3修改功能94.2.4删除功能105 运行及测试115.1 登录模块测试115.2.1查询功能测试125.2.2添加功能测试125.2.3修改功能测试135.2.4删除功能测试14结论15参考文献161绪论1.1 设计背景和意义随着人员流动规模的不断扩大,酒店数量的急剧增加,有关客房管理的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有客房订购管理系统来提高客房管理工作的效率。通过这样的系统,我们可以做到信息的规范管理
3、和快速查询,从而减少了管理方面的工作量。传统手工的客房信息管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。客房系统系统对酒店加强客房信息管理有着极其重要的作用,就一所客房数量较大的酒店来说,它的设计内容非常复杂而且繁多,比如拥有客房信息管理、客房类别信息管理、预定信息管理等功能,而且设计的模块也很多,比如用户信息管理模块、客房类型管理模块、客房信息管理模块、客房经营管理模块、客户信息查询模块、经营状况统计模块等等。Java是一门面向对
4、象编程语言,不仅吸收了C+语言的各种优点,还摒弃了C+里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许以优雅的思维方式进行复杂的编程。本系统采用Java语言进行系统开发,通过此次设计,对Java语言有了更系统、全面的认识,并通过借助Java API,又学习到了很多Java中的类,通过调用这些类,也对Java中不同类的方法有了更多的了解和认识。1.2 本文结构本文主要由五个部分组成。第一部分:绪论,着重介绍系统的概述、设计背景、以及可行性分析。第二部分:开发工具和技术,着重介绍系统开发所需要
5、的开发工具及首要的开发技术。第三部分:需求分析,包括系统开发的数据需求、功能需求、性能需求。第四部分:系统设计,包括系统的各模块设计以及具体功能的设计编码过程。第五部分:运行及测试,着重对系统的各个功能实现的结果进行测试验证。2开发工具及技术2.1开发工具介绍2.1.1 JDK和EclipseJDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心,它包含了Java的运行环境,Java工具和Java基础的类库。Eclipse 是一个开放源代码的、基于java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构
6、建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具。2.1.2 MySql数据库 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun 公司收购。MySQL其体积小、速度快、并且成本低,开放源码,MySQL数据库主要有以下特点。(1)可移植性使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。(2)可扩展性和灵活性MySQL可以支持UNIX、Linux和SUNOS以及Windows等多种操作系统平台。在一个操作系统中实现的应用可以很方便地移植到其他操作系统。MySQL作为开源性质的 数据库服务器
7、,可以为那些想要增加独特需求的用户提供完全定制的功能。(3)强大的数据保护功能MySQL有一个非常灵活且安全的权限和密码系统。为确保只有获授权用户才能进入该数据库服务器,所有的密码传输均采用加密形式,同时也提供了 SSH和SSI。支持,以实现安全和可靠的连接。MySQL强大的数据加密和解密功能,可以保证敏感数据不受未经授权的访问。(4)支持大型的数据库MySQL可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySQL可以针对不同的应用进行相应的修改。(5)超强的稳定性MySQL拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用而不必担心其稳定性。线程是轻量级的进程
8、,它可以灵活地为用户提供服务,而不占用过多的系统资源。用多线程和C语言实现的MySQL能很容易地充分利用CPU。(6)强大的查询功能MySQL支持查询的select和where语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷、方便。2.2开发技术介绍2.2.1 Java简介在当前的软件研发行业中,Java语言成为了开发人员的首选,Java语言有如下优点:(1)平台无关性这是Java语言比较明显的优势,通过Java语言编译的源程序可以方便的在众多的软硬件系统里执行,这是软件研发人员首选Java实行软件研发的重要原因8。(2)安全性由于Java中没有指针,因
9、此不会对系统的存储资源造成破坏,保证了安全性。(3)面向对象Java像其他软件开发语言一样,在对软件进行开发时采用了使用比较普遍的面向对象技术。(4)异常处理进行软件程序开发时,可能会出现各种异常,而Java有对这些异常进行处理的机制,能够快速找到问题所在,为开发者快速解决这些问题提供了依据。2.2.2 SQL语言简介SQL语言是一种结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统。3 需求分析3.1 数据需求3.1.1 E-R图 根据系统的实际需求,可以抽象出的实体包
10、括:管理员,客户,该系统中实体之间都有相应的对应关系。各个实体都分别有自己的属性,比如管理员包含登录名、登录密码等属性,客户信息的属性包含房间号、房间类型、单价、入住姓名、负责人、状态。详实的E-R图如下面的图3-1所示。图3-1 E-R图3.1.2 数据库表结构根据客房管理系统的E-R图,设计有以下对应的关系表,包括管理员表和客房信息表。(1)管理员表,其功用是创建登录系统的管理人员的账号和密码。其内容包括管理员的账号(ID),密码(password)。其表结构如表3-1所示。表3-1 管理员表字段类型长度备注IDvarchar20passwordvarchar20(2)客房信息表,主要用于
11、存储客房的基本信息,包括房间号,房间类型,单价,入住姓名,身份证号,房间状态。其表结构如表3-2所示。表3-2 客房信息表字段类型长度备注房间号int10房间类型varchar20单价int10入住姓名varchar20身份证号varchar20房间状态varchar20 根据表3-1和表3-2,在navicat中建立下列具体表3-3和表3-4。表3-3 管理员表IDPasswordchenchen1234leilei6789clcl0520表3-4 客房信息表房间号房间类型单价入住姓名身份证号房间状态101单人间120张明入住102标准间150赵红未入住103标准间150王五入住104商务间
12、220陈乐未入住105单人间99李理未入住3.2功能需求3.2.1 功能划分客房管理系统包括管理员登录,客房信息查询、添加、删除、修改等功能。其主要功能如下:(1) 管理员登录:通过登录界面,系统管理员通过表中的账号和密码登录系统,对客房信息进行管理。(2) 客房信息查询:通过点击界面的查询按钮,在查询框中输入房间号,查询客房的所有信息。(3) 添加客房信息:通过添加客房信息,实现客户对客房的预订,在表中同样添加了录入的客房信息。(4) 修改客房信息:通过点击界面的修改按钮,对客房的录入信息进行修改。(5)删除客房信息:通过点击界面的删除按钮,然后通过房间号对客房信息进行删除。3.2.2 用例
13、图系统是实现管理员对客房信息的一些管理,其用例图如图3-5所示。图3-5系统用例图3.2.3 组织结构图 系统的设计是面向客房管理人员的,管理员可以完成图3-6所示功能。包括括管理员登录,客房信息查询、添加客房信息、修改客房信息、删除客房信息等功能。图3-6系统组织结构图3.3 性能需求及运行环境3.3.1 性能需求(1)响应时间系统响应时间应足够迅速,一般需要小于等于1s,基本能够满足用户要求。(2)可使用性该系统的界面简明,明了,便于用户操作。(3)安全性只有注册过该系统的用户才能进入,杜绝不法用户进入;用户下的订单会有本地数据库进行保存,避免丢失,在一定程度上保证了安全性。3.3.2 运
14、行环境(1)软件环境操作系统:Windows 7数据库:Mysql软件:eclipse推荐使用4.5.1版本及以上(2)硬件环境CPU:奔腾IV 1.0GHz及以上;内存:256Mb及以上;硬盘:10G及以上。4 系统设计4.1登录模块编写actionPerformed方法实现登录功能,在管理员表中存放管理员输入的账号和密码,执行Class.forName(com.mysql.jdbc.Driver)和conn =DriverManager.getConnection(url, dbname, dbpassword)连接数据库后再执行sql语句SELECT *FROM 管理员表 WHERE I
15、D= + text1.getText() + 即根据管理员输入的ID查询对应的密码。如果管理员输入的密码和查询到的密码一致,则可以登录否,则登录失败。核心代码如下:try Class.forName(com.mysql.jdbc.Driver);/ 加载驱动 conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/信息, root, );/ 获取连接stmt = conn.createStatement();/ 创建语句对象 catch (Exception e) e.printStackTrace();public void
16、 actionPerformed(ActionEvent arg0) if (arg0.getSource() = button1) DB db = new DB();/ 链接数据库 String sql = SELECT *FROM 管理员表 WHERE ID= + text1.getText(); ArrayList list = db.arrQuery(sql);if (list.get(0)1.equals(text2.getText() new Jm(); this.dispose(); else JOptionPane.showMessageDialog(this, + text2
17、.getText() + 密码错误!);text2.setText();text1.setText(); 4.2客房管理模块4.2.1查询功能编写actionPerformed()方法实现查询功能,执行Class.forName(com.mysql.jdbc.Driver)和Connection conn = DriverManager.getConnection(url, dbname, dbpassword)连接数据库后,再执行sql语句SELECT 房间类型,单价,入住姓名,身份证号,房间状态 FROM 客房信息表 WHERE 房间号= + a.getText(),然后根据房间号进行查询
18、。核心代码如下:public void actionPerformed(ActionEvent e1) if (e1.getSource() = button1) new Query();this.dispose();if (e1.getSource() = button2) new Add();this.dispose();if (e1.getSource() = button3) new Modify();this.dispose();if (e1.getSource() = button6) new Delete();this.dispose();if (e1.getSource() =
19、 button4) DB db = new DB();/ 链接数据库String sql = SELECT 房间类型,单价,入住姓名,身份证号,房间状态 FROM 客房信息表 WHERE 房间号= + a.getText();ArrayList list = db.arrQuery(sql);b.setText(list.get(0)0);c.setText(list.get(0)1);d.setText(list.get(0)2);e.setText(list.get(0)3);f.setText(list.get(0)4);if (e1.getSource() = button5) new
20、 Jm();this.dispose();4.2.2添加功能编写actionPerformed()方法实现添加功能,执行Class.forName(com.mysql.jdbc.Driver)和Connection conn = DriverManager.getConnection(url, dbname, dbpassword)连接数据库后再执行sql语句INSERT INTO 客房信息表 VALUES ( + a.getText() + , + lx.getSelectedItem() + ,+ dj.getSelectedItem() + , + d.getText() + , + e
21、.getText() + , + + zt.getSelectedItem() + + ).即向客房信息表中添加客房的一系列信息。核心代码如下:public void actionPerformed(ActionEvent arg0) if (arg0.getSource() = button1) new Query();this.dispose();if (arg0.getSource() = button2) new Add();this.dispose();if (arg0.getSource() = button3) new Modify();this.dispose();if (ar
22、g0.getSource() = button6) new Delete();this.dispose();if (arg0.getSource() = button4) DB db = new DB();/ 链接数据库String sql = INSERT INTO 客房信息表 VALUES ( + a.getText() + , + lx.getSelectedItem() + ,+ dj.getSelectedItem() + , + d.getText() + , + e.getText() + , + + zt.getSelectedItem() + + );int n = db.u
23、pdate(sql);if (n 0) JOptionPane.showMessageDialog(this, 添加成功!);a.setText();lx.getSelectedIndex();dj.getSelectedIndex();d.setText();e.setText();zt.getSelectedIndex();if (arg0.getSource() = button5) a.setText();b.setText();c.setText();d.setText();e.setText();4.2.3修改功能编写actionPerformed()方法实现修改功能,执行Clas
24、s.forName(com.mysql.jdbc.Driver)和Connection conn = DriverManager.getConnection(url, dbname, dbpassword)连接数据库后再执行sql语句update 客房信息表 set 房间类型= + b.getText() + ,单价= + c.getText() + ,入住姓名= + d.getText()+ ,身份证号= + e.getText() + ,房间状态= + f.getText() + where 房间号= + a.getText();.即修改客房信息。核心代码如下:public void ac
25、tionPerformed(ActionEvent arg0) if (arg0.getSource() = button1) new Query();this.dispose();if (arg0.getSource() = button2) new Add();this.dispose();if (arg0.getSource() = button3) new Modify();this.dispose();if (arg0.getSource() = button4) if (arg0.getSource() = button4) DB db = new DB();/ 链接数据库Stri
26、ng sql = update 客房信息表 set 房间类型= + b.getText() + ,单价= + c.getText() + ,入住姓名= + d.getText()+ ,身份证号= + e.getText() + ,房间状态= + f.getText() + where 房间号= + a.getText();int n = db.update(sql);if (n 0) JOptionPane.showMessageDialog(this, 修改成功!);a.setText();b.setText();c.setText();d.setText();e.setText();f.s
27、etText(); if (arg0.getSource() = button5) a.setText(); b.setText(); c.setText(); d.setText(); e.setText(); f.setText();4.2.4删除功能编写actionPerformed()方法实现添加功能,执行Class.forName(com.mysql.jdbc.Driver)和Connection conn = DriverManager.getConnection(url, dbname, dbpassword)连接数据库后再执行sql语句DELETE 房间类型,单价,入住姓名,身
28、份证号,房间状态 FROM 客房信息表 WHERE 房间号= + a.getText()”,即删除客房信息。核心代码如下:public void actionPerformed(ActionEvent e1) if (e1.getSource() = button1) new Query();this.dispose();if (e1.getSource() = button2) new Add();this.dispose();if (e1.getSource() = button3) new Modify();this.dispose();if (e1.getSource() = butt
29、on6) new Delete();this.dispose();if (e1.getSource() = button4) DB db = new DB();/ 链接数据库String sql = DELETE 房间类型,单价,入住姓名,身份证号,房间状态 FROM 客房信息表 WHERE 房间号= + a.getText();ArrayList list = db.arrQuery(sql);b.setText(list.get(0)0);c.setText(list.get(0)1);d.setText(list.get(0)2);e.setText(list.get(0)3);f.setText(list.get(0)4);5 运行及测试 5.1 登录模块测试输入账号和密码,进行登录及登陆后的界面,如下图5-1、图5-2所示。图5-1 登录界面 图5-2 登陆后界面5.2 登录模块测试5.2.1查询功能测试点击登录后界面的客房信息查询,然后显示界面,在新界面中输入房间号即可查询客房信息,具体如下图5-3所示。图5-3 查询界面5.2.2添加功能测试点击登录后界面的添加客房信息,然后显示界面,在新界面中输入要添加的客房信息,具体如下图5-4、图5-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业购物合同范本
- 2025年新余货运资格证模拟考试新题库
- 上海卖房定金合同范本
- 仪器采购合同范本模板
- 农业打药合同范本
- 第五章 第二节 一 气温 世界气温的分布教学设计-2024-2025学年湘教版初中地理七年级上册
- 业主安装电梯合同范本
- 全国物业服务合同范本
- 代理经销产品合同范本
- 借款合同范本担保人范本
- 2024年物联网安装调试员(中级工)职业资格鉴定考试题库(含答案)
- 标准化机房改造方案
- 珠海市第三人民医院中医智能临床辅助诊疗系统建设方案
- 早产临床诊断与治疗指南
- 工程签证单完整版
- 《义务教育数学课程标准(2022年版)》初中内容解读
- 2025届高三化学一轮复习 原电池 化学电源(第一课时)课件
- 全院护理查房(食管裂孔疝)
- 川教版信息技术六年级下册全册教案【新教材】
- 2024-2025学年统编版语文九年级下册第7课《溜索》任务驱动型教学设计
- (国赛)5G组网与运维赛项备考试题库及答案
评论
0/150
提交评论