问题 问答题

阅读以下关于UML建模技术在某前台销售子系统的应用说明,根据要求回答问题。
[说明]
某超市管理系统的前台销售子系统以最基本的方式处理销售业务。系统的功能需求如下。
(1)记录每种商品的编号、单价和现有数量。
(2)为顾客选购的商品计价、收费,并打印清单。
(3)帮助商家找出哪种商品将脱销,从而及时补充货源。
(4)随时按上级系统的要求报告当前的款货数量、增减商品的种类或修改商品定价。
(5)交接班时结算货款数目和商品数目。
每台收款机可以处理任何数目的销售事件,但一个销售事件只能由一台收款机处理。每个销售事件从收款机响应收款人员的指令开始,先向商品发送检索请求消息来查找将被出售的商品。如果该商品的数量少于下限,则向供货员发送缺货登记消息。每名供货员可以提供一种或多种商品,同一品牌的商品只能由一位供货员来提供。接着收款机发送计价和入账消息请求售出操作,再由销售事件发送记账消息给相应的账册,并控制流程返回收款机等待下一次销售操作。每本销售账册可以记录任何数目的销售事件,但一个销售事件只能由一本销售账册记录。
该销售子系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,图4-12是该系统类图中的一部分;系统的动态行为采用UML序列图表示,图4—13是销售事件部分的序列图。

[问题4]
顶层架构是UML分析与设计的阶段成果的承载体。UML包图是表示顶层架构的适当机制。结合你的系统架构设计经验,请列举3种常见的顶层架构模式,并简要说明每种架构模式的特点。

答案

参考答案:顶层架构的主要目的是为后续的分析和设计活动建立一种结构和分划,以便开发人员在不同的开发阶段,以及同一开发阶段的不同开发人员,能够聚焦于系统的不同部分。顶层架构是分析和设计的阶段成果的承载体。随着开发过程的推进,框架中的内容不断丰富和翔实,最终演进为完整的面向对象软件结构。UML包图是表示顶层架构的适当机制。
建立软件系统顶层架构的基本方法是,结合实际需求,从既往的架构设计经验模型中选取适当者,再进行微调或局部改造。目前有如下几种主要的架构模式。
(1)流程处理模式。流程处理系统以算法和数据引进中心,其系统功能由一系列的处理步骤构成,相邻的处理步骤之间以数据流通管道相互连接。该模式仅适合于采用批处理方式的软件系统,不适合于交互式系统。
(2)客户/服务器模式。客户端负责用户输入和处理结果的呈现,服务器端则负责后台的业务逻辑处理。
(3)模型—视图—控制器(MVC)模式。该模式将整个软件系统划分为模型、视图和控制器3个部分。模型负责维护并保存具有持久性的业务数据,实现业务处理功能,并将业务数据的变化情况及时通知视图;视图负责呈现模型的业务数据,响应模型变化通知,更新呈现形式,并向控制器传递用户的界面动作;控制器负责将用户的界面动作映射为模型中业务处理功能并实际调用之,然后根据模型返回的业务处理结果选择新的视图。MVC模式特别适合于分布应用软件,尤其是Web应用系统。
(4)分层模式。该模式将整个软件系统分为若干层次,最顶层直接面向用户提供软件系统的操作界面,其余各层为紧邻其上的层次提供服务。层次划时分的主要原则是:较易变化的软件部分(例如用户界面、与业务逻辑紧密相关的部件)置于较高层次,较稳定的软件部分(例如公共的技术服务部件)则位于较低层次;每一层次尽量只访问其紧邻下层提供的服务,避免越级访问,尤其要避免逆向访问(上层模块为下层模块提供服务);在许多情况下,可以将目标软件系统的外部接口置入较低层次,目标软件系统其余部分对外部系统的访问或操作均通过这些外部接口所提供的公共服务来完成。分层模式可以有效地降低软件系统的耦合度,因此其应用十分普遍。

单项选择题
单项选择题 A1型题