请详细阅读以下关于网络设备管理系统架构设计的说明,在答题纸上回答问题1和问题2。【说明】某软件公司欲开发一个网络设备管理系统,对管理区域内的网络设备(如路由器和交换机等)进行远程监视和控制。公司的系统分析师首先对系统进行了需求分析,识别出如下3项核心需求:(a)目前需要管理的网络设备确定为10类20种,未来还将有新类别的网络设备纳入到该设备管理系统中;(b)不同类别的网络设备,监视和控制的内容差异较大;同一类网络设备,监视和控制的内容相似,但不同厂商的实现方式(包括控制接口格式、编程语言等)差异较大;(c)网络管理员能够在一个统一的终端之上实现对这些网络设备的可视化呈现和管理操作。针对上述需求,公司研发部门的架构师对网络设备管理系统的架构进行了分析与设计,架构师王工认为该系统可以采用MVC架构风格实现,即对每种网络设备设计一个监控组件,组件通过调用网络设备厂商内置的编程接口对监控指令进行接收和处理;系统管理员通过管理模块向监控组件发送监控指令,对网络设备进行远程管理;网络状态、监控结果等信息会在控制终端上进行展示。针对不同网络设备的差异,王工认为可以对当前的20种网络设备接口进行调研与梳理,然后通过定义统一操作接口屏蔽设备差异。李工同意王工提出的MVC架构风格和定义统一操作接口的思路,但考虑到未来还会有新类别的网络设备接入,认为还需要采用扩展接口的方式支持系统开发人员扩展或修改现有操作接口。公司组织专家进行架构评审,最终同意了王工的方案和李工的改进意见。
【问题1】(10分) 请用300字以内的文字解释什么是MVC架构风格以及其中的组件交互关系,并根据题干描述,指出该系统中的M、V、C分别对应什么。【问题2】(15分) 扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端,它们之间的关系如图1-1所示。 图1-1 扩展接口模式角色关系 其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识;每个具体的组件需要实现扩展接口完成实际操作;客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。请根据上图所示和题干描述,指出扩展接口模式结构中的四个角色分别对应网络设备管理系统的哪些部分;并以客户端发起调用操作这一场景为例,填写表1-1中的(1)~(5)。答案与解析
试题难度:较难知识点:案例分析>软件架构风格与架构设计试题答案: 【问题1】(10分) MVC架构风格:用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 MVC架构将整个软件系统划分为模型、视图和控制器3个部分。模型负责维护并保存具有持久性的业务数据,实现业务处理功能,并将业务数据的变化情况及时通知视图;视图负责呈现模型中包含的业务数据,响应模型变化通知,更新呈现形式,并向控制器传递用户的界面动作;控制器负责将用户的界面动作映射为模型中的业务处理功能并实际调用之,然后根据模型返回的业务处理结果选择新的视图。 在本题中: M:监控组件 V:控制终端 C:管理模块。 【问题2】(15分) 基础接口:统一操作接口;组件:监控组件扩展接口:新网络设备的操作接口客户端:控制终端 (1)扩展接口(2)组件(3)操作接口 (4)接口ID(5)扩展接口试题解析:本题主要考查MVC架构风格的定义以及扩展接口模式结构的分析与理解。【问题1】MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模式(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。在本系统中,模型(M)代表监控组件、视图(V)代表控制终端、控制器(C)代表管理模块。【问题2】扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端。其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识。每个具体的组件需要实现扩展接口完成实际操作,客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。根据题干描述,可以看出基础接口这一角色应该对应统一操作接口,组件这一角色应该对应监控组件,扩展接口这一角色应该对应新网络设备的操作接口,客户端这一角色应该对应控制终端。第 2 题请详细阅读以下关于系统过程建模的说明,在答题纸上回答问题1至问题3。【说明】某公司正在研发一套新的库存管理系统。系统中一个关键事件是接收供应商供货。项目组系统分析员小王花了大量时间在仓库观察了整个事件的处理过程,并开发出该过程所执行活动的列表:供应商发送货物和商品清单,公司收到商品后执行收货处理,包括卸载商品、确定收到了订单上的商品、处理与供应商的分歧等。对于已有商品,调整其库存信息,对于新采购的商品,在库存中添加新的商品记录。收货完成后,系统执行入库处理,将商品放到仓库对应的货架上。在付款处理活动中,自动生成应付账款信息,如果查询到该供应商有待付款记录,则进行合并付款,付款完成后消除应付账款记录。最后,仓库管理员根据最新的库存商品,调整出货信息。小王根据自己观察的过程创建了该事件的1层数据流图,如下图所示。
图2-1 接收供应商供货的1层数据流图
【问题1】(8分)请用300以内文字说明数据流图(Data Flow Diagram)的基本元素及其作用。【问题2】(12分)数据流图在绘制过程中可能出现多种语法错误,请分析图2-1所示数据流图中哪些地方有错误,并分别说明错误的类型。【问题3】(5分)系统建模过程中为了保证数据模型和过程模型的一致性,需要通过数据-过程-CRUD矩阵来实现数据模型和过程模型的同步,请在表2-1所示CRUD矩阵(1)~(5)中填入相关操作。答案与解析
试题难度:较难知识点:案例分析>系统需求分析试题答案: 【问题1】(8分) 数据流:数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。 外部实体:代表系统之外的实体,可以是人、物或其他软件系统。 加工(处理):加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。 数据存储:表示信息的静态存储,可以是文件、文件的一部分、数据库的元素等。 【问题2】(12分) 1、加工P5.3仅有输入流,缺少输出流,这属于黑洞。 2、加工P5.4仅有输出流,缺少输入流,这属于奇迹。 3、D1到A2:缺少处理数据流的加工。 4、D2:数据存储没有输出的数据流。 【问题3】(5分) (1)R(2)R(3)CRU(4)RU(5)CRUD试题解析:CRUD矩阵是指利用矩阵的形式来表示各个不同用户对不同操作的动作行为。其中,C是Creat——产生,R是Read——引用,U是Update——更新,D是Delete——删除。第 3 题请详细阅读有关嵌入式构件设计方面的说明,在答题纸上回答问题1至问题3。
【说明】
构件((component)也称为组件,是一个功能相对独立的具有可复用价值的软硬件单元。近年来,构件技术正在逐步应用于大型嵌入式系统的软件设计。某公司长期从事飞行器电子设备研制工作,已积累了大量成熟软件。但是,由于当初管理和设计等原因,公司的大量软件不能被复用,严重影响了公司后续发展。公司领导层高度重视软件复用问题,明确提出了要将本公司的成熟软件进行改造,建立公司可复用的软件构件库,以提升开发效率、降低成本。公司领导层决定将此项任务交给技术部门的王工程师负责组织实施。两个月后,王工程师经过调研、梳理和实验,提交了一份实施方案。此方案得到了公司领导层的肯定,但在实施过程中遇到了许多困难,主要表现在公司软件架构的变更和构件抽取的界面等方面。
【问题1】(共9分)请用200字以内文字说明获取构件的方法有哪几种?开发构件通常采用哪几种策略?并列举出两种主流构件标准。【问题2】(共6分)由于该公司已具备大量的成熟软件,王工程师此次的主要工作就是采用遗留工程(Legacy Engineering)方法,将具有潜在复用价值的软件提取出来,得到可复用的构件。因此,在设计软件时与原开发技术人员产生了重大意见分歧,主要分歧焦点在于大家对构件概念理解上的差异。请根据你对构件的理解,判断表3-1给出的有关构件的说法是否正确,将答案写在答题纸上。 【问题3】(共10分) 王工程师的实施方案指出:本公司的大部分产品是为用户提供标准计算平台的,而此平台中的主要开发工作是为嵌入式操作系统研制板级支持软件(BSP)。为了提高BSP软件的复用,应首先开展BSP构件的开发,且构件架构应符合国外GENESYS规范定义的嵌入式系统架构风格。图3-1给出了架构风格定义的构件通用接口,其中: