• 3.35 MB
  • 2022-04-22 13:50:41 发布

网上订餐系统毕业论文设计.doc

  • 41页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'网上订餐系统毕业论文目录摘要I第一章引言11.1背景和意义11.2国内外现状1第二章系统开发平台32.1开发工具介绍32.2主要开发技术介绍42.2.1JavaEE平台42.2.2SSH技术介绍52.2.3MySQL数据库72.3系统环境需求8第三章需求分析93.1可行性分析93.1.1经济可行性93.1.2技术可行性93.1.3法律可行性93.2系统功能及特性分析103.3后台管理模块需求分析113.4前台下单模块需求分析12第四章概要设计144.1网上订餐系统的功能模块概要设计144.1.1用户模块概要设计144.1.2管理员功能模块概要设计154.2数据库的概要设计154.2.1数据库实体关系图154.2.2数据库表的设计1639 第五章详细设计和实现205.1功能模块介绍205.1.1界面设计205.1.2菜单信息浏览225.1.3用户登陆/注册235.1.4个人信息预览245.1.4订单信息表255.1.5后台管理员的登录265.1.6后台主界面275.2主要实现技术285.2.1分页显示算法285.2.2信息显示295.2.3订单显示30第六章测试和案例分析326.1测试的重要性及其目的326.1.1测试重要性326.1.2测试目的336.2测试的步骤336.3测试的内容346.3.1用户登录测试346.3.2非法连接测试346.3.3用户下单测试346.3.4管理员添加菜单测试35结论36参考文献38致谢3939 第一章引言1.1背景和意义众所周知,随着社会的发展,科技的发达,人民生活水平的提高,互联网的应用已普及千家万户,有时大家的忙碌会不想浪费太多的时间出去买饭,吃饭等,这就为网络订餐提供了良好的发展空间。因此我决定以网上订餐系统作为我毕业论文的的研究课题,我相信它的实用性以及未来的发展前景。而餐饮业在网络领域中还处于形成的初期;传统的饮食业中,大都是以实际门面的形式来进行宣传与交流的。作为网络普遍化的社会,这还缺少了一些更为现代化的元素。餐饮业是一种个性化、多样化的服务产业,而网络商务领域则是最能体现个性化,多样化服务的商务方式。而且现在大部分网络商务都体现为像大企业服务,结合餐饮这个特殊的行业,终将还发展为向小区域小店铺服务的模式。以最贴切的方式,最灵便的服务进入各个网络社区,进入人们的生活。网络订餐随着互联网的成长会逐渐被人们所喜爱,正如几年前手机移动的短信一样,为企业带来的几百个亿的业务收入。在互联网世界里面,谁早一步在应用上创新,谁就掌握了未来的方向,谁便能把握机遇,成为时代的先驱,成功的缔造者。我觉得网上订餐服务的直观、有效、便捷等优点是传统的电话订餐业务无法比拟的。社会是进步的,我坚信网络订餐终将取代以往的电话订餐。同时,我也坚信网络订餐将会带给广大繁忙的工作人群诸多的方便,节约他们大量的时间。1.2国内外现状就餐饮业而言,在经济发达国家中发展的速度及需求远比经济不发达的国家要高很多。因为经济发达国家人们的时间观念很强,对服务的要求也比较高,更重要的是其餐饮业能不断运用先进的管理方法和手段特别是信息技术【1】39 ,充分地利用巨大的信息资源。在世界上经济发达的国家和地区,计算机技术应用于餐饮业已经十分成熟,如IBM公司的POS产品已获得较大范围的应用。2004年在美国100家最有效利用信息技术企业中,美国最大的食品和多种服务公司ARAGroupIne,名列第四。目前它利用主要的信息系统使其部门经理有更多的时间面向顾客。网上订餐中多功能性的服务还可以让消费者从容的网上浏览餐馆的菜单,或进行价格上的比价,来选择所需要的美食佳肴。目前,通过上网提供外卖和送餐服务的餐厅多于独立经营者,外卖与送餐服务占餐饮生意额的一半以上。美国餐饮消费者越来越趋向于使用网上订餐的形式来购买外卖,特别是年轻一族的消费者。显而易见,网上订餐将成为餐饮业扩大生意的金矿源,有眼光的餐饮业业主应该尽早考虑如何利用英特网上网销售。目前网上订餐业务在我国只是处于形成期,从网站数量来看,并不很多,专门从事网上订餐业务的网站凤毛麟角,较大的有易合饭(http://www.ehefan.com/)订餐网、中国快餐网(http://www.kclm.org/)等。一些较大的星级酒店虽然设立网站开展网上订餐业务,但以网上订房业务为主。至于一些中小餐饮企业则未涉足网上业务,而且有些餐馆虽然上了网,但网上订餐业务也从未开展。另外,从网上订餐企业的业绩看,并不理想。在我的印象中好像也没有几家运用网上订餐而业务火爆的企业。据了解,目前北京市最早开展网上订餐服务的一家快餐店的送餐范围已经扩到了5环以内,而且1份起送,就是这样目前公司的经营状况也不太理想。由于互联网发展已深入家庭,网上订餐这个课题已经提出,为了方便人们生活,提高人们的生活效率,该类统根据现实订餐的方式虚拟于网络之上,使人们通过网络就可以完成生活中必要的事情(饮食)。系统的完成不仅可以基本实现客户订餐的功能,还能在此基础上提供更多的,更贴心的服务。信息技术的发展将更快的推动互联网的发展,订餐系统的重要性也将越显其强大的作用。39 第二章系统开发平台2.1开发工具介绍经过比较,以及自己所掌握的知识所限,最终决定采用在Windows下使用JSP+MYSQL开发,采用B/S结构,使用JDBC连接数据库。这样选择的优势以及特点有:(1)用JSP+MYSQL灵活方便,可扩充性、可移植性较好。二、JDBC与MYSQL同为微软开发,兼容性好,同时存取效率高,且较成熟,目前许多数据库应用系统都采用这种方式。JDBC是Microsoft主要数据存储技术,JDBC主要让应用程序或WEB应用程序存取各种不同的数据源。JDBC封装了OLE-DB复杂的接口,以极为简单的COM接口存储数据,简化了程序员数据存取的工作。三、采用B/S结构是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP技术的强势:一、一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。二、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。三、强大的可伸缩性。从只有一个小的Jar39 文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力【4】。四、多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.2主要开发技术介绍2.2.1JavaEE平台JavaEE是J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还在Java平台上不断推出翻新的标准框架,致使软件应用业的业务核心组件架构无所适从,从一直以来是否需要EJB的讨论声中说明了这种彷徨。  在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本.此次J2EE改名为JavaEE,实际也反映出业界这种共同心声。JavaEE的核心是EJB3.0,其提供了更兼便捷的企业级的应用框架。图2-1JavaEE核心框架图39   J2EE容易让初学者误解是独立于一套Java的技术方案。从更深层次来看,Java诞生十年来,很多近十年前的业务组件至今还可以使用,软件应用不再由于语言的更迭革命带来毁灭的打击了。功能和规定架构图让我们看看JavaEE5有哪些新的功能或规定,我们可以从SUN网站下载JavaEE5规范。其架构图如下:图2-2JavaEE架构图图中灰色加黑部分是JavaEE5新的功能,我们看到,在WEB层主要加入了JSF这个新的表现层框架,和我们日常开发关系密切的是,引入了新的JavaPersistence标准,这个标准正在由EJB3.0专家组制定。2.2.2SSH技术介绍SSH为SecureShell的缩写,由IETF的网络工作小组(NetworkWorkingGroup)所制定;SSH为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH39 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、Irix,以及其他平台—都可运行SSH。SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。用SSH2.x的客户程序是不能连接到SSH1.x的服务程序上去的。OpenSSH2.x同时支持SSH1.x和2.x。  服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。  客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。  他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。SSH1.x和SSH2.x在连接协议上有一些差异。  一旦建立一个安全传输层连接,客户机就发送一个服务请求。当用户认证完成之后,会发送第二个服务请求。这样就允许新定义的协议可以与上述协议共存。连接协议提供了用途广泛的各种通道,有标准的方法用于建立安全交互式会话外壳和转发(“隧道技术”)专有TCP/IP端口和X11连接。  SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用#ps-waux|grepsshd来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。39 2.2.3MySQL数据库MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQLAB的注册商标。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。  MySQL是一个数据库管理系统。一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。  MySQL是一个关系数据库管理系统  开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。MySQL使用GPL(GNUGeneralPublicLicense,通用公共许可),在hpt://www.fsf.org/licenses中定义了你在不同的场合对软件可以或不可以做什么。如果你觉得GPL不爽或者想把MySQL的源代码集成到一个商业应用中去,你可以向MySQLAB购买一个商业许可版本。  MySQL服务器原本就是开发比已存在的数据库更快的用于处理大的数据库的解决方案,并且已经成功用于高苛刻生产环境多年。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。它的连接性、速度和安全性使MySQL非常适合访问在Internet上的数据库。39 MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。  MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。  有大量的MySQL软件可以使用  幸运的是,你可以找到你所喜爱的已经支持MySQL数据库服务器的软件和语言。2.3系统环境需求本系统采用B/S模式作为开发模式。服务器端:操作系统:WINDOWS,LINUX/UNIX及任何能运行Java虚拟机的平台。WebServer:Tomcat6.0以上。客户端:操作系统:任何pc平台;浏览器:InternetExplorer,MozillaFoxfire。39 第三章需求分析3.1可行性分析3.1.1经济可行性由于本项目的特殊性,无需投入额外的设备购买及人员培训费用,所以在经济上本系统的开发是可行的。此外系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,有很高的经济可行性。按上述两方面进行可行性分析、研究后,我们认为该项目在技术上是可行的,在经济上也是没问题的,所以完全可以进行开发。3.1.2技术可行性本系统选择jsp作为开发语言,选择mysql作为后台数据库,采用B/S结构,使用JDBC连接数据库。而jsp可以创建和运用动态、交互的WEB服务器应用程序。同时,JSP具有向跨平台跨服务器的优点。mysql是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。所以在技术方面理论上是可行的。3.1.3法律可行性本系统没有侵犯个人隐私和个人责任方面的问题,使用本系统不会引起法律方面的纠纷问题,所以开发本系统具有法律可行性。综上所述,本系统的开发是符合现在的实际情况的,并具有一定的实用意义。在技术、经济、操作上,法律上都可以看到此系统的可行性,并且很具有其实现的必要。39 3.2系统功能及特性分析本系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。需要实现菜品信息的动态提示、购物车管理、客户信息注册、登录管理、订单处理、信息反馈等模块。需要完成的主要任务如下:当客户进入网上订餐时,应该在主页面中分类显示最新的菜品信息,以供客户选择所需菜品,同时提供按菜品名称,快速查询所需菜品信息的功能。当客户选择预定某个菜品时,应该能够将对应菜品信息,如:价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填写相应的送餐信息,提交订餐订单后,自动清除以生成订单的购物车中的信息。餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。分析网上订餐系统,制订整个系统框架如下:图3-1系统实例图39 3.3后台管理模块需求分析后台管理系统是管理员对系统进行管理和维护的环境,模块结构如下:图3-2管理员实例图后台是整个销售系统中最重要的部分。管理员通过此处对网站内容进行管理.后台管理共分为菜单信息管理,用户信息管理,交易信息管理,站内信息管理,公告信息管理等等。后台部分主要实现1用户管理包括用户的基本信息的查询,以及添加用户和删除用户信息。2商品管理39 包括商品的基本信息的查询,以及添加和删除商品信息。3订单管理显示所有的订单信息及订单状况。4公告管理通过此处发布公告,让用户更好的体验到活动和优惠3.4前台下单模块需求分析前台处理系统是客户使用的最终界面,模块结构图如下:图3-3用户实例图前台销售部分就是顾客浏览、选择、结帐的地方,数据灵活根据需要从数据库挑出,照顾顾客浏览习惯,简化流程,使顾客能迅速找到所要的菜式。前台部分主要实现39 1用户免注册顾客可以浏览本网站的商品内容以及其他一些信息,下单时可以分为两种一种是后到付款,另一种是在线支付,在线支付必须登陆账号。2下单用户可以通过直接定购所要菜单,能够根据具体情况将具体的菜单价格进行总结计算,在把清单形成订单发给管理者。3订单查询购买后的用户可以通过在自己的登录后的页面查看所下订单的信息,并且每个用户只能够查询属于自己定购菜单的数量和定购时间。39 第四章概要设计4.1网上订餐系统的功能模块概要设计本网上订餐系统的功能模块主要分为前台功能模块和后台功能模块,前台功能模块主要是用户的注册,登录,菜品的选择,订单的生成,个人的信息管理,对于菜品价格,图样的浏览等,后台功能模块主要是管理员对于会员信息,权限的管理,对菜品式样更新,上传,删除等的操作管理,对会员留言,评论的回复,删除等操作管理。4.1.1用户模块概要设计网上订餐系统用户功能模块图如图3-1所示:图4-1网上订餐系统用户功能模块图首先用户首先登录网站,如果用户还没有登录名,要先进行注册。注册后,在登录时用户名与密码验证通过就能进入网站系统进行菜品的选择以及订单生成。如果用户名不存在或密码不正确,则提示重新登录。用户成功登录之后,进入主页面,可选基本业务有可以在线订餐,查看菜品种类,还可以修改个人信息、退出系统。39 4.1.2管理员功能模块概要设计网上订餐系统管理员功能模块图如图3-2所示:图4-2网上订餐系统管理员功能模块图管理员模块又可分为几个小模块:对于餐品菜样的管理模块,可以增加删减菜品种类,更改菜品图案,修改菜品名称,价格,分类。对于服务的管理模块,可以对用户的订餐订单进行管理,结算,对用户的留言评价进行回复和查看,还可设置用户的权限。4.2数据库的概要设计4.2.1数据库实体关系图系统ER图:39 图4-3系统ER图4.2.2数据库表的设计数据库名:Pocket数据库有Client、Menu、Administrator、Review、Announcement、orders等6个表。表3-1用户信息表列名数据类型NullKey备注39 idIntNoYes标识递增usernameVarrchar(50)NoNo登录名passwordVarrchar(50)NoNo登录密码telephoneintNoNo移动电话addressVarrchar(50)NoNo地址IntegrationintNoNo积分levelintNoNo级别表3-2菜单表列名数据类型NullKey备注idIntNoYes标识递增DishesVarrchar(50)NoNo菜名PriceintNoNo价格synopsisVarchar(50)NoNo简介LaunchtimedatetimeNoNo推出时间StatusintNoNo状态SumintNoNo销售量表3-3订单表列名数据类型NullKey备注idIntNoYes标识递增u_idintNoNo用户外键idM_idintNoNo菜单外键IdNameVarchar(50)NoNo收货人名sumIntNoNo下单数量downtimeDateimeNoNo下单时间39 TelephoneintNoNo联系电话AddressVarchar(50)NoNo收货地址PriceintNoNo全部金额IsCheckoutIntNoNo是否发货表3-4购物车信息表列名数据类型NullKey备注idIntNoYes标识递增u_idintNoNo用户外键idM_idintNoNo菜单外键IdNameVarchar(50)NoNo收货人名sumIntNoNo下单数量downtimeDateimeNoNo下单时间TelephoneintNoNo联系电话AddressVarchar(50)NoNo收货地址PriceintNoNo全部金额IsCheckoutIntNoNo是否发货表3-5用户评论表列名数据类型NullKey备注idIntNoYes标识递增u_idintNoNo用户外键idM_idintNoNo菜单外键IdcontentVarchar(50)NoNo收货人名timedatetimeNoNo评论时间39 表3-6管理员信息表列名数据类型NullKey备注idIntNoYes标识递增usernameVarchar(16)NoNo账号名PasswordVarchar(16)NoNo账号密码RealnameVarchar(50)NoNo真实姓名telephoneintNoNo联系电话lastimeDatetimeNoNo最后一次登陆时间levelintNoNo管理员级别表3-7公告表列名数据类型NullKey备注idIntNoYes标识递增contentVarchar(50)NoNo账号名TimeDatetimeNoNo账号密码usernameVarchar(16)NoNo发表人39 第五章详细设计和实现5.1功能模块介绍5.1.1界面设计简洁友好的用户界面是系统与用户交互的关键,并且在很大的程度上影响着用户对系统的评价。所以在设计系统界面的时候,首页的顶部是一个醒目的菜肴的图片的,让人一看就知道是订餐网站,有一种订餐的欲望,栏目有首页、最新推出、登陆/用户信息、注册,中间是目前菜单的信息。39 图5-1主页面39 5.1.2菜单信息浏览可以直接浏览到部分的菜单信息,信息包括了:图片,菜名,价格等。在该网页上也可以查看菜品的详细信息,如图4-2所示。39 图5-2菜单信息浏览5.1.3用户登陆/注册用户登陆/注册是一个悬浮于当前页面弹出来的窗口,窗口弹出将锁定用户面,“取消”可返回。当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。图5-3用户登陆在登陆系统之前需要注册,如图5-4所示,注册的信息由游客填写,提交注册信息后,需要通过后台管理员对注册信息进行审核,给予审批后,才能登陆系统。39 图5-4用户注册5.1.4个人信息预览用户登陆成功后,顶部的悬浮栏的“登陆”字样会变成用户名,单价后会浮现出“个人中心”、“充值金额”、“我的订单”、“购物车”“意见反馈”、“退出”等字样。单击“个人中心”可进入个人信息的界面。如图4-5所示39 图5-5个人信息5.1.4订单信息表进入“订单信息表”,可看见用户以往的订单信息,在订单信息中可看到商品的当前状态信息,以及可删除以往的订单信息,如图4-6所示39 图5-6订单信息表5.1.5后台管理员的登录想要进入后台管理系统,需要先登录管理员用户账号,管理员用户账号是不可以自行注册的,该系统有一个超级管理员“admin”,只有该管理员才能将管理员用户账号进行管理。如图4-7所示39 图5-7管理员登录界面5.1.6后台主界面在此界面中,管理员可以对订单进行查看,对菜品的价格,更新等进行管理,对公告进行管理,。比如说:菜品的删除,价格式样的编辑,以及菜品的添加,上传等操作,还可以对会员进行管理操作。图5-8后台管理界面界面39 5.2主要实现技术5.2.1分页显示算法ReviewDAO:publicPaginationfindPageByQuery(finalStringhsql,finalintpageSize,finalintstartIndex){return(Pagination)getHibernateTemplate().execute(newHibernateCallback(){publicObjectdoInHibernate(Sessionsession)throwsHibernateException,SQLException{Queryquery=session.createQuery(hsql);inttotalCount=query.list().size();query.setFirstResult(startIndex);query.setMaxResults(pageSize);Listitems=query.list();Paginationps=newPagination(items,totalCount,pageSize,startIndex);returnps;}},true);}ReviewServiceImpl:publicPaginationfindUserinfoByPage(intpageSize,IntegerstartIndex){Stringhsql="fromReviewwheremenu.id="+ActionContext.getContext().getSession().get("detailId")+"";39 returnreviewDAO.findPageByQuery(hsql,pageSize,startIndex);}ReviewAction:publicStringinit(){if(currentIndex==null)currentIndex=0;Paginationpg=reviewService.findUserinfoByPage(3,currentIndex);ActionContext.getContext().put("pg",pg);return"init";}5.2.2信息显示Pagination..jsp:varxmlhttp;functionmain(url,method){if(window.XMLHttpRequest){xmlhttp=newXMLHttpRequest();}else{xmlhttp=newActiveXObject("Microsoft.XMLHttp");}xmlhttp.onreadystatechange=method;39 xmlhttp.open("get",url,true);xmlhttp.send();}functionshow(){main("ReviewAction!listUserinfoByPage?currentIndex=0",function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){document.getElementById("show").innerHTML=xmlhttp.responseText;}});}functionshow1(id){main("ReviewAction!listUserinfoByPage?currentIndex="+id+"",function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){document.getElementById("show").innerHTML=xmlhttp.responseText;}});}5.2.3订单显示OrdersAction:39 publicStringmyOrders(){ActionContext.getContext().getSession().put("ordersList",ordersService.show(id));return"input";}OrdersServiceImpl:publicListshow(Integerid){returnordersDAO.findByClient(id);}OrdersList.jsp未发货已发货¥.00¥.00">修改"">删除39 第六章测试和案例分析6.1测试的重要性及其目的6.1.1测试重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。39 6.1.2测试目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。其实这是不对的,软件测试是为了发现错误而执行程序的过程;是为了证明程序有错,而不是证明程序无错误;一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。6.2测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:1.模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。2.系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。3.验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。39 6.3测试的内容6.3.1用户登录测试功能描述用户登陆用例编号C25001前提目的测试数据连接的正确性前提条件用户已存在输入动作测试结果实际情况用户名:奥特曼输入密码:123登陆成功登陆成功用户名:凹凸曼输入密码:123错误提示:“登陆失败”登陆失败表6-1用户登陆测试6.3.2非法连接测试功能描述使用非法连接登陆用例编号P140702前提目的测试数据连接的正确性前提条件未登录用户输入动作测试结果实际情况使用链接地址直接访问返回主页返回主页表6-2非法链接测试6.3.3用户下单测试功能描述用户下单用例编号P140703前提目的测试数据连接的正确性前提条件用户已登陆输入动作测试结果实际情况39 全部文本框输入格式正确下单成功下单成功文本框输入格式不正确或空缺错误提示:“下单失败”下单失败表6-3用户下单测试6.3.4管理员添加菜单测试功能描述添加菜单用例编号P140704前提目的测试数据连接的正确性前提条件管理员已登陆输入动作测试结果实际情况按要求符合所有要求输入添加成功添加成功添加菜单信息不全或空缺错误提示:“添加失败”添加失败表6-4管理员添加菜单测试39 结论几个月来忙碌而又紧张的毕业设计,使我有机会对本专业的基本理论、专业知识和基本技术有了更深入的了解和体会,使我在三年中所学到的知识得到了系统和升华,真正达到了学以致用。对网上订餐系统的体会:网上订餐系统是一门信息科学、系统科学、计算机科学与现代通信技术为一体的一门综合性边缘学科。它是运用系统的方法以计算机和现代通信技术为基本信息处理手段和工具的,能为管理决策提供信息服务的人—机系统.它可以实现数据处理功能、预测功能、计划功能、控制功能和辅助决策功能。管理信息系统的开发是一项复杂的系统工程,必须严格的按照系统规划、系统分析、系统设计、系统实施、系统运行与评价的开发步骤来进行。在系统开发之前,必须了解该系统的特点、适用范围以及使用者需要一个什么样的系统,以此作为基础为开发系统准确定位,然后对使用者所需实现的功能进行分析总结,根据使用者的实际要求来给系统设计一个初步方案。系统的开发不仅是要实现对数据处理的及时与正确,而且要考虑系统是否具有控制功能,及时将数据反馈给操作者,以进行监测和协调,保证系统的正常运行;也要考虑是否具有预测功能,运用一定的数学方法利用历史的数据对未来进行预测的工作。设计实践上的体会:在设计的过程中,我掌握了很多JSP的编程知识,并对这种成熟并广泛应用的技术进行了深入的学习。设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己想办法解决,这在很大程度上激发了我们的自学能力;在没有办法解决的情况下,认真的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作用。39 以往我们曾经有过多次设计的体会,但只是设计一个模块或一个小系统,而这一次毕业设计是综合所学的管理和计算机的知识来设计一个适合运行管理的进销存系统软件。要想设计使用户满意,就需要我们付出更多的努力。我在设计中经常出现一些问题不知该如何解决,在此时许多同学给予了我们帮助。在设计的过程中增加了于实际接触的机会,不仅培养了我的自学和编程能力,让我在即将离开学校进入社会之前有了一定的资本,提高了我与人沟通的能力。程序设计中的体会:在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。同时,系统中还存在许多问题,有待在日后的使用中发现和解决。编程前的深思熟虑是减少程序调试工作量的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。虽然在开始写程序之前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时的疏漏,有些则是如果不做无论如何也想不到的。有句话叫熟能生巧是不错的,不去尝试不去实践不去行动,哪怕知道的再多也是白费。39 参考文献[1]威尔著,骆维.SAPAPO系统管理[M],东方出版社,2005-11-1[2]李新乐,现代图书馆管理[M],节目文献出版社,1989[3]温艳东,王法胜.实用软件测试教程[M].北京:清华大学出版社,2011.6[4]周奇,余桥伟.SQLSever2005数据库及应用[M].北京:清华大学出版社,北京交通大学出版社,2009.12[5]徐小青,路晓村.Mysql完全手册.北京:电子工业出版社,2003[6]郑人杰.实用软件工程[M].清华大学出版社,2006[7]范新灿.基于Struts、Hibernate、Spring架构的Web应用开发[M].北京:电子工业出版社,2011.8[8]邵丽萍,张后扬,张驰.Java2高级程序设计[M].北京:清华大学出版社,2011.3[9]张海潘.软件工程导论(第四版)[M].北京:清华大学出版社,2003.1239 致谢在本次毕业设计过程中,得到了**老师的指导与支持。在此特别感谢**老师的大力帮助。**老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时对我提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业设计起到了关键性的作用。我还要感谢我的母校,以及在大学生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。转眼间,大学生活即将结束,回首过去三年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。软件技术专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的三年大学画上一个圆满的句号。新的世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。最后再次感谢亲爱的母校,感谢所有耐心育教的老师,是你们让我们拥有了希望的未来!39'