适用项目:线上商品的销售与运营平台
复习状态:已复习 1 次 (2026-05-22T06:59:17)
面向对象分析是在需求分析阶段,按照现实世界中的对象及其关系来理解和描述系统需求的方法。它的重点不是进行代码设计,而是通过用例模型和分析模型,把用户需求转换成清晰、稳定、可交流的业务模型。线上商品销售与运营平台涉及买家、商家、运营人员、支付渠道等多类参与者,业务上又包含商品管理、购物车、订单交易、库存扣减、支付结算、营销活动、会员运营和数据统计等复杂流程。如果前期分析不清,后续设计和开发中很容易出现需求遗漏、对象职责混乱、订单状态不一致等问题。因此,在本项目中,我采用面向对象分析方法,重点建立用例模型、静态分析模型和动态分析模型,为后续架构设计、数据库设计和接口设计提供依据。
首先,我建立了平台的用例模型。用例模型主要用于从用户视角描述系统应提供哪些服务,通常包括识别参与者、合并需求得到用例、细化用例描述和调整用例关系等步骤。在本项目中,我首先识别出买家、商家、运营人员、支付平台和数据分析人员等参与者,然后根据访谈和原型评审结果,整理出商品搜索、加入购物车、提交订单、使用优惠券、支付订单、申请退款、商品上下架、配置促销活动和查看经营报表等核心用例。以“提交订单”用例为例,我明确了前置条件是用户已登录、商品已上架且库存可用,基本流程是选择 SKU、确认地址、选择优惠券、生成订单、锁定库存并进入待支付状态,异常流程包括库存不足、优惠券不可用和订单超时取消。通过用例建模,我们共形成 42 个核心用例和 18 份详细用例描述,发现并补充了 12 项遗漏需求,例如订单取消后优惠券释放和支付超时后库存回滚,为后续开发减少了需求返工。
其次,我建立了平台的静态分析模型。静态分析模型主要通过类图描述系统中的概念类、类之间的关系以及类的主要属性和职责。在本项目中,我围绕交易链路识别出用户、会员账户、商品、SKU、购物车项、订单、订单明细、库存、优惠券、促销规则、支付流水、退款单等关键概念类,并梳理它们之间的关系。例如,一个用户可以拥有多个订单,一个订单包含多个订单明细,每个订单明细对应一个 SKU,SKU 与库存记录一一对应,优惠券可以被订单使用,支付流水与订单保持关联。随后,我为关键类补充了核心属性,例如订单类包含订单号、订单状态、订单金额、实付金额和创建时间,库存类包含 SKU 编号、可售库存、锁定库存和已售数量,优惠券类包含使用门槛、优惠金额、有效期和核销状态。通过静态分析模型,我们统一了业务术语和数据口径,消除了“商品编号”和“SKU 编号”混用等 16 个模型问题,使数据库表结构和接口字段设计更加稳定。
最后,我建立了平台的动态分析模型。动态分析模型用于描述对象之间在业务流程中的交互顺序和状态变化,常用顺序图、状态图和活动图表示。在本项目中,我重点对订单交易流程建立了顺序图和状态图。顺序图中,我描述了买家提交订单后,订单对象依次与商品、营销、库存、支付等对象协作,完成商品有效性校验、优惠金额计算、库存锁定、订单生成和支付结果回传等步骤;状态图中,我定义了订单从待支付、已支付、待发货、已完成、已取消到已退款等状态的转换条件。例如,当支付超时发生时,订单应由待支付转为已取消,并触发库存释放和优惠券解冻;当支付平台重复回调时,订单状态不能从已支付回退或重复更新。通过动态建模,我们提前发现了 9 个异常流程缺失问题,并补充了支付超时、重复回调、库存锁定失败等场景。后续联调中,核心订单状态异常问题明显减少,交易链路一次联调通过率达到 95% 以上。