软件体系结构C2风格

首先C2风格是最常用的一种软件体系结构风格。(下图为一个C2风格的架构图)

C2是一种基于构件和消息的架构风格,可用于创建灵活的、可伸缩的软件系统。一个C2构架可以看成是按照一定规则由连接件连接的许多组件组成的层次网络:系统中的构件和连接件都有一个“顶部”和“底部”;一个构件的“顶部”或“底部”可以连接到一个连接件的“底部”或“顶部”;对于一个连接件,和其相连的构件或连接件的数量没有限制,但是构件和构件之间不能直接相连。

C2风格具有以下特点: (1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;  (3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设

C2架构风格最重要的特性就是“底层无关性”,这在构件的可替代性和可重用性方面具有显著的作用;另外,C2架构引入了“事件转化”的概念,域解释器把构件的请求转化为接收方能够接收的特定形式,同时也把通知转化为该构件能够理解的形式。

我们要设计的是一个教务点名软件,其中分为3方,学生、教师、以及教务。每方之前可以互相通信,比如学生可以给教师留言、教务可以给学生通知等等。每一方又有不同的功能。根据我们的设计,C2架构风格对我们的软件并不适用。C2架构风格可以概括为:通过连接件绑定在一起的并行构件网络。系统中必须要有构件和连接件。对我们的系统来说,构件和连接件不好确定。我觉得C2更适合那种分工明确的软件,每个构件有具体的分工。而且我们设计的系统3方之间可以相互通信,如果我们把教师、学生、教务封装成3个构件 按照C2的风格,这3方之间无法直接连接,必须通过连接件,所以有多少互动的功能就要设计多少连接件,造成系统复杂度提升。所以我觉得我们的软件不太适合C2风格。

时间: 2024-12-16 00:34:16

软件体系结构C2风格的相关文章

282.软件体系结构的风格与模式

建筑模式Christopher Alexander, The Timeless Way of Building, p247, 1979每个模式是一个由三部分组成的规则,表达了特定环境.问题和解(solution)之间的关系.作为现实世界的一个成分,每个模式表达了下列三者之间的一种关系:特定环境,在该环境中反复出现的力(forces)的系统,以及协调这些力的某种空间排列.作为语言的一个成分,每个模式是一条指令,展示了这种空间排列如何被一再重复使用,目的是协调同特定环境相关的力的系统.简单地说,模式

软件体系结构---软件体系结构之解释器风格

1.软件体系结构风格 软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用.也就是说,能否在不同的软件系统中,使用同一体系结构.基于这个目的,学者们开始研究和实践软件体系结构的风格和类型问题. 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式.它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统.按这种方式理解,软件体系结构风格定义了用于描述系统的术语表和一组指导构件系统的规则. 对软件体系结构风

对软件体系结构的认识

一 . 软件体系结构(架构) 软件体系结构的定义 通常,软件体系结构通常被称为架构,指能够预制和可重构的软件框架结构.架构尚处在发展期,对于其定义,学术界尚未形成一个统一的意见,而不同角度 的视点也会造成软件体系结构的不同理解.比方, ANSI/IEEE 610.12-1990软件project标准词汇对于体系结构定义是“体系架构是以构件.构件之间的关系.构件与环境之间的关系为内容的某一系统的基本组织结构以 及知道上述内容设计与演化的原理 (principle)”:而 Garlan & Shaw

分布式软件体系结构风格(C/S,B/S)

分布式软件体系结构风格 1.  三层C/S结构 2.  三层B/S结构 了解很多其它软件体系结构 三层C/S结构(3-Tier C/S Architecture) §第1层:用户界面GUI-表示层--客户机 §第2层:业务逻辑-功能层--应用server §第3层:数据库-数据层--数据库server 基本组件: –数据库server ? 存放数据的数据库.负责数据处理的业务逻辑: –应用server ? 业务逻辑:对数据进行处理: –客户机应用程序 ? GUI:用户界面 §连接件:经由网络的调

软件体系结构风格

MarShaw和DavidGarlan 中提出的软件体系结构定义为:能够用来具体描述软件系统控制结构和整体组织的一种体系结构,能够表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口. 软件体系结构是对系统的一种高层次的抽象描述.主要是反映拓扑属性,有意忽略细节: 软件体系结构是由构件和构件之间的联系组成,构件又有它自身的体系结构: 构件的描述有3个方面:计算功能.结构特性及其他特性. 从软件体系结构的定义可以看出,软件体系结构主要涉及构件.构件之间的联系与约束.由构件通过相互交互

软件体系结构原理、方法与实践总结

第1章:软件体系结构概论 什么是软件危机,软件危机的具体表现有哪些? 软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象. 软件危机的表现: 软件成本日益增长,开发进度难以控制,软件质量差,软件维护困难 产生软件危机的原因,如何克服软件危机? 产生软件危机的原因有用户需求不明确,缺乏正确的理论指导,软件规模越来越大,软件复杂度越来越高. 人们面临的不光是技术问题,更重要的是管理问题.要提高软件开发效率,提高软件产品质量,必须采用工程

软件体系结构基本概念汇总

这门课与UML建模,程序设计方法学一样,都是站在比较高的角度来看整个软件结构.并不是对算法,或者语言的关注.如果以后有志于成为软件架构师,就应该好好学这门课.现在我把自己整理的这门课的资料与大家分享. 二.名词解释(每题2分,共20分) 1.B/S(期中) 答:浏览器/服务器风格,是三层应用结构的一种实现方式. 具体结构:浏览器/Web服务器/数据库服务器. 2.C/S(期中) 答:客户/服务器风格,是基于资源不对等,且为共享而提出来的,定义了工作站如何与服务器相连,以实现数据和应用分布到多个处

软件体系结构知识点总结(更新中)

软件体系结构 公式 ? 体系架构=组件+连接件+约束 ? SoftwareArchitecture=Components+Connectors+Constrains 风格决定因素 ? 组件类型(例如:数据容器,过程,对象) ? 连接件类型/交互机制(例如:过程调用,事件,管道) ? 组件的拓扑分布 ? 拓扑和行为的约束(例如:数据容器不能自己改变数据,管道不能是循环的) ? 风格的代价和益处(优缺点) ? 异质的风格 Heterogeneous style): 一个系统是由不止一种风格构建的 几

284.软件体系结构集成开发环境的作用

软件体系结构集成开发环境基于体系结构形式化描述从系统框架的角度关注软件开发.体系结构开发工具是体系结构研究和分析的工具,给软件系统提供了形式化和可视化的描述.它不但提供了图形用户界面.文本编辑器.图形编辑器等可视化工具,还集成了编译器.解析器.校验器.仿真器等工具:不但可以针对每个系统元素,还支持从较高的构件层次分析和设计系统,这样可以有效地支持构件重用.具体来说,软件体系结构集成开发环境的功能可以分为以下5类. 1.辅助体系结构建模 建立体系结构模型是体系结构集成开发环境最重要的功能之一.集成