美容美发管理系统毕业论文

本科学生毕业论文

论文题目:

学 院:

年 级:

专 业:

姓 名:

学 号:

指导教师: 美容美发管理系统的设计与实现 软件学院 2010级 软件工程 魏悦明 20103921 玄萍

2014年 5月 10日

摘要

随着国内经济形势持续发展,国内餐饮业进入了市场发展高峰期。在信息高度发达的今天,非计算化的管理方法与策略已经无法满足用户的需求。餐饮业制度的改革已经成为一种更广泛、全面的潮流。

该连锁餐饮管理系统的设计与实现是基于oracle数据库、My Eclipse 8.5 为开发平台,JAVA语言为开发基础实现的。该系统可以对用户和理发师进行管理,对理发师添加角色和权限等功能,对用户进行会员折扣功能,同时提供对美发店的日常维护和报表管理及员工工资的发放功能,而且有完善的多用户安全功能,具有很大的使用价值。

本论文共有5章,分别包括第1章绪论,第2章相关技术的简介,第3章系统的可行性研究与需求分析,第4章总体设计和具体实现、第5章系统测试。

关键词

管理信息系统;数据库; JAVA;jQuery;EasyUI;Spring

Abstract

With the domestic economic situation and the continued development of the domestic hotel industry has entered a peak period of development of the market. In today's highly developed information, the calculation of non-management methods and strategies have been unable to meet the needs of users. Hotel reform has become a more extensive and comprehensive trend.

The design and implementation of chain catering management system is based on Oracle database, My Eclipse 8.5 as the development platform, JAVA language as the development basis of the realization of. The system can manage the users and the barber, the barber to add roles and privileges of membership discountfunction, function of the user, while providing the salon of the day-to-day maintenance and management and staff salaries, and multi user perfect security functionality, has the very big use value.

In this paper, a total of 6 chapters, including Chapter 1 Introduction, Chapter 2 Introduction of the technology, Chapter 3 of the feasibility study and needs analysis, design, Chapter 4, Chapter 5 to achieve specific, Chapter 6 test system .

Key words

Manage Information Systems; Database; JAVA; jQuery; EasyUI; Spring

目录

摘要 ..................................................................... I Abstract ................................................................. II

第一章 绪论 .............................................................. 1

1.1选题背景 .......................................................... 1

1.2美容美发管理系统发展状况分析 ...................................... 1

1.3论文完成的工作 .................................................... 2

第二章 相关技术简介 ...................................................... 3

2.1开发平台和技术简介 ................................................ 3

2.1.1 B/S架构软件的优势与劣势 ..................................... 3

2.1.2 维护和升级方式简单 .......................................... 3

2.1.3 Eclipse简介 ................................................. 5

2.1.4 JAVA 基本概念介绍 ........................................... 5

2.1.5 JDBC技术简介 ............................................... 6

2.1.6 jQuery简介 .................................................. 8

2.1.7 Easyui简介 .................................................. 9

2.2 数据库平台简介 .................................................... 9

2.2.1 oracle 简介 .................................................. 9

2.2.2 oracle 的优势 ............................................... 10

2.3本章小结 ......................................................... 11

第三章 系统可行性研究与需求分析 ......................................... 12

3.1 现行系统存在问题与解决方案 ....................................... 12

3.1.1现行系统存在的问题 .......................................... 12

3.1.2解决方案 .................................................... 12

3.2可行性分析 ....................................................... 13

3.2.1业务流程图 .................................................. 13

3.2.2技术可行性 .................................................. 14

3.2.3经济可行性 .................................................. 14

3.2.4运行可行性 .................................................. 14

3.3 需求分析 ......................................................... 15

3.3.1数据流图 .................................................... 15

3.3.2数据字典 .................................................... 16

3.3.3系统E-R图 .................................................. 17

3.4 数据库设计 ....................................................... 18

3.5 本章小结 ......................................................... 20

第四章 系统的设计与实现 ................................................. 21

4.1 系统模块设计 ..................................................... 21

4.2 数据库的实现 ..................................................... 21

4.3 构建系统框架 ..................................................... 23

4.3.1 系统主窗体的设计与实现 ..................................... 23

4.3.2 基础设置模块 ............................................... 24

4.3.3 业务管理模块 ............................................... 24

4.3.4 统计报表模块 ............................................... 26

4.3.6 人事管理模块 ............................................... 28

4.4 本章小结 ......................................................... 29

第五章 系统测试 ......................................................... 30

5.1 软件测试 ......................................................... 30

5.2 本系统测试 ....................................................... 30

5.2.1用户权限测试 ................................................ 30

5.2.2数据查询测试 ................................................ 33

5.2.3其他测试 .................................................... 33

5.3 本章小结 ......................................................... 34

结论 .................................................................... 35

参考文献 ................................................................ 36

致谢 .................................................................... 35

第一章 绪论

从该阶段开发正式进入系统的设计阶段,本阶段完成系统的大致设计并明确系统的总体结构与业务功能组织结构。本概要设计说明书的目的是将产品需求转化为软件的表示、规划软件的总体结构、实现软件系统的总体概貌,为下一步软件详细设计打好基础。

在计算机技术发展日新月异的今天,数据库管理系统的发展也日趋完善。随着科学管理系统的建立以及计算机化的管理模式普及,尤其是计算机技术和现代化通信技术的迅速发展,企业现代化管理正在逐渐受到人们的重视。使用计算机辅助管理就应运而生,并迅速发展起来,其强大的功能已经被人们深刻认识,它已经进入了人类社会的各个领域并发挥着越来越重要的作用。

1.1 选题背景

美发业在中国的快速发展已经有二十多年的历史了,但与国外相比,还没有真正实现管理的信息化、自动化。计算机技术在美发管理领域中的应用和普及,使得新的技术平台、新的技术特点不断涌现,适合国内特点的信息系统慢慢进入美发行业,使美容美发管理系统进入了一个新的发展时期。而在竞争越来越激烈的今天,美容美发店如何提高服务质量、管理能力的问题显得越来越重要。内部服务项目众多,既需要完成前台的一些服务工作,还需要完成后台的管理工作,并且还有人员管理等众多内容。如果没有一套可靠的美容美发管理系统,仅凭手工操作,不仅效率低下,而且会极大地影响到服务质量。商场如战场,美发店要迎接这场挑战,就必须提高整体竞争能力,而要提高整体竞争能力必须变革管理模式,实施信息化建设无疑提高管理水平的必经之路和明智之举。

1.2 美容美发管理系统发展状况分析

从上个世纪80年代初中期起步,中国美容化妆品业走过了风风雨雨的二十余年。这二十年来,中国美容化妆品业从简单的―一把剪刀闹革命‖与―雪花膏润肤、凡士林护肤‖发展到现在集美容、美发、浴足、医疗美容、保健美容、造型设计、美容教育、专业美容产品研发、生产、销售于一体的生产与服务并行的一个庞大产业链。2003年,美容化妆品业上游企业销售额达到300余亿元人民币;2004年,美容化妆品业再次发力,至12月底相关权威机构数据统计表明,美容化妆品业上游企业的销售额已突破500

亿元大关。而整个美容化妆品业全行业总体服务产值早在2003年就已达到1600余亿元人民币。行业年发展速度平均呈30%以上的增长态势,而上游企业的销售每年以50%以上的增长率迅猛发展。

在当前的信息化管理浪潮下,我国的各行业不断转向信息化,现代化的高效管理模式。在民政部门的大力支持下,结合各美容美发店的实际情况和实践操作研发的新一代美容美发管理系统,使一直沿袭传统美容美发管理模式而产生的管理效率较低,经营管理水平相对滞后等现象得以改善;而这种新型的美容美发管理系统流程自动化、科学宏观的管理模式已经成为各美容美发店的必然需求。 美发管理系统是一款专门为美发行业设计的美发管理系统,广泛适用于美发会所,美发信息化管理,美萍美发管理系统具有强大的美发会员管理,员工刮泥等功能,能非常方便的打印,记录会员每次消费情况,消费剩余金额,能计算员工每月提成金额。设计新颖的客户管理功能是很多老板的最爱;严格的物品消耗追踪管理让成本不再是管理的黑洞。

1.3 论文完成的工作

论文完成的工作有:论文的选题背景、目的意义、相关技术简介、数据库简介、需求分析、模块结构设计、数据库设计、系统功能设计及对系统的简单介绍,还有论文的摘要及其翻译、论文附录部分的外文资料及其翻译。

首先深入了解目前的国内外美发业与信息业的发展形势,做好美容美发管理系统的需求分析,在需求分析当中要做好系统的数据流图与E-R图。数据流图当中要体现出系统的数据流向、涉及到的各种操作和数据存储,E-R图要体现出实体与实体之间的关系。在做需求分析的时候还要设计出美容美发管理系统的功能模块图,以体现系统的模块化结构设计以及各模块的主要功能。美容美发管理系统的前台开发由My Eclipse技术来实现,而后台则是采用oracle 作为开发工具,所以在相关技术简介部分提供了My Eclipse平台介绍、JDBC技术介绍以及SQL的主要特点等内容。美容美发管理系统的实现是用界面介绍与功能说明相结合的方式体现的,在此部分提供了各个主要功能界面的截图。除此之外,论文需要完成的内容还包括摘要部分及其翻译、外文资料内容及其翻译、参考文献介绍以及部分源代码及其解释说明等。

第二章 相关技术简介

系统的前台开发工具为My Eclipse 6.5,后台数据库是orcale 10g,语言使用JAVA,操作系统为Windows 7旗舰版。硬件要求为:CPU:Inter奔腾4双核处理器或更高。内存:512M或更高。硬盘:40G或更高。

2.1 开发平台和技术简介

应用服务器的作用除了管理客户端请求与数据库之间的通信之外,同时具有跨系统平台(数据库、操作系统)的能力。因此,基于应用服务器系统开发的各种客户应用,就可以完全不考虑低层数据库与操作系统,实现跨平台的开发。

2.1.1 B/S架构软件的优势与劣势

B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

2.1.2 维护和升级方式简单

目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护,升级和共享。所以客户机越来越―瘦‖,而服务器越来越―胖‖是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力,物力,时间,费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是―瘦‖客户机,―胖‖服务器。

1. 成本降低,选择更多

大家都知道Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。

比如说很多人每天上―网易‖网,只要安装了浏览器就可以了,并不需要了解―网易‖的服务器用的是什么操作系统,而事实上大部分网站确实没有使用Windows操作系统,但用户的电脑本身安装的大部分是Windows操作系统。

2. 应用服务器运行数据负荷问题

由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器―崩溃‖等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

3. B/S模式的安全性

一般来说,一个B/S系统的信息安全主要有两个方面:数据传输的安全性与用户身份的确认。用户身份的确认在B/S系统中是非常重要的,因为B/S系统正是根据用户的身份来提供个性化的服务以及不同的权限,所以,如何对用户身份进行安全的确认,防止假冒和非法攻击是维护数据安全性非常重要的环节。目前来说,基于网络的身份认证比较成熟的解决方案是电子证书,电子证书相当于一个人在网络中的身份证,唯一确定了拥有人的身份。一个B/S系统可以建立一个独立的证书系统,也可以使用公开服务的CA系统,两者各有优缺点,视具体的应用系统而定。

当然,一个真正安全的B/S系统并不是简单的技术添加,而是要在系统设计阶段就应该将安全性作为一个重要的因素来考虑,在系统的每一个部分都体现安全性,将信息安全的概念融合到系统中,才能真正成为一个安全的B/S系统。举个简单的例子,比如在做系统设计的时候,在用户进入每一个功能模块的时候,都必须检验该用户的证书,根据该用户的证书决定是否提供服务或提供什么权限的服务[1]。

2.1.3 Eclipse简介

Eclipse是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的Java集成开发环境。作为一套开源工具,可用于构建Web Services、J2EE等各种类型的应用,其所提供的功能不亚于、甚至要超过专业的集成环境供应商所提供的商业化产品,如JBuider。

Eclipse最有魅力的地方就在于它的插件体系结构。在这个体系中重要的概念是扩展点(extension points),也就是为插件提供的接口。每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。

由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBench UI插件完成界面的外观显示,Resource Management插件完成维护或生成项目或文件等资源管理工作,而Version and Configuration Management(VCM)插件则负责完成版本控制功能等等。虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse却把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Java development tooling,JDT),也只不过是Eclipse系统中的一个普通插件而已。整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件。

Eclipse的开放源代码性质所意味的,并不只是它使得Eclipse免费可用。开放源代码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源代码库贡献代码。为这个项目作贡献的开发人员越多,这个项目就会变得对每个人越宝贵。随着这个项目变得更加有用,更多的开发人员将会使用它,并围绕它形成一个社区,就像那些围绕Apache和Linux形成的社区一样。

2.1.4 JAVA 基本概念介绍

