软件体系结构C2风格

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

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

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

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

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

转载于:https://www.cnblogs.com/lym0816/p/5423123.html

软件体系结构描述语言:C2 学校教务系统中教师补课子系统有如下一些基本假设: 本系统中有三个基本对象:教师、学生和教务员。 补课基本流程如下: 教师(teacher)分别向学生(student)与教务员(dean)发出补课请求makeupClassRequest()、并提供一个教师期望的补课时间与地点的集合preferSetTeacher(time, address),提出一个教师不期望的补课时间与地点集合excludeSetTeacher(time, address)供学生选择。同时,教师向学生与教务员发出请求获取学生与教务员期望的补课时间地点集合getPerferSet(),获取不喜欢的时间地点集合getExcludeSet(),获取教师所提供的期望补课时间地点集合之外的时间地点集合addPreferSet(), 学生与教务员收到教师的补课请求以及相应的参数后,根据自身的情况以及学校课室的使用情况,结合教师所提供的preferSetTeacher(time, address)、excludeSetTeacher(time, address),①从preferSetTeacher(time, address)集合中选取出合适的元组组成学生自己所期望的补课时间与地点集合preferSet(time,address)。②增加不在excludeSetTeacher(time, address)的时间与地点集合excludeSet(time, address)。最后将preferSet(time,address)与excludeSet(time, address)发回给教师。 教师接收到学生与教务员返回的集合excludeSet(time, address)后,与excludeSet(time, address)进行“并”(or)计算。接收到preferRes(time, address)后,与原有的preferSet(time, address)进行“交”(and)计算,然后再与excludeSet(time, address)进行差(subtraction)运算。 教师最后从preferSetTeacher(time, address)集合中选择一个元组作为补课的时间与地点,并通知学生与教务处。 要求: 画出该系统基于C2风格体系结构图 利用C2语言描述出教师构件 利用C2语言描述出学生构件 种用C2语言设计出本系结构中的连接件 描述出软件体系结构并设计出一个体系结构的实例,在这个实例中,教师是张三,有学生有a,b,c三人,教务员是李四。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值