论文 基于bs结构的运动会管理系统设计
本科毕业设计(论文)题目名称:基于B/S结构的运动会管理系统设计学院:计算机科学技术专业年级:专计09—1学生姓名:郝德宇班级学号:31指导教师:李红果二○一二年五月二十六日II\n摘要本文着重阐述了信息化的运动会管理相比传统的人工化的优势,以及对本餐饮管理系统的运行和操作过程做以详细介绍。本系统是专门面向中小型餐饮行业发展的管理型软件。本人利用当下最流行的Jsp为开发工具,以SQLserver2000为数据库开发环境。其主要功能是为了实现酒店管理的简单化,方便化。以节省酒店人力资源和物资资源,降低营运成本和吸引更多顾客,提高酒店经济效益为目的的一个通用型软件。本系统大致上可分为三大方面。分别是,前台登记管理,客户操作管理,以及后台管理三方面。其中着重点以前台登记管理为主,包括预定登记,选择包房,选择人数以及酒菜和房台的设置情况。顾客操作管理比较简捷。包括顾客点菜服务、预约服务、结账服务其中扩展功能为会员管理功能等。后台管理包括基本数据输入、基本业务管理、查询和营业分析等功能。经过系统设计前的调研得到了许多关于酒店餐饮方面的信息,无论是前台的登记部分还是后台的操作都实现了餐饮娱乐企业的日常运营,这符合餐饮业的流程,也有利于酒店的管理,大大增强了酒店的简洁性与实用性。关键词:餐饮管理;Jsp;数据库;WebII\nAbstractThistextemphasizesthenetworkexaminationthatexpatiatetheadvantagecomparesthetraditionalexaminationmethod,examiningtothenetworktheprocessdotointroducewiththefine.Thistextrealizingsystemforprovidingthesectiondatasetsup,employeethefiledataJSPsetsup,employeewagessubsidySQLserver2000deducttheinformationrecordinto,monthinemployeewagescalculation,thesectionwagesconstitutesandemployeethewagesclassificationconstitutesandthesubsidyclassificationconstitutesandthecovarianceetcvariousfunctions.Foodandbeveragemanagementsystemcommencethreeaspects,thedevelopmenttoolintroducedthepurposeofthedevelopmentwagesfilemanagementsystem,andthendothedescribingofsynopsistowholesystem,anddetailedclearlyanddefiniteelucidationtorealizingofeachfunction.Throughtheinvestigationbeforethesystemdesigningandfoodandbeveragemanagementnomattertheexamplanorthenewsrelease,theyallneedtobecheckedstrictlytotakeeffect.Checkingprocessandautomatichintsofsystemmatchtheprocessofenterprisework,andtheyalsobenefittothemanagementofenterpriseandgreatlystrengthenthealternationabilityofthestation.Keywords:FoodandBeverageManagement;Jsp;database;WebII\n目录摘要IAbstractII第1章绪论11.1运动会管理系统概述11.2系统开发和意义1第2章方案论证32.1操作可行性分析32.2经济可行性分析32.3技术可行性分析42.3.1JSP技术42.3.2JDBC技术52.3.3Struts技术62.3.4SQLserver2000数据库72.3.5JavaWeb应用容器82.4法律可行性分析82.5方案选择82.5.1动态页面技术92.5.2数据库连接技术92.5.3数据库的选择102.5.4Struts框架102.5.5B/S模式10第3章需求分析113.1功能需求113.2性能需求123.3设计思想123.4设计原则133.5现状分析133.6系统描述143.7运行环境143.7.1硬件环境143.7.2软件环境143.8软件开发时可能遇到的困难15第4章系统概要设计164.1系统主要功能16\n4.2基本信息输入功能174.3基本报名功能184.4查询功能194.5成绩分析统计功能194.6辅助功能204.7数据库概念结构设计20第5章系统详细设计225.1系统功能模块225.1.1报名模块225.1.2选项设置235.1.3营业分析235.1.4财务查询235.1.5辅助管理235.2数据库逻辑结构设计24第6章系统测试276.1单元测试276.1.1白盒测试276.1.2黑盒测试306.2集成测试与系统测试316.3测试结论31总结32致谢33参考文献34附录35\n第1章绪论1.1餐饮信息管理系统概述在信息技术高速发展的今天,计算机网络与数据库技术得到空前应用。随着社会的发展以及人们生活节奏的加快,许多的餐饮机构都需要通过信息化管理来达到提高工作效率,降低营运成本和吸引更多客户的目的。因此,制作本系统的目的就是为酒店管理提供一定的支持,让服务人员在良好的、高效的、愉快的环境下工作。一般来说餐饮信息管理系统可以从以下几个方面来提高企业管理水平:1.提高管理效率降低人工成本2.降低运营成本3.为酒店提供技术支持4.完善的数据库支持5.为企业提高经济效益6.高效决策1.2系统开发和意义根据对各种中小型酒店和客户要求的调查,本次设计的题目是基于B/S结构下的餐饮信息管理系统,利用Jsp作为开发平台,使用SQLserver2000数据库存储数据,并且能在Windows98/2000/me/xp等环境下运行。目前的小型餐饮企业还局限在人工管理的模式中,单凭人工进行餐饮行业管理不但浪费人力,物力和财力,而且人工操作容易出错,由其账务方面更是马虎不得,一不小心就会给企业带来极大损失。由于计算机计算速度快而且不易出错,所以从事餐饮行业的人员急需计算机的帮助。有了计算机还是不行,因为没有软件的支持他什么也做不了,所以就需要人们进行相应软件的开发。该结构可以减少企业人力的浪费,为企业的管理带来极大的方便。管理人员可以通过网页形式能容易的实现顾客就餐登记,通过计算机来点选自己喜欢的美味佳肴,使顾客大饱口服的同时也使企业节省了不小的开资为企业带来更大的经济效益。随着计算机信息化的发展,越来越多的企业或者行业,都需要通过计算机来管理。而通过计算机来管理一个企业,首先就是需要将企业的重要资料以及信息保存到计算机中,这样才能快速地通过计算机处理。数据库编程在这个过程中起到了非常重要的作用。41\n数据库是人们快速全面管理数据信息的有效工具,它是在计算机存储设备上合理存放结构化的相关数据集合,并与其他部分共同构成数据库系统。数据库在物理上是在计算机存储设备上存储了信息数据的实体,一般以文件的形式存在。数据库系统在软件上包括数据库管理系统,支持数据管理系统的操作系统,各种语言编译程序,用户的应用程序等。数据库系统相对于其他数据管理技术有如下特点:数据共享,减少了数据的冗余,保持数据的一致性和数据独立性,有数据安全与完整性保障。因此将计算机技术融入到餐饮行业也是一项必要的工程项目。人类社会进入了信息时代,计算机网络已经深入到社会生活的各个方面。网络就是计算机功能的延伸,要想充分利用计算机,就必须掌握网络技术。因此本人设计了一个涉及到网络方面的餐饮管理系统。本人的基本思路是:将理论联系到实际当中,突出系统的简便性,实用性。以及提高酒店经济效益为目的。如何处理好酒店的大量信息,以及账务关系数据就成了许多餐饮业户的头痛之事。通用酒店管理作为餐饮行业的一个方面,其可变因素过多,管理事务过于繁琐复杂,再加上其固有基数大,因而形成了巨大的数据量。不可避免的增加管理的工作量,常常使有关人员感到头疼。为了使数据管理更现代化,自动化,智能化。减轻了人工管理的工作量,使其变得更具有条理性,科学性,为信息管理事业做出了巨大的贡献。41\n第2章方案论证可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。开发任何一个基于计算机的系统都会受到时间和资源的限制。因此在开发软件项目之前,必须根据可利用的时间和资源等条件进行可行性研究。可行性研究工作的主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目是否具有开发的可行性,即在系统层面上论证系统开发的可行性。可行性研究主要包括经济可行性研究,技术可行性研究,运行、操作可行性研究,法律可行性研究和开发方案的选择。我的可行性研究重点从四个方面考虑:操作可行性、经济可行性、技术可行性和法律可行性。2.1操作可行性分析对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。该系统是一款模拟人工点菜管理的系统,但更优越于人工操作,其工作效率更高于人工操作管理。降低企业的人力物力,为企业带来更高的经济效益,因此可以说本系统具有极高的可行性。2.2经济可行性分析时间行进到21世纪,以计算机技术为主体的高新技术群体已经将触角深入到经济的方方面面。在市场经济的大环境下,越来越多的人士逐渐认识到用计算机技术进行各类管理,交流的便捷。如何利用先进的管理手段,提高对相关信息的管理水平,是每一家现代化餐饮部门面临的重要课题。现代餐饮业所面临的问题是:顾客繁多,菜品繁多,职员繁多,管理内容繁杂,日常需要耗费大量人力和物力。要想解决这一难题,就须有一套科学、高效、严密、实用的餐饮管理系统。采用现代计算机管理系统是实现此目标的重要途径。使用计算机进行的管理、提供的服务是规范的、统一的,它在餐饮管理当中的应用不仅可以简化、规范餐饮部门的日常操作,而且可以使餐饮部门管理更加简单、方便、快捷、清晰、从而减轻工作人员的劳动强度、减低部门的财政消耗。41\n2.3技术可行性分析现代信息技术的发展,使得基于B/S结构下的餐饮管理平台成为现代人的一种新的管理方式,所以网上餐饮管理系统作为顾客和餐厅交流的平台,是十分有意义的。通过打开浏览器就可以方便快捷的进行信息交流和共享,管理者可以通过IE浏览网上餐饮管理系统的首页,查看顾客所要预定的食品,以及预定就餐的时间。这样一个具备以上功能的管理系统,在理论上它是可行的也是能让管理者得心应手的,我将采用JSP(JavaServerPages)技术为创建动态的Web页面提供一种简化、快速的方式,JSP规范定义了服务器和JSP页面之间的交互,并且描述页面的格式和语法。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。本系统采用了JSP网络开发语言开发,用SQLServer2000做为后台数据库 ,两者都是经过了较长时间考验的开发系统的方式,并被大多数的人知晓,由于想要用java语言,所以我选择了与其配套的JSP作为开发系统的工具。根据长时间的学习及搜集资料并考虑到硬件配置,论证得出基于B/S结构的餐饮管理系统具有技术可行性。由于本系统开发的主要背景在经济上不注重直接的经济收效而是注重整体编程水平的提高。在现有的学习环境下可完成本系统的开发。2.3.1JSP技术JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java2EnterpriseEdition)一起发展。JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Javaclass、Servlet、Applets和WebServer,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSPengine)转换成一个Servlet,即将”.jsp”文件编译成JavaClass文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP41\n文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。2.3.2JDBC技术JDBC是一组首字母缩写,曾经代表“JavaDataBaseConnectivity”,是为各种常用数据库提供无缝连接的技术。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。但现在它本身已成为一个商标符号,它是一种在Java语言中访问数据的JavaAPI(API是ApplicationProgrammingInterface,应用程序设计接口)。JDBC由一些Java语言编写的类和接口组成,它为数据库开发人员提供了一个标准的API,使得利用Java程序设计语言开发工业标准的数据库程序成为可能。JDBC的主要类包括有以下两个:1.java.sql包,提供在Java中访问和处理存储于客户端数据源中数据的API。2.java.sql包,提供在Java中对服务器端数据源进行访问和处理的API。JDBC可访问的数据源:通过JDBC可以方便地使用SQL访问关系数据库,并且它支持扩展的SQL。但是,JDBC并不只是用来访问关系型数据库,它可以访问的数据源包括以下类型:1.关系型数据库,如:Oracle,SQLServer2000,Access等。2.电子数据表格,如:Excel等。3.平面数据文件,如Foxpro,Paradox等。JDBC主要完成以下四方面的工作:加载JDBC驱动程序、建立与数据库的连接、.使用SQL语句进行数据库操作并处理结果和关闭相关连接。图2-1JDBC技术41\n2.3.3Struts技术(1)MVC模式MVC是Model(模型)——View(视图)——Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,视图的更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。下图所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:响应请求选择视图请求控制器接受用户请求调用模型响应用户请求选择视图显示模型处理后的结果视图把用户输入数据传给控制器显示模型状态响应模型状态更新模型封装应用程序状态响应状态查询处理业务流程通知视图更新状态状态查询通知更新图2-2模型、视图、控制的关系(2)Struts是实现MVC模式的框架41\n设计模式是软件开发经验的总结,它是一个概念,是一个逻辑实体,而框架可以看成是基于某一特定平台的一种或几种设计模式的物理实现。设计模式比框架更抽象,设计模式只有其实例才能表示为代码,而框架本身可以用代码表示,框架是一套设计详细的类,类与类之间功能各异,又彼此联系,相辅相成,形成了对某一类问题的可重用的、易扩展的解决方案Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。模型通常由JavaBean或EJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Struts—config.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts—config.xml是与Struts相关的特殊信息配置的描述文件。下图是Struts的调用过程:浏览器控制器Servlet视图JSP业务逻辑Action模型ApplicationState请求调用配置文件Struts-config.xml取得数据响应图2-3Struts的调用过程2.3.4SQLserver2000数据库要开发任何的系统无疑都是对数据的操作,本系统采用了SQLserver2000作为后台服务器的数据库。MicrosoftSQLServer2000能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到SQLServer2000实例。SQLServer2000为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。SQLServer2000还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘I/O。超大型Internet站点可将其数据分开存放在多台服务器上,从而使处理负荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务。可以在一台计算机上运行多个SQLServer2000实例。例如,一个为其它许多组织提供数据库服务的组织可为每个客户组织单独运行一个SQLServer2000实例,而全部实例可集中在一台计算机上。这样,既隔开了每个客户组织的数据,同时又使服务组织只需管理一台服务器计算机从而减少了费用。SQLServer2000应用程序可在装有SQLServer200041\n的计算机上运行。该应用程序通过Windows进程间通讯(IPC)组件(例如共享内存)而非通过网络连接到SQLServer2000。这使SQLServer2000得以应用于应用程序必须在本地存储数据的小型系统中。大型Web站点和企业级数据处理系统通常会生成大量的数据库处理,超出了一台计算机的支持能力。在这些大型系统中,数据库服务由组成数据库服务层的一组数据库服务器提供。SQLServer2000不支持采用平衡负荷的聚集形式建立数据库服务层,但支持跨自主服务器组分存数据的机制。尽管每个服务器需分开管理,但组内的各个服务器可共同分担数据库处理负荷。共享同一工作负荷的一组自主服务器称为服务器联合体。2.3.5JavaWeb应用容器Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。2.4法律可行性分析由于本网站是独自开发,不是照搬别人的网站源码,所用的开发工具都是免费的工具。不存在知识产权等与法律有关的问题。2.5方案选择在可行性研究阶段,需根据系统分析确定的系统目标开始研究问题的求解方案。对于较复杂的大型系统,一般都要将其分解为若干个子系统,然后精确定义各子系统的界面、功能和性能,并给出各个子系统之间的关系。分解技术可降低解的复杂性,有利于人员的分工与组织,提高开发生产率和开发质量。我的具体方案是:将系统分解为若干个子系统,精确的定义子系统的界面、功能和性能,给出各子系统之间的关系。41\n2.5.1动态页面技术Internet和电子商务等应用的出现,动态网页技术也随之诞生动态网页技术有以下几个特点:交互性、自动更新、因时因人而变,目前主流的动态网页技术有PHP、ASP、JSP等,通过对这几种语言特点的简单比较,选择出比较适合本系统的语言。1.PHP由于其良好的性能及免费的特点,是目前互联网中应用非常流行的一种应用开发平台。优点:简单易学、跨平台、有良好数据库交换能力的开发语言;与Apache及其扩展库紧密结合;良好的安全性。不足:安装配置复杂;缺少企业级的支持;作为自由软件,缺乏正规的商业支持;无法实现商品化的商业开发。基于Unix类平台的应用比较适合采用PHP。2.ASP由微软创建的Web应用开发标准,包含在IIS服务器中,ASP服务器将Web请求转入解释器中,在解释器中将所有ASP的脚本进行分析,然后执行,同时可以创建COM对象以完成更多的功能,ASP中的脚本是VBscript。优点:安装配置方便,开发简单易学;开发工具功能强大。不足:ASP使用了组件因而将导致大量的安全问题;无法实现跨平台,只能应用于WindowsNT/2000。3.JSP具备了Java技术的简单易用、完全面向对象、安全可靠、主要面向Internet的所有特点。优点:可移植性好,支持多种平台;强大的可伸缩性;多样化与强大的工具支持。不足:安装配置管理较为复杂;运行速度较慢;建议开发大型应用系统采用JSP。通过几种语言的比较,慎重考虑到大型商场管理系统的具体需要,选择了安全性较好的JSP作为开发语言。2.5.2数据库连接技术连接数据的技术常用的有两种:JDBC技术和ODBC技术。(1)ODBC不适合在Java中直接使用,因为它是一个C语言实现的API,从Java程序调用本地的C程序会在安全性、完整性、健壮性方面都有许多缺点。(2)ODBC不能完全精确地实现从C,API到JavaAPI的翻译。(3)ODBC很难学,它把简单和高级功能混杂在一起,甚至对非常简单的查询,其选项也非常复杂。而JDBC恰好相反,其尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。(4)启用纯Java需要像JDBC这样的JavaAPI。由于Java语言具有跨平台性,所以将Java和JDBC结合起来将使程序员只须写一遍程序就可让它在任何平台上运行,这也进一步体现了Java语言“编写一次,到处运行”的宗旨。由于本系统的开发使用了Java语言,因此,选择了JDBC技术。41\n2.5.3数据库的选择数据库是应用系统的核心,从系统组成上看,一个完整的数据库应用一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员和用户组成。选择合适的数据库管理系统和应用开发成功与否的关键问题。目前市场上应用教多的数据库产品有很多,如Oracle、Sybase、MicrosoftSQLServer2000,MySQL等。从稳定性和数据量的大小方面考虑,相比较之下,选择了SQLServer2000,首先从代码的跨平台等方面也是比较理想的选择。2.5.4Struts框架选择Struts架构也是本设计的一大特色,采用Struts能开发出基于MVC设计模式的应用构架。Struts有如下的主要功能:(1)包含一个controller servlet,能将用户的请求发送到相应的Action对象。(2)JSP自由库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。(3)提供了一系列实用对象:XML处理、通过Java reflection API自动处理JavaBean属性、国际化的提示和消息。2.5.5B/S模式目前,网络应用软件运行的模式主要有:Client/server模式和Browser/server模式两类。C/S主要的缺点是维护、升级较麻烦。B/S与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Server,而Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。在三层体系结构中,客户端只需要安装标准的浏览器(IE或Netscape)就可以访问WebServer以及JDBCServer中的信息,同时数据库服务器上的信息维护可以直接在服务器上进行,如果权限允许的话,也可以在任何客户端进行。41\n第3章需求分析什么是需求分析?需求分析是准确的理解用的需求将其转换成需求定义,然后由需求定义转换成形式化的功能规约。需求分析的困难表现在问题的复杂性、交流的障碍、不完备和不一致性、需求易变性,整个工程如图2.1。任务:问题识别(功能需求、性能需求、环境需求、用户界面需求)分析综合导出逻辑结构、编写文档(需求规格说明书、初步用户手册、确认测试计划、完善修改软件开发计划)。从广义上理解,需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。从狭义上理解,需求分析指需求的分析、定义过程。其需求工程如图3-1所示:图3-1需求工程图3-1需求工程图问题索引需求工程需求开发需求管理分析编写规格说明验证为什么要需求分析?需求分析是分析软件用户的需求是什么,如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。因此,在程序的开发之前,需求分析必不可少,需求分析是设计的开始步骤而且涉及整个设计的基本设计方向,在整个系统设计过程中是至关重要的一个过程,需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,它在软件开发的过程中具有举足轻重的地位,一定要对需求分析具有足够的重视。在一个大型软件系统的开发中,它的作用要远远大于程序设计。简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。3.1功能需求本餐饮管理系统需要提供前台登记管理,客户操作管理,以及后台管理三个方面。前台登记管理前台登记管理包括预定登记,选择包房,选择人数以及酒菜和房台的设置情况。41\n客户操作管理客户操作管理包括顾客点菜服务、预约服务、结账服务其中扩展功能为会员管理功能等。后台管理后台管理包括基本数据输入、基本业务管理、查询和营业分析等功能。3.2性能需求整个系统应当操作简便,界面良好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。3.3设计思想JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与建立的一种动态网页技术标准。使用JSP技术,Web页面开发人员可以使用Html或者XML标识来设计和格式化最终页面。使用JSP标识(tag)或者小脚本(Scriptlet)来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。JavaBeans是一种基于Java的软件组件,JavaBeans和ActiveX控件一样,可以通过封装业务逻辑建立一整套可重复利用的对象库。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发,也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务、或负责与数据库的交互以及数据提取等,该系统就在JSP中利用JavaBeans通过JDBC-ODBCBridge访问客户信息数据库。Struts是建立在当前动态网站设计领域中JSP、Servlet、XML等相关开发技术基础之上的一种主流开发架构,具有组件模块化、灵活性和重用性的优点,同时极大地简化了Web应用程序的开发。它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性。该系统的设计思想如下:1.页面模块化:本系统在界面设计上都采用了模块化处理思想,把很多页面共有部分集成一个模块,例如页面的头和尾,这样在开发时,遇到这些相似的页面部分就不需要重新编写,而只一句:
重用这部分代码即可,大大提高了开发效率。2.Struts结构设计:Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller41\n分别映射到Web应用中的组件。Model模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomFormBean体现,对于业务逻辑通常由JavaBean或EJB组件来实现,用户界面与业务逻辑分离;View是由JSP和struts提供的自定义标签来实现;Controller负责控制流程,主要由ActionServlet类和Action类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。在系统的安全性、可维护性、重用性和可扩展性都大大提高。3.4设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:1.实用性原则:适合菜肴信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。2.准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如类型匹配,长度不超限等)。3.易操作原则:要求设计的系统功能齐全,操作方便,必要的地方进行提示。4.源程序可读性原则:为了便于其它设计,维护人员读懂代码或以后的代码修改,软件升级维护,既可能做好代码注释工作。5.优化原则:为了达到优化的目的,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简洁明了,也方便了将来的维护。6.安全性原则:用户只能对自己的密码进行修改。系统管理员也不能修改他人的密码,但是能设置各用户的权限。3.5现状分析在80年代初发展起来的国内的酒店管理系统,充分吸收了国外管理系统的精华,再结合国内的实际情况,逐步发展成熟,到90年代初期已形成了几个较成熟的软件系统,同时,产生了几家专职从事宾馆业计算机管理系统的公司。到了90年代中后期,随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理系统的发展到了一个新的时期,新的系统平台、新的系统特点及发展方向不断涌现,主要体现在系统基本转到客户机/服务器模式下的Windows版,功能更加细致完善,系统更加稳定可靠。据一位业内人士称:“对软件开发商来说,小的软件商慢慢淘汰。对用户来说,国内大的系统慢慢进入五星级酒店市场,而以前基本被国外系统所垄断。”目前,比较成熟的国内酒店前台管理系统:中软,华仪,泰能等。41\n3.6系统描述餐饮管理系统要实现的功能非常多,主要包括基本数据查询、基本业务功能、查询功能、营业分析统计、辅助管理等一系列功能。同时此系统还包括客服中心服务,用户可以提出自己对菜肴以及对我们服务的一些建议,还可以留言询问在操作方面不懂的地方,在这个过程中增强了我们和顾客之间很好的交流。另外也节省了管理人员的人力,从而更好的管理酒店。3.7运行环境系统开发环境的选择对于系统的建立来说是至关重要的,它将决定着系统开发工作量的大小,系统的性能特点以及系统今后维护工作的难易等。因此在开发系统之前,根据对系统所采用的技术实现功能的评估,在选择开发环境时,我主要考虑了以下几个因素;扩展性、总体成本、功能、是否容易开发和管理,另外开放性和互操作必也是需要考虑的一个重要方面,因为该系统是运行在Internet上的,用户平台的差异性决定了与其他系统的互操行是不可避免的。3.7.1硬件环境硬件配置是由创建该系统所需的软件来决定的。在最低配置下,系统虽然也能正常的运行,但其性能往往不尽人意,如果我们想使得该系统能很好的运行,我们需要更好的配置。下面是我为该系统设定的最低配置:处理器:IntelPentium或者DECAlpha内存:256MB硬盘空间:40GB显卡:SVGA显示适配器3.7.2软件环境古人曰:工欲善其事,必先利其器。制作网上汽车营销第一件事就是选好相关的软件和工具。制作网页的工具很多,但选择一个好的编辑器会事半功倍!在网页设计中选择了目前功能比较强大的Dreameaver8.0这样可视化的开发环境。数据库方面应用,由于此系统涉及的数据不是很多,没有必要用Oracle这类大型数据库软件,SQLServer2000就可以完成所有的功能。另外本文涉及的WEB服务器,我所选择的是TOMCAT6.0服务器,它是当代比较好的服务器,因为是开源的,对于刚刚开发电子商务网站的初学者来讲,这个服务器是一个比较好的选择。下面简单介绍一下这三种开发工具。(1)Dreameaver8.0首先介绍一下Dreamweaver8.0,它是集网页制作和管理网站于一身的“所见即所得”的网页编辑器。要开发一个专业网站,Dreamweaver8.041\n完全可以满足各种需要,而且在该版本中,还可以直接建立Flash图形。Dreamweaver8.0是WEB站点开发的中心环节。完全用户自定义控制可以迅速完成页面以及站点的设计。RoundtripHTML/JavaScript行为库以及可视化编辑环境大量减少了代码的编写,同时亦保证了其专业性和兼容性。“通过Dreamweaver8.0与其它群组产品的配合使用以及众多第三方支持可轻松完成动态发布各电子商务网站的构建。到目前为止,全世界范围超过60%的专业网页设计师都在使用Dreamweaver”。Dreamweaver8.0在Windows环境下的基本配置如下:IntelPentium533以上处理器、Windows2000/me/xp或者NT4.0、64MB内存、500MB硬盘空间、至少256色、分辨率在800*600的彩显。(2)Tomcat自从JSP发布之后,推出了各式各样的JSP引擎。ApacheGroup在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet,这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美。(3)SQLServer2000使用jsp开发语言并使用由MicrosoftSQLServer2000关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用HypertextTransferProtocol(超文本传输协议,HTTP)来访问SQLServer2000,以实现面向SQLServer2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。3.8软件开发时可能遇到的困难本系统的设计,难点之一是对数据库的链接。难点之二是订单管理。因为当用户选定菜肴时,生成订单的同时,管理人员在用户选定菜肴以后又要执行订单,订单的数据库设计就显得比较复杂。41\n第4章系统概要设计4.1系统主要功能通过了解餐饮系统的流程,可以对餐饮系统的功能进行分析和检验。并且经过对饭店餐饮的流程进行详细了解与分析后,我们了解到一个功能完全的餐饮信息管理系统必须包括四个功能模块:基本数据输入功能模块,基本业务功能模块,查询功能模块,营业分析功能模块。下面对这几个功能模块进行说明:1.基本数据输入功能模块在这个功能模块中,提供使用者录入。用户需要输入餐饮的相关的信息,或者其它信息。比如在这个模块中可以输入顾客的信息,饭店拥有包间或桌台的房台信息,酒菜的种类信息以及酒菜的价格等信息。2.基本业务功能模块此功能模块中,模块的功能主要实现对顾客餐饮消费的管理,能够显示出饭店的使用情况和顾客的消费情况。比如根据当前房台使用情况为顾客选择空闲的房台或者选择较理想的房台,根据顾客的点菜输入菜谱信息形成一次消费的点单等。此模块的功能是整个餐饮管理系统的关键。3.查询功能模块查询功能模块中,在餐饮信息管理系统中除了对业务流程进行计算机的信息化管理外,查询是一项很重要的功能。查询可以帮助用户方便的找到想要获得的信息,也可以帮助顾客选择合适的房间,酒水以及菜肴。如帐单查询等,能够方便用户查看一些有用的信息。4.营业分析功能模块在此功能模块中,对于一个饭店的经营者来说,营业的数据分析和统计是一个很重要的功能,所以这个模块是最重要的功能模块。因为饭店的经营情况左右着经营者的决策。它可帮助用户查看营业的一些相关信息,了解饭店的经营情况。系统的功能需求可通过图4-1表示:41\n餐饮管理系统基本数据输入基本业务功能营业分析统计辅助管理查询功能基本数据输入酒菜信息设置房台信息设置报表输出设置图4-1餐馆管理系统4.2基本信息输入功能该模块的具体功能可以通过图4-2表示:图4-2基本数据输入基本信息包括酒菜大类的设置,酒菜小类的设置,酒菜信息设置,房台信息设置,消费方式设置等。此功能实现洒菜信息输入到数据库。酒菜信息包括编号、酒菜名称、单位、价格和成本等信息。前置条件:已设置了酒菜大类,酒菜小类信息。41\n4.3基本业务功能如图4-3所示:基本业务功能预定业务点菜业务结帐业务选台开台业务图4-3基本业务功能这些功能需求基本上包括了顾客的一次餐饮消费的全过程:(1)预定功能需求首先选择一个未使用的房台,输入预定的基本信息,然后将该房台的预定信息加入到数据库中,产生所有预定房台的信息。该功能实现根据顾客的预定将该项房台的预定信息加入到数据库中,以便将房台预留给顾客,在预定的时间段内该房台不能被使用。输入的预定信息包括预定客人姓名,人数和预定时间等。(2)选台和开台功能需求这些功能实现让操作员选择没有使用的房台号,输入房台使用的基本信息,将该房台的状态设置为使用。使得该房台进入点菜阶段。输入的房台信息客人姓名和人数,选择消费方式,输入会员卡号和备注信息。并且可以查看该房台的所有预订情况,可直接将选中的预定信息转入开台,在输入信息后系统同时删除该预订信息。(3)点菜功能需求顾客进行点菜,输入酒菜数据到该房台生成系统所需要的点单信息。此功能实现根据顾客的点菜要求输入点单信息到该房台上台的信息中,便于进行下一步结帐。酒菜点单中包括的主要信息说明如下:点单编号:点单号在每个营业日内惟一,每日从1开始,每次生成时隔不久自动加1。关联信息:归属的帐单编号,房台号,房台名称。点单信息:点单时间,点单员工,点单类型,计费方式。菜信息:酒菜编号,名称,单位,计费方式。金额信息:价格,数量,金额。前置条件:房台已经处于开台状态。(4)结帐功能需求41\n首先选择一个已经使用的房台使其进入结帐状态,然后根据点单消费,折扣计算消费金额,收费后记入到数据库帐单中,进入清台状态。该功能实现根据当前使用房台的点单计算消费金额,收取付款并且将消费信息加入到数据库中,并使该房台进入清台状态。前置条件:该房台已经点菜4.4查询功能这个模块的具体功能可以使用图4-4表示:查询功能基本信息查询点单帐单查询会员查询图4-4查询功能(1)账单查询功能需求首先输入要查询的帐单号,然后根据帐单号从数据库中查询所有相关的帐单信息,最后列出帐单详细的列表信息。该功能实现查询账单号的账单。(2)点单查询功能需求首先输入要查询的点单号,然后根据点单号从数据库中查询所有相关的点单信息,最后列出点单详细列表信息。该功能实现查询点单号的账单。(3)会员消费查询功能需求首先输入要查询的会员卡号,然后根据输入条件从数据库中查询所有关的消费信息,最后列出会员消费的详细列表信息。该功能实现查询会员号以及消费金额等信息,从而了解各个会员的消费情况。4.5营业分析统计功能该模块的具体功能可以使用如图4-5表示:41\n营业分析统计销售量分析房台营业统计酒菜销售分析图4-5营业分析统计(1)销售量分析功能单击房台或酒菜名称,根据所选择的条件从数据库中列取所有相关的消费信息和统计销售收入,显示房台和酒菜的出品状态。此功能实现统计一段时间内部门或者所有部门的销售收入情况。(2)房台分析功能该功能实现统计房台的经营收入情况。输入查询的房台号。系统根据输入的房台号从数据库查询房台的经营收入并进行收入统计。最后输出房台的经营销售的汇总详细信息。(3)酒菜分析功能该功能实现统计各类酒菜的销售收入情况。输入酒菜名称。根据输入的名称从数据库查询各酒菜的销售收入。输出各类酒菜销售收入的详细信息。4.6辅助功能辅助功能只包括会员管理,用于对会员信息的输入和其它信息的输入,删除等功能。此功能对餐饮信息系统进行了完善。4.7数据库概念结构设计餐饮信息管理系统关键实体的E-R图如图4-6所示:41\n客户信息表顾客编号顾客姓名电话备注预定信息表预定时间房台编号房台名称顾客姓名顾客人数电话备注结算金额表结算日期帐单编号支付方式编号支付方式名支付金额备注点单信息表点单类型点单编号点单日期点菜编号顾客编号帐单编号消费时间点单数量酒菜信息表酒菜编号酒菜名称简称小类编号单位单价提成成本备注图4-6E-R图41\n第5章系统详细设计本程序是一个综合的以实际商业流程设计的程序,因此能够完成实现几乎所有的与餐饮相关的功能。5.1系统功能模块主页面:程序的主窗口,方便用户进行各种功能操作。采用菜单、工具栏以及ListView控件相结合的方法,使得用户能够在主界面上快速地进入自己想要的程序模块。5.1.1前台营业模块前台营业模块主要包括:JDYD(接待预定)、DCSY(点菜收银)等。1.JDYD(接待预定):该模块是餐饮管理系统的一个重要模块,用户能够对过图形化的界面快速地接受顾客的提前预定信息,并进行相关的处理。用户可以看到每个房台(餐桌)的状态以及每个房台的一些基本信息,这样可以很容易的进行预定以及其他相关的设定,同时可以看到房台的统计数据,即当前的房台使用情况的统计,并且以不同的颜色显示出来。JDYD(接待预定)其中还包括二个窗体分别是:FTYD(房台预定)、FTLB(房台列表)。(1)FTLB(房台列表):用于列出每个餐桌的具体信息状态。(2)FTYD(房台预定):用于进行具体的房台预定信息的输入;包括预定输入姓名、联系电话、日期、时间,根据该时间段该房台禁止他人使用;预定查询,根据房台号,顾客姓名、顾客电话可查询预定的信息。2.DCSY(点菜收银):用于记录当前所有顾客的点菜信息,以及顾客的买单信息。这个界面上,用户可以一目了然看清楚每个房台的就餐信息,以及当前就餐的人数等很多的信息。(1)KTXX(开台信息):主要是进行具体的开台操作,输入具体的开台信息以及将预定信息转入开台信息等;具体包括新开台和预定开台。只要双击没有开台,就可以进入开台信息模块。只需要输入顾客的相关信息,就可以进入开台。可以通过两种方法,一种就是直接开台,一种就是通过预定开台。如果顾客已经预定,则可以进行预定开台。(2)FTZD(房台帐单):可以通过房台帐单查看顾客的点菜情况,显示房台信息以及客人信息,使用方便快捷,同时还可以通过该窗体进行点菜、结帐功能。(3)DC(点菜):进入点菜运行界面后,用户可以很方便的进行点菜,所有的点菜信息都是系统已经设置好。用户可以在酒菜设置模块中进行设置。41\n(4)JZ(结帐):当用户就餐完毕后,用户可以通过结帐模块来进行结帐。5.1.2营业设置是酒店对酒菜设置和房台设置的增加、删除、修改的综合窗体有以下二个窗口:JCSZ(酒菜设置)、FTSZ(房台设置)1.JCSZ(酒菜设置):主要是对酒菜的基础设置,包括酒菜的大类设置,小类设置、可以通过该窗体进行酒菜的设置增加、删除、确定、取消和退出以及具体配菜设置等。2.FTSZ(房台设置):主要是对房台相关的一些基本信息的设定,这样可以很容易地维护修改,而不影响其他模块的程序代码;主要可以进行房台设置,房台类型和消费方式等基本信息的设置。5.1.3营业分析营业分析是对酒店的酒菜出品和房台使用情况做出相应的分析,给出企业经营者一个直观的数据,做出相应的改变,有以下三个窗体:XSFX(销售分析)、FTFX(房台分析)、JCFX(酒菜分析)。1.XSFX(销售分析):主要是按照营业情况进行查询统计分析。销售分析:通过对各个房台统计使用的次数来完成相应的房台分析和酒菜的点单次数。2.FTFX(房台分析):用于对各个餐桌进行分析查询统计。操作员可以通过房台分析来统计房台的出品酒菜分析。3.JCFX(酒菜分析):操作员通过酒菜出品统计。操作员可以通过酒菜分析来统计一天当中所有出品的酒菜5.1.4财务查询财务查询是酒店餐饮管理系统的一个重要的模块来完成对酒店的统计销售的金额来对酒店进行相应的管理。财务查询有具体的三个模块:ZDCX(账单查询)、DDCX(点单查询)、HYCX(会员查询)1.ZDCX(账单查询):可通过该窗体完成每位顾客的帐单查询以及相应的显示出顾客的姓名、就餐时间、顾客姓名、房台编号、应收金额等顾客想要知道的信息。2.DDCX(点单查询):此窗体可以查询到各个房台的出品酒菜数量以及出品酒菜时间、房台名称、酒菜名称等信息显示在窗体中。3.HYCX(会员查询):通过此窗体可进行通过会员号来进行相应的查询来给会员知道会员卡中的一些信息。5.1.5辅助管理辅助管理只有会员管理一个窗体,通过该窗体来对会员进行添加、删除、修改等功能来完成会员的一些属性的设置。如挂账功能,只有会员才会有挂账的功能普通顾客是没有此功能的。41\nHYGL(会员管理):用于针对会员客户的管理,这样有利于发展并保持餐厅的客户。5.2数据库逻辑结构设计(1)描述酒菜信息表描述酒菜信息的表格一共分为三个:酒菜大类,酒菜小类表和酒菜信息表。酒菜信息表(酒菜编号、酒菜名称、简称、小类编号、单位、单价、成本、备注)。表5-1酒菜大类信息表字段名字段类型字段宽度关键字大类编号Char10是大类名称Char20否备注Char50否表5-2酒菜小类信息表字段名字段类型字段宽度关键字小类编号Char10是小类名称Char20否大类编号Char10否出品部门编号Char10否备注Char50否表5-3酒菜信息表字段名称字段类型字段宽度关键字酒菜编号Char10是酒菜名称Char20否酒菜简称Char8否小类编号Char10否单位Char4否单价Money8否成本Money8否备注Char50否(2)描述餐厅,房台信息表描述餐厅,房台信息的表格一共分为四个:餐厅类型表,房台类型表,房台基本信息,房台状态信息。41\n餐厅、房台信息表(餐厅编号,餐厅名称,房台类型编号,房台类型名称,容纳人数,房台状态,账单编号,就餐时间,备注)。表5-4餐厅类型表字段名称字段类型字段宽度关键字餐厅编号Char10是餐厅名称Char20否备注Char50否表5-5房台类型表字段名称字段类型字段宽度关键字房台类型编号Char10是房台类型名称Char20否容纳人数Int20否备注Char50否表5-6房台基本信息表字段名称字段类型字段宽度关键字房台编号Char10是房台名称Char20否餐厅编号Char10否房台类型编号Char10否附加信息Char30否表5-7房台状态信息字段名称字段类型字段宽度关键字房台编号Char10是房台名称Char20否餐厅编号Char10否房台类型编号Char10否房台状态Char30否账单编号Int30否就餐时间DateTime8否(3)记录帐单,点单信息表记录帐单,点单的表格一共分为三个:每日点单表,点单记录表和账单记录表.每日点单用于存放顾客就餐点菜后的临时记录,在结帐时会清空相应的记录.点单记录表用于记录顾客每个点菜的记录,便于以后进行查询。点单记录信息表(点单类型、点单编号、点单日期、点菜编号、顾客编号、帐单编号、消费时间、点单数量)。41\n表5-8帐单记录表字段名称字段类型字段宽度关键字房台编号Char10否帐单编号Char10是房台名称Char20否客户姓名Char10否应收金额Money8否实收金额Money8否消费金额Money8否备注Char50否表5-9每日点单信息表字段名称字段类型字段宽度关键字帐单编号Char10否点菜时间DateTime8否点单类型Char10否单价Money8否数量Int3否酒菜名称Char20否房台名称Char20否备注Char50否(4)会员表对餐厅的会员客户进行管理,保持长远发展。主要包括会员名称,会员类型,会员账号,会员密码等信息。会员表(会员卡号、会员名称、卡类型号、卡类型名称、密码、联系电话、折扣率、有效期)。表5-10会员表字段名称字段类型字段宽度关键字会员卡号Int10否会员名称Char10否卡类型号Int10否卡类型名称Char10否会员密码Char10否联系电话Int20否折扣率Int10否41\n有效期Char10否41\n第6章系统测试6.1单元测试6.1.1白盒测试白盒测试是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。本系统的程序较为复杂,进行穷尽测试是不现实的。基本路径测试方法就可以较好的解决这类问题,其主要思想是根据软件详细设计的过程性描述或源代码中的控制流程求出程序的环形复杂性度量,然后用此度量确定程序的基本路径集合,并由此导出一组测试用例来覆盖该集合中的每一个独立的路径,从而可以保证每个语句至少执行一次。白盒测试技术是一种透明的测试技术,它是以程序的内部逻辑结构为基础来设计调试用例的。其原则是:1.保证程序中每一独立的路径至少执行一次。2.保证所有判定的每一个分支至少执行一次。3.保证每个判定表达式中每个条件的所有可能结果至少出现一次。4.保证每一循环都在边界条件和一般条件至少各执行一次。5.验证所有内部数据结构的有效性。本系统对注册和登录模块进行了白盒测试,其测试过程如下所述:(1)注册登录流程图如图6-1所示:41\n结束进入主界面是进入登录界面插入数据库是是否正确?否注册信息完整?格式是否正确开始首次登录用户点击注册按钮进入注册界面填写用户注册信息返回否返回图6-1注册登陆流程图(2)根据流程图导出的注册登录流图如图6-2所示:41\n123456789图6-2注册登录流图1011(3)根据流图确定环形复杂性度量V(G)。可以用三种方法求出V(G)的值:1)V(G)=E-N+2=10-9+2=32)V(G)=3(3个区域)3)V(G)=P+1=2+1=3(4)确定基本路径集合(即独立路径集合)。一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。在(3)中求出的V(G)值正好等于该程序的独立路径的条数。于是可以确定3条独立的路径:路径1:1-2-3-4-5-6-7-8-9路径2:1-2-3-4-10-3-4-5-6-7-8-9路径3:1-2-3-4-5-6-7-6-7-8-9(5)为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。1)路径1的测试用例正确填写完整的注册信息,然后返回主界面,按照刚注册过的用记户名和密码进行登录。41\n期望结果:进入允许用户进行购买操作的主页面。2)路径2的测试用例:在注册界面先填写不完整的个人信息,点击注册按钮。或者填写错误格式的信息(如密码多于12位),然后点击注册按钮。期望结果:以上两种操作都应弹出相应的错误信息提示框,点击“确认”之后继续进入注册页面。3)路径3的测试用例:回到系统主界面,填写错误的用户名或密码进行登录。期望结果:弹出错误提示框。点击之后返回登录页面。6.1.2黑盒测试黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。在黑盒测试过程中因为假设系统的程序是不可见的,测试过程主要在系统的外部进行,如输入和接口部分等。黑盒子测试的过程:1.划分等价类并编号,如表6-1所示:表6-1等价类划分等价类有效等价值无效等价值用户名一到二十长度的字符串空字符超过二十长度的字符串密码一到二十长度的字串空字符超过二十长度的字符串表6-1等价类划分2.设计测试用例,以便覆盖所有有效等价类。测试数据用户名为“chenlin”密码为“fastkk”,测试数据有效,覆盖的有效等价类、。3.为每一个无效等价类设计一个测试用例测试数据用户名:“”密码:“xxxxxxxxxxyyyyyyyyyyzzz”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“xxxxxxxxxxyyyyyyyyyyzzz”密码:“”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“”密码:“”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“xxxxxxxxxxyyyyyyyyyyzzz”密码:“xxxxxxxxxxyyyyyyyyyyx”,测试数据无效,覆盖的有效等价类、。41\n6.2集成测试与系统测试在本系统的集成测试方式选择了增量集成的方法,经过单元测试的模块逐步成为较大的系统,一边组装一边测试,同时,采用了自底向上集成的组装方法进行测试。这种方法是有效的科学的,能使测试过程按照合理的顺序的步骤进行,从部分到整体对系统进行全面的测试。本测试过程中,从系统最底部的模块群开始组装测试,对系统的细节都进行了严格的测试,保证了系统的稳定性。在各个模块都分别进行了测试之后,发现并改正了每个错误后,并不能保证整个系统的错误都已经测试出来了。而要进行系统性的测试,把系统看作一个统一的整体,把应用程序的各功能部件组合在一起后进行的测试。以保证各个模块能协调工作,正常处理各自的任务,能正确相互传递数据,确保系统的完整性与一致性,必须保证绝大部分功能正常实现。本系统的测试过程中,以十个测试人员同时对系统进行网络访问,并对数据库进行各种复杂操作。经过一个星期的测试时间,测试出系统的十五处重要错误,三十个次要错误,并且在发现错误后进行了及时的改正,极大地减少了系统的错漏,而最终实现了系统的全部功能。6.3测试结论系统经过白盒测试和黑盒测试以后已经基本上排除了一切可能出现的错误,实现了所有的期望功能,系统可以交付使用。41\n总结本文论述了一个基于B/S结构利用JSP开发技术的小型餐饮管理系统,我所设计的餐饮管理系统,主要是熟悉B/S结构以及对电子商务进行初步的探讨和设计。在几个月的设计过程中,我初步了解了B/S结构的优点和先进之处,也看到了B/S结构在电子商务应用上的光明前途。通过这次设计,我设计的餐饮管理系统基本完成了要求的诸项基本功能,实现了一个简单的不同部分以数据为中心的模型,在方案的各部分在实际运作中能够解决相应的问题。在设计和制作餐饮管理系统这一个整体项目的过程中,也培养了自己的综合能力和从全局考虑的思想。将复杂的问题简单化,作为电子商务应用的一个缩影,我所涉及的模块项目完成了其后台具有的基本功能,使自己对于电子商务的了解更加深入和明了。当然,其中也遗留下了一些待解决的问题,但出于自己水平有限,作为一个餐饮管理系统,该项目上有一些不完善和函待改进之处,特别是在网站信息的安全性上需要进一步加强。41\n致谢近三个月的毕业设计已经结束了,现在回想起来这三个月对我的帮助很大,很多东西是我在课堂上学不到的。在进行设计的这段时间里,指导老师给了我莫大的帮助。从一开始的确定思想以及开题报告中的各项分析,及日后的系统分析,系统设计,结构设计,程序设计到代码的编写,程序的调试,程序的运行直至成功,老师给予了我很大的鼓舞和支持。使我较为顺利的完成了毕业设计任务。在设计过程中,我结合四年来所学过的基础知识和专业课程,较好的解决了设计过程中所遇到的实际问题,为今后走向工作岗位打下了坚实的基础。在这里我要向老师以及在这次毕业设计中给予我鼓励和帮助的同学表示深深的感谢!最后,我再一次衷心的感谢在毕业设计过程中给予我极大教诲的老师及各位同学的帮助。毕业设计为我的专业更上了一个台阶,我会更加的努力,为以后的事业而努力!41\n参考文献[1]张志建.严复思想研究[M].桂林:广西师范大学出版社,1989,56-57.[2]高景德,王祥珩.交流电机的多回路理论[J].北京清华大学学报,1987,27(1):1-8.[3]ChenS,BillingSA,CowanCF,etal.PracticalidentificationofMARMAXmodels[J].IntJControl,1990,52(6):1327-1350.[4]DavidKarlins,BuildYourOwnWebSite[M].McGraw-HillOsborneMedia,2003,41-44.[5]BellinasoM,HoffmanK.ASP.NETWebsiteProgramming,C#Edition:Problem,Design,Solution[M].Birmingham,UK:WroxPress,2002,576-581.[6]ChrisHart,JohnKauffman,DavidSussman,ChrisUllman.BeginningASP.NET2.0withC#[M].JohnWiley&Sons.2006,12-22.[7]白勇.用B/S模式构建学校管理信息系统[J].重庆电力高等专科学校学报,1999,30(03):5-9.[8]蔡永昶.采用B/S结构的MIS的设计与实现[J].计算机与现代化,2006,45(06):55-57.[9]陈玉明.邱桃荣.基于C/S与B/S国家高新技术考试管理信息系统的设计与实现[J].上海第二工业大学学报,2004,20(01):33-40.[10]郑飞,李逢玲.基于B/S模式的汽车零件销存管理信息系统的设计与实现[J].现代电子技术,2006,22(09):11-15.[11]郑建军.基于B/S模式的设备管理系统设计[J].山东纺织经济,2006,20(01):32-35.[12]张刚毅.基于Internet的区域型企业的MIS架构[D].华东师范大学,2004.[13]吴毅杰,张志明.C/S与B/S的比较及其数据库访问技术[J].舰船电子工程,2003,24(02):16-22.[14]王国欣,朱鲁华.B/S模式下管理信息系统的安全模型设计[J].计算机工程,2004,32(01):15-18.[15]冯莉,文远保.基于Web的B/S模式网络管理信息系统的设计与实现[J].湖北广播电视大学学报,2000,40(03):20-26.[16]周晓娟,王法能,毛劲松.基于B/S的WEB数据库技术[J].航空计算技术,2005,26(04):25-29.41\n附录1使用说明书1.1系统环境需求硬件需求:操作系统:WindowsNTWorkstation/Server4.0以上,Windows2000Server/Professional、WindowsXPProfessional。CPU:没有很高的要求,只要能够顺利运行Windows系列操作系统就可以了。当然,CPU的处理速度越快,运行JSP代码的效率越高。内存:最低配置32MB,建议使用64MB以上内存,如果使用Windows2000或WindowsXP建议使用128MB以上内存。硬盘空间:至少需要50MB以上的硬盘空间来安装所需的组件。运行JSP的服务器端要求:(如附表1所示)附表1服务器端要求表操作系统需要安装的J2SDKTomcatWindows2000J2sdk-1_4_1_01Tomcat4.0以上WindowsXPJ2sdk-1_4_1_01Tomcat4.0以上软件需求:WindowsNT操作系统,系统装有IE5.0以上的浏览器,JAVA开发环境和Tomcat服务器,SQLServer2000数据库。1.2安装说明1.2.1服务器的配置为了说明JSP对运行环境的要求,先简单的介绍一下它的运作过程。服务器在接收到客户端传过来的一个页面请求时,先判断是否是JSP页面请求(从扩展名来判断),如果不是,只是一般的HTML页面请求,则直接把HTML文档传给客户端,完成客户端与服务器的一次连接。如果判断是JSP页面请求,则由JSP引擎将JSP页面代码转换成Servlet代码,再通知服务器上的JVM(Java虚拟机)对转换过来的Servlet代码进行编译,将生成的字节码文件放在服务器上相应的地方,并执行编译后得到的字节码,然后把结果传送给客户端,这样就完成一次连接。以后如果有相同的JSP页面的请求,则直接由JSP引擎通知JVM41\n执行已有的字节码,并把结果传送给客户端。由此可见,运行JSP最少需要三样东西:JSP引擎、Web服务器和JVM。最常用的Java开发工具就是JDK和Jbuilder,它们之间的很大不同就是JDK是字符界面,而Jbuilder是窗口界面。本系统直接采用JDK作为JVM和java编译器。所用的操作系统是WindowsXP,服务器采用的是tomcat,利用了它充当Jsp引擎。首先把JDK,tomcat安装到C盘根目录下,下面详细的介绍如何配置运行环境:第一步:右击“我的电脑”,选择“属性”选项,进入“系统属性”对话框,单击“高级”标签,如附图1所示:附图1系统属性第二步:点击上图箭头所示“环境变量”,进入附图2画面。附图2环境变量41\n第三步:单击“系统变量”部分的“新建按扭”,创建JAVA-HOME变量,在变量值栏内输入C:\ProgramFiles\Java\jdk1.5.0_07;如附图3所示:JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径C:\ProgramFiles\Java\jdk1.5.0_07,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量)附图3编辑系统变量第四步:同样的方法创建CLASSPATH变量,在变量栏内输入C:\ProgramFiles\Java\jdk1.5.0_07\bin;C:\ProgramFiles\Java\jdk1.5.0_07\lib\tools.jar;C:\ProgramFiles\Java\jdk1.5.0_07\lib\dt.jar,.;(要加.表示当前路径)CLASSPATH为java加载类(classorlib)路径,只有类在classpath中,java命令才能识别。第五步:创建PATH变量,在变量值内输入C:\ProgramFiles\Java\jdk1.5.0_07\bin,Path使得系统可以在任何路径下识别java命令。第六步:创建Tomcat-Home变量,在变量值栏内输入C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0;如附图4所示:附图4新建系统变量第七步:检测配置是否成功:(1)检测JDK是否配置成功用户可以通过在DOS环境下键入javac命令按回车来检查环境变量设置是否成功,如果设置成功则可看到附图5所示结果:41\n附图5命令提示符(2)检测tomcat是否配置成功先启动Tomcat服务,接着在IE中输入http://localhost:8080/,如果出现tomcat的欢迎画面则表示安装成功。1.2.2数据库后台环境的配置SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本,SQLServer2000是Microsoft公司于2000年推出的最新版本。(1)JSP与SQLServer数据库的连接这有两种方法:ODBC驱动程序和JDBC驱动程序。ODBC是由微软公司开发的、目前用得最广泛的访问关系数据库的API,它是用C语言实现的标准应用程序,用来在相关或不相关的数据库管理系统(DBMS)中存取数据。JDBC和ODBC一样都是基于X/Open的SQL调用级接口,JDBC的设计在思想上沿袭了ODBC,同时在其主要抽象和SQLCLI实现上也沿袭了ODBC,这使得JDBC容易被接受。JDBCAPI对于基本的SQL抽象和概念是一种自然的Java接口,它建立在ODBC上而不是从零开始,它保留了ODBC的基本设计特征,它们之间最大的区别是:JDBC以Java风格和优点为基础并进行优化,因此更加易于使用。本系统是使用JDBC驱动程序建立SQLServer的数据连接的。创建步骤如下:首先到微软的官方网站上下载sqlserverdriverforjdbc,然后按照默认设置完成安装过程。最后为了能和数据库(MSSQL)连接,还需要将JDBC驱动程序中lib文件夹中的mssqlserver.jar,msutil.jar,msbase.jar三个文件复制到
\common\lib、Java\jdk1.5.0_07\lib以及Java\jre1.5.0_07\lib目录下。(1)建立数据库选择任务栏的“开始”|“所有程序”|“MicrosoftSQLServer”|“查询分析器”41\n,在弹出的对话框中选择刚刚建立的数据库名dbhouse,如附图6,然后在下面的编辑框里编写脚本代码创建数据表,通过建好的数据表就组成了数据库。附图6SQL查询分析器2系统运行截图2.1程序主界面主页面:程序的主窗口,方便用户进行各种功能操作。采用菜单、工具栏以及ListView控件相结合的方法,使得用户能够在主界面上快速地进入自己想要的程序模块。附图7主界面2.2前台营业模块前台营业模块主要包括:JDYD(接待预定)、DCSY(点菜收银)等。41\n附图8前台接待预定附图9房台列表41