看过之前的三个系列文章,相信你对java基础知识、java web基础知识、SpringMVC 、Spring、 Mybatis三个框架有了全面的掌握,学会了搭建属于自己的开发框架。也编写了一些小型的web程序。但是你可能对怎样去设计一个系统,应该存在很多疑惑。从今天开始,猿人工厂君,将带领你从0开始设计一个主流的电商系统。
怎么来设计这样一个系统?以前设计个旅游系统,因为它比较小巧,简简单单的分析分析就可以了。现在系统庞大了,不是太好搞了,得想想其它办法。比如给你推出一个新的办法以及安利一个新的作战技能——UML.
统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。
用例图描述角色以及角色与用例之间的连接关系。说明是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如关联、泛化、包含、扩展和依赖。
参与者(Actor)——与应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。
用例(UseCase)——用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。
关联——表示参与者与用例之间的通信,任何一方都可发送或接受消息。
【箭头指向】:无箭头,将参与者与用例相连接。
泛化——代表一般与特殊的关系。它的意思和面向对象程序设计中的继承的概念是类似的。子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。在实际应用中很少使用泛化关系,子用例中的特殊行为都可以作为父用例中的备选流存在。
【箭头指向】:指向父用例。
包含——本用例的行为包含了另一个用例的行为。比如xxx信息维护中,新增xxx,修改xxx,删除xxx。
【箭头指向】:指向包含的功能用例。
扩展——扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。
【箭头指向】:指向被扩展的用例。
依赖——用带箭头的虚线表示,表示源用例依赖于目标用例。
【箭头指向】:指向被依赖用例。
三和大神的成神之路其实同样适合用来提升你的设计能力。对任何系统没有概念的时候,不要忘记了,这个世界上有好多好多的站点,内容丰富多彩,而且是一个成品,消耗过无数web程序猿的脑细胞。站在他们的脑细胞上,进行自己的设计和开发,相信能够让你事半功倍,学到属于自己的分析和设计。
今天我们继续来上网,一边上网,一边结合UML的办法,一点一点来分析出一个适合我们自己玩耍的系统。设计这种事情,一口吃一个胖子出来,是不科学的,小系统都吃力,何况是这么复杂的一个系统。我们今天就使用例图,整理下用户侧的一些功能。至于如何落地到一个完整的设计,我们后续自由其他办法,猿人工厂君会教你一整套办法的。
鉴于我们大部分人都是外貌协会会长,那么我们就找个老板娘漂亮一点的开始吧,打开浏览器访问某个地球人都知道的网站吧。
打开网站扑面而来的商品信息,现在生活确实方便了,不用出门就可以买到好多好多的东西,这个也是电商的社会价值了。我们先看首页,分可以登录/注册,搜索商品,还能进入购物车,也能看到一些活动通知,移动鼠标到类目导航栏,会展示每个类目的详细分类,点击一个详细分类,会触发搜索功能。
我们用UML用例图来表示一下。
搜索可是电商的强大功能噢,除了点击类目能搜索,输入你想要的商品名字,甚至品牌名字,也能检索得出想要的商品,还能按照品牌分类等等信息进行商品筛选。看到满意的商品了自然想要去看看,点击中意的商品,进入商品详情页面了。我们也可以用UML用例图来简单表示一下(品牌、分类相对独立、其余的算属性吧)。
商品详情页面的功能自然是展示商品了,各种信息一目了然,优惠券、促销、配送地址、等信息一目了然。商品的颜色、版本等等信息供你选择,当然最重要的是,可以把商品放入购物车噢。也用UML用例图表示一下。
购物车自然是让用户选择哪些才是需要购买的商品,可以调整商品数量,显示价格、促销等信息,对于不满意的商品还可以从购物车中删除。不过作为电商系统最重要的事情,当然是要能结算,才能完成购物噢。
结算必须是网站用户才能做的事情,为了方便我们体验更多的功能,我们先注册吧。
现在的注册功能比多年以前还是好了很多了,一步一步的引导,体验还不错,画出UML用例图之后我们继续上网,登录吧。
登录也分为两种方式了,扫码登录和账户登录。先不管,输入账号密码,我们继续上网。
我们接着上网,登录后看看个人信息的设置,考虑到我们是出于学习目的,而非完全抄袭某个站点用于商业目的,我们看看一些适合自己体系的就好。我们看下收货地址这个功能,买东西嘛,没地址怎么给你送过来啊?
收货地址在电商系统中尤其重要,没有地址,用户是无法下单买东西的。这个收货地址功能,自然是需要展示用户所有的收货地址、并提供新增以及修改收货地址的功能。我们简单画下用例图。
体验完这些功能之后,我们回到购物车,选择需要结算的商品进行结算。
在结算页面,用户也可以新增收货地址,并选择自己需要的收货地址选择支付方式、配送方式、填写发票信息、使用一些可以用的优惠券。点击提交订单按钮跳转到支付页面。
到支付页面完成支付之后,点击”我的订单列表”,可以看到自己的所有订单。还可以对订单进行操作,付款、取消,点击查看订单的商品。而且这个页面还涉及订单状态的筛选。
点击订单详情你可以看见每个订单的详细信息。商品详情的展示,点击后的跳转,以及费用明细。
订单收货以后,如果不满意,可以申请返修或者退换货,或者退款。
到目前为止,一个基本的购物流程体验算是完成了。我们用UML用例图来表示一下这个复杂的关系吧。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有