摘要
随着旅游业的发展,宾馆、餐饮娱乐行业日益发达,引入全方位的电脑服务和电脑管理日益流行。宾馆的管理系统会随客人的需求而不断完善,及时的共享客人的信息,给客人提供人性化的服务已成为宾馆管理的目标和方向,而宾馆装潢、客房数量、价格等竞争将退居二线,可以预见的是,未来宾馆的竞争将在智能化、信息化方面展开。
本系统主要针对宾馆管理的信息系统。本系统总体上由两大功能模块:前台系统模块、后台数据管理模块组成。系统涉及到三大类用户操作员、管理员、系统管理员。采用Java swing进行编写,SQL 2000进行数据处理。本系统易于操作,使用方便,操作性强。
关键词:管理系统,java组件,数据库,操作性强
I
THE MANAGEMENT SYSTEM OF HOTEL BASED ON JAVA
ABSTRACT
With the development of tourism, hotels, dining and entertainment industry is increasingly developed, the introduction of a full range of computer services and computer management is increasingly popular. Hotel management system with the guests' needs and constantly improve the timely sharing of information of the guests, offers personalized service has become the goals and direction of the hotel management, hotel decor, room number, price competition will take a back seat the foreseeable future competition in the hotel will commence in the intelligence and information.
This system is mainly for hotel management information system. The overall system is composed of two functional modules: the front system module, the background data management module. The system involves three main types of user operator, administrator, system administrator. Using the Java Swing for the preparation of the SQL 2000 for data processing. The system is easy to operate, easy to use and operate.
KEYWORDS : management system,java swing ,database, operable
II
[键入文字]
目录
摘要 ...................................................................... I ABSTRACT ................................................................. II 1绪论 .................................................................... 1
1.1引言 ............................................................... 1 1.2系统开发目的 ....................................................... 1 2系统开发技术概述 ........................................................ 2
2.1开发语言简介 ....................................................... 2 2.2研究内容 ........................................................... 3 2.3拟采用的研究思路方法 ............................................... 3 3概要设计 ................................................................ 4
3.1系统概述 ........................................................... 4 3.2功能模块详细描述 ................................................... 5 4系统详细设计 ............................................................ 6
4.1前台系统详细设计 ................................................... 6
4.1.1各功能模块详细介绍 ........................................... 6 4.1.2开发工具介绍 ................................................ 15 4.2数据库设计 ........................................................ 15
4.2.1数据库总体设计 .............................................. 16 4.2.2数据字典及数据项 ............................................ 16
5系统测试 ............................................................... 22
5.1系统测试意义 ...................................................... 22 5.2功能测试 .......................................................... 22
5.2.1非功能性测试需求 ............................................ 22 5.2.2安全性和访问控制测试需求 .................................... 23 5.2.3系统总体测试 ................................................ 23
结论 ..................................................................... 27 参考文献 ................................................................. 28 致谢 ..................................................................... 29
i
1绪论
1.1引言
随着信息技术的不断发展,计算机网络(以下简称网络)的日益普及,特别是企业管理信息化的的推进中,使得网络广泛地融入到人们生活的各个方面,成为人们不可或缺的重要组成部分。针对目前宾馆电子化管理的实际需求,和消费客户对跨时域地域预订住宿的要求,本需求分析定义的开发宾馆管理系统的总体要求是:作为两类用户(一般客户和宾馆管理人员)和软件开发员互相了解的基础,系统成品提供用户登录、查询、管理员后台管理等四大功能服务。
1.2系统开发目的
对内是为了使宾馆管理更加便捷、高效,员工操作更加明晰、规范,大提高宾馆管理质量。对外是能让用户自助登录、查询宾馆住房信息和宾馆服务、实现零距离实时预定宾馆房间,为客户提供舒心的出行住宿保证,提高社会效益。
本需求分析包含了初步分析设计各功能模块、提供性能要求、对用户影响的信息、以及对各功能模块功能的描述。
1
2系统开发技术概述
2.1开发语言简介
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。
Java平台由Java虚拟机(Java Virtual Machine)和Java应用编程接口(Application Programming Interface、简称API)构成。Java应用编程接口为Java应用提供了一个于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。非常实用。
(1) Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
(2)Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
(3)Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
(4)Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
(5) Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
(6)Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
(7)Java语言是可移植的。这种可移植性来源于体系结构中立性。Java系统本身也具有很强的可移植性,Java编译器是用Java实现,Java的运行环境是用ANSI C实现的。
(8)Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java
2
解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
(9)Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。 (10)Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
(11)Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。 2.2研究内容
本系统用java语言来编写宾馆管理系统,数据库用Microsoft SQL Server 2000来连接系统,通过C/S模式完成整个设计工作。在设计系统是要实现以下功能模块:
(1)登录界面部分
登陆界面部分,包括用户名输入,密码输入。 (2)主界面部分
房间管理模块:客房预定管理模块,包括身份录入,房间编号,房间信息;房间设置管理模块,包括信息录入,添加,查询,删除。
营业管理模块:点菜/结账,酒菜设置,添加商品和商家信息。 系统管理模块:用户密码重置,管理用户。 (3)数据库部分
用eclipse进行数据库连接以及对数据的处理。 2.3拟采用的研究思路方法
本系统的设计大体可分为两个模块:前台用户操作系统、后台管理系统。用Java语言来编写两个模块,数据库用Microsoft SQL Server 2000来连接系统。本系统以Java语言对系统进行开发该系统主要采用eclipse开发实现各方面的功能。 同时该系统采用SQL Server作为数据库平台,既可以被应用程序访问,又可在后台操作,完成对数据的整理等。
基于java的小型宾馆管理系统系统是典型的C/S,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
因此本人结合基于java的小型宾馆管理系统的要求,对SQL Server2000数据库管理系统、SQL语言原理、进行了较深入的学习和应用,主要完成对基于java的系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
基于java的宾馆管理系统系统包括三类用户:操作员、C/S系统后台管理员。前台部分主要包括用户登录用户及相关信息管理等功能后台部分由管理员使用,主要包括对用户的管理的小型宾馆管理系统。
3
3概要设计
3.1系统概述
宾馆管理系统系统用java语言来编写宾馆管理系统,数据库用Microsoft SQL Server 2000来连接系统,通过C/S模式完成整个设计工作。本系运用了Java Swing,即抽象窗口工具包,它是Java的平立的窗口系统。
用户界面:采用Windows的通用图形界面,对用户友好,管理端设备以pc机和鼠标键盘输入为主。界面设计应遵循:
(1)尽量保持一致性:界面规范应遵循MS Windows软件界面的规范。 (2)设计完整的对话过程:系统的每一次对话都应该有明确的次序。 (3)提供简单的错误处理机制。
(4)提供信息反馈:用多种信息提示用户当前软件运行状态,界面元件的功能。 (5)操作可逆:其动作可以是单个的操作,或者是一个相对的操作序列。 (6)设计良好的联机帮助。
宾馆管理系统系统用java语言来编写宾馆管理系统,数据库用Microsoft SQL Server 2000来连接系统,通过C/S模式完成整个设计工作。本系运用了Java AWT以及Swing,即抽象窗口工具包,它是Java的平立的窗口系统,AWT工具图形和用户界面器件工具包。在设计系统是要实现以下主要功能模块:详细模块见表3-1。
表3-1功能模块图
序号 1 功能名称 用户登录子系统 房间管理 子系统 营业管理 子系统 信息查询子系统 系统管理子系统 用户帮助 子系统 功能需求分析 用户登录系统 描述 用户按级限登录 客房预定、 客房设置功能 点菜、酒菜、收银、 查询供应商信息 按不同方式了解宾馆的营销情况 重置密码、 管理用户 使用手册、 系统退出 2 房间管理系统 3 营业管理系统 信息查询 系统 系统管理退出系统 帮助 系统 4 5 6
4
3.2功能模块详细描述
系统流程图如图3-1所示。
图3-1系统流程图
根据以上的系统功能分析,可以画系统的功能模块图,本系统包含了客房管理、营业管理、信息查询、系统管理以及帮助功能模块,如图3-2所示。
图3-2功能模块图
该系统分为超级管理员、管理员、操作员三个权限操作,它们可实现的功能分别是: (1)超级管理员
房间管理、营业管理、信息管理、系统管理、帮助。 (2)管理员
房间管理、营业管理、信息管理、系统管理。 (3)操作员
客房设置、酒菜设置、重置密码。
5
4系统详细设计
4.1前台系统详细设计 4.1.1各功能模块详细介绍
(1)管理人员登录
数据库调置了管理人员登录用户名密码,若登录信息与数据库不符则提示“错误的用户名及密码”,需重新输入,如果输入错误三次,自动退出系统。登陆页面截图,如图4-1所示。
图4-1系统登陆图
核心代码:
public void login_actionPerformed(ActionEvent e) { //取得用户输入的用户名 String operator=username.getText(); //取得用户输入的密码 char temp[]=password.getPassword();
String tempPass=new String(temp); //检查用户是否为合法用户 if(cUser.isValidUser(operator,tempPass)==false){
JOptionPane.showMessageDialog(this, \"错误的用户名或密码\错误\ JOptionPane.WARNING_MESSAGE);
logincount++; //如果输入错误三次,自动退出系统
setBounds(inset, inset, screenSize.width - inset*2, screenSize.height-inset*2); frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height frameSize.height) //将当前用户的名称传送给主界面 frame.setOperator(operator); //设置用户可以使用的功能 frame.setMenuStatus(userType); //显示主界面 frame.setVisible(true); //关闭登陆窗口 this.dispose();
6
(2)客房预订
由操作员填写客人的信息并进行客房登记。该功能将客人的私人信息以及所定的房间记录并存入数据库。如图4-2所示。
图4-2房台预定图
核心代码:
void ok_actionPerformed(ActionEvent e) { //验证输入参数的合法性 boolean occupied=this.roomOccupied(roomNo.getSelectedItem().toString()); Connection conn=null;
void cancel_actionPerformed(ActionEvent e) { this.dispose(); } (3)客房设置
根据需求设置房间详细信息如:客房编号、所属部门、客房类型以及可容纳人数等。并可添加删除房间号,如图4-3所示。
图4-3房台设置图
7
核心代码:
void addRoom_actionPerformed(ActionEvent e) { if(roomNo.getText().trim().equals(\"\")) {
JOptionPane.showMessageDialog(this, \"客房编号不能为空\错误 \ return; }
boolean roomExist=this.roomExist();
JButton refreshButton=DBNavToolBar.getRefreshButton(); refreshButton.doClick();
JOptionPane.showMessageDialog(this, \"已成功增加该客房\\"操作\
}
void deleteRoom_actionPerformed(ActionEvent e) { Connection conn=null; PreparedStatement ps=null;
JOptionPane.showMessageDialog(this, \"已成功删除该客房\操作\ JOptionPane.PLAIN_MESSAGE); } }
(4)点菜/结账
输入客人所点食物的信息以及房间号、容纳人数及顾客的姓名联系电话,并结账。如图4-4所示。
图4-4点菜结账图
核心代码:
void doOrder_actionPerformed(ActionEvent e) { String roomId=roomNo.getSelectedItem().toString();
8
boolean occupied=this.roomOccupied(roomId); if(!occupied) {
JOptionPane.showMessageDialog(this, \"该房台没有客人!\提示\ JOptionPane.PLAIN_MESSAGE); return; }
MenuInfo mInfo= new MenuInfo(null,\"菜单列表
\ator); mInfo.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height –
frameSize.height) / 2); mInfo.setVisible(true); }
(5)酒菜设置
设置酒菜详细信息如:酒菜的生产地点,所属单位、批发价、零售价等,如图4-5所示。
图4-5酒菜设置图
核心代码:
if(this.foodExist(foodName.getText())) {
JOptionPane.showMessageDialog(this, \"已存在该名称的酒菜\\"错误\
9
return; }
JButton refreshButton=DBNavToolBar.getRefreshButton(); refreshButton.doClick();
JOptionPane.showMessageDialog(this, \"已成功增加该食品\\"操作\
}
void deleteFood_actionPerformed(ActionEvent e) { Connection conn=null; if(ps.executeUpdate()==1) { //刷新列表显示
JButton refreshButton = DBNavToolBar.getRefreshButton(); refreshButton.doClick();
JOptionPane.showMessageDialog(this, \"已成功删除该食品\操作\ JOptionPane.PLAIN_MESSAGE); } } (6)商品入库
添加入库信息如:商品名称、供应商、单价、经手人、数量等功能实现截图,如图4-6所示。
图4-6商品入库
核心代码:
void ok_actionPerformed(ActionEvent e) {
if(price.getText().trim().equals(\"\")||discount.getText().trim().equals(\"\")||amount.getText()
10
.trim().equals(\"\"))
{
JOptionPane.showMessageDialog(this, \"单价、数量和折扣不能为空,无折扣请输入1!\警告\
JOptionPane.ERROR_MESSAGE); return; }
temp=amount.getText().trim();
void commodity_actionPerformed(ActionEvent e) { if(commodity.getSelectedIndex()==-1) return;
String selectedFood=commodity.getSelectedItem().toString(); supplier.setText((foodSupplier.get(selectedFood)).toString()); } }
(7)供应商信息
查询供应商信息如图4-7所示。
图4-7供应商信息
核心代码:
public SupplierConfiguration(String title,boolean resizable,boolean closable,boolean maximizable,boolean iconifiable) {
11
super(title,resizable,closable,maximizable,iconifiable); }
(8)按酒菜查询
按酒菜查询得知宾馆的营业情况,宾馆便可以根据情况实时地调整营销策略如图4-8所示。
图4-8查询酒菜消费情况图
核心代码:
void byTime_actionPerformed(ActionEvent e) { void ok_actionPerformed(ActionEvent e) { String startDate;
String endDate; }
QueryByFoodResult dlg = new QueryByFoodResult(\"查询结果\
dlg.setVisible(true); desktop.add(dlg); } } (9)重置密码
管理人员修改密码,如图4-9所示。
图4-9密码重置图
12
核心代码:
void ok_actionPerformed(ActionEvent e) { MainFrame k=(MainFrame)this.getOwner(); String operator=k.getOperator(); if(!cUser.isValidUser(operator,tempPass))
JOptionPane.showMessageDialog(this,\"错误的原密码\错误 \ else{
if(!pass1.equals(pass2))
JOptionPane.showMessageDialog(this,\"两次输入的新密码不一致\错误\
JOptionPane.showMessageDialog(this,\"密码已成功修改\提示\ }}
(10)管理用户
添加删除用户,不同用户类型设置不同权限,其权限由超级管理员来进行分配,如图4-10所示。
图4-10用户管理图
核心代码:
void ok_actionPerformed(ActionEvent e) {
cUser.addOperator(id,name,userT,pass,PIC,telephone,addr,note); //刷新列表显示 JButton refreshButton=DBNavToolBar.getRefreshButton(); refreshButton.doClick();//提示用户添加成功
JOptionPane.showMessageDialog(this,\"该用户已成功添加\提示
13
\ }
void cancel_actionPerformed(ActionEvent e) { this.dispose(); }
void deleteUser_actionPerformed(ActionEvent e) {
String id = userID.getText(); //检查用户名是否为空,如为空,提示输入用户名 if(id.trim().equals(\"\")){
JOptionPane.showMessageDialog(this, \"用户名不能为空!\警告\ JOptionPane.ERROR_MESSAGE); return; }
CheckUser cUser = new CheckUser(); //检查系统中是否存在该用户
boolean succeed=cUser.deleteOperator(id); //调用CheckUser类中的方法删除用户 (11)关于系统
系统信息,此类是对作者的描述,如图4-11所示。
图4-11系统信息
核心代码: void cancel() { dispose(); }
//Close the dialog on a button event
public void actionPerformed(ActionEvent e) {
14
if (e.getSource() == button1) { cancel(); } } }
(12)退出系统:注销用户,退出系统 核心代码: void cancel() { dispose();
} //Close the dialog on a button event public void actionPerformed(ActionEvent e) { if (e.getSource() == button1) { cancel(); } } }
因为时间的紧迫,信息查询有两个功能还没有实现即:按酒菜和按客户查询。按酒菜查询利用酒菜的价格,数量名称查询客房信息,按客户查询利用客户的姓名、身份证号或是联系方式进行查询客房信息 4.1.2开发工具介绍
该系统使用广泛使用的开发工具eclipse,eclipse是流行的Java集成开发环境,同时它还可以作为其它语言的开发环境例如C++,并且作为开发桌面或服务器应用程序的客户端开发平台,它是开源的,且具有正确性、高效性和友好性等特点。 4.2 数据库设计
该系统利用SQL 2000数据库进行数据的操作利用了其操作性强的特点
JDBC中通过提供DriverManager类和Connection对象实现数据库的连接。 连接数据库通常有两种形式:一是通过JDBC-ODBC桥连接;二是通过数据库系统专用的JDBC驱动程序实现连接。本系统采用第一种方法,ODBC数据源的配置。
ODBC是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
15
4.2.1数据库总体设计
实体E-R图,如图4-12所示。 部门表部门名 4.2.2数据字典及数据项 标识符和约定:数据库表的命名是用表名的英文或英文缩写,编程实现简单易记! 标识符的详细说明,详细结构见表4-1。 16 表4-1标识符详细说明图 序号 1 2 3 4 5 6 7 8 9 10 11 格式 commodityIn departments food foodType operator room roomBook roomType sales stockInfo supplier 描述 进货信息 部门 菜式 菜式类型 操作员信息 房间 房间预定 房间类型 业务、消费信息 储存信息 供应商 说明 进货信息 部门信息 菜式信息 菜式类型信息 操作员信息 房间信息表 房间预定情况 房间类型情况 业务、消费信息表 储存信息 供应商信息 (1)进货信息表(commodityIn),详细结构见表4-2。 表4-2进货信息表 commodityIn 1 2 3 4 5 6 7 8 9 10 货品ID 所进商品 经手人 供应商 数量 单价 折扣 总价 储存日期 备注 stockNo commodity operator supplier amount price discount totalPrice stockDate remark int(4) varchar(25) varchar(25) varchar(25) int(4) float(8) float(8) float(8) datetime(8) varchar(255) N N N Y N N Y Y Y Y Primarykey 字段名 字段代码 字段类型 允许为空 主键 外键 (2)部门表(departments),详细结构见表4-3。 17 表4-3部门表 departments 字段名 字段代码 字段类型 允许为空 1 2 部门名称 部门种类 name description varchar (25) varchar(255) N Y Primarykey 主键 外键 (3)菜单表(food),详细结构见表4-4。 表4-4菜单表 Popedom 字段名 字段代码 字段类型 允许为空 1 酒菜名称 2 3 4 生产地 单位 酒菜类型 5 6 7 批发价 零售价 生产厂商 8 更新时间 9 备注 remark varchar(255) Y updateTime datetime(8) Y price retailPrice producer float(8) float(8) varchar(25) Y Y Y proPlace unit foodType varchar(50) varchar(8) varchar(25) Y Y Y name varchar(25) N Primarykey 主键 外键 (4)菜单类型表(foodType),详细结构见表4-5。 表4-5菜单类型表 foodType 1 2 字段名 类型名字 备注 字段代码 BadRecdId remark 字段类型 varchar(25) varchar(255) 允许为空 N Y 主键 Primarykey 外键 (5)操作表(operator),详细结构见表4-6。 18 表4-6操作表 operator 1 2 3 4 5 6 7 8 字段名 操作号 名称 类型 密码 电话 地址 身份证号 备注 字段代码 id name type password tel addr PICNo remark 字段类型 varchar(25) varchar(25) varchar(10) varchar(15) varchar(15) varchar(50) varchar(18) varchar(255) 允许为空 N Y Y Y Y Y Y Y 主键 Primarykey 外键 (6)房间记录表(room),详细结构见表4-7。 表4-7房间记录表 room 1 2 3 4 5 字段名 房间号 部门名称 类型 容量 备注 字段代码 id deptName type capacity remark 字段类型 varchar(25) varchar(25) varchar(25) int(4) varchar(255) 允许为空 N Y Y Y Y 主键 Primarykey 外键 √ (7) 房间资料(roomBook),详细结构见表4-8。 表4-8房间资料表 roomBook 1 2 3 4 5 6 7 字段名 资料号 业务员 客人姓名 电话 房号 预定时间 备注 字段代码 BookNo operator customer tel roomNo bookDate remark 字段类型 int(4) varchar(25) varchar(25) varchar(15) varchar(25) datetime(8) varchar(255) 允许为空 N N N N N N Y 主键 Primarykey 外键 (8) 房间类型表(roomType),详细结构见表4-9。 19 表4-9房间类型表 roomType 1 2 字段名 房间名称 备注 字段代码 name remark 字段类型 varchar(25) varchar(255) 允许为空 N Y 主键 Primarykey 外键 (9) 业务、消费信息(sales),详细结构见表4-10。 表4-10业务、消费信息表 Account 1 字段名 消费帐户号 2 3 4 5 6 7 8 9 10 操作员 房号 客户 电话 食品 数量 折扣 付款 消费日期 operator room customer tel food amount discount paid consumeDate 11 备注 remark varchar(255) Y varchar(25) varchar(25) varchar(30) varchar(30) varchar(25) int(4) float(8) bit(1) datetime(8) Y N Y Y N Y Y Y N 字段代码 salesNo 字段类型 int(4) 允许为空 N 主键 Primarykey 外键 (10) 库存信息表(stockInfo),详细结构见表4-11。 表4-11业务、消费信息表 stockInfo 1 2 3 4 5 字段名 库存号 所进商品 数量 更新时间 备注 字段代码 stockNo commodity amount updateTime remark 字段类型 int(4) varchar(25) float(8) datetime(8) varchar(255) 允许为空 N N N Y Y 主键 Primarykey 外键 (11) 供应商(supplier),详细结构见表4-12。 数据库的概念设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际关系模型,也就是数据库的逻辑结构。 本系统使用的是SQL Server 2000数据库,SQL Server 2000关系数据库引擎具备有 20 完善而强大的数据处理功能,其具有简单、友好的操作方式,可以很好的实行数据的操作。 表4-12 Profession 1 字段名 供应商名字 2 3 4 5 6 7 8 9 10 11 地址 邮政编码 电话 主页 邮箱 税号 开户银行 银行帐号 联系人 备注 addr postcode tel homepage email taxNo bank accountNo contact remark varchar(50) varchar(6) varchar(15) varchar(25) varchar(25) varchar(20) varchar(25) varchar(30) varchar(10) varchar(255) Y Y Y Y Y Y Y Y Y Y 字段代码 name 字段类型 varchar(25) 允许为空 N 主键 Primarykey 外键 数据库操作利用的是SQL Server 2000,SQL Server 2000是一个关系型数据库管理系统(RDBMS),它使用Transact-SQL语言在客户端计算机和SQL Server 2000计算机之间发送请求。RDBMS系统包括数据库、数据库引擎和用来管理RDBMS中数据和组件的一些应用程序RDBMS把数据组织成数据库中相应的行和列。具有可扩展性和可用性。SQL Server 2000关系数据库引擎具备有完善而强大的数据处理功能,其具有简单、友好的操作方式 21 5系统测试 5.1系统测试意义 在开发软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。 尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。 5.2功能测试 核实用例模型中的所有用例、用例场景,以及索要测试功能的优先级。见表5-1。 表5-1测试项目及优先级 测试序号 1 2 3 4 5 6 7 8 9 10 11 12 测试项 超级管理员登录 管理员登录 操作员登录 客房预定 客房设置 点菜收银 酒菜设置 添加商品 供应商信息 酒菜查询 客户消费查询 商品查询 优先级 高 高 高 高 高 高 高 高 高 中 中 中 5.2.1非功能性测试需求 非功能性测试需求主要来自于系统补充规约的要求,而产生的对应各种要求的测试类型。本项目的非功能性测试需求包括: 22 (1)性能测试需求,见表5-2。 表5-2性能测试需求 测试序号 测试项 先决条件 在局域网内部,除去需1 界面响应 访问数据库和后台操作的业面 2 3 数据库访问 多用户访问 单个用户访问, 10个用户同时访问 不超过1秒 平均界面响应时间不超过3秒 不超过0.5秒 性能指标 (2)用户界面需求,见表5-3。 表5-3用户界面需求 序号 1 测试项 页面 被核实的非功能性需求 界面设计符合一般人的视觉习惯和基本的美学要求,主要业务功能显示在明显的位置。 5.2.2安全性和访问控制测试需求 (3)安全性和访问控制测试需求见表5-4。 表5-4安全性和访问控制测试需求 序号 1 测试项 访问权限 被核实的非功能性需求 根据不同用户所担任的角色,配置不同的访问权限 2 用户登录 采用验证码和密码的二元阵列来验证 3 用户登出 确保用户在整个会话期间内的所有记录消除 4 用户登录生命周期 确保在会话期间系统能识别当前用户,及其资料 高 中 高 优先级 高 5.2.3系统总体测试 系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发 23 现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。进行测试的目的: (1) 确保系统测试的活动是按计划进行的; (2)验证软件产品是否与系统需求用例不相符合或与之矛盾; (3) 建立完善的系统测试缺陷记录跟踪库; (4) 确保软件系统测试活动及其结果及时通知相关小组和个人; 该系统测试进行总体测试,用超级管理员进行测试依次进行各个功能的测试,其测试结果见表5-5。 表5-5功能测试表 序号 测试项 输入说明 预期结果 1 超级管理员登入 输入一用户名及错误密码 提示该用户“错误的用户名及密码”,需重新输入。 2 3 超级管理员登入 超级管理员登入 输入一用户名及正确密码 选择系统功能 登陆主界面 弹出用户密码修改对话框 则提示“错误的用户名及密码”,需重新输入 4 超级管理员登入 接3,若登录信息与数据库不符 5 超级管理员登入 接3,若输入不完整 则提示“请输入完整的信息” 6 超级管理员登入 接上,输入完成 退回主界面 弹出用户管理对话框,可输入新用户信息,删除原用户 则显示“该用户已成功添加”, 退回主界面 7 超级管理员登入 选择用户管理功能 8 超级管理员登入 接7,操作完成 24 续表5-5 弹出营业设置管理对话框,有酒菜设9 超级管理员登入 选择营业设置 置,房台设置,供应商设置三个按钮可供选择 10 超级管理员登入 接上,选择酒菜设置 弹出酒菜设置对话框 接上,输入酒菜名称、生产地、输出酒菜的相关信息(包括名称、生11 超级管理员登入 酒菜类型、单位、批发价、零售价、生产商、备注 产地、酒菜类型、单位、批发价、零售价、生产商、备注) 12 超级管理员登入 接10,选择房台设置 弹出房台设置对话框 13 超级管理员登入 接13,添加房间:房间编号、房间类型、可容纳人数及备注 接13,删除房间:选择需删除的房号,点击删除即可 接10,选择供应商设置(此处完成则提示已成功添加 14 超级管理员登入 完成则提示删除该房号 15 超级管理员登入 只可查询不可修改,因为供应商信息已在酒菜管理处设置过) 可查询供应商信息(包括供应商名称、地址、邮政、电话及公司主页) 弹出前台营业对话框,有接待预订,16 超级管理员登入 选择前台营业功能 点菜收银,进货入库三个功能按钮可供选择 17 超级管理员登入 接17,选择接待预订 接上,成功输入房台预订信息:弹出接待预订对话框可 18 超级管理员登入 包括预定日期、客人信息、房间信息、及输入预定备注; 则提示用户已成功预订该房 25 续表5-5 接上,选择房间号进入菜单列19 超级管理员登入 表,选择食品名称、输入数量及折扣 输出订单信息(包括订单号、业务员、顾客姓名、菜名、数量、折扣、付帐情况、消费日期) 20 超级管理员登入 接17,选择订货入库 接上,成功输入所进商品名称、弹出订货入库对话框 21 超级管理员登入 供应商、单价、折扣、数量及相关备注 则提示用户已成功进行入库操作 22 超级管理员登入 选择营业信息分析功能 弹出营业信息分析对话框,可查询酒菜,业务员,顾客三种对象的情况 23 超级管理员登入 选择库存信息管理功能 弹出库存信息管理对话框, 24 超级管理员登入 接上,选择商品名称或商品编号 输出相关商品的库存量、业务员、提供商、生产地等等信息 25 超级管理员登入 选择帮助信息功能 提供数据库捡出相关的帮助信息 26 超级管理员登入 退出系统 确认退出后,还原之前的用户界面 27 管理员登入 除了7~9功能不能使用外,其余基本同超级管理员登入 只可以使用系统功能(修改密 28 操作员 码和退出),前台营业和帮助功能 结论:通过此次总体的测试将编写代码时的缺陷找出并进行改正和完善,提高程序的高效,便利的特点 26 结论 本系统为宾馆管理系统的一种,为一个小型的宾馆管理系统系统,其中前台Java,后台是SQL数据库。我认为这种实现是非常有意义的,在数据库的基础之上,通过Java语言实现与外界的交互,从而实现了我们需要的功能 通过这几个月的设计和学习,我有很多的收获。刚开始时感觉到不知如何下手,总感觉这个系统设计起来很复杂,不是自己能够完成的。不过,经过自已和老师、同学们的交流,我逐渐对本系统的功能模块有了清晰的概念。自己课下查了好多资料,不懂得就问,自己慢慢的就把整个系统的框架给设计出来了。现在来看,整体项目的完成,不仅仅是编程的困难,更加是想法设计的前期准备很重要,因为这将直接影响到后面编程的难易,也让我更加认识到总体设计的重要。 本系统界面整洁,界面简洁易懂,用户可很快熟练使用该系统。该系统对用户角色权限做了详细的细分开发,可灵活配置用户角色,控制用户权限,做到了根据用户的实际角色配置相应的权限。将该系统的功能更加的丰富,另外该系统没有经过专业详细的测试,可能会出现一些错误,我可以通过以后的学习逐渐改进完善它。但是 此次设计的经验会令我受益匪浅,只有通过努力才能换来回报,它将会激励我在以后的生活学习中不断进步。 27 参考文献 [1]王珊.朱青.数据库系统概论学习指导与习题解答.北京:高等教育出版社,2004. [2]Ryan K.Stephens Ronald R.Plew.张启镛译.轻松掌握SQL(第四版).北京:电子工业出版社,2003. [3]陈轶.姚晓昆编著.Java程序设计实验指导.北京:清华大学出版社,2006 [4]杨昭编著.二级Java语言程序设计教程.北京:中国水利水电出版社,2006 [5]赵文靖编著.Java程序设计基础与上机指导.北京:清华大学出版社,2006 [6]赵毅主编.跨平台程序设计语言——Java.西安:西安电子科技大学出版社,2006 [7]王路群.Java高级程序设计.北京:中国水利水电出版社,2006 [8]雍俊海编著.Java程序设计习题集.北京:清华大学出版社,2006 [9]朱福喜编著.Java语言习题与解析.北京:清华大学出版社,2006 [10]吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,2006 [11]柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社,2006 [12]施霞萍等编著.Java程序设计教程 第2版.北京:机械工业出版社,2006 [13]宛延闿等编著.实用Java程序设计教程.北京:机械工业出版社,2006 [14]陈国君等编著.Java2程序设计基础.北京:清华大学出版社,2006 [15]朱喜福等编.Java程序设计.北京:人民邮电出版社,2005 [16]王珊,萨师煊.数据库系统概论(第二版).北京:高等教育出版社,1991. [17]张俊玲.数据库原理与应用.北京:清华大学出版社,2005. [18]刘志成.数据库系统原理与应用(SQL Setver 2000).北京:机械工业出版社,2007. [19]郑莉.王行言.马素霞编著.Java语言程序设计.北京:清华大学出版社,2006 [20]丁振凡主编.Java语言实用教程.北京:北京邮电大学出版社,2005 [21]Eckel. Thingking in Java Bruce.北京:机械工业出版社,2001. [22]DavidM.Kroenke. Databse Processing:Fundamentals,Design & implementation. Pearson Education,2003. [23]Cay S.Horstmann,Gary Cornell. Core Java 2, Volume I--Fundamentals. Prentice Hall PTR,2006. [24] Cay S. Horstmann;Gary Cornell .Java核心技术(卷1).北京:机械工业出版社,2008.6 [25]Bruce Tate. Bitter Java. Manning Publications, 2002-04 28 致谢 首先我要感谢我即将毕业于此的安徽理工大学的悉心培养,我为能够就读于此而感到骄傲。同时我还要感谢计算机学院的全体教职工,感谢教师对我们的教育和指导,感谢辅导员对我们生活、学习的关心和照顾。 特别要感谢我的导师朱广丽老师,她严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;在做毕业设计的过程中朱老师给予我很大的帮助,从选题、搜集资料到开题报告的撰写,她都是以非常认真和负责的态度来指导我。尤其是做毕业论文是,她手把手的对我们进行指导,大到文献的借鉴,框图的设计小到字体的格式,语言的通顺。她都对我们进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改,改进同时,我能很顺利的完成这次毕业设计的任务,也幸亏有朱老师细心引导和建议。 当然,也要感谢我的同学们,在这次的毕业设计的过程中,他们给了我很大的帮助。他们让我深刻理解到团队合作的重要性,在这里表示自己衷心的感谢! 在临毕业之际,衷心祝愿安徽理工大学明天更加辉煌,祝愿帮助、关心过我们的每一位老师身体健康、万事如意、工作顺利、前程似锦。 29 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- kqyc.cn 版权所有 赣ICP备2024042808号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务