企业级Java应用开发实践报告课程代码:1302451课程名称:企业级Java应用开发课程类别:专业主干课开课学期:2014春季学期编写单位:中国地质大学(北京)信息工程学院项目负责人:王萌编写人:王萌指导教师:薛涛提交班级:10131111提交时间:2014年6月6日目录1项目目的和任务--------------------------------------------------------11.1项目背景------------------------------------------------------------------------------------------------11.2项目目标与任务--------------------------------------------------------------------------------------21.3任务分工------------------------------------------------------------------------------------------------32项目进度安排-----------------------------------------------------------33系统需求分析-----------------------------------------------------------43.1定义------------------------------------------------------------------------------------------------------44系统设计-----------------------------------------------------------------94.1系统架构设计-----------------------------------------------------------------------------------------94.2系统功能设计----------------------------------------------------------------------------------------104.3数据库设计--------------------------------------------------------------------------------------------165系统实现----------------------------------------------------------------185.1系统登陆页面----------------------------------------------------------------------------------------185.2展示所有菜品页面----------------------------------------------------------------------------------195.3菜品详情页面----------------------------------------------------------------------------------------205.4查看购物车页面-------------------------------------------------------------------------------------216项目总结----------------------------------------------------------------22网上订餐系统11项目目的和任务本课程实践的目的和意义在于通过设计与完成一个网上订餐系统,使学生比较全面地、系统地掌握J2EE的基本概念和基本知识,可以使用Java语言实现对数据库中的数据进行操作,为将来从事Java及数据库方面的研究、开发和应用奠定坚实的基础。本项目来源于中国地质大学(北京)信息工程学院企业级Java应用开发课程实践,开发周期为30天。本项目由中国地质大学(北京)信息工程学院的王萌研发,系统主要实现以下功能:验证用户登录、展示全部菜品、展示菜品详情、将菜品加入购物车、查看购物车。1.1项目背景下面将从国外、国内、发展趋势三方面对本项目的项目背景进行阐述。1.1.1国外情况国外的许多知名品牌,如肯德基、麦当劳,在多年前就开始了网上订餐服务,并且受到了国外的许多家庭的欢迎;这些品牌的网上订餐服务这几年也在中国逐渐普及。1.1.2国内情况跟随国外网上订餐的热潮,现在在国内出现了好多网上订餐系统,比较出名而且我们在生活中经常用到的就要属“饿了么”。“饿了么”这个网站很好地迎合了消费者的需求:可以便捷地搜索自己身边的美食店进行查看,喜欢就可接直接订餐,省去了到实体店排队等候的时间,尤其适合很宅的大学生和工作狂人。与人方便的同时,这个网站也有一些我感觉需要改进的地方,比如:这个网站是把所有店铺信息以表格的形式,一下子、全部显示在用户面前,这样难免有些眼花缭乱,如图1所示;而且,没有把信息相应地进行分页显示,总是要滑动鼠标滑轮来上下翻动,用户体验感不好。综上而述,信息量固然重要,但用户感官体验也是必不可少的。网上订餐系统2图1“饿了么”网页1.1.3发展趋势当今社会的生活节奏越来越快,人们对餐饮的要求也越来越高,不仅要求色香味俱全,而且对于就餐的时间和方式也有了更高的要求,许多顾客由于工作繁忙无法抽出时间来享受美味,这样就产生了快捷订餐的要求,最快的方式莫过于利用计算机网络,将餐饮业和计算机网络结合起来,就形成了网上订餐系统,用能力的餐饮企业对对餐品提供商提供网上订餐服务,不仅提高餐饮企业的服务质量,扩大知名度,也是为最终用户提供方便快捷的食品服务。社会对餐饮的快捷性要求形成了对网上订餐的要求,该项目将使用JavaWeb技术的Servlet+JSP+JavaBean实现快捷的开发与部署,并且可以最大限度的保证系统的稳定性。1.2项目目标与任务本系统的目标是使用最简单的界面风格,满足人们对网上订餐快捷性的要求,没有冗余的信息,打开页面,直接登录,浏览菜品,加入购物车,进行结算。用最简单的步骤、最少的时间来满足用户对订餐的要求,提高服务效率及顾客满意度。针对本系统,主要需要完成三部分:(1)建立数据资源:在数据库中构建需要的数据表,建立表间联系;网上订餐系统3(2)对数据资源进行访问:利用编程语言连接数据库,实现对库中数据的增删改查操作;(3)对业务逻辑进行处理:实现系统功能的后台处理部分,包括界面间跳转及数据信息的传输;(4)具体界面实现:编码实现各页面,包括登录页面、展示所有菜品页面、菜品详情页面、添加菜品成功页面、查看购物车页面。1.3任务分工系统设计阶段的任务分工如表1所示。表1系统设计阶段任务分工组员组内分工王萌完成全部2项目进度安排本系统开发流程如表2所示。表2系统开发流程表时间工作安排具体内容5月7日---5月10日设计数据库设计概念模型、逻辑模型、物理模型,导出数据库脚本5月11日执行数据库脚本在Oracle数据库中执行脚本5月12日---5月19日完成各部分功能实现增删改查功能在MyEclipse中,配置文件,连接数据库,编写userBean类(用户User类和菜品Dish类),完成对用户及菜品的增删改查5月20日---5月23日实现界面跳转功能完成用户验证登录,显示全部菜品,显示购物车5月24日---5月27日实现分页功能将显示全部菜品页面进化为分页显示5月28日---5月30日实现购物车功能实现将菜品添加进购物车,并计算总价的功能5月31日整体调试运行在浏览器中运行,也是整体最终测试6月1日---6月5日完成实验报告按照要求完成报告网上订餐系统43系统需求分析3.1定义3.1.1业务流程本系统的业务流程大致是这样的:用户打开登录页面,填写用户名和密码,系统进行验证,验证不合法(即用户信息与数据库中信息不匹配),则系统要求用户重新输入;验证合法,则进入分页显示菜品的页面。在分页显示菜品的页面,可以进行翻页对菜品大致浏览,也可以点击某一菜品进入其详情页面。在菜品详情页面,可以浏览该菜品的全部信息,并可以订购该菜品。在分页显示菜品的页面和菜品详情页面都可以点击查看购物车,对已订购菜品进行查看。本系统的业务流程图如图2所示。图2业务流程图3.1.2系统用例用例是对一个活动者使用系统的一项功能时所进行的交互过程的一个文字描述序列。而用例图是显示一组用例、参与者以及它们之间关系的图。下面以用例图和用例描述来对本系统的用例进行描述。本系统的用例图如图3所示。网上订餐系统5图3系统用例图以下表3至表6是对图1系统用例图中用例的详细描述,即用例描述。表3LoginSystem用例描述用例名称LoginSystem标识符wm_1用例描述用户登录网上订餐系统,输入用户名、密码,系统对其进行验证参与者用户、网上订餐系统优先级1前置条件无后置条件系统验证基本操作流程1.用户进入登录页面,输入用户名、密码,点击“确定”2.系统对用户信息进行验证可选操作流程退出系统被泛化的用例无被包含的用例无被扩展的用例无表4ViewDishes用例描述用例名称ViewDishes标识符wm_2用例描述对系统中的所有菜品进行分页展示参与者用户、网上订餐系统网上订餐系统6优先级2前置条件用户经验证为合法用户后置条件无基本操作流程用户浏览菜品信息可选操作流程A.点击按钮“上一页”、“下一页”、“首页”、“最后一页”,对每一页的菜品进行查看B.点击菜品图片,或者按钮“详情”进入菜品详情页面C.查看购物车被泛化的用例无被包含的用例无被扩展的用例无表5ViewDishDetails用例描述用例名称ViewDishDetails标识符wm_3用例描述展示用户点击菜品的详细信息参与者用户、网上订餐系统优先级2前置条件用户经验证为合法用户,且用户在浏览全部菜品时点击了其中一个图片或“详情”按钮后置条件无基本操作流程用户浏览菜品的详细信息可选操作流程A.将该菜品加入购物车B.查看购物车被泛化的用例无被包含的用例无被扩展的用例AddToCart表6ViewCart用例描述用例名称ViewCart标识符wm_4用例描述查看该用户购物车中的信息参与者用户、网上订餐系统优先级2前置条件用户经验证为合法用户,且用户在展示所有菜品页面或者菜品详情页面点击“查看购物车”按钮后置条件无基本操作流程用户浏览购物车内的信息可选操作流程A.生成订单B.清空购物车被泛化的用例无被包含的用例无被扩展的用例无网上订餐系统73.1.3系统总体功能网上订餐系统的功能图如图4所示。图4网上订餐系统功能图根据图4网上订餐系统功能图,下面对各部分功能进行详细介绍。(1)登录页面:用户输入用户名、密码,系统对其进行验证,验证通过则进入展示所有菜品页面。(2)展示所有菜品页面:本页面对全部菜品进行分页显示。用户可以点击按钮“上一页”、“下一页”、“首页”、“最后一页”,对每一页的菜品进行查看;也可以点击菜品图片,或者按钮“详情”进入菜品详情页面。(3)菜品详情页面:显示某个菜品的全部详细信息,包括菜品编号、菜品名称、菜品描述、菜品图片、菜品价格、菜品折扣。点击按钮“订购”,可以将该菜品添加进购物车。(4)添加菜品成功页面:订购成功,弹出窗口提示“订购成功”,点击“确定”,回到菜品详情页面。(5)查看购物车页面:在展示所有菜品页面或菜品详情页面,点击按钮“查看购物车”,可以进入此页面,对自己曾经添加过的菜品、数量、总价等进行浏览。3.1.4系统数据字典数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模