简介
Philippe Kruchten 在《IEEE Software》上发表的《The 4+1 View Model of Architecture》论文中提出了“4+1”视图方法,该方法被RUP采纳。“4+1”视图模型通过逻辑视图、进程视图(也称为处理视图)、物理视图、开发视图 和 场景视图 五个视角描述软件体系结构,每个视图仅反映系统一个侧面,五个视图结合反映系统软件体系结构的全部内容。
各视图的职能
在“4+1”视图模型中,
场景视图 描述系统运用场景的过程,展现涉及的对象、服务和操作;
逻辑视图 描述功能模块划分、封装,以及对象类与功能类之间的关系;
开发视图(模块视图)描述软件模块的组织和管理;
进程视图 描述逻辑视图中的工作细节,即功能在线程中的执行方式;
物理视图 分配构件的物理资源,展示构件或进程的物理资源分配情况。
“4+1”视图模型使不同需求的人员能从软件体系结构中获取所需信息。系统工程师关注物理视图和处理视图;系统用户和数据专家关注逻辑视图;项目经理和软件配置人员关注开发视图。
案例分析
软件需求说明
假设我们有一个软件需求,需要实现一个自动气象站运行监控系统。
具体的功能可以描述如下:实时监控无人值守自动气象站的设备运行状况和数据传输收集情况,并进行报警。系统主要包括警报查询模块、GPRS模块和串口电器模块。警报查询模块负责实时监听自动气象站数据库,若发现数据未及时上传,会向GPRS模块和串口电器模块发送侦听结果。GPRS模块和串口电器模块根据警报查询模块传送的数据,通过短信和LED报警灯向用户发出警报信号。
场景视图
场景视图主要面向最终用户,重点展现用户的业务需求。对于自动气象站运行监控系统,后台自动对数据库进行实时监控,并通过软件界面、手机短信和报警灯方式将监控结果反馈给用户。在初始参数设置正确后,系统的日常运行无需用户干预。本系统采用用例图来描述场景视图。
逻辑视图
逻辑视图主要描述功能模块划分、封装,以及对象类与功能类之间的关系。它描述了系统的功能如何被软件的各个模块和组件实现,通常使用 类图、包图等 来表达。
在自动气象站运行监控系统中,按照功能整体划分为:应用层、通讯层、业务逻辑层和数据访问层。
开发视图
开发视图 侧重于软件模块的 组织与管理,通过系统输入输出关系的模型图和子系统图来描述,主要为开发人员提供指导。本软件使用VB.Net语言开发编译,主要应用了时间、数据库和串口管理等控件来实现系统功能。通常由 组件图和包图 进行表示。
进程视图
自动气象站运行监控系统采用C/S结构设计实现,基于自动气象站实时数据库,开发客户端软件进行实时监控,并通过软件界面、手机短信和LED警报灯三种方式将监控结果传递给用户。流程图描述了其进程视图,可以用 顺序图(泳道图) 或者 活动图
物理视图
物理视图。物理视图主要考虑软件如何映射到硬件上。根据自动气象站运行监控系统的功能描述,其物理视图如图所示。通常用部署图表示
以上每一个视图针对一类人群,关心系统的一个侧面。不同的架构视图承载着不同的架构设计决策,支持不同的目标和用途。综合5个视图描述了软件系统结构的全部内容。
参考文献
史静. 4+1视图在自动气象站运行监控系统中的应用[J]. 计算机光盘软件与应用,2013(22):67-68.