Java Web应用开发任务式教程(慕课版) 单元8 某商城系统的设计与实现_第1页
Java Web应用开发任务式教程(慕课版) 单元8 某商城系统的设计与实现_第2页
Java Web应用开发任务式教程(慕课版) 单元8 某商城系统的设计与实现_第3页
Java Web应用开发任务式教程(慕课版) 单元8 某商城系统的设计与实现_第4页
Java Web应用开发任务式教程(慕课版) 单元8 某商城系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《JavaWeb应用开发》单元8某商城系统的设计与实现了解系统总体设计的相关概念熟悉时序图的作用和绘制熟悉功能模块开发的基本流程知识目标能够对商城系统进行整体设计能够熟练使用时序图表示组件间的时序关系能够熟练使用JSP与Servlet技术进行功能模块开发能力目标培养学生诚实守信、遵纪守法的精神,树立正确的知识产权意识培养学生的团队合作精神和沟通能力培养学生不怕困难、勇于探索、坚持不懈的敬业精神和吃苦耐劳的优良作风素质目标学习目标商城系统的总体设计任务8.1任务描述和技术分析4技术分析任务描述在系统开发的整个过程中,总体设计是系统实现的基础,这个环节是对系统总体功能架构、技术架构等宏观布局进行设计,为功能模块的设计与实现构建基础。本节会对商城系统的总体模块进行设计。在总体设计的过程中,需要对系统的功能结构、技术结构以及数据库结构进行设计。功能结构指出包含的功能模块有哪些,模块之间的关系是怎样的。技术结构指的是完成整体的功能需要用到的技术架构。支撑知识—总体设计概念/01总体设计概念总体设计也称为概要设计,是将软件的功能需求转化为所需要的体系结构的过程,涉及决定系统的模块结构、模块间的调用关系、模块间传递的数据以及每个模块的功能说明。总体设计详细来说包含多个关键内容,这些关键内容共同构成了软件系统的整体框架和设计蓝图。系统架构设计:涉及确定软件系统的整体结构,包括硬件组件和软件组件的集成方式,以及系统如何分解为不同的模块或子系统,同时还需要考虑性能、可用性、安全性、可扩展性等因素。支撑知识—系统技术架构/02系统技术架构12商城系统采用分层设计与实现,即将页面展示层与业务逻辑层和数据访问层分离,便于代码的重用和维护,使系统具有良好的可读性、可修改性、可扩展性和可维护性。图的使用也非常关键,它们可以帮助开发人员更好地理解和管理复杂的软件系统。某商城系统基于MVC(Model-View-Controller)模式进行设计,其中Model代表业务逻辑和数据模型,View表示用户界面,Controller表示请求处理和流程控制,通过将业务逻辑、数据展示和用户界面分离,提高了代码的可维护性、可重用性和可扩展性。系统技术架构商城系统的框架结构图。支撑知识—系统时序图/03系统时序图①组件:代表系统中的各个模块或对象,可以用不同的形状来表示不同类型的组件。②消息:代表组件之间的交互,用箭头表示,箭头的方向表示消息的方向。

时间顺序:代表消息传递的时间顺序,通常用数字或时间标签来表示。系统时序图又名序列图、循序图,是一种UML(UnifiedModelingLanguage,统一建模语言)交互图,是软件开发过程中用于描述系统各个组件之间时序关系的一种图,它以图形化的方式展示了系统中各个组件之间的消息传递和时间顺序。系统时序图时序图包括以下元素:(1)角色系统角色,可以是人、其他系统或子系统。(2)对象对象代表在交互中所扮演的角色,位于时序图顶部。对象一般包含以下3种命名方式。

第一种方式包含对象名和类名。

第二种方式只显示类名不显示对象名,即为一个匿名对象。

