软件体系结构的研究范畴有哪些?请举例加以说明!
软件体系结构的形式化方法研究软件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要。
为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具。
从软件体系结构研究的现状来看,在这一领域近来已经有不少进展,其中比较有代表性的是美国卡耐基梅隆大学(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 软件体系结构的生命周期模型软件产品线体系结构的研究软件体系结构的开发是大型软件系统开发的关键环节。
体系结构在软件生产线的开发中具有至关重要的作用,在这种开发生产中,基于同一个软件体系结构,可以创建具有不同功能的多个系统。
在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程和降低开发和维护成本。
一个产品线代表着一组具有公共的系统需求集的软件系统,它们都是根据基本的用户需求对标准的产品线构架进行定制,将可重用构件与系统独有的部分集成而得到的。
采用软件生产线式模式进行软件生产,将产生巨型编程企业。
但目前生产的软件产品族大部分是处于同一领域的。
什么是软件体系结构
软件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要。
为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具。
从软件体系结构研究的现状来看,在这一领域近来已经有不少进展,其中比较有代表性的是美国卡耐基梅隆大学(Carnegie Mellon University)的Robert J.A11en于l997年提出的Wright系统。
Wright是-种结构描述语言,该语言基于一种形式化的、抽象的系统模型,为描述和分析软件体系结构和结构化方法提供了一种实用的工具。
Wright主要侧重于描述系统的软件构件和连接的结构、配置和方法。
它使用显式的、独立的连接模型来作为交互的方式,这使得该系统可以用逻辑谓词符号系统,而不依赖特定的系统实例来描述系统的抽象行为。
该系统还可以通过一组静态检查来判断系统结构规格说明的一致性和完整性。
从这些特性的分析来说,Wright系统的确适用于对大型系统的描述和分析。
软件体系结构常用的设计模式包括哪些
MVC是当前流行的Web应用设计框架的实施标准,是软件工程中的一种软件架构模式[ ]。
它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),目的是实现一种动态和可持续的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的代码或功能重复利用成为可能。
在这种设计结构下,一个应用被分为三个部分:model、view和controller,每个部分负责不同的功能。
根据用户界面(view)的操作完成对程序数据(model)的更新。
将程序数据(model)改变及时反应到用户界面(view)上。
也就是完成两个方向的动作。
软件体系结构设计的目录
第一篇基础篇:软件体系结构的理论 第1章绪论1.1软件体系结构的概念演化1.1.1软件体系结构的定义1.1.2软件体系结构的理论基础1.2软件体系结构形式化方法概述1.2.1基于CHAM的体系结构形式规约1.2.2基于Z语言的体系结构形式规约1.2.3基于一阶逻辑的体系结构形式规约1.2.4基于图论的体系结构形式规约1.2.5目前形式化方法存在的问题1.3软件体系结构描述语言概述1.4软件质量与质量模型 思考题 第2章软件建模的基础2.1一个简单例子2.2面向对象特性2.2.1封装性2.2.2继承性2.2.3多态性2.3接口2.4设计原则2.4.1SRP单一职责原则2.4.2OCP开闭原则2.4.3LSP里氏替换原则2.4.4ISP接口分离原则2.4.5DIP依赖倒置原则2.5UML2的各种图2.6需求建模:用例2.6.1一个用例图例子2.6.2用例与参与者2.6.3用例图2.6.4用例间关系2.6.5用例对需求建模2.7基本结构建模2.7.1一个类图例子2.7.2性质2.7.3对象图2.7.4操作2.7.5接口2.7.6关系2.7.7关系建模2.7.8类图2.8高级结构建模2.8.1公共扩展机制2.8.2包和包图2.8.3复合结构2.8.4模板2.9Kruchten4+1模型描述软件体系结构2.9.1逻辑视图:面向对象的分解2.9.2过程视图:过程分解2.9.3开发视图:子系统分解2.9.4物理视图:从软件到硬件的映射2.9.5场景视图:汇总2.9.6视图间的交流2.9.7模型的迭代过程和软件文档 思考题 第3章软件体系结构的形式化3.1软件的生命周期3.2基于抽象代数的形式化方法3.2.1构件3.2.2连接件3.2.3软件体系结构3.2.4软件体系结构关系3.2.5软件体系结构范式3.3基于粒度计算的形式化方法3.3.1软件体系结构演化3.3.2属性合成和跟踪3.3.3软件体系结构多视图表达及集成3.3.4软件体系结构风格和软件体系结构风格发现3.4*基于π演算的形式化方法3.4.1π演算基本语法3.4.2π演算约简关系3.4.3π演算迁移关系3.5*动态软件体系结构的形式化描述:化学抽象机3.5.1化学抽象机模型3.5.2软件体系结构描述 思考题 第4章软件体系结构的风格4.1管道和过滤器风格4.2仓库风格和黑板风格4.3事件驱动风格4.4客户机?分配器?服务器风格4.5分层系统风格4.6解释器4.7面向服务的体系结构4.7.1面向服务体系结构中的组成元素4.7.2面向服务体系结构的设计原则4.8过程控制环路模式 思考题 第5章体系结构描述语言5.1典型ADL5.1.1C2概述5.1.2Darwin与Wright概述5.1.3ACME概述5.1.4UniCon概述5.1.5Aesop概述5.1.6Rapide概述5.1.7MetaH5.1.8SADL概述5.2πADL的概述5.2.1πADL体系结构描述框架5.2.2πADL体系结构风格描述方法5.3πADL体系结构行为规约 思考题 第6章软件质量建模方法6.1软件质量建模与分析6.1.1风险分析的基本概念6.1.2风险分析的基本方法6.1.3图形化建模语言6.2实证分析:软件体系结构的质量6.2.1地面智能机器人的软件系统6.2.2解决方案1:过程控制环路模式6.2.3解决方案2:分层架构模式6.2.4解决方案3:基于事件驱动的隐式调用模式6.2.5解决方案4:黑板体系模式6.2.6解决方案比较 思考题 第7章设计模式7.1设计模式概述7.2设计模式的分类7.3创建型的设计模式7.3.1Factory7.3.2Prototype7.3.3Builder7.3.4Singleton7.3.5Adapter 思考题 第8章战场环境中自适应服务的软件组合框架8.1服务的描述与特征8.1.1服务模型8.1.2服务事务处理8.2TSCF服务组合框架8.2.1TSCF框架8.2.2服务代理设计8.2.3服务组合协调8.3服务调度流程控制的应用实现8.4小结 思考题 第二篇软件复用与构件库的设计 第9章构件库研究现状 第10章软件复用概述 第11章构件技术 第12章Web构件库实现 第三篇软件规模的度量 第13章软件规模度量研究现状 第14章FPA方法 第15章FPA方法的实际应用及其不足 第16章FPA方法的改进 第17章改进后FPA方法的应用及实例试验 第四篇软件的性能抗衰 第18章软件的性能问题与抗衰技术18.1软件性能衰退 第19章新型软件抗衰策略 第20章细粒度软件抗衰策略研究 第21章细粒度重启技术研究 第22章细粒度软件抗衰策略模型研究 附录A缩略词及中英文词汇对照附录B软件体系结构支持工具参考文献 ……
软件体系结构的应用现状
形成研究热点,仍处于非形式化水平自20世纪90年代后期以来,软件体系结构的研究成为一个热点。
广大软件工作者已经认识到软件体系结构研究的重大意义和它对软件系统设计开发的重要性,开展了很多研究和实践工作。
从软件体系结构研究的现状来看,当前的研究和对软件体系结构的描述,在很大程度上来说还停留在非形式化的基础上。
软件构架师仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。
在目前通用的软件开发方法中,其描述通常是用非形式化的图和文本,不能描述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。
难以被开发人员理解,更不能用来分析其一致性和完整性等特性。
当一个软件系统中的构件之间几乎以一种非形式化的方法描述时,系统的重用性也会受到影响,在设计一个系统结构过程中的努力很难移植到另一个系统中去。
对系统构件和连接关系的结构化假设没有得到显式的、形式化的描述时,把这样的系统构件移植到另一个系统中去将是有风险的,甚至是不可能的。
软件体系结构的形式化方法研究软件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要。
为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具。
从软件体系结构研究的现状来看,在这一领域近来已经有不少进展,其中比较有代表性的是美国卡耐基梅隆大学(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 软件体系结构的生命周期模型软件产品线体系结构的研究软件体系结构的开发是大型软件系统开发的关键环节。
体系结构在软件生产线的开发中具有至关重要的作用,在这种开发生产中,基于同一个软件体系结构,可以创建具有不同功能的多个系统。
在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程和降低开发和维护成本。
一个产品线代表...
设计软件体系结构的过程
集散型BAS的几种方案:⒈按楼宇建筑层面组织的集散型BAS系统对于大型的商务楼宇、办公楼宇,往往是各个楼层有不同的用户和用途(如首层为商场,二层为某的总部…),因此,各个楼层对BAS系统的要求会有所区别,按楼宇建筑层面组织的集散型BAS系统能很好地满足要求。
按楼宇建筑层面组织的集散型BAS系统方案如图5-7所示。
这种结构的特点有:1)由于是按楼宇建筑层面组织的,因此布线设计及施工比较简单,子系统(区域)的控制功能设置比较灵活,调试工作相对独立。
2)整个系统的可靠性较好,子系统失灵不会波及整个楼宇系统。
3)设备增大,尤其是高层楼宇。
4)较适合商用的多功能楼宇。
⒉按楼宇设备功能组织的集散型BAS系统这是常用的系统结构,按照整座楼宇的各个功能系统来组织(如图5-8所示)。
这种结构的特点有:1)由于是按整座楼宇设备功能组织的,因此布线设计及施工比较复杂,调试工作量大。
2)整个系统的可靠性较弱,子系统失灵会波及整个楼宇系统。
3)设备省。
4)较适合功能相对单一的楼宇(如、的办公楼宇,高级住宅等)。
⒊混合型的集散型BAS系统这是兼有上述二种结构特点的混合型,即某些子系统(如供电、给排水、消防、电梯)采用按整座楼宇设备功能组织的集中控制方式,另外一些子系统(如灯光照明、空调、等等)则按楼宇建筑层面组织的分区控制方式。
这是一种灵活的结构系统,它兼有上述两种方案的特点,可以根据实际的需求而调整。
转载请注明出处51数据库 » 软件体系结构模型有哪些