目前Java主要应用于中间件的开发(middleware)—处理客户机于服务器之间的通信技术,早期的实践证明,Java 不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发。Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux等其他操作系统上使用完全

相同的代码。Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出。

1. Java的跨平台性,即一次编译到处运行

简单地说Java的跨平台性就是指,编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。而Java的跨平台性是如何实现的呢?这就要理解Java虚拟机和字节码的概念。

实际上,编译后的Java代码并不是传统的二进制代码(如Windows下的.exe文件),而是Java字节码,这种字节码文件是不能直接在操作系统上执行的。要想在一个操作系统上运行一个Java程序必须有一个中间环节来负责将Java字节码解释成二进制码,这个中间环节就是Java虚拟机(简称JVM)。由于目前大多数操作系统已经实现了JVM,所以Java轻松实现跨平台性。

2. 面象对象技术

Java全面支持面象对象技术,这体现在Class(类)是Java程序构成的基本单元,一个Java程序通常由许多Class组成,而且这些Class还会有一定的继承关系,Java支持Class的单继承,从而使类之间的继承关系更明确。继承的结果产生类的多态性,类的多态本质上讲就是可以用父类的引用访问继承类的实现(子类对象),类的这种多态性最终形成了组件对象模型的基础,即通过接口(父类)访问实现(子类)[2]。

2.1.5 JDBC技术简介

JDBC是一种用于执行SQL语句的Java API(有意思的是,JDBC本身是个商标名而不是一个缩写字;然而,JDBC常被认为是代表 ―Java 数据库连接 (Java Database Connectivity)‖ )。它由一组用Java编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API来编写数据库应用程序。

有了 JDBC,向各种关系数据库发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访问 Oracle 数据库又专门写一个程序,为访问Informix 数据库又写另一个程序,等等。您只需用 JDBCAPI写一个程序就够了,它可向相应数据库发送SQL语句。而且,使用Java编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将Java和JDBC结

合起来将使程序员只须写一遍程序就可让它在任何平台上运行。

1. JDBC 的用途

简单地说,JDBC可做三件事:与数据库建立连接、发送SQL语句、处理结果。

2. JDBC 是一种低级API,是高级API的基础

JDBC是个―低级‖接口,也就是说,它用于直接调用SQL命令。在这方面它的功能极佳,并比其它的数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。

高级接口是―对用户友好的‖接口,它使用的是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC这样的低级接口。在编写本文时,正在开发两种基于JDBC的高级API。

一种用于Java的嵌入式SQL。至少已经有一个提供者计划编写它。DBMS 实现SQL,一种专门设计来与数据库联合使用的语言。

随着人们对JDBC的兴趣日益增涨,越来越多的开发人员一直在使用基于JDBC的工具,以使程序的编写更加容易。程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如,应用程序可提供一个选择数据库任务的菜单。任务被选定后,应用程序将给出提示及空白供填写执行选定任务所需的信息。所需信息输入后,应用程序将自动调用所需的SQL 命令。在这样一种程序的协助下,即使用户根本不懂SQL的语法,也可以执行数据库任务。

3. JDBC与ODBC和其它API的比较

目前,Microsoft的ODBC(开放式数据库连接)API可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。为什么Java不使用ODBC?

对这个问题的回答是:Java可以使用ODBC,但最好是在JDBC的帮助下以JDBC-ODBC桥的形式使用,这一点我们稍后再说。现在的问题已变成:“为什么需要 JDBC?”回答如下:ODBC不适合直接在Java中使用,因为它使用C语言接口。从Java调用本地C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。

从ODBCC API到Java API的字面翻译是不可取的。例如,Java没有指针,而ODBC却对指针用得很广泛(包括很容易出错的指针"void *")。您可以将JDBC想象成被转换为面向对象接口的ODBC,而面向对象的接口对Java程序员来说较易于接收。ODBC

很难学。它把简单和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。相反,JDBC尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。启用“纯Java”机制需要像JDBC这样的Java API。如果使用ODBC,就必须手动的将ODBC驱动程序管理器和驱动程序安装在每台客户机上。如果完全用Java编写JDBC驱动程序则JDBC代码在所有Java平台上(从网络计算机到大型机)都可以自动安装、移植并保证安全性。

4.SQL 的一致性

JDBC处理SQL一致性问题的第二种方法是提供ODBC风格的转义子句。转义语法为几个常见的SQL分歧提供了一种标准的JDBC语法。例如,对日期文字和已储存过程的调用都有转义语法。

对于复杂的应用程序,JDBC 用第三种方法来处理SQL的一致性问题。它利用DatabaseMetaData 接口来提供关于DBMS的描述性信息,从而使应用程序能适应每个DBMS的要求和功能。

由于 JDBCAPI将用作开发高级数据库访问工具和API的基础 API,因此它还必须注意其所有上层建筑的一致性。“符合JDBC 标准TM” 代表用户可依赖的JDBC功能的标准级别。要使用这一说明,驱动程序至少必须支持 ANSI SQL-2 Entry Level(ANSI SQL-2 代表美国国家标准局 1992 年所采用的标准。Entry Level 代表SQL 功能的特定清单)。驱动程序开发人员可用 JDBC API所带的测试工具包来确定他们的驱动程序是否符合这些标准。JDBC 也正迅速成为 Java数据库访问的标准[3]。

2.1.6 jQuery简介

jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。

jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式

使开发者可以很轻松的开发出功能强大的静态或动态网页[4]。

2.1.7 Easyui简介

jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式 有深入的了解,开发者需要了解的只有一些简单的html标签。jQuery EasyUI为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。

jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。

jQuery EasyUI有以下特点:

1. 基于jquery用户界面插件的集合;

2. 为一些当前用于交互的js应用提供必要的功能;

3. EasyUI支持两种渲染方式分别为javascript方式(如:$('#p').panel({...}))和html标记方式(如:class="easyui-panel");

4. 支持HTML5(通过data-options属性);

5. 开发产品时可节省时间和资源;

6. 简单,但很强大;

7. 支持扩展,可根据自己的需求扩展控件;

8. 目前各项不足正已版本递增的方式不断完善;

2.2 数据库平台简介

美容美发管理系统的后台是用oracle 进行开发的,下面着重对SQL的主要特点及相关知识做一个介绍,分为安全性、服务器活动等几个方面。

2.2.1 oracle 简介

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核

心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

2.2.2 oracle 的优势

在了解了ORACLE数据库后,我们有必要对ORACLE和Sybase SQL Server的比较, Oracle采用的是并行服务器模式,而Sybase SQL Server采用的是虚拟服务器模式,它没有将一个查询分解成多个子查询,再在不同的CPU上同时执行这些子查询。我们可以说在对称多处理方面Oracle的性能优于Sybase的性能。业务量往往在系统运行后不断提高,如果数据库数量达到GB以上时,我们在提高系统的性能方面可以从两方面入手,一种是提高单台服务器的性能,还有就是增加服务器数目。基于此,如果我们是提高单台服务器的性能,选择Oracle 数据库较好,因为它们能在对称多CPU的系统上提供并行处理。相反,由于Sybase的导航服务器使网上的所有用户都注册到导航服务器并通过导航服务提出数据访问请求,导航服务器则将用户的请求分解,然后自动导向由它所控制的多台SQL Server,从而在分散数据的基础上提供并行处理能力,我们可以选择它。这些都是在其他条件和环境相同的情况下比较的,这样才有可比性。在数据的分布更新方面,Oracle采用的是基于服务器的自动的2PC(两阶段提交),而Sybase采用的则是基于客户机DB-Library或CT-Library的可编程的2PC,因此我们在选择数据库方面,必须根据需要进行选择,比如,从事的社会保险软件的开发,考虑到数据量大,并发操作比较多,实时性要求高,我们后台基本采取的是ORACLE数据库。Oracle服务器由Oracle

数据库和Oracle实例组成。Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成[5]。

2.3本章小结

本章介绍了本次毕业设计所使用的软件平台、硬件平台,着重对My Eclipse 6.5中的公共语言运行时、类库、运行时宿主、公共语言规范及多种编程语言的基本概念作了介绍,介绍了JAVA的主要特点和技术优势,其次还对JDBC技术及其核心组件作了介绍。另外针对oracle数据库的特点对oracle 10g做了大体的介绍。

第三章 系统可行性研究与需求分析

需求分析过程是整个系统开发的重要阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求,并且将现实事务抽象成对象并建模。

3.1 现行系统存在问题与解决方案

企业信息化建设是由一系列子系统所组成的系统工程,仅对各子系统单独进行优化后所组成的系统并不一定优化。

3.1.1 现行系统存在的问题

现行系统是手工运作的系统,可以支持向客户提供会员服务功能,但是,存在以下薄弱环节:

1. 现行系统是手工运作的系统,业务人员手工作业量大,数据传递不及时,对数据的统计和计算过程中易发生差错,工作效率较低。

2. 业务流程管理不够严密。

3. 主要从销售收入角度向管理层提供数据,不能满足管理要求(例如不能即时提供会员信息,会员等级统计等信息)。

3.1.2 解决方案

建议采用的新系统,是一个人机系统,采用C/S与B/S相结合的结构,不但提供了美发店内部很强大的管理功能,还在网络飞速发展的今天,结合当前的需求,设计出方便快捷的会员信息查询,大大增强了美容美发管理系统的可用性与实用性。

新系统能够实现现行系统的功能,并且能克服现行系统的上述弱点,与现行系统相比,将有如下改善:

1. 对信息的采集与记录更细致与全面,能满足不断增长的管理需求。

2. 利用计算机对数据进行加工、统计、分析,提高工作效率。

3. 实现完整的信息管理流程,支持业务管理制度的完善工作。

4. 提供统一格式的计算机打印单据与报表,提升企业形象。

5. 重视对历史数据的存储保护、分析,为管理层对企业的经营预测与决策提供及时有效的帮助。

6. 加入了网络功能,利用网络作为良好的宣传媒介,增加企业利润。

3.2 可行性分析

可行性分析,是指在进行项目投资、工程建设之前的准备性分析工作。它是经济活动中经常使用的一种决策程序和手段,也是工作前的必要环节。

3.2.1 业务流程图

根据该美发店的具体情况,业务可分为三类:第一类是业务管理系统,包括订单功能和工资功能,可以实时生成订单和查询工资操作。第二类是报表查询系统,能向美发店提供统计性的数据,对美发店的管理提供数据支持。第三类是人事管理系统,可以做到人事管理信息化,使得美发店对员工的管理更快捷方便。业务流程如图3-1 业务流程图所示:

图3-1 业务流程图

3.2.2 技术可行性

近年来管理信息系统技术得到了充分的发展与完善,使得开发本系统在技术可行性成为可能,利用JAVA语言开发的系统,不存在技术上的障碍,并且可以最大程度上的满足用户对程序外观上的需求。该系统的软件研发,根据企业管理的需求与客户的需求、进行系统设计与开发,采用成熟的数据库技术与软件开发技术,具有技术可行性。

3.2.3 经济可行性

开发本系统,我主要是为了综合运用在计算机信息管理本科段所学的各科知识,通过理论与实践的结合,提高本人的专业技术知识的应用能力,完成毕业设计,所以软件开发阶段不产生任何费用,只是设计了所需硬件的费用。新系统的费用与收益分析如下:

1.一次性项目建设费用为 人民币 40000元。其中:

软件研发经费:人民币5000元。计算机设备及系统软件费:人民币30000元。 网络建设费:人民币1000元。 培训费:人民币0元。整个项目建设期为0.5年。

2. 投产后的年发生费用预计为人民币8000元。

其中,年运营耗材费:人民币 5000元,年折旧费(支付系统软硬件维护及更新), 人民币6000元。

3. 新系统投产后预期年经济收益人民币30000元。

销售信息利用增值:人民币10000元。 工作效率提升的收益:人民币10000元。 客户满意度提升的收益:人民币10000元。

4. 预计本系统使用寿命五年,按后年利率5%计算:

项目投资回收期=项目投资/(年收入 – 年支出)= 36000/(30000-12000)=2年。 净 现金流量 = Sum(年净收入/(1+年复利息率)n) – 项目投资=(30000-12000)*(0.9524+0.9070+0.8638+0.8227+0.7835)-36000=77929-36000=41929元 。

可见,本系统的投资回收期不很长,即使在使用年利率5%的贷款来进行投资,在项目运营业5年内,酒店仍能获得超过4万元的净现金流量,本项目经济上可行。

3.2.4 运行可行性

在本系统的运营阶段,使用系统的工作人员,除了需要具备在Microsoft Windows

平台上使用个人电脑的知识,并不需要特别的技术能力。这方面的知识,在该酒店与本项目运营相关的直接人员(包括经理层、客房部、前厅部)中已经具备。并且在项目投产前,还会安排对操作系统的人员进行必要的培训。

