论软件架构建模技术与应用

摘要:2010年,我参加了湖南某矿业的污水监控平台的开发,在这个项目中,我担任系统设计和开发的工作。这个系统主要是对辰州矿业的排污进行数据采集,实时监控,超标报警,数据统计和管理。本文结合作者的实践,以辰州矿业监控平台弟弟系统架构建模为例,论述了4+1视图模型在工作中的运用。本论文先介绍4+1模型,然后结合我参与项目的实际情况,详细说明在这次项目中所涉及的软件架构,最后是分析该项目取得实践效果。

正文

软件架构用来处理软件高层次结构的设计与实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示系统架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软件架构模型分为结构模型,框架模型,动态模型,过程模型和功能模型。Kruchten于1995年提出了4+1视图模型,将这5种模型有机的结合了一起。

4+1视图模型分为为:逻辑视图,物理视图,场景,进程视图和开发视图。逻辑视图,主要是支持系统的功能需求,即体现了系统提供一个什么样的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自于功能域.在OO技术中主要是通过类的继承,封装和抽象,用类图来描述逻辑视图。物理视图,即软件如何映射到硬件上,它通常考虑的是系统的拓扑结构,系统安装和通信等问题。场景,将4种视图有机的联系起来,在UML中一般用用例图来表示。进程视图,体现了系统在运行中表现出来的特性,如分布性,并发性和容错能力,系统集成性。它定义了逻辑视图的各个类操作具体是在哪一个线程中执行的。开发视图,主要描述系统的组织,与逻辑视图精密相关,在UML中对应的是实现图。其中用户对应的是逻辑视图,开发人员对应的是开发视图,系统工程师对应的是物理视图,系统集成工程师对应的是进程视图。

辰州矿业监控平台是一个对矿业排污进行数据采集,根据集团领导的需求:公司的监测人员能够随时监测排污的数据,当污染数据超标时能够即时通知相关的负责人员,能够查询历史的排污数据记录,管理员能够通过工控机操作并管理各个数据采集仪。经过我们的分析,结合需求,我们做了如下设计:系统由B/S和C/S两部分组成。其中B/S主要的功能包括:实时污染数据的监测和显示,数据统计和管理,超标报警等,由矿业的PC客户端浏览器和应用服务器,数据库服务器组成。C/S的主要功能包括:控制数据采集仪器,进行数据采集,将采集的污染数据持久化,实时污染数据的显示等,由工控机,数据采集仪,和数据库服务器组成。

在这次系统架构建模的工作中,我们用到的建模工具是Microsoft Visio,用到的架构描述语言是UML,结合项目的实际情况,用4+1视图模型进行建模:

1.对情景进行建模:经过我们的分析,结合客户的需求,在这个系统中有两类角色,一类是矿业集团办公室的负责排污监测的各位工作人员,即用户类,他们一般会进行排污的数据查询工作,另外当排污超标时,系统会进行报警并通知。另外一类是矿业监控室的管理人员,他们一般在现场值班,负责对数据采集仪和工控机进行管理,监测各项排污数据,和进行排污数据的维护工作。所以系统的主要用例有如下几个:数据查询,超标报警,数据实时显示,数据采集,数据维护。用例图如下所示:
 

2.对逻辑视图进行建模:在这个系统中,我们用UML的包图来描述逻辑视图,经过我们的分析,在C/S部分,工控机和数据采集仪之间进行如下职责划分:

* 应用层负责设备状态的显示,并提供模拟控制台供用户发送调试命令。

* 应用层使用通讯层和嵌入层进行交互,但应用层不知道通讯的细节。

* 通讯层负责在SOCKETC协议之上实现一套专用的"应用协议"。

* 当应用层发送来包含调试指令的协议包,由通讯层负责按SOCKET协议将之传递给嵌入层。

* 当嵌入层发送来原始数据,由通讯层将之解释成应用协议包发送给应用层。

* 嵌入层负责对调试设备的具体控制,以及高频度地从数据采集器读取设备状态数据。

* 设备控制指令的物理规格被封装在嵌入层内部,读取数采器的具体细节也被封装在嵌入层内部。

在B/S部分,客户端PC和应用服务器进行如下职责划分:表现层,逻辑业务层和数据访问层。

3.对物理视图进行建模:我们用UML的部署图来描述进程视图,对系统的拓扑结构和通信进行描述。整个系统分为B/S和C/S两部分,B/S中的客户PC端和应用服务器,应用服务器和数据库服务器都通过局域网进行连接。C/S中工控机和数据库服务器通过局域网进行连接,工控机和采集仪通过数据专线进行连接,工控机和采集仪之间采用串口SOCKET通信,工控机和数据库采集仪之间通过TCP/IP进行通信,客户PC端和应用服务器通过HTTP进行通信。部署图如下图所示:

4.对进程视图进行建模:在C/S部分,表示层分为三类线程:数据持久化线程,数据显示线程和采集控制线程,分别用来对数据进行持久化,图形的显示,以及对采集仪进行控制,进行数据的采集。对应的UML建模图如下所以:

通过对4+1视图的情景,逻辑视图和物理视图建模,分别从系统提供的服务和功能,系统的网络拓扑结构和通信进行了建模,对系统进行了详细的分析,为系统的设计和接下来的项目开发提供了有力的支持。

原文地址:https://www.cnblogs.com/wangsanfeng/p/9101059.html

时间: 2024-10-14 02:31:01

论软件架构建模技术与应用的相关文章

下载SPSS Modeler数据挖掘项目实战(数据挖掘、建模技术)

