阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。
某软件公司为电子商务企业开发一套网上交易订单管理系统,以提升服务的质量和效率。在项目之初,项目组决定采用面向对象的开发方法进行系统开发,并对系统的核心业务功能进行了分析,具体描述如下:
注册用户通过商品信息页面在线浏览商品,将需要购买的商品添加进购物车内, 点击"结算"按钮后开始录入订单信息。
用户在订单信息录入页面上选择支付方式,填写并确认收货人、收货地址和联系方式等信息。点击"提交订单"按钮后产生订单,并开始进行订单结算。
订单需要在30分钟内进行支付,否则会自动取消,用户也可以手工取消订单。
用户支付完成,经确认后,系统开始备货,扣除该商品可接单数量,并移除用户购物车中的所有商品资料。
生成订单表单,出货完毕,订单生效。为用户快递商品,等待用户接收。
用户签收商品,交易完成。
识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。请用300字以内的文字说明设计类通常分为哪三种类型,每种类型的主要职责,并针对题干描述案例涉及的具体类为每种类型的设计类举出2个实例。
(1)实体类。实体类映射需求中的每个实体,保存需要存储在永久存储体中的信息,例如,用户、商品、购物车等。
(2)控制类。控制类是用于控制用例工作的类,用于对一个或几个用例所特有的控制行为进行建模。例如,结算、备货等。
(3)边界类。边界类用于封装在用例内、外流动的信息或数据流。例如订单表单等。
面向对象分析设计中,实体/边界/控制(EBC) 三分法有助于将领域模型与用例行为解耦,实现高内聚、低耦合。
实体类映射稳定的业务名词,负责数据持久化与不变式(如订单必须含至少一条订单项、库存数量不得为负),常与仓储/ORM协作;它们变化频率相对较低例如,用户、商品、购物车等。
。边界类面向系统边界,负责交互协议与数据适配,如 Web 界面、REST 网关、支付回调接口等;边界变化快,但不应包含核心业务规则,仅做输入校验与数据组装。例如订单表单等。
控制类聚合用例步骤,负责事务边界、流程编排、领域服务调用与异常补偿,例如“结算→创建订单→调用支付→根据回调更新状态→触发备货”。