在具体实施过程中,公司同意建立此的运营管理机制:由公司管理层一名高级管理人员领导,客房部与前厅部具体负责本项目的运营;同时,财务部负责对系统运营过程中的计算机耗材的供应。因此本系统营运方面可行。

综上所述,新系统已具备技术可行、经济可行、营运可行的条件,所以公司决策层同意开发和使用本系统。

3.3 需求分析

需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。酒店管理系统的需求分析要求比较高,对数据的使用量要求严格,具体问题具体分析。

3.3.1数据流图

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。

画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。

数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线性状态。另一种是事务型结构,这种数据流图呈束状,即一束数据流平行流入或流出,可能同时有几个事务要求处理。该系统的数据流图如图3-2所示:

图3-2 数据流图

3.3.2数据字典

数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。

1. 数据流的描述 数据流编号:D-01 数据流名称:登录 简述:管理员登陆信息 数据项组成:管理员账号密码 数据流来源:管理员 数据流去向:登陆模块 数据流编号:D-02 数据流名称:用户信息 简述:用于人事管理的信息 数据项组成:用户信息,用户类型 数据流来源:人事管理模块

数据流去向:添加用户 数据流编号:D-03 数据流名称:订单信息 简述:用于生成订单的信息 数据项组成:订单编号及各项数据 数据流来源:订单生成模块 数据流去向:订单表

3.3.3 系统E-R图

美容美发管理系统E-R图如图3-2 美容美发管理系统E-R图所示。

图3-2 美容美发管理系统E-R图

其中各实体间的关系如下:

用户和在会员信息间的关系是1:1关系。 用户和在理发师信息间的关系是1:1关系。 理发师和订单的关系是1:n关系 理发师和角色的管理师1:1关系 角色和职能的关系是你n:n关系 角色和工资的关系是1:1关系[6]

3.4 数据库设计

美容美发管理系统需要建立自己的数据库。数据库是美容美发管理系统中极为重要的组成部分,也是前台应用程序工作的基础。数据库创建与开发的优劣直接影响到整个系统的质量和效率。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个是数据库在应用领域的主要研究课题[7]。

在设计数据库时,应考虑以下事项:

1. 数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划。 2. 数据库规范化规则,防止数据库设计中出现错误。 3. 对数据完整性的保护。

4. 数据库和用户权限的安全要求。

5. 应用程序的性能需求,设计数据库时必须利用 Microsoft SQL Server 2000 中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的。

6. 数据库维护。

本系统中的数据库共建立了七个数据表,分别是:用户表,会员表,管理员表,工资表,订单表,角色表,权限表。

下面针对数据库中部分表进行描述:

用户表主要记录用户的用户名和密码如表3-4 用户表所示:

表3-4 用户表

序号 1 2 3

英文名 id username password

中文名 编号 用户名 密码

类型 int(4) Varchar(20) Varchar(30)

长度(字符)

4 1-20 1-30

会员表主要记录会员的个人信息如姓名,性别,和会员的消费情况及会员等级的情况,如表3-5 会员表所示:

表3-5 会员表

序号 1 2 3 4 5 6

英文名 mid mname sex phone cost mlevel

中文名 编号 会员姓名 性别

联系方式 累计消费 会员等级

类型 int(4) Varchar(20) Varchar(20) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20 1-20 1-20

理发师表主要记录理发师的个人信息如表3-1 理发师表所示:

表3-1 理发师表

序号 1 2 3 4

英文名 hid hname sex hphone

中文名 编号 会员姓名 性别 联系方式

类型 int(4) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 4-20

角色表主要记录角色信息和角色的权限如表3-7角色信息表所示:

表3-7角色信息表

序号 1 2 3 4

英文名 id pname Rid plevel

中文名 编号 角色名称 与权限中间表id

角色等级

类型 int(4) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20

订单表记录了订单信息如时间,花费,理发师,会员等,所以设计的表的结构如:

表3-8 订单表所示:

表3-8 订单表

序号 1 2 3 4 5 6

英文名 id hname mname role cost time

中文名 编号 理发师 会员 项目 花费 订单时间

类型 int(4) Varchar(20) Varchar(20) Varchar(26) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20 1-20 1-20

工资表记录了角色的级别工资如表3-7角色信息表所示:

表3-9 工资表

序号 1 2 3 4

英文名 id pname wage informat

中文名 编号 角色名称 基本工资 备注

类型 int(4) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20

3.5 本章小结

本章对美容美发管理系统的可行性研究和需求分析进行论述。对现行系统进行了详细的分析和研究,通过对其管理组织结构、业务流程和系统流程的分析,找出其系统中存在的问题,有针对性施以解决方案,并对系统的研发提供可靠依据。再根据系统的流程图画出系统E-R图。这些图为系统的流程分析提供了可靠依据。

第四章 系统的设计与实现

4.1 系统模块设计

利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最低层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。从对顶层信息的分类开始,沿着图中每条路径反复细化,直到确定了数据结构的全部细节为止[8]。

分为以下模块:

1. 人员管理:会员管理,理发师管理,授权。 2. 工资管理:工资结算。

3. 角色管理:添加角色,修改角色,删除角色,查询角色。 4. 权限管理:添加权限,修改权限,删除权限,查询权限。

5. 订单管理:添加订单,修改订单,删除订单,查询订单,报表查询。 系统功能模块图如错误!未找到引用源。所示:

4.2 数据库的实现

总体设计阶段,在需求分析的基础之上规划出了系统的功能模块,以及在此分析基础上设计出的具体的、可以满足本系统全部需求的数据库。由于数据库在设计中有非常

图4-1 系统功能模块图

重要的作用,所以在开发过程中,在考虑数据库上的时间较多。

出于性能的考虑,和易于维护的考虑,把数据库的连接,单独写出来,并且重写了jdbc中常用的操作函数[9]。

1. 引入相应的包 import java.sql.*;

import javax.sql.*;(高级应用) 2. 加载JDBC驱动程序

Class.forName(“JDBC驱动类名”);

每个Driver类在得到加载的时候,一般都会自动创建一个它本身的实例,并通过DriverManager类的registerDriver方法来自动注册该实例;

3. 创建连接对象

Connection con = DriverManager.getConnection(“数据库url”, “userName”, “password”);

DriverManager类会尝试找到与传递进来的url字符串所代表的数据库进行连接的驱动程序(DriverManager类存有已注册的Driver类的清单),然后创建一个连接对象并返回。

4. 创建SQL语句对象

Statement stmt = con.createStatement();

SQL语句对象用于向数据库传送SQL语句,另外还有PreparedStatement和CallableStatement这两种语句对象。

5. 用SQL语句对象执行数据库操作

查询:ResultSet rs = statement.executeQuery(String sql); 更新:int updatedrowcount = statement.executeUpdate(String sql); 删除:int updatedrowcount = statement.executeUpdate(String sql); 6. 封装jdbc

将jdbc按上述过程创建之后运用公司的框架进行封装为SystemContextUtil静态类,动过调用getDatabase()方法获取数据库对象。

SystemContextUtil类中封装了一系列的函数如:

querylist(),queryObject(),update(),delete()方法等,对数据库的操作提供支持。

4.3 构建系统框架

框架是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整[10]。

本系统使用的管理框架式spring,持久层框架和mvc层框架则使用了本人所在公司

所封装的rest框架,该框架的优点是轻量级,操作比较便捷,非常实用与此系统的开发。

4.3.1 系统主窗体的设计与实现

在整个系统中,各个功能模块都是通过主窗体的调用而开启的,启动程序后,在―系统登录‖界面验证操作员名称和密码后,将进入主程序界面。主程序界面主要包括以下各个功能模块:【基础管理】、【业务管理】、【报表查询】,要调用各个模块内的相应功能,可以通过主窗体左侧的菜单栏上的相应连接打开。系统主界面如图4-2 系统主界面所示:

图4-2 系统主界面

4.3.2 基础设置模块

具体设计过程中,其关键点与难点在于系统的总设计者必须确定整体结构,规定什么是模块,有多少模块,各模块的功能如何;确定模块之间相互作用的共同界面;建立模块功能和表现的评价体系。

根据需求分析将该系统设置为:1. 业务管理模块 2. 报表管理模块 3. 人事管理模块。

4.3.3 业务管理模块

1. 订单生成

进入管理系统后点击业务管理中的订单管理可以进行订单的添加功能,当点击新增的时候回弹出一个新的对话框,有一个预生成的订单,该订单上有一些选项,分别为:理发师,项目,会员,时间,之后有一个按钮显示:计算总数,点击该按钮之后会自动对会员折扣和理发师提成进行计算,讲计算结果传入后台,添加确定后添加成功关闭对话框可以进行查询和删除操作。

该模块的主要意义是实现美容美发店的订单管理信息化,可以直接在电脑中完成对订单的生成和存储的操作,避免了认为失误和一些不必要的麻烦,可以减轻人员的劳动量,增加人员的效率,是员工吧有限是精力放在更重要的事情中,下面我将通过流程图和类调用的方法简要叙述一下该模块的实现过程[11]。

使用userMgrDao的query方法查询理发师和会员到下拉列表中,根据理发师的信息利用classMgrDao的方法查询该理发师的权限显示到项目列表中,根据理发师和会员的等级及所做的项目计算金额,用classSerDao的add方法添加到数据库中,同时检查会员是否升级。

最后把所有信息存入数据库中,订单信息存入horder表中,同事更新会员的消费金额,为原来的金额加上本次消费的金额,根据最后的金额数来判断是否为该会员进行升级。订单模块的流程图,如图4-3 订单模块的程序流程图所示:

图4-3 订单模块的程序流程图

2. 工资管理

工资(wage)是指给普通劳力的报酬,以劳动时间为基础来计算。换取员工依据合约或其他协议所提供的服务而支付的报酬,通常是以金钱作为报酬,并且依据计时、计天或计件工作来支付。

工资管理是根据理发师的等级和本月的业绩计算出来的个人单月工资功能,该功能可以通过管理员实现基本工资的增删改查。

通过lessionMgrDao类的query方法查询角色信息到前台的下拉列表中进行选择,选择之后为其添加基本工资,然后调用lessionSerDao类的add方法将基本工资添加到数据库中。

把工资信息存在hwage中,查询的时候只需将信息从hwage取出来,然后与员工的剪发提成进行计算得出本月的工资。工资模块流程图如图4-4 添加留言版程序流程图所

示:

图4-4 添加留言版程序流程图

4.3.4 统计报表模块

美容美发管理系统提供了很好的财务管理,统计报表可以很直观的统计出指定时间所需的数据,生成的报表为管理层提供了便利的管理依据。

统计报表模块主要是实现统计,将统计信息生成报表的操作。根据需求的不同,将报表模块分为三个功能,分别为:

1. 个人工资查询报表 2. 当月财务报表 3. 会员消费报表 流程参见: 1. 个人工资报表

个人工资报表时理发师查询当月自己所开工资的功能,首先是调用userMgrDao的query()方法选择理发师,然后查询hwage表的信息得到该理发师的基本工资,然后查询horder表得到理发师当月到目前为止的订单数,获取提成,通过计算得到当月所得工资,然后显示在界面中。

提成计算是根据理发师的等级所确定的,一级提成10%,二级提成20%,以此类推。个人工资统计流程图如图4-5 个人工资报表统计图所示:

图4-5 个人工资报表统计图

统计报表界面如图4-6 统计报表界面所示:

图4-6 统计报表界面

2.当月财务报表

当月财务报表时统计该理发店当月所得订单的总数量的报表,首先通过查询后order表得到所选月份的订单信息显示在界面上,然后动过前台计算得到当月总金额显示在界面上。当月财务报表如图4-7所示:

图4-7 当月财务报表流程图

3.会员消费报表

会员消费报表时统计会员累计消费的报表,首先查询hmember表得到所有会员信息,然后选择一个会员,然后查询后order表得到该会员所有的历史消费记录,显示在界面上。会员消费报表如图4-8所示:

图4-8 会员消费报表流程图

4.3.6 人事管理模块

人事管理模块主要是对当前酒店员工进行管理,包括增加入职人员、修改入职人员的信息、对入职人员的信息修改、离职人员的删除操作,这些操作都是基于该用户是管理员的身份。具体流程参见人事管理模块流程图。其中的理发师管理相关实现过程如下:

创建userMgrAction类,调用userMgrDao类的query方法,查看是否存在该用户,如果不存在调用userMgrDao类的add方法添加用户。创建classMgrAction类,调用classMgrDao类的query方法,查看是否存在该角色,如果不存在调用classMgrDao类的add方法添加角色,同时调用lessionMgrDao的addrole方法为角色添加权限。创建lessionMgrAction类,调用lessionMgrDao类的query方法,查看是否存在该权限,如果不存在调用lessionMgrDao类的add方法添加权限。人事管理流程图如图4-9 人事管理

流程图所示:

图4-9 人事管理流程图