SPSS Modeler是业界极为著名的数据挖掘软件,其前身为SPSS Clementine.SPSS Modeler内置丰富的数据挖掘模型,以其强大的挖掘功能和友好的操作习惯,深受用户的喜爱和好评,成为众多知名企业在数据挖掘项目上的软件产品选择. SPSS Modeler数据挖掘项目实战(数据挖掘.建模技术),刚刚入手,转一注册文件,视频的确不错,可以先下载看看:http://pan.baidu.com/s/1cmkdkU 密码:vqws

3DSMAX建模技术分析

在游戏美术中,模型的建立是很重要的,今天卡拉小编与大家分享的是3DSMAX建模技术分析1 旋转建模 用于具有中心对称的物体的造型比较简单,只需用工 具画出对称截面,加入(旋转)修改器就可以得到三维实体,有些还可以加入一些特殊变形,以增强表现的效果.2 Loft放样建模 这种建模的含义是将一个二维的交错物件转换为完整的三维物件的一个处理过程,也就是将一个二维的造型物件沿着第三轴向构建出复杂曲面的模型.也可以这样理解这个过程:将许多2D(shape)造型物件紧密且整齐地排列于一条路经(path)上,

NoSQL数据建模技术

原文来自“NoSQL Data Modeling Techniques”,由酷壳网陈皓编译<NoSQL数据建模技术>.这篇文章看完之后,你可能会对NoSQL的数据结构会有些感觉.我的感觉是,关系型数据库想把一致性,完整性,索引,CRUD都干好,NoSQL只干某一种事,但是牺牲了很多别的东西.总体来说,我觉得NoSQL更适合做Cache. 下面是正文: NoSQL数据库经常被用作很多非功能性的地方,如,扩展性,性能和一致性的地方.这些NoSQL的特性在理论和实践中都正在被大众广泛地研究着,研究的

SPSS Modeler数据挖掘项目实战(数据挖掘、建模技术)

SPSS Modeler是业界极为著名的数据挖掘软件,其前身为SPSS Clementine.SPSS Modeler内置丰富的数据挖掘模型,以其强大的挖掘功能和友好的操作习惯,深受用户的喜爱和好评,成为众多知名企业在数据挖掘项目上的软件产品选择. 本课程以SPSS Modeler为应用软件,以数据挖掘项目生命周期为线索,以实际数据挖掘项目为例,讲解了从项目商业理解开始,到最后应用Modeler软件实现的挖掘过程. 作为数据挖掘项目的重要干系人,数据挖掘专家需要对数据挖掘项目的生命周期.整体管理

NoSQL 数据建模技术(转)

本文转载自:http://coolshell.cn/articles/7270.html ================================================ 全文译自墙外文章"NoSQL Data Modeling Techniques",译得不好,还请见谅.这篇文章看完之后,你可能会对NoSQL的数据结构会有些感觉.我的感觉是,关系型数据库想把一致性,完整性,索引,CRUD都干好,NoSQL只干某一种事,但是牺牲了很多别的东西.总体来说,我觉得NoSQL

背景建模技术(三):背景减法库(BGS Library)的基本框架与入口函数main()的功能

背景减法库(BGS Library = background subtraction library)包含了37种背景建模算法,也是目前国际上关于背景建模技术研究最全也最权威的资料.本文将更加详细的介绍背景减法库(BGS Library)的基本框架与入口函数main()的功能. BGS库的整体框架在背景建模技术(二)中已经全部给出,此处从函数的角度再次给出BGS库的基本框架,有利于代码的修改与维护. 如下图所示是基于C++的BGS库的函数流程图: 接下来将会对每个函数进行更加详细的分析. 首先,

背景建模技术(一):介绍、资源下载、“背景建模库”平台搭建

背景建模技术(一):介绍.资源下载."背景建模库"平台搭建 1.介绍 视频分析与理解是一个非常活跃的研究领域,在这个研究领域(如视频监控.多媒体应用等)中,第一步要做的就是检测场景中运动的目标.而背景建模技术是检测前景最常用的技术之一,具有举足轻重的作用和研究意义. 2.资源下载 BgsLibrary的下载:BgsLibrary库 OpenCV的下载:http://opencv.org/  (推荐下载版本2.4.10) 注:PC默认已经安装VS2010. 3."背景建模库&q

背景建模技术(二):BgsLibrary的框架、背景建模的37种算法性能分析、背景建模技术的挑战

背景建模技术(二):BgsLibrary的框架.背景建模的37种算法性能分析.背景建模技术的挑战 1.基于MFC的BgsLibrary软件下载 下载地址:http://download.csdn.net/detail/frd2009041510/8691475 该软件平台中包含了37种背景建模算法,可以显示输入视频/图像.基于背景建模得到的前景和背景建模得到的背景图像,还可以显示出每种算法的计算复杂度等等.并且,测试的可以是视频.图片序列以及摄像头输入视频.其界面如下图所示: 2.BgsLibr

如何对软件架构建模

# 如何对软件架构建模 根据侧重点不同可分为5种模型 结构模型--以架构的构件.连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置.约束.隐含的假设条件.风格.性质等. 框架模型--不太侧重描述结构的细节而更侧重于整体的结构.主要以一些特殊的问题为目标建立只针对和适应该问题的结构. 动态模型--对结构或框架模型的补充,研究系统的“大颗粒”的行为性质.例如描述系统的重新配置或演化.系统总体结构的配置.建立或拆除通信通道或计算的过程. 过程模型--研究构造系统的步骤和