《软件体系结构》 第四章 软件体系结构描述

本文介绍了软件体系结构的描述方法,包括图形表达工具、模块内连接语言(MIL)、基于软构件的系统描述语言及软件体系结构描述语言(ADL)等。同时探讨了IEEE P1471和Rational建议标准两种描述框架,并详细阐述了C2语言的特点及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、软件体系结构的描述方法

    1、图形表达工具:采用矩形框和有向线段组合,矩形框代表抽象构件、有向线段代表连接件。

    2、模块内连接语言:module interconnection language MIL

    3、基于软构件的系统描述语言:有许多特定形式相互作用的特殊软构件实体构造组成的组织或系统。

    4、软件体系结构描述语言:architecture description language ADL

二、软件体系结构的描述框架

       1.IEEEP1471:适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路。但如何描述以及具体的描述技术等方面缺乏更进一步的指导。

       2.Rational建议标准:与IEEE P1471相比,Rational建议标准的体系结构描述方案涉及面比较窄,所注重的层次比较低,因而更具体。由于将体系结构的描述限于UML和RUP,具有一定的局限性,但该建议标准结合了业界已经广泛采用的建模语言和开发过程,因而易于推广,可以有效实现在跨组织之间重用体系结构描述结果

三、体系结构的描述语言ADL

        主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。

1.常见的软件体系结构元素(构件和连接件都包括哪些)

2.C2语言

(1)C2和其提供的设计环境(Argo)支持采用基于时间的风格来描述用户界面系统,并支持使用可替换、可重用的构件开发GUI的体系结构。其工作的重点在于对构件的重用,以及对运行时体系结构的动态改变以使得系统满足某些GUI体系结构方面的特性。

(2)连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个名字分别为“top”和“bottom”的端口和其它的构件交换信息。每个接口包含一种可发送的消息和一组可接收的消息。

(3)构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相连,而连接件可以和任意数目的连接件或构件相连。请求消息只能向上层传递,而通知消息只能向下层传送。

(4)会议安排系统(细化各部分的功能)

       系统包含了三种功能构件:Meeting Initiator 、Attendee、Important Attendee;三种连接件:MainConn、Attcon、ImportantAttConn,用来在构件之间传递消息。

       Meeting Initiator构件通过发送会议请求信息给Attendee、Important Attendee来进行信息初始化。Attendee、Important Attendee构件可以发送消息给Meeting Initiator,告诉它自己喜欢的会议日期、地点等信息。但不能向它递交请求。

四、软件体系结构与UML

1.统一建模语言,unified modeling language,UML,是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。适用于各种软件开发方法、软件生命周期各个阶段、各种应用领域以及各种开发工具。

2.UML主要内容

 

软件体系结构描述语言: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
发出的红包

打赏作者

风中凌乱的小精灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值