4.4 本章小结

本章详细介绍了美容美发管理系统的全部模块的设计过程。整个系统综合运用多种方法,在查询运用到的算法,使得程序的代码简便了很多。另外,本章所介绍的在线预定是整个开发过程中的难点,涉及到许多参数的传递及数据库连接。

第五章 系统测试

5.1 软件测试

程序测试有两种常用的测试方法,即黑盒测试和白盒测试。如果己经知道了软件系统应具有的功能,可通过测试来检验每个功能是否都能正常使用,这种测试方法称为黑盒测试。黑盒测试主要是针对系统的功能进行测试,所以又称为功能测试。如果知道程序的内部工作过程,可以通过测试来检测程序内部是否按照设计规格说明书的规定正常进行,这种测试方法称为白盒测试。白盒测试主要针对系统逻辑结构的正确性、完整性进行测试,因此又称为结构测试[12]。

在测试阶段积累的测试结果,可以用更形式化的方法进行统计分析。系统可靠性模型使用这些错误率数据,可以估计将来出现错误的情况并进一步对系统可靠性进行预测。

5.2 本系统测试

下面对本美容美发管理系统进行测试,以检查系统能否正确完成各种操作,是否能够实现预期具有的功能。

5.2.1 用户权限测试

此模块是进入本系统操作的一个入口,用于维护系统的安全。只有将正确的用户名和密码输入系统,才能继续进行操作。

该系统有大体分两种种用户角色:管理员和普通用户。普通用户又分为酒店员工和顾客。分别设置不同用户的权限,使其所操作的功能不同[13]。

采用因果图的测试方法如表5-1 用户登陆原因结果表所示:

表5-1 用户登陆原因结果表

原因

c1:用户名漏填 c2:密码漏填

结果

e1:弹出提示信息―请输入您的用户名‖ e2:弹出提示信息―请输入您的密码‖

续表5-1

c3:输入用户名 c4:输入密码

e3:弹出提示信息―您输入的用户名或密码不正确‖ e4:登陆成功

分析程序的原困和结果,根据原因与结果、原因与原因产生因果图如图5-2 因果图所示:

图5-2 因果图

根据因果图,产生决策表如表5-3 用户决策表所示:

表5-3 用户决策表

规则

选项

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

条件: c1 c2 c3 c4 动作: e1 e2 e3 e4 不可能 测试用例

1 1 1 1 √

1 1 1 0 √

1 1 0 1 √

1 1 0 0 √

1 0 1 1 √

1 0 1 0 √

1 0 0 1

1 0 0 0 √

0 1 1 1 √

0 1 0 1 √

0 1 1 0 √ 3

0 1 0 0 √

0 0 1 1 √

0 0 1 0 √

0 0 0 1 √

0 0 0 0 √

1 2 4 5 6 7

根据决策表,生成测试用例如表5-4 测试用例表所示:

表5-4 测试用例表 输入

编号

用户名

1 2 3 4 5

空 空 正确 正确 错误

密码 正确 无 空 正确

码不正确 您输入的用户名或密

6 7

正确 空

错误

码不正确

用户名、密码为空

码不正确 用户名、密码为空

码不正确 您输入的用户名或密

请输入您的用户名 请输入您的用户名 请输入您的密码 登陆成功 您输入的用户名或密

请输入您的用户名 请输入您的用户名 请输入您的密码 登陆成功 您输入的用户名或密

输出

预期结果

管理员登陆测试内容包括:输入正确的用户名、密码可以登录系统,错误会有相应的错误提示。可以有效去除非法字符,防止 SQL 注入式攻击,防止用户访问非授权页面。管理员登陆测试用例如表5-5 管理员登陆测试用例表所示:

表5-5 管理员登陆测试用例表

测试用例编号

1 2 3 4 5 6

输入 用户名为空 密码为空 验证码为空 错误的用户名 错误的密码 错误的验证码

输出 请输入您的用户名 请输入您的密码 请输入您的验证码 您输入的用户名或密码不正确 您输入的用户名或密码不正确

您的验证码不正确

预期结果 同输出、与预期同 同输出、与预期同 同输出、与预期同 同输出、与预期同 同输出、与预期同 同输出、与预期同

5.2.2数据查询测试

数据查询测试主要是针对对数据库进行操作的测试,包括向数据库中添加记录、修改记录、删除记录。

测试方法采用白盒测试的方法[14],主要对代码进行测试,如表5-6 入口出口表所示为代码中的入口与出口:

表5-6 入口出口表

编号 1 2 3 4

入口 用户添加 订单添加 管理员登陆 管理信息

弹出提示信息 返回查询数据

跳转至管理员界面或错误界面 执行数据库的增删改查

出口

数据库操作 成功 成功 成功 成功

数据库结果 用户存在 写入成功 用户验证正确 操作成功

5.2.3 其他测试

1. 文字测试

为保证页面内容的正确性,检查页面文字、术语、内容、准确度以及内容的时效性。 2. 链接测试

链接是在页面之间切换和指导用户去链接未知地址的页面的主要手段,它可以与文字或者图片拴在一起。链接也是基于B/S美容美发管理系统的一个主要特征。进行链接测试时,每个链接都要检查,确保它能跳转到正确的目的地,并在正确的窗口中打开。可从三个方面进行链接测试。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;然后,测试所链接的页面是否存在;最后,保证基于B/S美容美发管理系统上没有孤立的页面。孤立页面是网站的一部分,但是没有链接指向该页面,只有知道正确的 URL 地址才能访问。

3. 浏览器测试

Web 浏览器及版本有多种,每一种都有不同的特征集。某一个页面可能在某种浏览器中表现很好在另外一种浏览器中无法显示。设计B/S系统时要选择最普通的特性设计站点,以便在所有浏览器中可以同样显示。 许多平台可以在各种屏幕分辨率和颜色

模式下显示。某个页面可能在一种分辨率下显示异常,在另外一种分辨率下就不会。文字和图片可能换行位置不同、截掉一部分或者根本不显示。可以给用户提示最合适的分辨率。目前较为流行的有自己内核的浏览器有微软的Internet Explorer、Mozilla的Firefox、Apple的Safari、Opera、HotBrowser、Google的Chrome,需要分别在这些浏览器上进行测试[15]。

5.3 本章小结

系统测试是软件的一个重要阶段。其任务是确认和验证软件、设计、实现过程中的逻辑正确性以及发现软件产品中存在的问题,并通过测试不断提高和完善软件产品的质量。软件测试中涉及的第二个问题是排错,也称为调试。排错的目的是诊断程序错误的性质及产生的原因并加以改正。软件排错技术与其说是科学,不如说是一门艺术。软件测试的第三个软件可靠性的评测。可先靠性(到目前为止,要求可靠性为100%是不可能达到的目标)是软件高效、正确运行的保证。

在测试过程中,发现了许多设计时的不足和一些功能的不合理之处,并针对发现的问题,对程序进行改进,并再次进行测试。测试之后,酒店管理系统的登陆模块、数据更新与查询、其他模块的提示功能等均能正常工作,测试成功。

结论

经过近二个月对系统的研究及开发设计,基于B/S美容美发管理系统终于全部完成。系统完成了预期的全部功能。

本系统是经过两周的实地调研和考察论证,采用了面向对象的开发方法,在开发过程中充分考虑用户的需求,并考虑了系统开发最适宜的开发工具及编程语言进行开发,程序部分功能设计经过反复研究修改,并将雏形系统的界面进行美化,最后才使得本系统具有强大的功能。这套美容美发管理系统针对目前餐饮业的实际需求而进行开发,将传统管理所没有考虑到的人事管理、报表信息查询等重要部分都充分的考虑进去,再加上人性化查询功能,可以适应目前美发业的需要,加快美容美发管理信息化进程的脚步。

从工程的开发上看,该系统优点如下:

功能齐全:系统包括了对人事、报表、系统管理等功能,而且增加了人性化查询功能,非常适合目前美发业的需求。

安全性高:系统提供操作员的密码验证,使得系统的安全性得以提高。 实用性强:对系统中资料信息的查询、添加、修改非常方便。

可维护性强:系统可以随时根据美发店实际需要而新增功能模块,新模块与本系统可以很好地兼容。系统还可以随时对数据进行备份与还原,使维护数据库的可行性大大提高。

本次的毕业设计是对我大学四年所学知识的一次总结、温习、巩固、应用和扩展。在做这次毕业设计的时候,我几乎运用到了全部所学:编程、数据结构、数据库、软件工程。将如此大量的论翻译成英文也是对我的专业英语的一次全新考验。许多东西原先都仅仅停留在理论的基础上,此次的毕业设计得到了实际的应用。特别是我这次运用了软件工程的方法来开发系统,为将来的学习工作积累了成功的经验。

参考文献

[1] 刘晓华.J2EE企业级应用开发[M].北京:电子工业出版社,2003:124-167.

[2] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2007:31-84.

[3] David M.Kroenke.Database Processing.北京:电子工业出版社,2001:24-58.

[4] 徐明华Javaweb整合开发与项目实战[M],北京:人民邮电出版社,2009:135-198.

[5] 陆惠恩,陆培恩.软件工程.第二版.电子工业出版社,2000:67-79.

[6] 张家晨,冯铁,王洪媛.面向对象分析到设计的类模型转换方法.计算机应用与软件.2005,7:76-97.

[7] McLeod. Management Information system .Management in Practice Prentice Hall, 1998:35-50、

60-100.

[8] Ron Patton .oftware Testing second edition, SAMS, 2006:46-99 .

[9] 刘玉宝.数据库原理及应用[M],北京:中国水利水电出版社,2006:37-80.

[10]刘斌.大型门户网站是这样炼成的[M].北京:电子工业出版社.2010.

[11] ChristianBauer,GavinKing.Java Persistence with Hibernate,2007:34-131

[12] 徐明华.Javaweb整合开发与项目实战,北京:人民邮电出版社,2009:53-90

[13] Ryan Asleson NathanielT.Schutta Ajax基础教程,北京:人民邮电出版社,2006:33-120

[14] TomNegrinoDoriSmith.JavaScript基础教程,北京,人民邮电出版社,2006:31-167

[15] JeremyKeith.Design with JavaScript and the Document,2006:46-99

致谢

在本次毕业设计中,我首先要感谢的是我的指导老师,在她身上我学到了很多东西,她严谨、认真、负责的工作态度给我留下了深记得的印象。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高,抽出了很多时间对我的论文进行的批改和修正,使得我的论文不断完美,对数据库和JSP程序有了更深的学习。在我不能够去学校让老师当面指导的情况下,还是通过电话和E-mail进行交流和传递信息。这对于我以后的工作和学习都有一种巨大的帮助,衷心地感谢他耐心的辅导。

其实要感谢的是我的同学,在一开始的调研和结构化设计中他给予了我很大的帮助,不仅帮我解答了不少的难点,还给我提出一许多建议,我会以他们为榜样,更好地努力。将这种精神带到以后的工作和学习,使得自己的工作更上一层楼。

本科学生毕业论文

论文题目:

学 院:

年 级:

专 业:

姓 名:

学 号:

指导教师: 美容美发管理系统的设计与实现 软件学院 2010级 软件工程 魏悦明 20103921 玄萍

2014年 5月 10日

摘要

随着国内经济形势持续发展,国内餐饮业进入了市场发展高峰期。在信息高度发达的今天,非计算化的管理方法与策略已经无法满足用户的需求。餐饮业制度的改革已经成为一种更广泛、全面的潮流。

该连锁餐饮管理系统的设计与实现是基于oracle数据库、My Eclipse 8.5 为开发平台,JAVA语言为开发基础实现的。该系统可以对用户和理发师进行管理,对理发师添加角色和权限等功能,对用户进行会员折扣功能,同时提供对美发店的日常维护和报表管理及员工工资的发放功能,而且有完善的多用户安全功能,具有很大的使用价值。

本论文共有5章,分别包括第1章绪论,第2章相关技术的简介,第3章系统的可行性研究与需求分析,第4章总体设计和具体实现、第5章系统测试。

关键词

管理信息系统;数据库; JAVA;jQuery;EasyUI;Spring

Abstract

With the domestic economic situation and the continued development of the domestic hotel industry has entered a peak period of development of the market. In today's highly developed information, the calculation of non-management methods and strategies have been unable to meet the needs of users. Hotel reform has become a more extensive and comprehensive trend.

The design and implementation of chain catering management system is based on Oracle database, My Eclipse 8.5 as the development platform, JAVA language as the development basis of the realization of. The system can manage the users and the barber, the barber to add roles and privileges of membership discountfunction, function of the user, while providing the salon of the day-to-day maintenance and management and staff salaries, and multi user perfect security functionality, has the very big use value.

In this paper, a total of 6 chapters, including Chapter 1 Introduction, Chapter 2 Introduction of the technology, Chapter 3 of the feasibility study and needs analysis, design, Chapter 4, Chapter 5 to achieve specific, Chapter 6 test system .