第三种方式只显示对象名不显示类名。系统时序图(3)生命线生命线代表时序图中的对象在一段时期内存在。时序图中每个对象的底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线之间。(4)控制焦点控制焦点代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上方的矩形代表活动期。(5)消息消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模。消息用于在实体间传递信息,允许实体请求其他的服务,类角色通过发送和接收信息进行通信。系统时序图以购物车功能模块为例,分析并实现商城系统中的添加购物车功能,画出添加购物车方法涉及的类所对应的时序图。任务实现任务在网上商城系统中,收货地址管理是整个商城的核心功能,用户以此来实现商品的购买以及一次性付款等某商城系统中收获地址管理任务实现某商城系统购物车功能的实现任务8.2任务描述和技术分析18技术分析任务描述商场系统中,购物车管理是很重要的部分,用户感兴趣待选购的商品,可以先添加到购物车中。如果购物车中已经存在添加的商品,那就在商品的数量上进行更新。如果购物车中不存在添加的商品,那就完成新商品的添加。另外,在购物车中可以直接对商品的数量进行修改以及可以对商品进行删除。在实现购物车功能时,首先要实现购物车类,在其中定义购物车相关的属性。基于购物车类,定义Dao层实现ShoppingCarDao接口,在其中实现业务逻辑上的方法,定义ShoppingCarDaoImp类实现ShoppingCarDao接口中的方法。在Service层中,基于ShoppingCarDaoImpl类实现面向客户端使用的服务。支撑知识—实体类/01实体类是面向对象编程中的一个概念,主要用于描述系统中各种对象的类别、属性和方法等,主要负责存储和管理系统内部的信息。实体类通常是对现实世界中某个实体所进行的抽象,用于表示实体的属性和行为。它可以包含属性(成员变量)、方法(成员函数)等的定义,用于描述实体的特征和操作。实体类还可以有行为,这些行为必须与它所代表的实体对象密切相关。实体类实体类商城系统中涉及用户、商品、订单、订单详情、收货地址、购物车等实体。以订单实体为例,在Order类中,包含了订单号、用户ID、订单收件信息ID、订单总额、创建时间、支付时间等属性,默认的公有无参构造方法,相应属性的setter和getter方法等。具体代码如下。packagecom.mall.entity;importjava.sql.Timestamp;publicclassOrder{/***订单号*/privateStringorderId;/***用户ID*/privateIntegeruserId;/***订单收件信息ID*//**此处省略后续代码*/支撑知识—数据访问对象/02数据访问对象数据访问对象(DataAccessObject,DAO)是一种软件设计模式,用于将数据访问的逻辑与业务逻辑分离。DAO层的主要作用是将对数据源(如数据库、文件系统、网络服务等)的访问操作封装起来,为上层的业务逻辑提供统一的数据访问接口,使得业务逻辑层不需要关心数据是如何存储和获取的,只需调用DAO层提供的方法来获取或操作数据。数据访问对象DAO层一般先定义一组数据访问方法的接口,这些方法描述了对数据的基本操作,如查询、插入、更新、删除等。在订单的DAO接口OrderDao中,包含查看订单列表、删除订单、下单、更新订单状态等方法,具体代码如下。packagecom.mall.dao;importcom.mall.entity.Order;importjava.util.List;publicinterfaceOrderDao{/***根据用户ID查看订单列表**@paramuserId*@return*/publicList<Order>getByUser(IntegeruserId);publicOrdergetById(StringorderId);/**此处省略后续代码*/支撑知识—服务层/03服务层服务层(Service层)处于控制层(Controller)和数据访问层(DAO层)之间,主要负责处理业务逻辑和协调各层之间的交互。服务层一般分为接口定义和类实现接口定义,接口定义通过定义服务层的方法和功能,规定服务层对外提供的业务操作。以订单的OrderService接口为例,基本代码如下。packagecom.mall.service;//省略包导入语句publicinterfaceOrderService{publicList<Order>getOrderList(intuserid);publicOrdergetOrder(StringorderId);publicintdeleteFromOrder(StringorderId);publicintaddOrder(Orderorder);publicintaddOrderDetail(List<OrderDetail>orderDetailList);publicintupdateOrder(StringorderId,intstatus);publicList<OrderDetail>getOrderDetailList(StringorderId);publicList<OrderInfoVo>getOrderInfoList(intuserId);publicOrderInfoVochangeToOrderInfo(Orderorder);}支撑知识—控制端/04控制端Servlet作为控制层(Controller)的主要角色,负责处理业务逻辑、控制流程和进行数据流转。Servlet作为控制端时,执行的流程一般为先接收请求,然后根据数据处理业务逻辑,再进行流程控制,最后根据结果进行转发或重定向请求。以订单处理的OrderServlet类为例来介绍其控制流程,代码如下。@WebServlet("/orderServlet")publicclassOrderServletextendsHttpServlet{OrderServiceImplorderService=newOrderServiceImpl();ProductServiceImplproductService=newProductServiceImpl();ShoppingCarServiceImplshoppingCarService=newShoppingCarServiceImpl();@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{intuserId=(Integer)request.getSession().getAttribute("userId");StringproductIds=request.getParameter("productIds");StringproductNums=request.getParameter("productNums");StringreceiverId=request.getParameter("receiverId");Stringkey=request.getParameter("key");/*后续代码省略*/支撑知识—视图层/05视图层在MVC架构的Web应用程序中,JSP作为视图层(View)的主要组成部分,主要职责是向用户展示数据和操作界面,允许用户与应用程序交互。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论