IP网络产品级系统架构设计方法
2020-08-23孙兵
课题:国家自然科学基金通用联合培育项目U1936118
摘要:混沌一团的产品系统难以实现和维护,本文分析定义系统级架构建模设计方法,实现IP网络产品架构清晰有序、易守护、易实现、易演进。系统架构设计模型分为逻辑架构模型和物理架构模型:逻辑架构模型用于系统划分,基于概念模型将系统划分成组件、子系统、模块、子模块,定义系统设计基本单元;物理架构模型用于设计模块在物理硬件上如何部署,通过部署建模,确定业务对应的模块实例个数、模块之间的通信关系。最后建立开发组织视图,描述模块代码目录划分和人员组织分工。
关键词:架构设计建模;逻辑模型;物理模型;开发组织视图
中图分类号:TP391 文献标识码:A 文章编号:1672-9129(2020)04-0069-01
Abstract: Chaotic product system is difficult to achieve and maintain, this paper analyzes and defines the system-level architecture modeling design method, to achieve IP network product architecture clear and orderly, easy to protect, easy to implement, easy to evolve. The system architecture design model is divided into logical architecture model and physical architecture model. The logical architecture model is used to divide the system. Based on the conceptual model, the system is divided into components, subsystems, modules and sub-modules, and the basic units of system design are defined. The physical architecture model is used to design how modules are deployed on the physical hardware. Through deployment modeling, the number of module instances corresponding to the business and the communication relationship between modules are determined. Finally, the development organization view is established to describe the division of module code directory and the division of personnel organization.
Key words:architecture design modeling; Logical model; Physical model; Development organization View
1 概述
架構设计阶段建立的模型主要有逻辑架构模型和物理架构模型。因为单一混沌的系统难以描述、设计和实现,所以需要对系统进行逻辑架构划分。设计辑架构时,一般使用组件图划分系统。通过物理架构设计各个逻辑模块在物理元上的部署关系,可以梳理组件间的划分是否合理。当系统复杂的时候,逻辑构模型和物理架构模型都需要进一步划分子模型。架构设计的主要成果是模块和接口,可应用于系统设计。系统设计的目的是把系统需求(SR)分解到分配需求(AR),主要活动对系统需求进行分析设计。
2 架构设计
架构设计阶段需要对需求分析阶段收集到的设计任务进行架构实现方案的设计。一般要遵从现有产品的架构约束,将概念模型应用于架构设计。通过架构设计,可以划分系统,得到子系统或组件、模块和子模块,从而提供系统设计的基础元素。分析推导过程需要整理成架构设计文档,设计过程要严谨科学,推导过程须使用建模方法来保证。
架构阶段主要建立的模型是逻辑架构模型和物理架构模型,还要建立开发组织视图,用于描述目录划分和开发组织分工,说明架构模型与开发实施之间的关系。架构设计划分出子系统、模块和子模块后,通过对关键业务流程进行建模验证,验证系统划分和部署划分的合理性。如果不合适,还需要调整。当需要设计的架构比较复杂时,可以反复递归使用架构建模技术,对复杂部分进行逐层分解细化设计。
3 逻辑架构模型
逻辑架构确定系统/子系统中的模块、模块之间的连接以及模块与外部子系统之间的依赖关系。其本质是通过合理地划分模块,确定模块职责,以及相互之间的接口,明确平台核心和产品开发逻辑上的分界线。
3.1上下文模型。设计一个组件时,首先需要明确的是设计目标:需要设计什么组件?它在系统中提供什么功能?这个组件在系统中的位置是怎样的?周边有哪些组件?有哪些联系?系统对这个组件有哪些约束?性能、规格、占用的资源、已存在的架等各方面都有哪些约束?上下文模型要体现上述问题的解答。一般使用组件图来画,描述组件在系中的作用,表达待设计的组件在系统中的位置,组件及周边的关系。
组件在系统中的功能,可通过接口图和顺序图表达,或者文字说明;位置通过画系统框图,在系统中标示出目标组件或目标子系统;可通过表格文字补充说明设计约束。
3.2组件划分模型。通过上下文模型已经划分出要设计的组件或子系统,虽然已明确组件的功能职责或非功能性要求,但一般粒度还太粗,不容易独立分析和实现。因此要对组件进行进一步划分。通过划分组件,把组件职责分解成可独立分析设计和实现的模块。并且可分配到一个项目组或一两个人进行开发维护。
3.3接口模型。组件提供的功能主要通过接口来体现,组件间的关系也是通过接口来表达,接口对于设计和开发的作用非常重要。如何直观地描述各个模块间的接口关系?可以通过组件图来表达。组件内部的接口使用)一和0一表示。其中)一表示需要其他模塊提供的接口,而0一表示本模块提供的接口。组件对外的接口,使用Port表示。组件间的调用关系使用一(0一表示。通过在架构阶段建立接口模型,可以初步确定模块与外部的交互策略和模块的职责。明确各个模块对外输入输出、模块的使用方式。
4 物理架构模型
逻辑架构设计的结果在哪些硬件上实现?它的周边开发环境是怎样的?这些问题要通过物理架构模型来回答。物理架构模型使用部署图作为表达方式,表示逻辑模块在物理节点上的部署关系。画部署图时一般使用立体节点表示物理网元,用平面节点表示逻辑组件(或子系统、模块、子模块)。通过使用部署图建立物理架构模型,可以展示逻辑组件与物理网元的映射关系,周边的开发环境、开发约束。反过来验证逻辑架构的划分是否合理,是否能够实际部署。验证接口设计是否合理,如果需要也可调整接口。
5 开发组织视图
在逻辑架构模型中设计的模块是否能实施开发,模块如何能比较容易地与开发组织对应?这是架构设计阶段需解决的问题。该对应关系可通过开发组织视图解决,描述组件与开发实施之间的关系。
开发视图第一种建模方法是用目录结构图来定义,体现平台与产品、产品不同项目组之间的边界。这种建模方式的特点是可在模型里点击展开,优点是能把多个同级的包放到一个视图上展示,一眼能看到全局目录,非常简洁。缺点是不容易表达不同层次的目录和文件。这种方式适用于目录比较多,但都在同一个层级的情况。
另一种建模方法是使用目录树方式,这种方式模型的特点是文本方式的。好处一是方便输出,不需要使用建模工可以直接用制表符绘制。二是可以展现不同目录深度的文件和文件夹,能直观看到目录内容。缺点是当目录内容比较多时,全部展开所有目录会内容比较杂乱、不容易看。建议这种方式应用于目录个数少但层数深的情况。
参考文献:
[1]郝俊,常青,张刚,等.基于动态模型的系统架构及建模平台实现[J].电子技术应用,2015,41(002):171-173.
作者简介:孙兵(1976-),男,江苏南京,学士,高级工程师,华为技术有限公司数据通信产品研发,研究方向为网络设计建模、网络安全和IP技术。