Key words

Manage Information Systems; Database; JAVA; jQuery; EasyUI; Spring

目录

摘要 ..................................................................... I Abstract ................................................................. II

第一章 绪论 .............................................................. 1

1.1选题背景 .......................................................... 1

1.2美容美发管理系统发展状况分析 ...................................... 1

1.3论文完成的工作 .................................................... 2

第二章 相关技术简介 ...................................................... 3

2.1开发平台和技术简介 ................................................ 3

2.1.1 B/S架构软件的优势与劣势 ..................................... 3

2.1.2 维护和升级方式简单 .......................................... 3

2.1.3 Eclipse简介 ................................................. 5

2.1.4 JAVA 基本概念介绍 ........................................... 5

2.1.5 JDBC技术简介 ............................................... 6

2.1.6 jQuery简介 .................................................. 8

2.1.7 Easyui简介 .................................................. 9

2.2 数据库平台简介 .................................................... 9

2.2.1 oracle 简介 .................................................. 9

2.2.2 oracle 的优势 ............................................... 10

2.3本章小结 ......................................................... 11

第三章 系统可行性研究与需求分析 ......................................... 12

3.1 现行系统存在问题与解决方案 ....................................... 12

3.1.1现行系统存在的问题 .......................................... 12

3.1.2解决方案 .................................................... 12

3.2可行性分析 ....................................................... 13

3.2.1业务流程图 .................................................. 13

3.2.2技术可行性 .................................................. 14

3.2.3经济可行性 .................................................. 14

3.2.4运行可行性 .................................................. 14

3.3 需求分析 ......................................................... 15

3.3.1数据流图 .................................................... 15

3.3.2数据字典 .................................................... 16

3.3.3系统E-R图 .................................................. 17

3.4 数据库设计 ....................................................... 18

3.5 本章小结 ......................................................... 20

第四章 系统的设计与实现 ................................................. 21

4.1 系统模块设计 ..................................................... 21

4.2 数据库的实现 ..................................................... 21

4.3 构建系统框架 ..................................................... 23

4.3.1 系统主窗体的设计与实现 ..................................... 23

4.3.2 基础设置模块 ............................................... 24

4.3.3 业务管理模块 ............................................... 24

4.3.4 统计报表模块 ............................................... 26

4.3.6 人事管理模块 ............................................... 28

4.4 本章小结 ......................................................... 29

第五章 系统测试 ......................................................... 30

5.1 软件测试 ......................................................... 30

5.2 本系统测试 ....................................................... 30

5.2.1用户权限测试 ................................................ 30

5.2.2数据查询测试 ................................................ 33

5.2.3其他测试 .................................................... 33

5.3 本章小结 ......................................................... 34

结论 .................................................................... 35

参考文献 ................................................................ 36

致谢 .................................................................... 35

第一章 绪论

从该阶段开发正式进入系统的设计阶段,本阶段完成系统的大致设计并明确系统的总体结构与业务功能组织结构。本概要设计说明书的目的是将产品需求转化为软件的表示、规划软件的总体结构、实现软件系统的总体概貌,为下一步软件详细设计打好基础。

在计算机技术发展日新月异的今天,数据库管理系统的发展也日趋完善。随着科学管理系统的建立以及计算机化的管理模式普及,尤其是计算机技术和现代化通信技术的迅速发展,企业现代化管理正在逐渐受到人们的重视。使用计算机辅助管理就应运而生,并迅速发展起来,其强大的功能已经被人们深刻认识,它已经进入了人类社会的各个领域并发挥着越来越重要的作用。

1.1 选题背景

美发业在中国的快速发展已经有二十多年的历史了,但与国外相比,还没有真正实现管理的信息化、自动化。计算机技术在美发管理领域中的应用和普及,使得新的技术平台、新的技术特点不断涌现,适合国内特点的信息系统慢慢进入美发行业,使美容美发管理系统进入了一个新的发展时期。而在竞争越来越激烈的今天,美容美发店如何提高服务质量、管理能力的问题显得越来越重要。内部服务项目众多,既需要完成前台的一些服务工作,还需要完成后台的管理工作,并且还有人员管理等众多内容。如果没有一套可靠的美容美发管理系统,仅凭手工操作,不仅效率低下,而且会极大地影响到服务质量。商场如战场,美发店要迎接这场挑战,就必须提高整体竞争能力,而要提高整体竞争能力必须变革管理模式,实施信息化建设无疑提高管理水平的必经之路和明智之举。

1.2 美容美发管理系统发展状况分析

从上个世纪80年代初中期起步,中国美容化妆品业走过了风风雨雨的二十余年。这二十年来,中国美容化妆品业从简单的―一把剪刀闹革命‖与―雪花膏润肤、凡士林护肤‖发展到现在集美容、美发、浴足、医疗美容、保健美容、造型设计、美容教育、专业美容产品研发、生产、销售于一体的生产与服务并行的一个庞大产业链。2003年,美容化妆品业上游企业销售额达到300余亿元人民币;2004年,美容化妆品业再次发力,至12月底相关权威机构数据统计表明,美容化妆品业上游企业的销售额已突破500

亿元大关。而整个美容化妆品业全行业总体服务产值早在2003年就已达到1600余亿元人民币。行业年发展速度平均呈30%以上的增长态势,而上游企业的销售每年以50%以上的增长率迅猛发展。

在当前的信息化管理浪潮下,我国的各行业不断转向信息化,现代化的高效管理模式。在民政部门的大力支持下,结合各美容美发店的实际情况和实践操作研发的新一代美容美发管理系统,使一直沿袭传统美容美发管理模式而产生的管理效率较低,经营管理水平相对滞后等现象得以改善;而这种新型的美容美发管理系统流程自动化、科学宏观的管理模式已经成为各美容美发店的必然需求。 美发管理系统是一款专门为美发行业设计的美发管理系统,广泛适用于美发会所,美发信息化管理,美萍美发管理系统具有强大的美发会员管理,员工刮泥等功能,能非常方便的打印,记录会员每次消费情况,消费剩余金额,能计算员工每月提成金额。设计新颖的客户管理功能是很多老板的最爱;严格的物品消耗追踪管理让成本不再是管理的黑洞。

1.3 论文完成的工作

论文完成的工作有:论文的选题背景、目的意义、相关技术简介、数据库简介、需求分析、模块结构设计、数据库设计、系统功能设计及对系统的简单介绍,还有论文的摘要及其翻译、论文附录部分的外文资料及其翻译。

首先深入了解目前的国内外美发业与信息业的发展形势,做好美容美发管理系统的需求分析,在需求分析当中要做好系统的数据流图与E-R图。数据流图当中要体现出系统的数据流向、涉及到的各种操作和数据存储,E-R图要体现出实体与实体之间的关系。在做需求分析的时候还要设计出美容美发管理系统的功能模块图,以体现系统的模块化结构设计以及各模块的主要功能。美容美发管理系统的前台开发由My Eclipse技术来实现,而后台则是采用oracle 作为开发工具,所以在相关技术简介部分提供了My Eclipse平台介绍、JDBC技术介绍以及SQL的主要特点等内容。美容美发管理系统的实现是用界面介绍与功能说明相结合的方式体现的,在此部分提供了各个主要功能界面的截图。除此之外,论文需要完成的内容还包括摘要部分及其翻译、外文资料内容及其翻译、参考文献介绍以及部分源代码及其解释说明等。

第二章 相关技术简介

系统的前台开发工具为My Eclipse 6.5,后台数据库是orcale 10g,语言使用JAVA,操作系统为Windows 7旗舰版。硬件要求为:CPU:Inter奔腾4双核处理器或更高。内存:512M或更高。硬盘:40G或更高。

2.1 开发平台和技术简介

应用服务器的作用除了管理客户端请求与数据库之间的通信之外,同时具有跨系统平台(数据库、操作系统)的能力。因此,基于应用服务器系统开发的各种客户应用,就可以完全不考虑低层数据库与操作系统,实现跨平台的开发。

2.1.1 B/S架构软件的优势与劣势

B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

2.1.2 维护和升级方式简单

目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护,升级和共享。所以客户机越来越―瘦‖,而服务器越来越―胖‖是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力,物力,时间,费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是―瘦‖客户机,―胖‖服务器。

1. 成本降低,选择更多

大家都知道Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。

比如说很多人每天上―网易‖网,只要安装了浏览器就可以了,并不需要了解―网易‖的服务器用的是什么操作系统,而事实上大部分网站确实没有使用Windows操作系统,但用户的电脑本身安装的大部分是Windows操作系统。

2. 应用服务器运行数据负荷问题

由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器―崩溃‖等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

3. B/S模式的安全性

一般来说,一个B/S系统的信息安全主要有两个方面:数据传输的安全性与用户身份的确认。用户身份的确认在B/S系统中是非常重要的,因为B/S系统正是根据用户的身份来提供个性化的服务以及不同的权限,所以,如何对用户身份进行安全的确认,防止假冒和非法攻击是维护数据安全性非常重要的环节。目前来说,基于网络的身份认证比较成熟的解决方案是电子证书,电子证书相当于一个人在网络中的身份证,唯一确定了拥有人的身份。一个B/S系统可以建立一个独立的证书系统,也可以使用公开服务的CA系统,两者各有优缺点,视具体的应用系统而定。

当然,一个真正安全的B/S系统并不是简单的技术添加,而是要在系统设计阶段就应该将安全性作为一个重要的因素来考虑,在系统的每一个部分都体现安全性,将信息安全的概念融合到系统中,才能真正成为一个安全的B/S系统。举个简单的例子,比如在做系统设计的时候,在用户进入每一个功能模块的时候,都必须检验该用户的证书,根据该用户的证书决定是否提供服务或提供什么权限的服务[1]。

2.1.3 Eclipse简介

Eclipse是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的Java集成开发环境。作为一套开源工具,可用于构建Web Services、J2EE等各种类型的应用,其所提供的功能不亚于、甚至要超过专业的集成环境供应商所提供的商业化产品,如JBuider。

Eclipse最有魅力的地方就在于它的插件体系结构。在这个体系中重要的概念是扩展点(extension points),也就是为插件提供的接口。每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。

由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBench UI插件完成界面的外观显示,Resource Management插件完成维护或生成项目或文件等资源管理工作,而Version and Configuration Management(VCM)插件则负责完成版本控制功能等等。虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse却把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Java development tooling,JDT),也只不过是Eclipse系统中的一个普通插件而已。整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件。

Eclipse的开放源代码性质所意味的,并不只是它使得Eclipse免费可用。开放源代码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源代码库贡献代码。为这个项目作贡献的开发人员越多,这个项目就会变得对每个人越宝贵。随着这个项目变得更加有用,更多的开发人员将会使用它,并围绕它形成一个社区,就像那些围绕Apache和Linux形成的社区一样。

2.1.4 JAVA 基本概念介绍

目前Java主要应用于中间件的开发(middleware)—处理客户机于服务器之间的通信技术,早期的实践证明,Java 不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发。Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux等其他操作系统上使用完全

相同的代码。Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出。

1. Java的跨平台性,即一次编译到处运行

简单地说Java的跨平台性就是指,编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。而Java的跨平台性是如何实现的呢?这就要理解Java虚拟机和字节码的概念。

实际上,编译后的Java代码并不是传统的二进制代码(如Windows下的.exe文件),而是Java字节码,这种字节码文件是不能直接在操作系统上执行的。要想在一个操作系统上运行一个Java程序必须有一个中间环节来负责将Java字节码解释成二进制码,这个中间环节就是Java虚拟机(简称JVM)。由于目前大多数操作系统已经实现了JVM,所以Java轻松实现跨平台性。

2. 面象对象技术

Java全面支持面象对象技术,这体现在Class(类)是Java程序构成的基本单元,一个Java程序通常由许多Class组成,而且这些Class还会有一定的继承关系,Java支持Class的单继承,从而使类之间的继承关系更明确。继承的结果产生类的多态性,类的多态本质上讲就是可以用父类的引用访问继承类的实现(子类对象),类的这种多态性最终形成了组件对象模型的基础,即通过接口(父类)访问实现(子类)[2]。

2.1.5 JDBC技术简介

JDBC是一种用于执行SQL语句的Java API(有意思的是,JDBC本身是个商标名而不是一个缩写字;然而,JDBC常被认为是代表 ―Java 数据库连接 (Java Database Connectivity)‖ )。它由一组用Java编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API来编写数据库应用程序。

有了 JDBC,向各种关系数据库发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访问 Oracle 数据库又专门写一个程序,为访问Informix 数据库又写另一个程序,等等。您只需用 JDBCAPI写一个程序就够了,它可向相应数据库发送SQL语句。而且,使用Java编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将Java和JDBC结

合起来将使程序员只须写一遍程序就可让它在任何平台上运行。

