




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津商务职业学院毕业设计(论文) 题目: 基于jsp网上订餐管理系统 专业班级软件1001班学 号0108100120姓 名吴香连指导教师冯 毅企业指导教师马瑞2013年4月16日班 级:软件1001班姓 名:吴香连联系电话 要 本系统属于商品管理自动化系统的一个子系统,它也是一个单独的功能完善的系统,本课题是网上订餐管理系统的研发,本文的系统分析和设计只是相对于一般的团体而言。本文包括网上订餐管理系统noms(net-order management system)的总体方案设计和开发。着重介绍了订餐管理系统的详细开发方案和实现,内容涉及系统分析、软件设计。在开发设计中,采用b/s(browser/server)结构,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,易于保证数据的一致性。数据库方面,推荐业界具有领导地位的关系数据库管理系统microsoft sql sever2005,使系统安全性能更高。同时采用当前正在流行的jsp(java server pages)编程,用户界面更友好。在开发中选择了jsp+javabean+sql2005的模式,实现了应用程序逻辑和页面显示分离,界面设计更简单。javabean可重用的软件组件满足小型应用,同时使编程人员投入量精力便可重用组件,在简单的应用中可以充分考虑。关键词:网上订餐管理;数据库;jsp;javabeanabstractthis system belongs to the product management automation system a sub- system, it also is the system which an independent function consummates,this topic is the net-order management system partial research and development, this article system analysis and the design only is opposite in the common association says.this paper includes system design and development of noms. it introduced the detailed development product management and realizations of the net-order management system. it contains system analysis and design of software.in developing, it adopts the structure of browser/server. this structure makes only concourse of result data print in the browser. and this kind of structure can lighten client burden greatly. as the server administers the data in unison, it is apt to guarantee the consistency of the data. the microsoft sql sever2005 database is security, so lots of use it. in addition, the tool of jsp makes the interface more amity.chose in the development jsp+javabean+sql2005 pattern,realized the contact surface design is simpler.javabeanmay entrust with heavy responsibility software modulesatisfies the small application,also causesthe programmers inputs energy then may entrust with heavy responsibility the module,may fully consider in the simple application.key words: net-order management ;database; jsp ; javabean目 录第一章 前言11.1 课题背景1第二章 系统相关技术22.1 java技术22.2 jsp技术22.3 javabeans技术22.4 jdk配置42.5 sql server数据库42.6 tomcat 介绍及配置9第三章 需求分析 133.1 性能需求分析133.2 可行性分析133.3 总体设计原则143.4 系统体系结构分析15天津商务职业学院2010届专科生毕业设计(论文)第四章 系统的设计194.1 数据流图204.2 系统总体结构设计204.3 系统数据库设计224.4 核心算法设计-分页显示算法24第五章 系统实现265.1 通过截图方式显示程序主要功能26第六章 测试问题及解决296.1 java汉字处理问题及解决29结论30参考文献31谢辞32第1章 前言1.1 课题背景随着internet的普及,越来越多的企业建立了自己的www网站,企业通过网站可以展示产品,发布最新动态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中网上订餐系统是电子商务网站的一种,随着信息化时代的到来,人们对生活质量的追求不断提高,由于人们工作,学习的关系,常常无法正常吃饭,随着网络的普及,网上订餐业务在中国开始盛行,人们也通过网络订餐的方式获得自己需要的食物。这样既节省了时间,也可以为广大用户提供更多的口味。该系统使用jsp(java语言)和sql server2005数据库开发, 实现了网上订餐系统的动态管理,使得网上订餐的管理更加及时、高效,提高了工作效率。该管理系统具有一般网上订餐系统的功能,从大的方面来讲主要包括资讯管理,餐饮管理,预定管理,用户管理等几个大的功能模块。该系统是基于b/s(browser/server,浏览器/客户端)模式实现,基于myeclipse平台架构开发设计,主要实现对网上订餐的使用、需求、以及用户订餐的动态管理等。随着internet/intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于b/s模式的新一代mis(management information system,管理信息系统)系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用b/s体系结构进行设计开发。1第2章 系统相关技术2.1 java技术java是非常新的一种语言(1995年正式发布),具有面向对象、分布式、解释执行、健壮性和安全性、体系结构中立、可移植、多线程、以及动态性等特点。和其他编程语言相比,它有很多优点。使用java的优点具体体现在以下几个方面(1)灵活性、(2)厂商的广泛支持、(3)用户的广泛支持、(4)平台独立性。2.2 jsp技术jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。2.3 javabeans技术jsp有两中开发模式jsp+javabeans和jsp+servlet+javabeans,在模式一中,jsp页面独自响应请求并将处理结果返回客户。所有的数据通过bean来处理jsp实现页面的表现。模式一技术实现了页面的表现-和页面的商业逻辑相分离。大量使用模式一形式,常常会导致页面被嵌入大量的脚本语言或java代码。当需要处理的商业逻辑很复杂时,这种情况会变得非常糟糕。大量的代码会使整个页面变得常复杂。对于前端界面设计人员来说,这简直不可想象。这种情况在大项目中最为常见,这也造成了代码的开发和维护出现困难,造成了不必要的资源浪费,在任何项目中,这样的模式总会导致多多少少的定义不清的响应和项目管理的困难。 综上所诉,模式一不能满足大型项目的需要,但是可以较好的满足小型应用,在简单的应用中可以考虑模式一。模式二jsp+servlet+javabeans中 ,servlets技术是一种采用java技术来实现cgi功能的一种术。servlets技术是运行在web服务器上,用来生成web页面。servlets技术非常实用于服务器端的处理和编程,并且servlet会长期驻留在他们所处的位置。 但是在实际的项目开发过程中,页面设计者可以方便地使用普通html工具来开发jsp页面,servlet却更适合于后端开发者使用,开发servlet需要的是java集成开发环境,也就是说servlet技术更需要编程人员。 模式二技术结合了jsp和servlet技术充分体现了两者的技术优点。在此模式中通过jsp来表现页面。通过servlet来完成大量的事务处理。 servlet充当一个控制者的角色,并负责向客户发送请求。servlet创建jsp所需要的bean和对象,然后根据用户的请求行为,决定将哪个jsp页面发送给客户。 从开发的观点,模式二具有更清晰的页面表现,清楚的开发者角色划分,可以充分利用开发小组的界面设计人员,这些优势在大型项目开发中表现的尤为突出,使用这一模式,可以充分发挥每个开发者各自的特长,界面设计人员可以充分发挥自己的表现力,设计出优美的界面表现形式,设计人员可以充分发挥自己的商务处理思维,来实现项目中的业务处理。在大型项目中,模式二更被采用。但是,本系统开发只是一个小型的jsp应用,同时由于servlet难于掌握,所以在本课题中采用了模式一开发,既jsp+javabean。2.4 jdk配置 jdk(javadevelopmentkit)是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组api,也可以说是一些javaclass。安装好jdk后,还需要在环境变量中进行对应的配置。主要进行以下配置: 1、设置java_home环境变量java_home的值为jdk安装的目录,例如:c:j2sdk1.4.2_072、 设置classpath环境变量classpath的值表示搜索java类的路径,例如:c:j2sdk1.4.2_07bin; d:j2sdk1.4.2_07libdt.jar;d:j2sdk1.4.2_07libtools.jar3、 更新path环境变量,path变量是系统搜索可执行程序的路径,例如:c:j2sdk1.4.2_07bin; 2.5 sql server数据库sql server 2005是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构。mircrosoft sql server 2005是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。sql server 2005系统具有强大的网上功能,可以在internet上发布数据库中的数据。在mircrosoft sql server 2005系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。2.5.1数据库编程基础及语法java 数据库连接 (jdbc) 是一个标准 sql(structured query language,结构化查询语言)数据库访问接口, 可以为多种关系数据库提供统一访问。jdbc(java database connection,java 数据库连接) 也提供一种基准,据此可以构建更高级的工具和接口。 目前的 jdk(java development kit,java 开发工具包)软件捆绑包括 jdbc 和 jdbc-odbc(open database connection,开放式数据库连接)桥。你可以从/products/jdk/currentrelease 找到最新版。安装驱动程序。装载驱动程序只需要非常简单的一行代码。例如,你想要使用 jdbc-odbc 桥驱动程序, 可以用下列代码装载它: class.forname(sun.jdbc.odbc.jdbcodbcdriver);如果是jdbc driver装载: class.forname(jdbc.driver_class_name);各种数据库驱动见附录。建立连接第二步就是用适当的驱动程序类与 dbms 建立一个连接。下列代码是一般的做法:connection con = drivermanager.getconnection(url, mylogin , mypassword );这个步骤也非常简单,最难的是怎么提供 url。如果你正在使用 jdbc-odbc 桥, jdbc url 将以 jdbc:odbc 开始:余下 url 通常是你的数据源名字或数据库系统。因此,假设你正在使用 odbc 存取一个叫 webmail 的 odbc 数据源,你的 jdbc url 是 jdbc:odbc:webmail 。把 sa 及空格替换为你登陆 dbms 的用户名及口令。如果你登陆数据库系统的用户名为 webmail 口令为空,只需下面的 2 行代码就可以建立一个连接: string url = jdbc:odbc:webmail;connection con = drivermanager.getconnection(url,webmail,);如果你使用的是第三方开发了的 jdbc驱动程序,文档将告诉你该使用什么 subprotocol, 就是在 jdbc url 中放在 jdbc 后面的部分。例如, 如果驱动程序开发者注册了 acme 作为 subprotocol, jdbc url 的第一和第二部分将是 jdbc:acme。驱动程序文档也会告诉你余下 jdbc url 的格式。jdbc url 最后一部分提供了定位数据库的信息。如果配置了连接池则要使用下面几行代码就可以建立一个连接:context ctx;datasource ds;ctx = new initialcontext();ds = (datasource)ctx.lookup(java:comp/env/jdbc/webmail);connection 接口是jsp数据库编程使用多的接口之一,在connection接口中经常使用到一个方法close();要注意在连接用完后必须关闭,否则连接会继续保持,直到超时。创建 jdbc statements 对象 statement 对象用于把 sql 语句发送到数据库 。你只须简单地创建一个 statement 对象并且然后执行它,使用适当的方法执行你发送的 sql 语句。对 select 语句来说,可以使用 executequery。要创建或修改表的语句,使用的方法是 executeupdate。需要一个活跃的连接的来创建 statement 对象的实例。在下面的例子中,使用的 connection 对象 con 创建 statement 对象 stmt:statement stmt = con.createstatement(int resultsettype,int resultsetconcurrency);resultset rs=stmt.executeupdate(sql);sql为数据库查询语句con.createstatement()方法包含两参数:resultsettype和resultsetconcurrency1. resultsettype参数:用来设定resultset对象中的光标是否能够上下自由移动,它的值只能有3种,type_forward_only、type_scroll_sensitive或type_scroll_insensiteve。若设为第一种,表示resultset对象中的光标能够随心所欲的上下移动,不过他们两者最大的差别在于:当resultset对象中的值有变时,type_scroll_sensitive能够取得改变后的值,而type_scroll_insensitive不能。2. resultsetconcurrency参数:主要设定resultset对象是只读(read-only)还是可以改变的(updatable),他的值有两种,concur_read_only和concur_updatable。若设为concur_read_only,则resultset对象和jdbc 1.0的功能一样;若为concur_updatable,那么表示resultset对象可以直接执行数据库的新增、修改和移除功能。 在statement执行sql语句是,有时会返回resultset结果集。该结果集往往包含的是查询的记录集。通过resultset.next()方法把当前的指针向下移动一位,随着每次调用next导致指针向下移动,按照从上到下的次序获取resultse行。java.sql.resultset提供了检索不同的类型字段,其常用的的方法如下:getstring():获得数据库里的varchar、char数据类型。getfloat():获得数据库里的float数据类型。getdouble():获得数据库里的double precision数据类型。getboolean():获得数据库里boolean数据类型。getobject():该方法用于在sql中无对应类型,可以获得系列化对象。getclob():获得数据库里的clob(字符串大型对象)数据类型的对象。getbolb():获得数据库里的blob(二进制大型对象)数据类型的对象。 数据库sql基本操作14语句:集合查询select 语句select ,from wherel 数据更新插入insertinto (,)values(,);l 删除数据delete from 表名where条件;2.5.2 本系统中的连接方式在本tomcat中配置了连接此连接程序用javabean方法封装,放在web-inf classse目录下。import java.sql.*;import javax.sql.*;import javax.naming.*;public class db public connection con;public statement stmt;public resultset rs;public preparedstatement pstmt;public static int error=0;public static synchronized connection getcon()throws exceptioncontext ctx;datasource ds;tryctx = new initialcontext();ds = (datasource)ctx.lookup(java:comp/env/jdbc/webmail);system.err.println();system.err.println(数据连接+(+error);return ds.getconnection();catch(sqlexception e)system.out.print(e);throw e;catch(namingexception e)system.out.print(e);throw e;public statement getstmtread()trycon=getcon();stmt=con.createstatement(java.sql.resultset.type_scroll_insensitivejava.sql.resultset.concur_read_only);catch(exception e)system.out.println(getstmtread);system.out.println(e.getmessage();return stmt;2.6 tomcat介绍及配置大多数人都喜欢将apache tomcat当作jsp应用服务器使用。有人可能会说,它之所以受欢迎是因为这个服务器是免费和开放源代码的,但是真正的原因远不止这些。apache tomcat能够受欢迎,不仅是工作性能非常好,还有没有初始的开发成本开销等有力的竞争因素,但这不是决定因素。tomcat 结构非常合理,更由于tomcat 是apache 组织的产品,这个组织有着雄厚的技术更新力量,并且tomcat5.0 很好的支持了jsp2.0 规范,因此有着很好的发展前景。tomcat是一个免费的开源的serlvet容器,它是apache基金会的jakarta项目中的一个核心项目,由apache,sun和其它一些公司以及个人共同开发而成。由于有了sun的参与和支持,最新的servlet和jsp规范总能在tomcat中得到体现。tomcat被javaworld杂志的编辑选为2001年度最具创新的java产品,可见其在业界内的地位。 tomcat不仅仅是一个servlet容器,它也具有传统的web服务器的功能:也处理html页面,但是与apache相比,它的处理静态html的能力就不如apache。jdk 是sun 公司的java应用程序和组件的开发环境,是编译、测试工具,也是提供java 程序的 java 虚拟机平台,是调试和运行jsp 所不可缺少的工具。2.6.1 server.xml文件配置1. 一定要有msbase.jar,mssqlserver.jar,msutil.jar方件并且放到tomcat/common/lib下。2. 到tomcat/conf里server.xml文件修改配置,设置tomcatwebapps的保存jsp文件的目录,目录名为webmail,则在文件加入以下语句增加一个虚拟目录: 3. 找到数据库配置语句.有3个属性name、auth、项是jndi的名称定义,程序通过jndi才能找到此对象,这里取名jdbc/ webmail;auth项即连接此管理权属性,这里取值container,申明为容器管理;type项即对象的类型,这里取值javax.sql.datasource。 4. 数据库密码验证配置,找到username将其间的参数设置为数据库的用户名,例如sa。找到password将间参数设置为数据库密码。本系统中数据库设置用户名为sa,密码为空。 5. 数据库url设置,找到url将间参数设置为下面的格式:jdbc:microsoft:sqlserver:/:1433;databasename=webmail;user=sa;password=;数据库名为webmail,用户名为sa,密码为空,其中为当前用户使用ip地址,端口为1433。下面是一个server.xml的配置实例:mons.dbcp.basicdatasourcefactorymaxactive100maxidle30maxwait10000usernamesapassworddriverclassnamenet.sourceforge.jtds.jdbc.driverurl jdbc:microsoft:sqlserver:/localhost:1433;databasename=webmail;user=sa;password=; 第3章 需求分析网上订餐管理系统无论是在应用的深度还是广度都是一个逐步发展的过程。在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。进货订单管理系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。3.1 性能需求分析该系统在性能功能上应达到如下需求: 操作简单、界面友好: 完全控件式的页面布局,使得菜品,资讯等信息的录入工作更简便,许多选项包括餐厅信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式; 即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能; 系统运行应该快速、稳定、高效和可靠; 在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。3.2 可行性分析随着经济的快速发展,b2c电子商务越来越受到人们的关注。网上订餐类网站,已经如雨后春笋般的出现在了个大城市。特别在公司,企业内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。而当代大学生,白领工作人士作为社会中的重要群体,他们对饮食的要求都在不断提高,饮食在他们生活中起着重要作用。因此,面向大学生和都市白领人士的网络订餐网站的设计有着良好的现实意义。综合以上两点分析,此次毕业设计决定利用jsp和sql技术设计网上订餐管理系统。3.3 总体设计原则1、开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。2、良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。3、实用性原则任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。4、工作平台设计原则能适应不同的操作平台,不同的网络。3.4 系统体系结构分析3.4.1 c/s结构与b/s结构客户/服务器(client/server)结构,是将一个系统分解为前台的客户应用程序和后台的服务器部分,通过网络连接应用程序和服务器。这种结构的核心是客户应用程序向服务器发送服务请求,服务器完成后端处理。服务器是一台管理数据资源并执行数据库引擎功能(加数据存储、操作和保护)的计算机,处理结构由服务器发回客户应用程序,由客户应用程序对处理结构进行显示。这种结构的优点是只有处理后的数据在网络中传递,大大减轻了网络的负担,而且由于通过服务器端统一管理数据,易于保证数据的一致性。b/s结构,即browser/server(浏览器/服务器)结构,是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3层结构。b/s结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,.net也是在这样一种背景下被提出来的架构,java技术已经是很成熟的应用了。3.4.2 b/s与c/s的优越性c/s(client/server,客户端/服务器)是建立在局域网的基础上的,b/s是建立在广域网的基础上的。传统的c/s体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是client端还是server端都还需要特定的软件,没能提供用户真正期望的开放环境;b/s结构则不同,它的前端是以tcp/ip协议为基础的,企业内的www服务器可以接受安装有web浏览程序的internet终端的访问,作为最终用户,只要通过web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。总的来说,两者有如下差别:1硬件环境不同c/s 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。b/s 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备, 信息自己管理, 有比c/s更强的适应范围, 一般只要有操作系统和浏览器就行。2对安全要求不同 c/s 一般面向相对固定的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用c/s 结构适宜, 可以通过b/s发布部分可公开信息。b/s 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群。3对程序架构不同 c/s 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑。b/s 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。4软件重用不同c/s 程序可以不可避免的整体性考虑, 构件的重用性不如在b/s要求下的构件的重用性好。b/s 对的多重结构,要求构件相对独立的功能。 能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。5系统维护不同 系统维护是软件生存周期中,开销大,相当重要c/s 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难, 可能是再做一个全新的系统。b/s 构件组成方面构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 6处理问题不同 c/s 程序可以处理用户面固定,并且在相同区域, 安全要求高的需求,与操作系统相关, 应该都是相同的系统。b/s 建立在广域网上, 面向不同的用户群,分散地域, 这是c/s无法作到的,与操作系统平台关系最小。 7用户接口不同 c/s 多是建立在window平台上,表现方法有限,对程序员普遍要求较高。b/s 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流, 并且大部分难度减低,降低开发成本。8信息流不同 c/s 程序一般是典型的中央集权的机械式处理,交互性相对低。b/s 信息流向可变化。9成本降低,选择更多软件系统的改进和升级越来越频繁,b/s架构的产品明显体现的更方便的特性。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行,如果是异地只需要把服务器连接上网即可立即进行维护和升级,这对人力、时间、费用的节省是相当惊人的。传统的c/s结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,这么高的代价和低效率已经越来越不适应了。在java这样的跨平台语言出现之后b/s架构更是飞快地普及起来了。10面向电子商务时代的技术将来所有的应用系统几乎都在互联网上运行,企业发展电子商务也是不可避免的,而b/s架构的软件则代表了将来的技术,只要连上互联网或内部广域网就可以与全球的客户相连,与各地的分支机构相连。综上所述,可以看出b/s结构的众多优点,比其他结构的先进性,无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,erp等等,发展的趋势是不断融合,结合当今这些方面的发展,我们可以得出这样的结论:采用统一的b/s结构开发的产品无论是现在还是将来都是最好的选择,而在今后的实际工作开发中,则应该首选b/s结构。30第4章 系统的设计 1、 浏览与选择餐饮信息:顾客进入网站即刻自动提供购物车,不需身份确认就可以在网站上随意浏览,登录系统后则可挑选餐饮(可增加、删除、修改购物车上餐饮的类型),网站提供餐饮信息列表,最先添加的餐饮信息优先列表给顾客作为选购时的参考;2、 判断:顾客确定所购餐饮信息后,系统将判断该顾客是否注册,如果是,则可直接填写订单;否则,提示顾客登记注册; 3、 提交订单:已选购的餐饮信息需填写订单细节。4、 注册:顾客可在公司的网站上注册后提交申请;5、 确认:后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,当确认后,系统管理员可对该顾客提交的预定信息进行审核。6、送货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确认,确认后将及时实施审核该订单:向顾客送货,货到付款,完成网上交易。4.1 数据流图 数据流图简称dfd,是sa方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。系统的数据流图如下所示:系统dfd图4.2 系统总体结构设计网上订餐系统的模型结构如下图所示:客户端浏览器客户端浏览器客户端浏览器web层业务层数据访问层系统配置数据库 从前面的需求分析中得知,可以将功能分为前台和后台两类,因此模块也分为两大类:前台模块和后台模块。下图为系统模块总图:系统模块总图4.3 系统数据库设计4.3.1 数据库表设计1管理表(tb_manager):用户登录是需要用户名和密码,所以表中必须包含帐号(name)、密码(password)两个信息,还有些其他的用户信息,从功能上数据库表设计如表3.1。表 3.1 管理表列名数据类型长度idint4accountvarchar50passwordvarchar50namevarchar50signbit82公告表(tb_affiche):id号(id),此id号为系统自动生成;名称(name);内容(content)。商品信息表详细描述如表3.2表3.2 公告表列名数据类型长度idint4 namevarchar50content text500issuetimesmalldatetime503大类别表(tb_bigtype):菜品的一些相关信息,此id和是系统自动生成的;大类别名称(bigname);维护时间(creatime)等,具体描述表3.3表3.3 大类别表列名数据类型长度idint4bignamevarchar50creatimeint8 4.菜单表(tb_goods): 菜单表有一下描述信息。具体描述如表3.4所示表3.4 订单表列名数据类型长度idint4bigidint8goodsnamevarchar50goodsfromvarchar50introducetext500nowpricemoney50creatimetext50freepricemoney50numberint4pirturevarchar50markvarchar50smallidint44.4 核心算法设计分页显示算法inti;一页显示的记录数=10;取得待显示页码pageset : strpage=page;if(strpage=null)/page参数为空时,此时显示第一页数据待显示页码=1;,待显示页码=integer.parseint(strpage); /将字符串转换成整型if(待显示页码总页数)待显示页码=总页数;/分页情况分类/选择向上翻if(待显示页码1)选择向上翻一页传递参数pageda=待显示页码-1 goto pageset;/选择向下翻if(待显示页码0)将记录指针定位到结果集的第一条记录上(待显示页码-1)*一页显示的记录数+1);i=0;while(i一页显示的记录数&数据库指针不在结果集尾部)输出要分页显示的数据库中的内容;将数据库指针移动到当前行的下一行;i+;第5章 系统实现5.1 以下通过截图方式演示程序主要功能:普通用户登陆后主页登陆框菜单管理页面菜单查询结果集收银结账后天登录管理员操作功能第6章 测试问题及解决6.1 java汉字处理问题及解决 在刚开始运行的程序中,很多汉字都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论