【2014年真题】 难度:一般
请详细阅读以下关于网络设备管理系统架构设计的说明,回答下列问题。(25分)
【说明】
某软件公司欲开发一个网络设备管理系统,对管理区域内的网络设备(如路由器和交换机等)进行远程监视和控制。公司的系统分析师首先对系统进行了需求分析,识别出如下3项核心需求:
(a)目前需要管理的网络设备确定为10类20种,未来还将有新类别的网络设备纳入到该设备管理系统中;
(b)不同类别的网络设备,监视和控制的内容差异较大;同一类网络设备,监视和控制的内容相似,但不同厂商的实现方式(包括控制接口格式、编程语言等)差异较大;
©网络管理员能够在一个统一的终端之上实现对这些网络设备的可视化呈现和管理操作。
针对上述需求,公司研发部门的架构师对网络设备管理系统的架构进行了分析与设计,架构师王工认为该系统可以采用MVC架构风格实现,即对每种网络设备设计一个监控组件,组件通过调用网络设备厂商内置的编程接口对监控指令进行接收和处理;系统管理员通过管理模块向监控组件发送监控指令,对网络设备进行远程管理;网络状态、监控结果等信息会在控制终端上进行展示。针对不同网络设备的差异,王工认为可以对当前的20种网络设备接口进行调研与梳理,然后通过定义统一操作接口屏蔽设备差异。李工同意王工提出的MVC架构风格和定义统一操作接口的思路,但考虑到未来还会有新类别的网络设备接入,认为还需要采用扩展接口的方式支持系统开发人员扩展或修改现有操作接口。公司组织专家进行架构评审,最终同意了王工的方案和李工的改进意见。
【问题1】
请用300字以内的文字解释什么是MVC架构风格以及其中的组件交互关系,并根据题干描述,指出该系统中的M、V、C分别对应什么。
【问题2】
扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端,它们之间的关系如下图所示。其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识。每个具体的组件需要实现扩展接口完成实际操作。客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。请根据下图所示和题干描述,指出扩展接口模式结构中的四个角色分别对应网络设备管理系统的哪些部分;并以客户端发起调用操作这一场景为例,填写表1中的(1)~(5)。
【参考答案】
【问题1】
MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。
在本系统中,模型(M)代表监控组件、视图(V)代表控制终端、控制器©代表管理模块。
【问题2】
答案:1.扩展接口2.组件3.操作接口4.接口ID5.扩展接口
分析:各个角色与网络设备管理系统的对应关系为:
基础接口对应统一操作接口;组件对应监控组件;扩展接口对应新网络设备的操作接口;客户端对应控制终端。