`
saybody
  • 浏览: 907618 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

购物车设计开发之二 —— 业务建模

阅读更多

第二章:购物车业务建模。

笔者在本文中将会采用 UML 对购物车进行建模。

对于我们的例子,涉及参与者( Actor )是顾客,业务实体则有 MiniCart Shopping Cart

1 、术语解释。

购物车 /ShoppingCart :模拟现实的购物车,存放顾客选购的商品。

购物车元素 /ShoppingCartItem :表示每个加入购物车的商品, 1 个购物车元素对应一个商品。

迷你车 /MiniCart :购物车的微缩版,只显示最后(或者近几个)加入购物车商品,会附加一些促销的信息。

2 、用例( Use Case

用例( Use Case )是顾客对购物车进行直接操作的事件。

经过分析,得出的用例如下图:

3 、业务实体。

描述如下:

1 ShoppingCart ShoppingCartItem 是聚合关系,即 ShoppingCartItem 生命周期依赖于 ShoppingCart

2 MiniCart 和和 ShoppingCartItem 是组合关系,一个 MiniCart 可以呈现多个 ShoppingCartItem

ShoppingCartItem 生命周期和 MiniCart 没有直接关系;

3 MiniCart ShoppingCart 有依赖关系,如果还没有为顾客分配 ShoppingCart ,则 MiniCart 也为空。

4 、时序图。

描述顾客和购物车之间的交互关系,并表述对象之间的时间顺序可以用时序图表达,但限于篇幅,

笔者只对其中的【将商品加入购物车】进行设计。

4.1 基本流如下:

流程描述如下:

顾客 服务器

1 )查看商品;

2 )将商品加入购物车;

3 )购物车模块判断可以加入;

4 )将该商品加入购物车;

5 )调用其它接口对购物车进行处理(如计费接口);

6 )调用 MiniCart 接口组装返回数据;

7 )呈现 MiniCart 页面;

8 )查看 MiniCart 页面。

4.2 扩展流如下:

1 Add to cart 时,通过购买验证,发现顾客等级不足以购买当前商品,则返回提示信息,流程结束。

2 )另外还有其它的扩展流,比如库存不足等,由于很相似,所以在本文就不画图了。

5 、其它。

下图表达了一个顾客进入网站后选购商品——结帐的活动过程概述。

其中对 Add to cart 的子流程做了描述,结帐流程不在本文描述范围。

下一篇将进行实体和接口的具体设计,请关注。

【转载请注明出处!】

笔者现在 广州博商软件 www .probiz.cn 任项目主管,进行基于 J2EE 电子商务套件的研发。

产品在线 demo 请垂阅: http://demo.probiz.cn/eStore

笔者对 J 2EE 相关技术及电子商务方面有所研究,欢迎进行交流。

QQ:16399476

MSN yanchaomin @hotmail.com
分享到:
评论

相关推荐

    JSP网络开发实用工程案例——网上书店

    **JSP网络开发实用工程案例——网上书店** 本案例是一个基于JSP技术的网上书店系统,旨在提供一个全面的在线购书平台。JSP(JavaServer Pages)是Java平台上的一个重要组成部分,它允许开发者创建动态网页,将业务...

    项目开发\J2EE项目实训——UML及设计模式

    本实训主题聚焦于“UML(统一建模语言)”与“设计模式”,这两者在软件工程领域扮演着至关重要的角色。 UML是一种标准化的图形化建模语言,它为软件开发者提供了一种可视化的方式来描述和理解软件系统。UML包含了...

    J2EE项目实训——UML及设计模式课件.rar

    "J2EE项目实训——UML及设计模式课件.rar"这个压缩包文件显然是针对学习J2EE开发和软件设计的学生或专业人士准备的资源。其中包含的两个源码项目——在线商城项目源程序和BBS论坛社区项目源程序,都是典型的J2EE应用...

    (项目管理)毕业设计项目——中软国际.docx

    - **开发平台**: Eclipse(Helios)作为主流的集成开发环境之一,提供了丰富的插件支持和强大的代码编辑功能。 - **JDK版本**: JDK1.6Update23,虽然不是最新版本,但在当时的环境中具有良好的稳定性和兼容性。 - **...

    uml建模实例(四个项目的建模实例分析).rar

    《UML建模实例分析——探索四个项目的专业实践》 UML(统一建模语言)是一种在软件工程领域广泛使用的标准化建模语言,它提供了一种图形化的方式来描绘软件系统的设计、结构和行为。本资源“uml建模实例(四个项目的...

    (精品word)软件工程——网上购物系统课程设计.doc

    【网上购物系统】课程设计是软件工程专业学生的一次实践训练,目的是让学生深入理解软件工程的方法和技术,提升软件开发的实战能力,同时培养工程设计、问题解决和团队协作能力。在这个项目中,学生们将运用面向对象...

    UML建模实例

    本资源包含两个具体的UML建模实例——"library"和"webshop",它们可以帮助我们深入理解如何运用UML来设计和规划软件系统。 1. **UML简介** UML是一种标准化的建模语言,它提供了图形化的表示法来描述面向对象系统...

    (项目管理)毕业设计项目——中软国际.pdf

    【项目管理】在毕业设计项目中,中软国际提供了多个基于不同技术和框架的软件系统设计与实现案例。这些项目展示了如何运用项目管理方法和技术来构建实际的IT解决方案。以下是各个项目的主要知识点: 1. **基于 ...

    jsp 数据库业务系统实验报告

    【实验报告——JSP数据库业务系统开发】 一、实验背景与目标 本次实验旨在整合集成开发环境工具与大型数据库的应用,运用所学的数据库开发语言,例如Java Server Pages (JSP)技术,来构建一个与大型数据库交互的...

    软件工程项目建模.rar

    在软件工程领域,建模是一种重要的设计方法,它能帮助我们清晰地理解系统的结构和行为,从而提高开发效率,减少错误。UML(统一建模语言)是目前最广泛使用的建模语言,尤其在软件工程项目中,其强大的表达能力和...

    领域驱动设计

    综上所述,领域驱动设计不仅仅是一种技术手段,更是一种思维方式,它要求开发者跳出传统的技术视角,从更高层次上思考软件开发的本质——即如何更好地服务于业务目标。通过深入理解和应用DDD,开发者可以构建出更加...

    UML案例-网上购物.pdf

    《UML在互联网环境下——网上购物系统分析与设计》 UML(统一建模语言)是一种标准化的建模工具,广泛应用于软件开发过程中的需求分析、设计、测试等多个阶段,尤其在面向对象技术中占据重要地位。它并非一个完整的...

    UML课程设计RationalRose建模网上购物系统

    在“fenfenxueluo-2674296-UML课程设计RationalRose建模——网上购物_1619560817”这个压缩包中,可能包含了上述所有建模成果的文档,如各图的详细说明、系统需求分析报告等。通过深入学习和分析这些材料,不仅可以...

    数据库网上书店系统.pdf

    E-R图是数据库设计中常用的一种建模工具,它帮助设计师将现实世界的问题域转换为数据库模型,为后续的逻辑设计打下基础。 逻辑结构设计阶段,是将E-R图转换为具体的表结构和关系模型。在这个过程中,会将实体转换为...

    UML建模大作业网上订餐系统

    《UML建模大作业——网上订餐系统》 网上订餐系统是一种基于网络的餐饮服务应用,它旨在提供方便快捷的订餐体验,连接消费者与餐厅,满足不同用户的用餐需求。本系统涵盖了多种关键功能,包括用户登录、信息修改、...

    数据库设计网上购物系统(初稿).docx

    【数据库系统概论课程设计——网上购物系统初稿】 在设计一个网上购物系统时,我们需要考虑许多关键的数据库设计概念和技术。...在实际开发中,还需要结合具体的业务场景和技术选型,灵活调整和优化设计方案。

    UML与可视化建模大作业模板1

    本次大作业的目的是通过UML(统一建模语言)进行可视化建模,设计一款创新的在线购物系统,旨在提升用户体验,增强商家与消费者的互动,以及优化订单处理流程。 首先,我们探讨开发这款软件的动机。随着电子商务的...

    JSP超市销售系统----------毕业设计

    **JSP超市销售系统——毕业设计详解** JSP(JavaServer Pages)是一种动态网页技术,它允许开发人员在HTML代码中嵌入Java代码,从而实现服务器端的动态内容生成。这款"JSP超市销售系统"是针对计算机专业学生的一次...

    毕业论文springboot123基于springboot框架的网上商城系统的设计与实现论文.doc

    【网上商城系统设计与实现——基于SpringBoot框架】 随着现代经济的快速发展和信息技术的不断进步,传统的信息管理方式已经无法满足大数据时代的需求。在这种背景下,网上商城系统应运而生,它利用先进的软件技术,...

Global site tag (gtag.js) - Google Analytics