1. JDBC 的用途

简单地说,JDBC可做三件事:与数据库建立连接、发送SQL语句、处理结果。

2. JDBC 是一种低级API,是高级API的基础

JDBC是个―低级‖接口,也就是说,它用于直接调用SQL命令。在这方面它的功能极佳,并比其它的数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。

高级接口是―对用户友好的‖接口,它使用的是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC这样的低级接口。在编写本文时,正在开发两种基于JDBC的高级API。

一种用于Java的嵌入式SQL。至少已经有一个提供者计划编写它。DBMS 实现SQL,一种专门设计来与数据库联合使用的语言。

随着人们对JDBC的兴趣日益增涨,越来越多的开发人员一直在使用基于JDBC的工具,以使程序的编写更加容易。程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如,应用程序可提供一个选择数据库任务的菜单。任务被选定后,应用程序将给出提示及空白供填写执行选定任务所需的信息。所需信息输入后,应用程序将自动调用所需的SQL 命令。在这样一种程序的协助下,即使用户根本不懂SQL的语法,也可以执行数据库任务。

3. JDBC与ODBC和其它API的比较

目前,Microsoft的ODBC(开放式数据库连接)API可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。为什么Java不使用ODBC?

对这个问题的回答是:Java可以使用ODBC,但最好是在JDBC的帮助下以JDBC-ODBC桥的形式使用,这一点我们稍后再说。现在的问题已变成:“为什么需要 JDBC?”回答如下:ODBC不适合直接在Java中使用,因为它使用C语言接口。从Java调用本地C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。

从ODBCC API到Java API的字面翻译是不可取的。例如,Java没有指针,而ODBC却对指针用得很广泛(包括很容易出错的指针"void *")。您可以将JDBC想象成被转换为面向对象接口的ODBC,而面向对象的接口对Java程序员来说较易于接收。ODBC

很难学。它把简单和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。相反,JDBC尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。启用“纯Java”机制需要像JDBC这样的Java API。如果使用ODBC,就必须手动的将ODBC驱动程序管理器和驱动程序安装在每台客户机上。如果完全用Java编写JDBC驱动程序则JDBC代码在所有Java平台上(从网络计算机到大型机)都可以自动安装、移植并保证安全性。

4.SQL 的一致性

JDBC处理SQL一致性问题的第二种方法是提供ODBC风格的转义子句。转义语法为几个常见的SQL分歧提供了一种标准的JDBC语法。例如,对日期文字和已储存过程的调用都有转义语法。

对于复杂的应用程序,JDBC 用第三种方法来处理SQL的一致性问题。它利用DatabaseMetaData 接口来提供关于DBMS的描述性信息,从而使应用程序能适应每个DBMS的要求和功能。

由于 JDBCAPI将用作开发高级数据库访问工具和API的基础 API,因此它还必须注意其所有上层建筑的一致性。“符合JDBC 标准TM” 代表用户可依赖的JDBC功能的标准级别。要使用这一说明,驱动程序至少必须支持 ANSI SQL-2 Entry Level(ANSI SQL-2 代表美国国家标准局 1992 年所采用的标准。Entry Level 代表SQL 功能的特定清单)。驱动程序开发人员可用 JDBC API所带的测试工具包来确定他们的驱动程序是否符合这些标准。JDBC 也正迅速成为 Java数据库访问的标准[3]。

2.1.6 jQuery简介

jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。

jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式

使开发者可以很轻松的开发出功能强大的静态或动态网页[4]。

2.1.7 Easyui简介

jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式 有深入的了解,开发者需要了解的只有一些简单的html标签。jQuery EasyUI为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。

jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。

jQuery EasyUI有以下特点:

1. 基于jquery用户界面插件的集合;

2. 为一些当前用于交互的js应用提供必要的功能;

3. EasyUI支持两种渲染方式分别为javascript方式(如:$('#p').panel({...}))和html标记方式(如:class="easyui-panel");

4. 支持HTML5(通过data-options属性);

5. 开发产品时可节省时间和资源;

6. 简单,但很强大;

7. 支持扩展,可根据自己的需求扩展控件;

8. 目前各项不足正已版本递增的方式不断完善;

2.2 数据库平台简介

美容美发管理系统的后台是用oracle 进行开发的,下面着重对SQL的主要特点及相关知识做一个介绍,分为安全性、服务器活动等几个方面。

2.2.1 oracle 简介

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核

心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

2.2.2 oracle 的优势

在了解了ORACLE数据库后,我们有必要对ORACLE和Sybase SQL Server的比较, Oracle采用的是并行服务器模式,而Sybase SQL Server采用的是虚拟服务器模式,它没有将一个查询分解成多个子查询,再在不同的CPU上同时执行这些子查询。我们可以说在对称多处理方面Oracle的性能优于Sybase的性能。业务量往往在系统运行后不断提高,如果数据库数量达到GB以上时,我们在提高系统的性能方面可以从两方面入手,一种是提高单台服务器的性能,还有就是增加服务器数目。基于此,如果我们是提高单台服务器的性能,选择Oracle 数据库较好,因为它们能在对称多CPU的系统上提供并行处理。相反,由于Sybase的导航服务器使网上的所有用户都注册到导航服务器并通过导航服务提出数据访问请求,导航服务器则将用户的请求分解,然后自动导向由它所控制的多台SQL Server,从而在分散数据的基础上提供并行处理能力,我们可以选择它。这些都是在其他条件和环境相同的情况下比较的,这样才有可比性。在数据的分布更新方面,Oracle采用的是基于服务器的自动的2PC(两阶段提交),而Sybase采用的则是基于客户机DB-Library或CT-Library的可编程的2PC,因此我们在选择数据库方面,必须根据需要进行选择,比如,从事的社会保险软件的开发,考虑到数据量大,并发操作比较多,实时性要求高,我们后台基本采取的是ORACLE数据库。Oracle服务器由Oracle

数据库和Oracle实例组成。Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成[5]。

2.3本章小结

本章介绍了本次毕业设计所使用的软件平台、硬件平台,着重对My Eclipse 6.5中的公共语言运行时、类库、运行时宿主、公共语言规范及多种编程语言的基本概念作了介绍,介绍了JAVA的主要特点和技术优势,其次还对JDBC技术及其核心组件作了介绍。另外针对oracle数据库的特点对oracle 10g做了大体的介绍。

第三章 系统可行性研究与需求分析

需求分析过程是整个系统开发的重要阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求,并且将现实事务抽象成对象并建模。

3.1 现行系统存在问题与解决方案

企业信息化建设是由一系列子系统所组成的系统工程,仅对各子系统单独进行优化后所组成的系统并不一定优化。

3.1.1 现行系统存在的问题

现行系统是手工运作的系统,可以支持向客户提供会员服务功能,但是,存在以下薄弱环节:

1. 现行系统是手工运作的系统,业务人员手工作业量大,数据传递不及时,对数据的统计和计算过程中易发生差错,工作效率较低。

2. 业务流程管理不够严密。

3. 主要从销售收入角度向管理层提供数据,不能满足管理要求(例如不能即时提供会员信息,会员等级统计等信息)。

3.1.2 解决方案

建议采用的新系统,是一个人机系统,采用C/S与B/S相结合的结构,不但提供了美发店内部很强大的管理功能,还在网络飞速发展的今天,结合当前的需求,设计出方便快捷的会员信息查询,大大增强了美容美发管理系统的可用性与实用性。

新系统能够实现现行系统的功能,并且能克服现行系统的上述弱点,与现行系统相比,将有如下改善:

1. 对信息的采集与记录更细致与全面,能满足不断增长的管理需求。

2. 利用计算机对数据进行加工、统计、分析,提高工作效率。

3. 实现完整的信息管理流程,支持业务管理制度的完善工作。

4. 提供统一格式的计算机打印单据与报表,提升企业形象。

5. 重视对历史数据的存储保护、分析,为管理层对企业的经营预测与决策提供及时有效的帮助。

6. 加入了网络功能,利用网络作为良好的宣传媒介,增加企业利润。

3.2 可行性分析

可行性分析,是指在进行项目投资、工程建设之前的准备性分析工作。它是经济活动中经常使用的一种决策程序和手段,也是工作前的必要环节。

3.2.1 业务流程图

根据该美发店的具体情况,业务可分为三类:第一类是业务管理系统,包括订单功能和工资功能,可以实时生成订单和查询工资操作。第二类是报表查询系统,能向美发店提供统计性的数据,对美发店的管理提供数据支持。第三类是人事管理系统,可以做到人事管理信息化,使得美发店对员工的管理更快捷方便。业务流程如图3-1 业务流程图所示:

图3-1 业务流程图

3.2.2 技术可行性

近年来管理信息系统技术得到了充分的发展与完善,使得开发本系统在技术可行性成为可能,利用JAVA语言开发的系统,不存在技术上的障碍,并且可以最大程度上的满足用户对程序外观上的需求。该系统的软件研发,根据企业管理的需求与客户的需求、进行系统设计与开发,采用成熟的数据库技术与软件开发技术,具有技术可行性。

3.2.3 经济可行性

开发本系统,我主要是为了综合运用在计算机信息管理本科段所学的各科知识,通过理论与实践的结合,提高本人的专业技术知识的应用能力,完成毕业设计,所以软件开发阶段不产生任何费用,只是设计了所需硬件的费用。新系统的费用与收益分析如下:

1.一次性项目建设费用为 人民币 40000元。其中:

软件研发经费:人民币5000元。计算机设备及系统软件费:人民币30000元。 网络建设费:人民币1000元。 培训费:人民币0元。整个项目建设期为0.5年。

2. 投产后的年发生费用预计为人民币8000元。

其中,年运营耗材费:人民币 5000元,年折旧费(支付系统软硬件维护及更新), 人民币6000元。

3. 新系统投产后预期年经济收益人民币30000元。

销售信息利用增值:人民币10000元。 工作效率提升的收益:人民币10000元。 客户满意度提升的收益:人民币10000元。

4. 预计本系统使用寿命五年,按后年利率5%计算:

项目投资回收期=项目投资/(年收入 – 年支出)= 36000/(30000-12000)=2年。 净 现金流量 = Sum(年净收入/(1+年复利息率)n) – 项目投资=(30000-12000)*(0.9524+0.9070+0.8638+0.8227+0.7835)-36000=77929-36000=41929元 。

可见,本系统的投资回收期不很长,即使在使用年利率5%的贷款来进行投资,在项目运营业5年内,酒店仍能获得超过4万元的净现金流量,本项目经济上可行。

3.2.4 运行可行性

在本系统的运营阶段,使用系统的工作人员,除了需要具备在Microsoft Windows

平台上使用个人电脑的知识,并不需要特别的技术能力。这方面的知识,在该酒店与本项目运营相关的直接人员(包括经理层、客房部、前厅部)中已经具备。并且在项目投产前,还会安排对操作系统的人员进行必要的培训。

在具体实施过程中,公司同意建立此的运营管理机制:由公司管理层一名高级管理人员领导,客房部与前厅部具体负责本项目的运营;同时,财务部负责对系统运营过程中的计算机耗材的供应。因此本系统营运方面可行。

综上所述,新系统已具备技术可行、经济可行、营运可行的条件,所以公司决策层同意开发和使用本系统。

3.3 需求分析

需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。酒店管理系统的需求分析要求比较高,对数据的使用量要求严格,具体问题具体分析。

3.3.1数据流图

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。

画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。

数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线性状态。另一种是事务型结构,这种数据流图呈束状,即一束数据流平行流入或流出,可能同时有几个事务要求处理。该系统的数据流图如图3-2所示:

图3-2 数据流图

3.3.2数据字典

数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。

1. 数据流的描述 数据流编号:D-01 数据流名称:登录 简述:管理员登陆信息 数据项组成:管理员账号密码 数据流来源:管理员 数据流去向:登陆模块 数据流编号:D-02 数据流名称:用户信息 简述:用于人事管理的信息 数据项组成:用户信息,用户类型 数据流来源:人事管理模块

数据流去向:添加用户 数据流编号:D-03 数据流名称:订单信息 简述:用于生成订单的信息 数据项组成:订单编号及各项数据 数据流来源:订单生成模块 数据流去向:订单表

3.3.3 系统E-R图

美容美发管理系统E-R图如图3-2 美容美发管理系统E-R图所示。

图3-2 美容美发管理系统E-R图

其中各实体间的关系如下:

用户和在会员信息间的关系是1:1关系。 用户和在理发师信息间的关系是1:1关系。 理发师和订单的关系是1:n关系 理发师和角色的管理师1:1关系 角色和职能的关系是你n:n关系 角色和工资的关系是1:1关系[6]

3.4 数据库设计

美容美发管理系统需要建立自己的数据库。数据库是美容美发管理系统中极为重要的组成部分,也是前台应用程序工作的基础。数据库创建与开发的优劣直接影响到整个系统的质量和效率。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个是数据库在应用领域的主要研究课题[7]。

