软件体系结构的研究范畴有哪些?请举例加以说明!

问题描述:

软件体系结构的研究范畴有哪些?请举例加以说明!
1个回答 分类:综合 2014-10-12

问题解答:

我来补答
软件体系结构的形式化方法研究
软件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要.为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具.从软件体系结构研究的现状来看,在这一领域近来已经有不少进展,其中比较有代表性的是美国卡耐基梅隆大学(Carnegie Mellon University)的Robert J.A11en于l997年提出的Wright系统.Wright是-种结构描述语言,该语言基于一种形式化的、抽象的系统模型,为描述和分析软件体系结构和结构化方法提供了一种实用的工具.Wright主要侧重于描述系统的软件构件和连接的结构、配置和方法.它使用显式的、独立的连接模型来作为交互的方式,这使得该系统可以用逻辑谓词符号系统,而不依赖特定的系统实例来描述系统的抽象行为.该系统还可以通过一组静态检查来判断系统结构规格说明的一致性和完整性.从这些特性的分析来说,Wright系统的确适用于对大型系统的描述和分析.
软件体系结构的建模研究
研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模.根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型.在这5个模型中,最常用的是结构模型和动态模型.
(1)结构模型
这是一个最直观、最普遍的建模方法.这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质.研究结构模型的核心是体系结构描述语言.
管道/过滤器风格的体系结构
(2)框架模型
框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构.框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构.
(3)动态模型
动态模型是对结构或框架模型的补充,研究系统的"大颗粒"的行为性质.例如,描述系统的重新配置或演化.动态可能指系统总体结构的配置、建立或拆除通信通道或计算的过程.这类系统常是激励型的.
(4)过程模型
过程模型研究构造系统的步骤和过程.因而结构是遵循某些过程脚本的结果.
(5)功能模型
该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务.它可以看作是一种特殊的框架模型.
这5种模型各有所长,也许将5种模型有机地统一在一起,形成一个完整的模型来刻画软件体系结构更合适.例如,Kruchten在1995年提出了一个"4+1"的视角模型."4+1"模型从5个不同的视角包括逻辑视角、过程视角、物理视角、开发视角和场景视角来描述软件体系结构.每一个视角只关心系统的一个侧面,5个视角结合在一起才能够反映系统的软件体系结构的全部内容."4+1"模型如图1所示.
图1 "4+1"模型
发展基于体系结构的软件开发模型
软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系.目前,常见的软件开发模型大致可分为三种类型:
(1)以软件需求完全确定为前提的瀑布模型.
(2)在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如螺旋模型等.
(3)以形式化开发方法为基础的变换模型.
所有开发方法都是要解决需求与实现之间的差距.但是,这三种类型的软件开发模型都存在这样或那样的缺陷,不能很好地支持基于软件体系结构的开发过程.因此,研究人员在发展基于体系结构的软件开发模型方面做了一定的工作.例如,为了形象地表示体系结构的生命周期,北京邮电大学的周莹新博士建立了一个软件体系结构的生命周期模型,该模型如图2所示.
数据抽象和面向对象风格的体系结构
图2 软件体系结构的生命周期模型
软件产品线体系结构的研究
软件体系结构的开发是大型软件系统开发的关键环节.体系结构在软件生产线的开发中具有至关重要的作用,在这种开发生产中,基于同一个软件体系结构,可以创建具有不同功能的多个系统.在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程和降低开发和维护成本.
一个产品线代表着一组具有公共的系统需求集的软件系统,它们都是根据基本的用户需求对标准的产品线构架进行定制,将可重用构件与系统独有的部分集成而得到的.采用软件生产线式模式进行软件生产,将产生巨型编程企业.但目前生产的软件产品族大部分是处于同一领域的.
 
 
展开全文阅读
剩余:2000
上一页:dc2inr3qec3r2
下一页:这样怎么写