《基于SSM的大王门店管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SSM的大王门店管理系统设计与实现.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科论文目 录摘 要IAbstractII引 言11 相关技术31.1 SSM31.1.1 Spring31.1.2 Spring MVC31.1.3 MyBatis41.2 Shiro41.3 前端技术41.3.1 Bootstrap41.3.2 jQuery41.3.3 Ajax51.3.4 Layui51.3.5 Thymeleaf51.4 本章小结62 系统分析72.1 功能需求分析72.2 非功能需求113 系统设计133.1 系统总体设计133.1.1 系统体系结构133.1.2 系统组件结构设计143.1.3 系统功能结构153.2 系统详细设计163.2.1 系统功能设计163
2、.2.2 数据库设计193.3 本章小结224 系统实现234.1 开发环境234.2 开发规范234.3 核心功能实现234.3.1 查询菜品功能实现234.3.2 修改员工功能实现254.3.3 新增员工功能实现264.3.4 删除员工功能实现274.4本章小结285 系统测试295.1 测试计划295.2 测试用例295.2.1 查询菜品列表用例测试295.2.2 修改员工用例测试305.2.3 新增员工用例测试305.2.4 删除员工用例测试315.3 测试结果315.4 本章小结32致 谢34参考文献35本科论文摘 要永和大王连锁餐厅,不但是在上海市开设的第一家餐厅,而且已经发展成了
3、全国第一家连锁直营的连锁大型的餐饮企业,成立于1995年12月,开始发展后,已经经过了24年的历程,并且永和大王已经在中国地区开设了近300多家直营连锁餐厅,所创作出的口味都是符合是非常吸引人的,包括了具有中国特色的豆浆、稀饭、油条、面食以及各种中式糕点。并坚持以直营方式扩张获得了稳定、标准、一致的发展,深受大众喜爱。经过对全国餐饮系统的调研,从中了解到这种餐饮系统种类不多且功能单一,在充分考虑管理人员、餐厅门店地址、订单、菜品等可变因素。本程序前端技术选择的是JSP技术,后端技术框架选择的是SSM框架,使用B/S应用体系构造系统框架,使用MySQL作为后台数据库,模板引擎用的是Thymele
4、af,发布服务器选择的是Tomcat,使用众多框架完成并且实现了大王门店管理系统。此课题是为了解决门店中多个需求,比如点菜品管理中的菜品列表和菜品类型,来往订单的管理,营业报表的信息,管理员的登录还有注销的功能等等。使用计算机进行有关餐饮企业的事务管理,可以推进企业走向科学化的管理,并且可以更加适应现代企业制度要求。关键词:门店;订单;菜品;AbstractYonghe King Restaurant, Not only the first restaurant opened in Shanghai,And it has developed into the countrys first ch
5、ain-operated large-scale catering enterprise,Founded in December 1995, after starting to develop, it has gone through 24 years, And King Yonghe has opened nearly 300 direct-operated chain restaurants in China,The flavors created are very attractive, including soy milk with Chinese characteristics, p
6、orridge, fritters, pasta and various Chinese pastries, And adhere to the expansion through direct management to obtain stable, standard and consistent development, which is deeply loved by the public.After a survey of the national catering system, I learned that this catering system has few types an
7、d single functions, Full consideration of variable factors such as management personnel, restaurant store address, orders, dishes, etc. The front-end technology of this program chooses JSP technology, The back-end technical framework chooses the SSM framework, Using B / S application system to const
8、ruct system framework, Use MySQL as the backend database, The template engine uses Thymeleaf, The publisher chooses Tomcat, Completed and implemented Dawang Store Management System using many frameworks.This subject is to solve multiple needs in the store, For example, the list and types of dishes i
9、n the order management, Management of current orders, Business report information, Administrator login and logout functions, etc. Use computer to manage affairs related to catering enterprises, Can promote the enterprise to scientific management, And can be more adapted to the requirements of modern
10、 enterprise systemskeywords: Stores; orders; dishes引 言由于国外的计算机技术的起步和发展都是非常快的,所以对于计算机的利用率和使用率都是非常高的,而且计算机技术就是产生于国外,这是他们的天然优势,在国外对于餐饮系统的发展中,正在逐步的使用计算机来进行管理。而且有着一套更为系统的流程。有Apache Ant管理工具。检查代码基本上选择的是Check style、PMD等静态代码管理工具。在安全性方面,有Shiro和Spring Security等安全框架。在服务器方面, Apache公司提供了Tomcat服务器,Tomcat是Apache Ja
11、karta的子项目之一1,Tomcat服务器是针对JSP和Servlet的服务器, JSP也就是Java Server Page(Java 服务器网页)2,为应用提供了一个开源的、轻量的且稳定的服务器。但是在开发框架中对于SSM的应用是较少的。而本课题则是主要以SSM框架进行开发。而现在国内的餐饮企业,虽然起步比较晚,但是市场上已经有很多比较多的餐馆信息管理软件,但是不是非常成熟。所以一定要有一套更为规范、更为科学的计算机管理事务,来符合适应现代企业的发展制度的要求。由于国外软件的发展比较早,所以餐饮企业对于计算机的应用也是比较早而且成功的,软件的运用比较成熟。国内外现在存在的问题则是:在一个
12、门店的管理系统中,没有明确的分离出各个模块,并且应用较少,还是纸质化的或表格化的进行管理,而本次的设计则是更明确、清晰的管理并且解决一个门店的多个需求。本次论文以Web应用开发技术为核心,运用SSM框架实现门店管理系统,主要思路是先编写数据库,然后编写用户的登录,然后编写门店部分,最后编写订单部分。本文共分5章,分别阐述了大王门店管理系统用到的相关技术、系统分析(功能分析和非功能分析)、系统设计(总设计和详细设计)、系统实现(开发环境、开发规范和核心功能实现)和系统测试(测试计划和测试用例)等内容。具体内容是以如下的顺序进行组织的。总体结构如下:第1章,归纳使用到的相关技术。介绍了系统开发工具
13、及开发环境和开发过程中相关技术简介;第2章,大王门店管理系统的功能需求分析和非功能需求分析,通过分析用户所要的需求,利用用例图来进行组织和表达功能,使用户对功能需求的了解更加直观;第3章,大王门店管理系统的系统设计,并依据具体需求剖析了系统的整体结构。本文章主要从数据库设计、系统功能设计和界面设计三个方面进行设计说明;第4章,大王门店管理系统的系统实现,重点介绍了本系统中查询菜品列表、修改员工信息、新增员工信息、删除员工信息等核心功能的具体实现方法;第5章,大王门店管理系统的系统测试,对其的具体业务功能做出必须的测试,并对结果进行分析。结论,本文就大王门店管理系统作进行了一个完整的介绍,使用图
14、、文、表相结合的方式来体现系统的分析、设计、实现、测试的过程,总结项目存在的不足和下一步完善计划。1 相关技术本项目使用的框架技术是SSM框架。即整体系统采用的是MVC设计理念的SpringMVC框架,持久层使用了MyBatis进行实现,并且运用了Spring的依赖注入,最后了使用了AJAX实现后端与前端的一个数据交互。1.1 SSM运用的是Spring、SpringMVC和MyBatis三个正好的SSM框架技术,SSM是轻量级并且应用较多的一种组合框架2,目前企业中流行的Java EE的一个框架技术,非常适用于大型企业的应用系统。SSM是一个优秀的平台,在这个平台上开发者实现CRUD更加快速
15、有效,对于诸多事务的维护成本更小,操作更加简单。1.1.1 Spring Spring的开源性决定了它现在能够被广泛用,并且Spring是非侵入式的4。Spring框架的突出之处就是它具备的分层结构,而且由多个已被定义的模块组成。Spring框架最大的特点就是对于J2EE服务器可以完全的应用,大部分的功能可以应用到不用管理的开发环境中的。Spring 提供了视图解析器供在浏览器显示模型数据5。Spring的配置方式是在XML中进行配置,还有其他配置方式都是通过使用注解的方式,可以极大简化项目开发步骤。1.1.2 Spring MVCSpring MVC是一个开源的MVC框架,MVC模式是一种架
16、构模式6,可以说是Struts还有Spring的一个集合,他们之间有着密不可分的关系。这种开发框架将一个繁琐复杂的Web项目通过分层的方式进行简化,Spring MVC 所有的请求都提交给 Web7。模型层主包含业务的核心模块,负责业务的处理,是MVC框架的核心,视图层表示用户界面,即平时浏览网站时所看到的界面呈现均是由视图层所负责,最后是控制器,控制器主要是将模型层与视图层结合在一起,接受回调请求。最常用的视图是JSP8。SpringMVC的角色划分是非常的清晰的,含有处理器、模型对象还有控制器等多个角色,并且分别负责各自部分的业务。因为有可以重用的代码,所以极大的简化了开发时间和周期,尽可
17、能的简化开发流程。同时SpringMVC开发框架与其他单一技术相比具有更好地灵活性。1.1.3 MyBatis MyBatis是一个关于存储的持久层框架,Mybatis 是开源免费,轻量级框架9,它是用来封装JDBC的代码,省去手敲JDBC代码块,它可以对SQL的语句进行使用,也可以用来对数据的存储过程并且可以配置高级的映射。将所需要的数据库字段和 Java中Model对应的实体对象映射成数据库中的记录。1.2 ShiroShiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。Apach
18、e Shiro 框架还包含了对保护 Java 应用十分有用的其他特性,包括:Web应用支持、缓存机制、线程和并发支持、支持测试工具、支持“Run As”等9。1.3 前端技术jQuery是继Prototype之后又一个优秀的JavaScript框架11,是开发前端的一个库,它对JavaScript进行了很好的封装,Bootstrap提供HTML和CSS规范,为页面增加了更多层次感和美感。可以更便捷迅速的处理HTML。它可以很轻易的将结构与行为分离。jQuery能够操作页面对象、修改页面外观、为页面增加更多效果,并且它能够快速获取元素。本程序也使用了JSP12。Web应用开发的后端技术指的是对代
19、码编写、数据库设计等,主要是与数据库进行交互处理响应的业务逻辑。1.3.1 BootstrapBootstrap 框架来自 Twitter,是一个 CSS /HTML 框架13。作为快速前端开发的工具同时又具有方便快捷的特点。Bootstrap前端框架编码简单,结构清晰,而且兼容电脑端和手机端,十分符合本平台的编码要求,对于本平台来说是最好的选择。所以本平台选择使用Bootstrap前端框架开发项目。Bootstrap最大的特点是兼容,可以电脑端和移动端同时应用。1.3.2 jQueryjQuery是一个开发速度非常快,并且使用起来非常简洁的JavaScript框架。jQuery设计的宗旨就是
20、“write Less,Do More”,编写尽可能少的代码,然后可以做更多的事情。它基本封装了JavaScript中常用代码,提供的设计模式是非常简单的JavaScript,它能优化HTML的文档操作、可以处理各种各样的事件、运用动画设计与Ajax进行一系列交互。1.3.3 AjaxAjax是一个类库,Ajax功能被控件或者对象的方式所应用,Ajax最大的特点是将Web页面数据与服务器之间的交互转入后台14,一系列的JavaScript代码被Ajax类库所包括,使用Javascript向服务器提出请求并处理响应,通过XMLHTTPRequest这个核心对象可在不重载页面的情况与Web服务器交
21、换数据。Java代码与服务器之间需要进行少量的数据的互换,通过该信息的互换,可以用到Ajax对网页进行无浏览刷新。Ajax的特点是可以不提交数据,即可达到刷新部分页面的神奇效果,也称网页的局部刷新。这和传统的加载相比省去了很多的麻烦,也会让用户感觉使用起来很流畅。Ajax的功能很强大,可以处理各种数据的提交,但是有些时候不能使用此技术,比如在做Excel导出的时候就不能用Ajax处理请求,因为会无响应。Ajax技术避免了不必要的用户请求,方便了程序员、也提高了用户的体验。1.3.4 LayuiLayui是一个有着自己的编写规范的UI的框架,而且有原生的书写和组织形式。它里面的方法极其简洁,对于
22、初学的程序员非常的友好。非常适合界面的快速开发和使用。Layui是一款采用自身模块规范编写的前端UI框架,遵循原生 HTML/CSS/JS 的书写与组织形式。Layui为了加深页面布局简化HTML/CSS代码的耦合度,并且可以提升多终端的适配能力,Layui后期引进了一套具备响应式能力的格栅系统,格栅系统的响应式能力很强,是因为CSS3媒体查询的强大支持,因此针对四类不同尺寸的屏幕,都可以进行相应的适配处理。1.3.5 Thymeleaf Thymeleaf 对于网络的是没有需求的,有没有因特网都是可以运行的,所以美工可以在浏览器端查看静态的页面,也可以让程序员在服务器端查看动态的页面。浏览分
23、析html时不会寻找为定义的标签属性,因此Thymeleaf 的模板可以静态地运行;当有数据传到到页面时,Thymeleaf会自动的替换静态内容,使页面可以动态的显示。Thymeleaf还提供Spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的进行表单绑定、属性编辑器等诸多功能。这些功能对于开发者来说是非常友好的。1.4 本章小结本章介绍了系统开发所涉及到的开发语言、框架和数据库,在开发之前选择好相关技术,然后在进行开发对于一个项目是非常重要的,这可以减少许多开发时间以及很多的难题。如今开发技术已经很成熟,开发一个项目用成熟的技术是很重要的,而开发一个项目是要掌握很
24、多技术的,在掌握多个技术之后,开发效率才高。本系统实现大王门店管理系统功能所使用到的Web开发技术、数据可视化技术、以及MVC分层思想等,对于前端界面的实现用到了Bootstrap 框架、Layui框架以及Thymeleaf模板引擎然后实现界面交互用到的是Ajax技术,并根据这些深入研究,为程序的实现奠定了基础。熟练使用各种框架技术不但减少了开发的时间与精力,而且也减少了错误,使用前辈封装的成熟技术,使用起来是非常放心的。减少开发时间,将时间用在调试、测试、修改bug的性价比是很高的。2 系统分析需求分析是软件开发过程中的一个重要阶段15,分析系统的数据要求是非常重要的,软件系统本质都是信息处
25、理系统,系统必须处理的信息和系统产生的信息很大程度上决定了系统的面貌对软件的设计具有深远的影响。功能需求必须划分出系统必须完成的所以功能本章详细的描述了大王门店管理系统的系统分析,要从功能需求华友非功能需求进行分析,可更加直观的展示大王门店管理系统的功能需求。本章节的分析对接下来进行开发、测试、还有整体的设计都有很大的作用,所以需求分析一定要详细且准确。2.1 功能需求分析在分析一个项目的需求的时候,一定要知道需要解决的问题是什么,由于这是一个管理门店的系统,所以此系统的目的是解决关于餐饮门店后台的问题,管理员可以随时对菜品、订单、门店、员工等信息来进行增删改查。大王门店管理系统有七大模块,分
26、别是连锁门店管理、后厨管理、订单管理、营业报表管理、员工管理、管理员管理。具体数据流如图2.1所示。图2.1 大王门店管理系统数据流程图通过对目前大王门店功能的分析,然后根据严格的权限管理,确定有三类用户,1:超级管理员也就是老板,2:1级管理员也就是经理,3:普通管理员也就是普通员工。首先是老板在登录后可以在各个模块下查看并管理信息。可以对员工进行增加员工和删除员工的信息。可以对普通管理员的增删改三个操作;在员工管理中管理着包括员工号、员工姓名、员工住址、员工电话、身份证、还有所属的门店的功能;在后厨管理中包括了菜品列表和菜品类型,其中菜品的类型可以增加,然后菜品的列表要根据已有的菜品类型再
27、进行增加,不能增加不存在类型的菜品;在营业报表中包含了订单号、金额、操作的员工、所属门店、销售时间、以及时间;在连锁门店管理中包括了门店名、门店地址、联系电话。然后是经理,经理的权限就少了很多,首先可以对订单列表进行管理,可以对普通员工的信息进行管理,对后厨中菜品列表和菜品类型进行管理,最后是对营业报表信息只能进行查询,无法进行操作。最后是普通员工,普通员工的权限是最少的,只有两个管理的查看权限,首先只可以对订单列表进行查询,无法进行其他的操作。而对于菜品列表只能查看、打印、导出、筛选。相关用例图如图2.2所示。图2.2 大王门店管理系统用例图大王门店管理系统除了以上增删改查等基础功能之外也还
28、包括了其他功能。其中用户对于营业报表的操作就有三个,与用户其他功能相关的用例有筛选营业报表,导出营业报表和打印营业报表的相关功能,营业报表功能用例如图2.3所示。 图2.3 大王门店管理系统营业报表功能用例图查询订单列表,管理员登录大王门店系统后选择左侧导航栏的订单列表,根据订单号、客人名字、订单状态进行查询,其中可以选择其中的一项或两项,或者全选进行精确的查询。新增订单列表,管理员登录大王门店系统后选择左侧导航栏的订单列表,点击新增按钮即可进入添加订单列表界面,可以选择添加的类型,然后添加菜品的类型,即可完成订单列表的添加。删除订单列表,管理员登录大王门店系统后选择左侧导航栏的订单列表,选择
29、一条订单后点击删除,然后会弹出确认删除的弹窗,以免错误操作,点击确认后进行删除。可以删除一条或批量删除。筛选收银员管理,管理员登录大王门店系统后选择左侧导航栏的收银员管理,根据序号、用户名称、用户描述、所属门店进行筛选。添加收银员管理,管理员登录大王门店系统后选择左侧导航栏的收银员管理,点击新增按钮即可进入新增收银员界面,输入用户名、所属门店、用户描述然后点击提交,即可完成收银员的添加。删除收银员管理,管理员登录大王门店系统后选择左侧导航栏的收银员管理,选择一条收银员信息后点击删除,然后会弹出确认删除的弹窗,以免错误操作,点击确认后进行删除。可以删除一条或批量删除。并且也可以在数据库中更新。筛
30、选员工列表,管理员登录大王门店系统后选择左侧导航栏的员工列表,根据员工号、员工姓名、员工住址、员工电话、身份证号、所属门店进行筛选。新增员工列表,管理员登录大王门店系统后选择左侧导航栏的员工列表,点击新增员工按钮,然后就会弹出新增员工的功能框,选择所属门店接下来输入员工姓名、身份证号码、员工电话、员工地址,其中员工的电话和身份证号要符合要求,否则会提示格式错误。然后点击提交,即可完成员工的添加。并且可以在数据库中更新。修改员工列表,管理员登录大王门店系统后选择左侧导航栏的菜品列表,选择一条菜品后点击修改,可以修改员工id、员工姓名、所属门店、员工住址、员工电话、员工身份证号,点击提交即可完成员
31、工的修改。并且也可以在数据库中更新。删除员工列表,管理员登录大王门店系统后选择左侧导航栏的员工列表,选择一条员工信息后点击删除,然后会弹出确认删除的弹窗,以免错误操作,点击确认后进行删除。可以删除一条或批量删除。查询菜品类型,管理员登录大王门店系统后选择左侧导航栏的菜品类型,根据菜品名称或菜品类型分别查询,也可以两项都选择,然后进行精确的查询。新增菜品类型,管理员登录大王门店系统后选择左侧导航栏的菜品类型,点击新增按钮即可进入新增菜品类型界面,接下来输入菜品名称,即可完成菜品类型的新增。删除菜品类型,管理员登录大王门店系统后选择左侧导航栏的菜品类型,选择一条菜品后点击删除,然后会弹出确认删除的
32、弹窗,以免错误操作,点击确认后进行删除。可以删除一条或批量删除。删除完成页面显示也会少信息,并且也可以在数据库中更新。查询菜品列表,管理员登录大王门店系统后选择左侧导航栏的菜品列表,根据菜品名称或菜品类型分别查询,也可以两项都选择,然后进行精确的查询。添加菜品列表,管理员登录大王门店系统后选择左侧导航栏的菜品列表,点击添加菜品列表按钮即可进入添加菜品列表界面,选择菜品类型,输入菜品名称、菜品单价然后点击提交,即可完成菜品列表的添加。修改菜品列表,管理员登录大王门店系统后选择左侧导航栏的菜品列表,选择一条菜品后点击修改,可以修改菜品id、菜品类型、菜品名称、和菜品单间,点击提交即可完成菜品的修改
33、。删除菜品列表,管理员登录大王门店系统后选择左侧导航栏的菜品列表,选择一条菜品后点击删除,然后会弹出确认删除的弹窗,以免错误操作,点击确认后进行删除。可以删除一条或批量删除。并且也可以在数据库中更新。查询营业报表,管理员登录大王门店系统后,然后点击左侧导航栏的营业报表,在下拉列表中选择想要查找的序号、销售种类、销售类型、价格、销售时间,可以选择其中的几项或一项,但是不可以一项不选。查询营业报表中可以精确查询也可以模糊查询,可以查询一年的所以营业信息,可以查询一个月内的营业信息,也可以查询一天内的营业信息。并且也可以在数据库中更新。新增门店,管理员登录大王门店系统后选择左侧导航栏的连锁管理下的门
34、店管理,点击新增按钮,根据提示进行添加。删除门店,管理员登录大王门店系统后选择左侧导航栏的连锁管理下的门店管理,点击门店列表后端删除按钮即可删除列表中该行数据,其他数据正常显示在列表中。 分页功能,在每一处管理模块中都包含了分页的功能,可回到首页、末页、上一页、下一页等,还可输入想要前往的页码。2.2 非功能需求本系统所有页面设计以用户体验为中心,所有页面风格一致,文字易于理解,本系统还有低调黑、炫酷蓝、奶昔绿三种或低调或明亮的主题可供用户个性化自定义。页面栏可以右键点击显示刷新当前页面也可以选择关闭当前页面等操作,方便用户同时操作多个页面的刷新和关闭。一些列表均匀分布在整个页面,可以显示出全
35、部的行和列,且拖拽列表行和列页面反应灵敏主要布局不会发生变化,方便用户的查看和编辑。系统提示信息清晰简短,信息的表达不使用冗长的文字。美观的页面设计可为用户提供良好的视觉印象,吸引用户的交互行为。2.3 本章小结本章主要介绍了大王门店系统的业务逻辑相关内容,需求分析对于软件的开发有很重要的地位,进行需求分析可以让软件具有很强的可靠性以及可行性。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型, 解决目标系的“做什么”的问题Error! Reference source not found.。对于软件的需求分析一旦有失误或者不能满足用户需求都不是一个成功的项目。软件需求不断地变更
36、是软件开发困难的根源之一,需求的管理贯穿于整个软件开发周期中软件的需求管理与控制涉及质量度量与控制、复杂性度量、有效性度量、优先级划分、风险性分析、依赖性分析、需求缺陷管理及管理工具11。只有让需求分析尽量详细,在开发的过程中就会思路清晰、开发效率得到提高从而节省很多时间。3 系统设计本章介绍大王门店管理系统进行了系统设计。根据门店的业务需求对本系统的体系结构进行了设计规划,即按系统功能设计、数据库设计、界面设计的设计思路,系统功能设计决定了软件开发的整体走向,可以减少许多开发的时间,先设计整个系统是非常的有必要性的,也是非常减少人力和物力的。是重要的环节。数据库的开发是格外重要的,数据库最初
37、是在大公司或大机构中用作大规模事务处理的基础18,使用达到更完善的性能和更高的用户满意度进行本项目系统设计,为下一步的整个系统编写打好基础。而界面的设计也是格外重要的,一个好看的界面对于使用人员来说,用起来还是比较舒适的,开发软件一定要注重用户体验的。3.1 系统总体设计本章的概要设计是对大王门店系统的层次划分、模块、接口、异常处理、抽象类等进行了详细设计,而接口的设计有自己的设计,也包含了继承Java的接口,Interfaces and abstract classes provide more structured way to separate interface from implem
38、entation23。使该系统更加符合用户的需求,同时也为测试人员提供了参考标准。3.1.1 系统体系结构本系统将采用三层结构设计,程序员把业务逻辑的代码放在服务器端,很大程度上减轻了浏览器端的负担,用户在浏览器端只需要传输数据,数据传入到后端服务器后就会处理此功能的业务逻辑。The DAO design pattern keeps all database access functionality in DAO classes. This creates a clear separation of concerns, leaving other layers in our applicati
39、on, such as the user interface logic and the business logic, free of any persistence logic20。该系统的设计主要采取架构风格是B/S架构21,B/S结构不仅仅保留了C/S结构优点,还使复杂的程序变得简单了起来。因此可以很好的开发和维护客户的端程序,当改变后端业务逻辑的代码时前端界面不会轻易的被影响。当软件编写结束后,进入部署实施阶段。当浏览器端或服务器端的内存占用过大时,可以把其分开部署,避免压力过大影响性能。系统部署结构如图3.1所示。图3.1 系统部署结构图3.1.2 系统组件结构设计模型层主要对应数
40、据库中的字段,将每个表中的字段封装成一个实体类。模型层里的对象与数据库中的字段具有一一对应的映射关系,所有需要进行数据处理的字段都需要依赖对象模型,所以在开发项目时传入的参数和用到的方法都依赖于模型层。系统组件结构图如图3.2所示。图3.2 系统组件结构图数据访问层,主要根据数据库的表结构来访问数据库表中的数据记录。不同的数据库访问数据有不同的方法,因此数据访问层取决于数据库管理系统的类型。业务逻辑层,即响应用户在使用系统功能时的逻辑,业务逻辑层依赖于数据访问层。在软件开发的过程中客户可能会改变需求,或者在项目验收时,做出的功能与客户的需求不符,此时需要改变软件的业务逻辑。将业务逻辑分离出来,
41、在不改变参数的情况下,不用改动其他代码就可以修改功能。用户界面层,向用户显示经过门店系统业务处理后数据,即显示的需求功能。用户界面层还可以用来提交数据,用户对界面做出相应的操作,将数据提交到后台,也就是业务逻辑层,经过业务逻辑的处理后再调用数据访问层,实现用户的功能。3.1.3 系统功能结构大王门店管理系统包含七个模块,分别是订单管理、收银员管理、员工列表、菜品列表、菜品类型、营业报表、门店管理。在其中的收银员信息、员工信息、菜品信息、营业报表、门店管理等,在其中几个模块中还可完成排序、筛选、导出等功能,功能结构图如图3.3大王门店系统功能结构图所示。图3.3 大王门店系统功能结构图用户可以使
42、用系统提供的以下功能:分别是订单信息查看、订单信息删除、订单信息修改、增加订单信息、根据订单号排序、根据价格排序、收银员新增、收银员删除、收银员按序号排序、员工的新增、员工信息删除、员工信息修改、员工信息筛选、根据员工号进行排序、根据员工电话号码排序、所属门店的排序、菜品列表的查询、菜品列表中菜品的新增、修改、查询、根据菜品编号的排序、根据菜品价格的排序、菜品类型的新增、菜品类型的删除、按菜品类型编号排序、营业报表的查询、新增、查询、按营业报表的排序、门店的新增、门店的删除、按门店序号的排序、用户的登陆、用户的注销等功能。3.2 系统详细设计详细设计总体来说是对上一节概要设计的细化,介绍整个大
43、王门店管理系统的功能及数据库信息等。在本节中的实体关系图中可以清楚显示各个表之间的关系及每个实体存在的属性。3.2.1 系统功能设计添加员工功能,用户进入添加员工页面后,可以填写员工基本内容,如员工姓名、所属门店、员工住址、员工电话、身份证号,然后点击跳转式提交即可将刚输入的数据增加到员工列表中,并显示在员工列表页面,时序图如图3.4所示。图3.4大王门店系统新增员工时序图添加员工功能设计,用户进入employeeList.html界面,添加员工,将当前界面通过addEmployee将信息传递到controller,调用service层添加员工的方法,通过mapper将数据传入数据库,根据对应
44、的方法调用xml文件的添加员工功能,返回数据并在employeeList.html显示。具体功能描述见表3.1。表3.1 添加员工功能描述编号类名变量名功能描述1employeeList.htmladdEmployee输入添加员工的内容,并提交信息给后台。2EmployeeControlleraddEmployee在控制层获取到的员工的信息并调用对应的service方法。3EmployeeServiceaddEmployee通过传入的员工数据进行业务逻辑的处理并调用对应的mapper方法。4EmployeeMapperaddEmployee在数据访问层添加员工。5employeeList.ht
45、mladdEmployee提示添加员工成功。修改员工的功能,选择员工管理,然后选择一条员工信息点击修改,编辑表单中员工的信息内容如员工姓名、所属门店、员工住址、员工电话、身份证号,然后点击提交按钮,就可在该页面显示已修改过的信息。时序图如图3.5所示。图3.5大王门店系统修改员工时序图修改员工信息功能设计,用户进入employeeList.html界面,输入员工姓名、所属门店、等,在当前界面通过updateEmployeeById变量将信息传递到controller,调用service层新增方法,通过mapper将数据传入数据库,根据对应的方法调用xml文件的新增功能,并返回数据。具体功能描述
46、见表3.2。表3.2 修改员工功能描述编号类名变量名功能描述1employeeList.htmlupdateEmployeeById输入修改内容,并提交信息给后台2EmployeeControllerupdateEmployeeById在控制层获取到的新增员工信息并调用对应的service方法3EmployeeServiceupdateEmployeeById通过传入的数据进行新增员工信息业务逻辑的处理并调用对应的mapper方法4EmployeeMapperupdateEmployeeById在数据访问层新增信息,新增后的信息返回前端界面5employeeList.htmlupdateEmp
47、loyeeById提示修改员工信息成功查询菜品功能,用户进入菜品列表后,可以对菜品进行不同名称和不同菜品类型进行查询。时序图如图3.6所示。图3.6大王门店系统查询菜品时序图查询菜品功能设计,用户查询菜品随后进入productList.html界面,选择想要查询的菜品,选择完成后,通过变量findAllVariety将当前界面信息传递到controller,然后调用service层查询菜品的方法,通过mapper将数据传入数据库,根据对应的方法调用xml文件的查询功能,返回数据并在productList.html显示。具体功能描述见表3.3。表3.3 查询菜品功能描述编号类名变量名功能描述1productList.htmlfindAllVariety输入查询菜品的内容,并提交信息给后台。2VarietyControllerfindAllVariety在控制层获取到的菜品的信息并调用对应的service方法。3VarietyServicefindAllVariety通过传入的菜品数据进行业务逻辑的处理并调用对应的mapper方法。4VarietyMapper.xmlfindAllVariety在数据访问层查询菜品。5productList.htmlfindAllVariety显示菜品在菜品列表中。3
限制150内