在设计数据库时,应考虑以下事项:

1. 数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划。 2. 数据库规范化规则,防止数据库设计中出现错误。 3. 对数据完整性的保护。

4. 数据库和用户权限的安全要求。

5. 应用程序的性能需求,设计数据库时必须利用 Microsoft SQL Server 2000 中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的。

6. 数据库维护。

本系统中的数据库共建立了七个数据表,分别是:用户表,会员表,管理员表,工资表,订单表,角色表,权限表。

下面针对数据库中部分表进行描述:

用户表主要记录用户的用户名和密码如表3-4 用户表所示:

表3-4 用户表

序号 1 2 3

英文名 id username password

中文名 编号 用户名 密码

类型 int(4) Varchar(20) Varchar(30)

长度(字符)

4 1-20 1-30

会员表主要记录会员的个人信息如姓名,性别,和会员的消费情况及会员等级的情况,如表3-5 会员表所示:

表3-5 会员表

序号 1 2 3 4 5 6

英文名 mid mname sex phone cost mlevel

中文名 编号 会员姓名 性别

联系方式 累计消费 会员等级

类型 int(4) Varchar(20) Varchar(20) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20 1-20 1-20

理发师表主要记录理发师的个人信息如表3-1 理发师表所示:

表3-1 理发师表

序号 1 2 3 4

英文名 hid hname sex hphone

中文名 编号 会员姓名 性别 联系方式

类型 int(4) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 4-20

角色表主要记录角色信息和角色的权限如表3-7角色信息表所示:

表3-7角色信息表

序号 1 2 3 4

英文名 id pname Rid plevel

中文名 编号 角色名称 与权限中间表id

角色等级

类型 int(4) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20

订单表记录了订单信息如时间,花费,理发师,会员等,所以设计的表的结构如:

表3-8 订单表所示:

表3-8 订单表

序号 1 2 3 4 5 6

英文名 id hname mname role cost time

中文名 编号 理发师 会员 项目 花费 订单时间

类型 int(4) Varchar(20) Varchar(20) Varchar(26) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20 1-20 1-20

工资表记录了角色的级别工资如表3-7角色信息表所示:

表3-9 工资表

序号 1 2 3 4

英文名 id pname wage informat

中文名 编号 角色名称 基本工资 备注

类型 int(4) Varchar(20) Varchar(20) Varchar(20)

长度(字符)

4 1-20 1-20 1-20

3.5 本章小结

本章对美容美发管理系统的可行性研究和需求分析进行论述。对现行系统进行了详细的分析和研究,通过对其管理组织结构、业务流程和系统流程的分析,找出其系统中存在的问题,有针对性施以解决方案,并对系统的研发提供可靠依据。再根据系统的流程图画出系统E-R图。这些图为系统的流程分析提供了可靠依据。

第四章 系统的设计与实现

4.1 系统模块设计

利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最低层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。从对顶层信息的分类开始,沿着图中每条路径反复细化,直到确定了数据结构的全部细节为止[8]。

分为以下模块:

1. 人员管理:会员管理,理发师管理,授权。 2. 工资管理:工资结算。

3. 角色管理:添加角色,修改角色,删除角色,查询角色。 4. 权限管理:添加权限,修改权限,删除权限,查询权限。

5. 订单管理:添加订单,修改订单,删除订单,查询订单,报表查询。 系统功能模块图如错误!未找到引用源。所示:

4.2 数据库的实现

总体设计阶段,在需求分析的基础之上规划出了系统的功能模块,以及在此分析基础上设计出的具体的、可以满足本系统全部需求的数据库。由于数据库在设计中有非常

图4-1 系统功能模块图

重要的作用,所以在开发过程中,在考虑数据库上的时间较多。

出于性能的考虑,和易于维护的考虑,把数据库的连接,单独写出来,并且重写了jdbc中常用的操作函数[9]。

1. 引入相应的包 import java.sql.*;

import javax.sql.*;(高级应用) 2. 加载JDBC驱动程序

Class.forName(“JDBC驱动类名”);

每个Driver类在得到加载的时候,一般都会自动创建一个它本身的实例,并通过DriverManager类的registerDriver方法来自动注册该实例;

3. 创建连接对象

Connection con = DriverManager.getConnection(“数据库url”, “userName”, “password”);

DriverManager类会尝试找到与传递进来的url字符串所代表的数据库进行连接的驱动程序(DriverManager类存有已注册的Driver类的清单),然后创建一个连接对象并返回。

4. 创建SQL语句对象

Statement stmt = con.createStatement();

SQL语句对象用于向数据库传送SQL语句,另外还有PreparedStatement和CallableStatement这两种语句对象。

5. 用SQL语句对象执行数据库操作

查询:ResultSet rs = statement.executeQuery(String sql); 更新:int updatedrowcount = statement.executeUpdate(String sql); 删除:int updatedrowcount = statement.executeUpdate(String sql); 6. 封装jdbc

将jdbc按上述过程创建之后运用公司的框架进行封装为SystemContextUtil静态类,动过调用getDatabase()方法获取数据库对象。

SystemContextUtil类中封装了一系列的函数如:

querylist(),queryObject(),update(),delete()方法等,对数据库的操作提供支持。

4.3 构建系统框架

框架是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整[10]。

本系统使用的管理框架式spring,持久层框架和mvc层框架则使用了本人所在公司

所封装的rest框架,该框架的优点是轻量级,操作比较便捷,非常实用与此系统的开发。

4.3.1 系统主窗体的设计与实现

在整个系统中,各个功能模块都是通过主窗体的调用而开启的,启动程序后,在―系统登录‖界面验证操作员名称和密码后,将进入主程序界面。主程序界面主要包括以下各个功能模块:【基础管理】、【业务管理】、【报表查询】,要调用各个模块内的相应功能,可以通过主窗体左侧的菜单栏上的相应连接打开。系统主界面如图4-2 系统主界面所示:

图4-2 系统主界面

4.3.2 基础设置模块

具体设计过程中,其关键点与难点在于系统的总设计者必须确定整体结构,规定什么是模块,有多少模块,各模块的功能如何;确定模块之间相互作用的共同界面;建立模块功能和表现的评价体系。

根据需求分析将该系统设置为:1. 业务管理模块 2. 报表管理模块 3. 人事管理模块。

4.3.3 业务管理模块

1. 订单生成

进入管理系统后点击业务管理中的订单管理可以进行订单的添加功能,当点击新增的时候回弹出一个新的对话框,有一个预生成的订单,该订单上有一些选项,分别为:理发师,项目,会员,时间,之后有一个按钮显示:计算总数,点击该按钮之后会自动对会员折扣和理发师提成进行计算,讲计算结果传入后台,添加确定后添加成功关闭对话框可以进行查询和删除操作。

该模块的主要意义是实现美容美发店的订单管理信息化,可以直接在电脑中完成对订单的生成和存储的操作,避免了认为失误和一些不必要的麻烦,可以减轻人员的劳动量,增加人员的效率,是员工吧有限是精力放在更重要的事情中,下面我将通过流程图和类调用的方法简要叙述一下该模块的实现过程[11]。

使用userMgrDao的query方法查询理发师和会员到下拉列表中,根据理发师的信息利用classMgrDao的方法查询该理发师的权限显示到项目列表中,根据理发师和会员的等级及所做的项目计算金额,用classSerDao的add方法添加到数据库中,同时检查会员是否升级。

最后把所有信息存入数据库中,订单信息存入horder表中,同事更新会员的消费金额,为原来的金额加上本次消费的金额,根据最后的金额数来判断是否为该会员进行升级。订单模块的流程图,如图4-3 订单模块的程序流程图所示:

图4-3 订单模块的程序流程图

2. 工资管理

工资(wage)是指给普通劳力的报酬,以劳动时间为基础来计算。换取员工依据合约或其他协议所提供的服务而支付的报酬,通常是以金钱作为报酬,并且依据计时、计天或计件工作来支付。

工资管理是根据理发师的等级和本月的业绩计算出来的个人单月工资功能,该功能可以通过管理员实现基本工资的增删改查。

通过lessionMgrDao类的query方法查询角色信息到前台的下拉列表中进行选择,选择之后为其添加基本工资,然后调用lessionSerDao类的add方法将基本工资添加到数据库中。

把工资信息存在hwage中,查询的时候只需将信息从hwage取出来,然后与员工的剪发提成进行计算得出本月的工资。工资模块流程图如图4-4 添加留言版程序流程图所

示:

图4-4 添加留言版程序流程图

4.3.4 统计报表模块

美容美发管理系统提供了很好的财务管理,统计报表可以很直观的统计出指定时间所需的数据,生成的报表为管理层提供了便利的管理依据。

统计报表模块主要是实现统计,将统计信息生成报表的操作。根据需求的不同,将报表模块分为三个功能,分别为:

1. 个人工资查询报表 2. 当月财务报表 3. 会员消费报表 流程参见: 1. 个人工资报表

个人工资报表时理发师查询当月自己所开工资的功能,首先是调用userMgrDao的query()方法选择理发师,然后查询hwage表的信息得到该理发师的基本工资,然后查询horder表得到理发师当月到目前为止的订单数,获取提成,通过计算得到当月所得工资,然后显示在界面中。

提成计算是根据理发师的等级所确定的,一级提成10%,二级提成20%,以此类推。个人工资统计流程图如图4-5 个人工资报表统计图所示:

图4-5 个人工资报表统计图

统计报表界面如图4-6 统计报表界面所示:

图4-6 统计报表界面

2.当月财务报表

当月财务报表时统计该理发店当月所得订单的总数量的报表,首先通过查询后order表得到所选月份的订单信息显示在界面上,然后动过前台计算得到当月总金额显示在界面上。当月财务报表如图4-7所示:

图4-7 当月财务报表流程图

3.会员消费报表

会员消费报表时统计会员累计消费的报表,首先查询hmember表得到所有会员信息,然后选择一个会员,然后查询后order表得到该会员所有的历史消费记录,显示在界面上。会员消费报表如图4-8所示:

图4-8 会员消费报表流程图

4.3.6 人事管理模块

人事管理模块主要是对当前酒店员工进行管理,包括增加入职人员、修改入职人员的信息、对入职人员的信息修改、离职人员的删除操作,这些操作都是基于该用户是管理员的身份。具体流程参见人事管理模块流程图。其中的理发师管理相关实现过程如下:

创建userMgrAction类,调用userMgrDao类的query方法,查看是否存在该用户,如果不存在调用userMgrDao类的add方法添加用户。创建classMgrAction类,调用classMgrDao类的query方法,查看是否存在该角色,如果不存在调用classMgrDao类的add方法添加角色,同时调用lessionMgrDao的addrole方法为角色添加权限。创建lessionMgrAction类,调用lessionMgrDao类的query方法,查看是否存在该权限,如果不存在调用lessionMgrDao类的add方法添加权限。人事管理流程图如图4-9 人事管理

流程图所示:

图4-9 人事管理流程图

4.4 本章小结

本章详细介绍了美容美发管理系统的全部模块的设计过程。整个系统综合运用多种方法,在查询运用到的算法,使得程序的代码简便了很多。另外,本章所介绍的在线预定是整个开发过程中的难点,涉及到许多参数的传递及数据库连接。

第五章 系统测试

5.1 软件测试

程序测试有两种常用的测试方法,即黑盒测试和白盒测试。如果己经知道了软件系统应具有的功能,可通过测试来检验每个功能是否都能正常使用,这种测试方法称为黑盒测试。黑盒测试主要是针对系统的功能进行测试,所以又称为功能测试。如果知道程序的内部工作过程,可以通过测试来检测程序内部是否按照设计规格说明书的规定正常进行,这种测试方法称为白盒测试。白盒测试主要针对系统逻辑结构的正确性、完整性进行测试,因此又称为结构测试[12]。

在测试阶段积累的测试结果,可以用更形式化的方法进行统计分析。系统可靠性模型使用这些错误率数据,可以估计将来出现错误的情况并进一步对系统可靠性进行预测。

5.2 本系统测试

下面对本美容美发管理系统进行测试,以检查系统能否正确完成各种操作,是否能够实现预期具有的功能。

5.2.1 用户权限测试

此模块是进入本系统操作的一个入口,用于维护系统的安全。只有将正确的用户名和密码输入系统,才能继续进行操作。

该系统有大体分两种种用户角色:管理员和普通用户。普通用户又分为酒店员工和顾客。分别设置不同用户的权限,使其所操作的功能不同[13]。

采用因果图的测试方法如表5-1 用户登陆原因结果表所示:

表5-1 用户登陆原因结果表

原因

c1:用户名漏填 c2:密码漏填

结果

e1:弹出提示信息―请输入您的用户名‖ e2:弹出提示信息―请输入您的密码‖

续表5-1

