问答题 试题二(共25分) 阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。 某软件公司为电子商务企业开发一套网上交易订单管理系统,以提升服务的质量 和效率。在项目之初,项目组决定釆用面向对象的开发方法进行系统开发,并对系统的核心业务功能进行了分析,具体描述如下: 注册用户通过商品信息页面在线浏览商品,将需要购买的商品添加进购物车内, 点击“结算”按钮后开始录入订单信息。 用户在订单信息录入页面上选择支付方式,填写并确认收货人、收货地址和联系方式等信息。点击“提交订单”按钮后产生订单,并开始进行订单结算。 订单需要在30分钟内进行支付,否则会自动取消,用户也可以手工取消订单。 用户支付完成,经确认后,系统开始备货,扣除该商品可接单数量,并移除用户购物车中的所有商品资料。 生成订单表单,出货完毕,订单生效。为用户快递商品,等待用户接收。 用户签收商品,交易完成。
问答题 【问题1】(12分) 识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。请用300字以内的文字说明设计类通常分为哪三种类型,每种类型的主要职责,并针对题干描述案例涉及的具体类为每种类型的设计类举出2个实例。
【正确答案】(1)实体类。实体类映射需求中的每个实体,保存需要存储在永久存储体中的信息,例如,用户、商品等。 (2)控制类。控制类是用于控制用例工作的类,用于对一个或几个用例所特有的控制行为进行建模。例如,结算、备货等。 (3)边界类。边界类用于封装在用例内、外流动的信息或数据流。例如,浏览器、购物车等。
【答案解析】
问答题 【问题2】(3分) 在面向对象的设计过程中,活动图(activity diagram)阐明了业务用例实现的工作流程。请用300字以内的文字给出活动图与流程图(flow chart)的三个主要区别。
【正确答案】(1)程序流程图明确地指定了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序。 (2)流程图一般都限于顺序进程,而活动图则可以支持并发进程。 (3)活动图是面向对象的,而流程图是面向过程的。
【答案解析】
问答题 【问题3】(10分) 在面向对象的设计过程中,状态图(statechart diagram)描述了一个实体基于事件反应的动态行为。请根据题干描述,填写图2-1中的(a)-(e)空白,完成订单处理的状态图。
【正确答案】(a)取消 (b)订单结算 (c)手工取消订单 (d)订单生效 (e)用户签收商品
【答案解析】