c3:输入用户名 c4:输入密码

e3:弹出提示信息―您输入的用户名或密码不正确‖ e4:登陆成功

分析程序的原困和结果,根据原因与结果、原因与原因产生因果图如图5-2 因果图所示:

图5-2 因果图

根据因果图,产生决策表如表5-3 用户决策表所示:

表5-3 用户决策表

规则

选项

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

条件: c1 c2 c3 c4 动作: e1 e2 e3 e4 不可能 测试用例

1 1 1 1 √

1 1 1 0 √

1 1 0 1 √

1 1 0 0 √

1 0 1 1 √

1 0 1 0 √

1 0 0 1

1 0 0 0 √

0 1 1 1 √

0 1 0 1 √

0 1 1 0 √ 3

0 1 0 0 √

0 0 1 1 √

0 0 1 0 √

0 0 0 1 √

0 0 0 0 √

1 2 4 5 6 7

根据决策表,生成测试用例如表5-4 测试用例表所示:

表5-4 测试用例表 输入

编号

用户名

1 2 3 4 5

空 空 正确 正确 错误

密码 正确 无 空 正确

码不正确 您输入的用户名或密

6 7

正确 空

错误

码不正确

用户名、密码为空

码不正确 用户名、密码为空

码不正确 您输入的用户名或密

请输入您的用户名 请输入您的用户名 请输入您的密码 登陆成功 您输入的用户名或密

请输入您的用户名 请输入您的用户名 请输入您的密码 登陆成功 您输入的用户名或密

输出

预期结果

管理员登陆测试内容包括:输入正确的用户名、密码可以登录系统,错误会有相应的错误提示。可以有效去除非法字符,防止 SQL 注入式攻击,防止用户访问非授权页面。管理员登陆测试用例如表5-5 管理员登陆测试用例表所示:

表5-5 管理员登陆测试用例表

测试用例编号

1 2 3 4 5 6

输入 用户名为空 密码为空 验证码为空 错误的用户名 错误的密码 错误的验证码

输出 请输入您的用户名 请输入您的密码 请输入您的验证码 您输入的用户名或密码不正确 您输入的用户名或密码不正确

您的验证码不正确

预期结果 同输出、与预期同 同输出、与预期同 同输出、与预期同 同输出、与预期同 同输出、与预期同 同输出、与预期同

5.2.2数据查询测试

数据查询测试主要是针对对数据库进行操作的测试,包括向数据库中添加记录、修改记录、删除记录。

测试方法采用白盒测试的方法[14],主要对代码进行测试,如表5-6 入口出口表所示为代码中的入口与出口:

表5-6 入口出口表

编号 1 2 3 4

入口 用户添加 订单添加 管理员登陆 管理信息

弹出提示信息 返回查询数据

跳转至管理员界面或错误界面 执行数据库的增删改查

出口

数据库操作 成功 成功 成功 成功

数据库结果 用户存在 写入成功 用户验证正确 操作成功

5.2.3 其他测试

1. 文字测试

为保证页面内容的正确性,检查页面文字、术语、内容、准确度以及内容的时效性。 2. 链接测试

链接是在页面之间切换和指导用户去链接未知地址的页面的主要手段,它可以与文字或者图片拴在一起。链接也是基于B/S美容美发管理系统的一个主要特征。进行链接测试时,每个链接都要检查,确保它能跳转到正确的目的地,并在正确的窗口中打开。可从三个方面进行链接测试。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;然后,测试所链接的页面是否存在;最后,保证基于B/S美容美发管理系统上没有孤立的页面。孤立页面是网站的一部分,但是没有链接指向该页面,只有知道正确的 URL 地址才能访问。

3. 浏览器测试

Web 浏览器及版本有多种,每一种都有不同的特征集。某一个页面可能在某种浏览器中表现很好在另外一种浏览器中无法显示。设计B/S系统时要选择最普通的特性设计站点,以便在所有浏览器中可以同样显示。 许多平台可以在各种屏幕分辨率和颜色

模式下显示。某个页面可能在一种分辨率下显示异常,在另外一种分辨率下就不会。文字和图片可能换行位置不同、截掉一部分或者根本不显示。可以给用户提示最合适的分辨率。目前较为流行的有自己内核的浏览器有微软的Internet Explorer、Mozilla的Firefox、Apple的Safari、Opera、HotBrowser、Google的Chrome,需要分别在这些浏览器上进行测试[15]。

5.3 本章小结

系统测试是软件的一个重要阶段。其任务是确认和验证软件、设计、实现过程中的逻辑正确性以及发现软件产品中存在的问题,并通过测试不断提高和完善软件产品的质量。软件测试中涉及的第二个问题是排错,也称为调试。排错的目的是诊断程序错误的性质及产生的原因并加以改正。软件排错技术与其说是科学,不如说是一门艺术。软件测试的第三个软件可靠性的评测。可先靠性(到目前为止,要求可靠性为100%是不可能达到的目标)是软件高效、正确运行的保证。

在测试过程中,发现了许多设计时的不足和一些功能的不合理之处,并针对发现的问题,对程序进行改进,并再次进行测试。测试之后,酒店管理系统的登陆模块、数据更新与查询、其他模块的提示功能等均能正常工作,测试成功。

结论

经过近二个月对系统的研究及开发设计,基于B/S美容美发管理系统终于全部完成。系统完成了预期的全部功能。

本系统是经过两周的实地调研和考察论证,采用了面向对象的开发方法,在开发过程中充分考虑用户的需求,并考虑了系统开发最适宜的开发工具及编程语言进行开发,程序部分功能设计经过反复研究修改,并将雏形系统的界面进行美化,最后才使得本系统具有强大的功能。这套美容美发管理系统针对目前餐饮业的实际需求而进行开发,将传统管理所没有考虑到的人事管理、报表信息查询等重要部分都充分的考虑进去,再加上人性化查询功能,可以适应目前美发业的需要,加快美容美发管理信息化进程的脚步。

从工程的开发上看,该系统优点如下:

功能齐全:系统包括了对人事、报表、系统管理等功能,而且增加了人性化查询功能,非常适合目前美发业的需求。

安全性高:系统提供操作员的密码验证,使得系统的安全性得以提高。 实用性强:对系统中资料信息的查询、添加、修改非常方便。

可维护性强:系统可以随时根据美发店实际需要而新增功能模块,新模块与本系统可以很好地兼容。系统还可以随时对数据进行备份与还原,使维护数据库的可行性大大提高。

本次的毕业设计是对我大学四年所学知识的一次总结、温习、巩固、应用和扩展。在做这次毕业设计的时候,我几乎运用到了全部所学:编程、数据结构、数据库、软件工程。将如此大量的论翻译成英文也是对我的专业英语的一次全新考验。许多东西原先都仅仅停留在理论的基础上,此次的毕业设计得到了实际的应用。特别是我这次运用了软件工程的方法来开发系统,为将来的学习工作积累了成功的经验。

参考文献

[1] 刘晓华.J2EE企业级应用开发[M].北京:电子工业出版社,2003:124-167.

[2] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2007:31-84.

[3] David M.Kroenke.Database Processing.北京:电子工业出版社,2001:24-58.

[4] 徐明华Javaweb整合开发与项目实战[M],北京:人民邮电出版社,2009:135-198.

[5] 陆惠恩,陆培恩.软件工程.第二版.电子工业出版社,2000:67-79.

[6] 张家晨,冯铁,王洪媛.面向对象分析到设计的类模型转换方法.计算机应用与软件.2005,7:76-97.

[7] McLeod. Management Information system .Management in Practice Prentice Hall, 1998:35-50、

60-100.

[8] Ron Patton .oftware Testing second edition, SAMS, 2006:46-99 .

[9] 刘玉宝.数据库原理及应用[M],北京:中国水利水电出版社,2006:37-80.

[10]刘斌.大型门户网站是这样炼成的[M].北京:电子工业出版社.2010.

[11] ChristianBauer,GavinKing.Java Persistence with Hibernate,2007:34-131

[12] 徐明华.Javaweb整合开发与项目实战,北京:人民邮电出版社,2009:53-90

[13] Ryan Asleson NathanielT.Schutta Ajax基础教程,北京:人民邮电出版社,2006:33-120

[14] TomNegrinoDoriSmith.JavaScript基础教程,北京,人民邮电出版社,2006:31-167

[15] JeremyKeith.Design with JavaScript and the Document,2006:46-99

致谢

在本次毕业设计中,我首先要感谢的是我的指导老师,在她身上我学到了很多东西,她严谨、认真、负责的工作态度给我留下了深记得的印象。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高,抽出了很多时间对我的论文进行的批改和修正,使得我的论文不断完美,对数据库和JSP程序有了更深的学习。在我不能够去学校让老师当面指导的情况下,还是通过电话和E-mail进行交流和传递信息。这对于我以后的工作和学习都有一种巨大的帮助,衷心地感谢他耐心的辅导。

其实要感谢的是我的同学,在一开始的调研和结构化设计中他给予了我很大的帮助,不仅帮我解答了不少的难点,还给我提出一许多建议,我会以他们为榜样,更好地努力。将这种精神带到以后的工作和学习,使得自己的工作更上一层楼。


相关内容

  • 广东省职业技能鉴定所
  • 广东省职业技能鉴定所 转发广东省职业技能鉴定指导中心关于开展 美容师等三个职业技师.高级技师职业资格鉴定的通知 各有关单位.个人: 现将广东省职业技能鉴定导中心<关于开展美容师等三个职业技师.高级技师职业资格鉴定>的通知,粤劳职鉴[2006]25号转发给你们,并有关事项具体考前辅导,鉴定 ...

  • 医疗美容技术专业毕业实习报告范文
  • 医疗美容技术专业 毕 业 实 习 报 姓 名: 杜宗飞 学 号: 2011090118 专 业: 医疗美容技术 班 级: 医疗美容技术01班 指导教师: 赵建明 实习时间: XXXX-X-X-XXXX-X-X 20XX年1月9日 目录 目录 ............................. ...

  • 汽车美容行业论文:关于汽车美容业的现状分析和发展策略探讨
  • 汽车美容行业论文:关于汽车美容业的现状分析和发 展策略探讨 [摘要]随着我国汽车工业的迅速发展,轿车进入家庭的步伐逐渐加快,为我国汽车美容行业提供了巨大的发展空间.汽车美容养护已被越来越多的人所接受,并且成为一种时尚.汽车美容养护业作为一种新兴产业正在崛起,已成为21世纪的黄金产业. [关键词]汽车 ...

  • 汽车漆面清洁与美容毕业论文
  • 江苏省无锡交通高等职业技术学校 毕 业 论 文 题目: 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果.尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包 ...

  • 我国皮肤美容学事业的发展与现状
  • 我国皮肤美容学事业的发展与现状 经中华医学会批准,作为该组织的第62•个成员──中华医学会医学美容与美容学会于1990年11月14日正式宣告成立,这是一件值得庆贺和令人高兴的喜事,也是包括广大皮肤病学工作者在内的全国数以万计医学美学与医学美容学工作者多年来共同努力的硕果,它标志着20世纪80年代中后 ...

  • 美容保健培训学校工作总结
  • xx市美容保健培训学校创办于年,六年来,从原有的平方米的教室及一个班级,发展成为现在多平方米的教学场地和平方米的教学实习场所,为学员提供了专业的理论学习和实践操作的理想环境,成为xx市规模最大的美容培训学校。目前办学层次为初、中、高级培训,办学形式为全日制教学。 总结xx年度办学情况,我们主要做了以 ...

  • 论文要求格式要求
  • 论文要求格式要求 一.论文要求 1.运用所学知识,结合本单位实际,提出自己观点和设想: 2.思路清晰,观点明确,条理清楚,措施得力: 3.文理通顺,格式符合要求. 二.格式要求 论文构成:(1)封面:(2)目录:(3)内容摘要和关键词:(4)题目和正文: (5)结尾:(6)参考文献:(6)致谢. 1 ...

  • 汽车装潢美容班毕业典礼演讲稿
  • 尊敬的领导.亲爱的同学们: 一.开头语 大家下午好!今天是汽车装潢美容一期班顺利结业的日子,我仅代表万学源全体教师感谢系领导对于我们教学工作的大力支持!感谢汽车装潢美容班全体同学的积极配合!谢谢你们!(掌声) 二.课程总结 学习时光去如飞,奋发场景仍眼前.两个月的时间,我们按照课程安排圆满完成了汽车 ...

  • 成都市现代职业技术学校招生简章
  • 学校代码:51170 成都市现代职业技术学校是成都市锦江区直属公办学校.四川省重点职业学校.成都市"校风示范校".成都市文明单位.国家职业技能鉴定所.中国美容美发协会常务理事单位.成都市美容美发行业协会副会长单位.省美容美发行业商会理事单位.成都市幼教专委会主任学校和成都市旅游专 ...