第四章-软件体系结构描述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
构件的类型 连接件的类型 圈是什么 箭头是什么 层次的意义 为什么CP要放第一层
只画出方框和线条不是体系结构,而是体系结 构的开始
郑州大学软件学院 赵哲 4
体系结构描述的必要性
在软件开发中,各种角色交流思想的媒 介 进行上层分析的基础 让别人理解系统的第一手资料
郑州大学软件学院 赵哲
输入 显示结果
郑州大学软件学院 赵哲 35
C2描述
comUI向comUser发出验证请求 userRequest(user,pw),获取验证结果 getVerity()后,显示信息.
郑州大学软件学院 赵哲
36
C2描述
根据以上,comUI的out事件和in事件 分别为: Out:
userRequest(user,pw)
end interface component_type:Module|Computation| SharedData|SeqFile|Filter|Process|Sch edProcess|General
郑州大学软件学院 赵哲 20
UniCon语法-描述构件
描述构件实施-语法: implementation is
郑州大学软件学院 赵哲 40
C2对连接件的描述
语法: connector <identifier> conections top_ports top_component1; top_component2… bottom_ports bottom_component
郑州大学软件学院 赵哲
41
comInput连接件的描述
郑州大学软件学院 赵哲 13
典型元素含义比较
郑州大学软件学院 赵哲
14
常见的软件体系结构元素
郑州大学软件学院 赵哲
15
ADL的构成要素-构件
在体系结构中,构件可以小到只有一个 过程、大到整个应用程序。 构件中有一些重要的属性 构件作为一个封装的实体,只能通过其 接口与外部环境交互 接口由一组端口组成 构件的演化能力
构件是否正确连接 接口是否匹配 连接件构成的通信是否正确 说明语义
利用配置来支持系统的变化,使不同技 术人员都能理解并熟悉系统
郑州大学软件学院 赵哲 18
典型的软件体系结构描述语言
UniCon语法-描述构件: component <identifier>(构件名)
<interface>(接口) <implementation>(构件实施)
郑州大学软件学院 赵哲 10
ADL
ADL的三个基本元素是:
构件 连接件 体系结构配置
郑州大学软件学院 赵哲
11
典型的软件体系结构描述语言
ADL Unicon Wright C2 Rapide SADL Aesop ACME 研发组织 Carnegie Mellon大学 Carnegie Mellon大学 Southern California大学 Stanford大学 SRI Carnegie Mellon 大学 Carnegie Mellon 大学
郑州大学软件学院 赵哲 33
C2风格
C2底层向上层索取数据,递交请求 C2上层为下层提供数据、反馈结果,不 能递交请求 2个构件:
comUI ,comUser comInput
郑州大学软件学院 赵哲 34
1个连接件:
C2风格实例-用户验证
comUser
验证
comInput comUI
郑州大学软件学院 赵哲
25
Wright
郑州大学软件学院 赵哲
26
Wright
上图介绍了一个简单的客户服务器系统的体系 结构 分为3个部分 第一部分定义构件和连接件类型。一个构件类 型用端口(ports)和构件规格(componentspec)来说明 连接件类型用所定义的角色和粘剂(glue)的集 合来说明。 粘剂用来说明客户服务和服务器角色是怎样协 作的。比如,客户端请求,服务器响应
百度文库
In:
getVerity()
郑州大学软件学院 赵哲
37
comUI描述
component comUI is interface top_domain is out userRequest(user,pw) in getVerity() [behavior]//此处省略 end comUI
郑州大学软件学院 赵哲 38
<property_list> <variant_list>
end implementation
郑州大学软件学院 赵哲
21
UniCon语法-描述连接件
描述连接件-语法: connector <identifier>(连接件名字)
<protocol>(协议) <implementation>(连接件的实现)
郑州大学软件学院 赵哲 27
Wright
第二部分是构件和连接件的实例集合 有一个服务器s,一个客户端c,一个连 接件cs
郑州大学软件学院 赵哲
28
Wright
第三部分描述端口和连接件的关系。 比如服务器端的provide端口与连接件 中的server角色相对应。 客户端的request端口与连接件中的 client角色相对应。
郑州大学软件学院 赵哲 31
C2
C2是一种常见(有图形化用户界面)的软 件体系结构风格 C2SADL(Software Architecture Description Language)是用于描述C2 风格的体系结构的ADL。 常常用C2这一简称来指代C2风格和C2 SADL的结合 C2语言可以用Argo设计环境编写
郑州大学软件学院 赵哲 9
软件体系结构描述语言
软件开发的重点已从程序代码转移到了可重用 颗粒(构件和连接件)的体系结构元素,以及它 们整体的互连结构 为了支持体系结构开发,需要建立应用于体系 结构规格说明的形式化建模符号和分析开发工 具 ADL (Architecture Description Language) 和对应的工具包就能够解决这一问题。
郑州大学软件学院 赵哲 32
C2描述语法
component <identifier> is (构件名) interface top_domain is(面向top的接口) bottom_domain is(面向bottom的接口) out …//请求、输出方法体 in …//内部、输入方法体 [behavior] [context component_context] end <identifier>
end < identifier >
郑州大学软件学院 赵哲
19
UniCon语法-描述构件
描述接口-语法: interface is
type <component_type> <property_list>(属性,用于更进一步的说明) <player_list>(参与者,用于更进一步的说明)
郑州大学软件学院 赵哲 43
C2对体系结构的描述
比如有2个用户信息的验证,分别是user1和 user2,两个验证结果,分别是R1和R2
system 用户验证_1 is architecture 用户验证 with comUI instance user1,user2; comUser instance R1,R2; end 用户验证_1
connector comInput conections top_ports comUser bottom_ports comUI
郑州大学软件学院 赵哲
42
C2对体系结构的描述
语法: system 系统名_1 is architecture 系统名 with instance (实例) instance end 系统名_1
郑州大学软件学院 赵哲 12
ADLs和其他语言的比较
构造能力:ADL能够使用较小的体系结构元素来建造大 型软件系统 抽象能力:ADL使得软件体系结构中的构件和连接件描 述可以只关注抽象特征,而不管具体实现。 复用能力:ADL使得组成软件系统的构件、连接件甚至 是软件体系结构都成为软件系统开发和设计的可复用部 件; 组合能力:ADL使得其描述每一个系统元素都有自己的 局部结构,这种特点使得ADL支持软件系统的动态变化 组合; 异构能力:ADL允许不同的体系结构描述有关联; 分析和推理能力:ADL允许对体系结构进行多种不同的 性能和功能上的推理分析。
comUser
收到comUI的信息 userRequest(user,pw),进行判断,之 后将结果result()发回给UI
郑州大学软件学院 赵哲
39
comUser描述
component comUser is interface bottom_domain is out result() in userRequest(user,pw) [behavior]//此处省略 end comUser
郑州大学软件学院 赵哲
29
Wright-进程符号的说明
连接件的角色说明了交互方每一方的行 为,粘剂说明了这些行为是如何结合在 一起的。 但是,如何描述行为特点以及可能发生 的行为范围? 进程代数的方法来描述
郑州大学软件学院 赵哲
30
Wright
符号的含义 对号表示成功 方框表示确定性选择 箭头表示事件变迁 。。。 优先级问题等 不做重点
5
体系结构的描述方法
使用体系结构描述语言 Architecture Description Language ADLs 专门针对软件体系结构的特点而设定 目前已经有十几种常见的ADL
郑州大学软件学院 赵哲
6
体系结构描述框架标准
鉴于体系结构描述的概念和实践的不统 一,IEEE与1995年8越成立了体系结构 工作组 IEEE P1471 体系结构描述框架,并与 2000年9月21日通过IEEE-SA标准委员 会评审。
郑州大学软件学院 赵哲 23
UniCon语法-描述连接件
描述连接件的实现-语法 implementation is
builtin
end implementation
郑州大学软件学院 赵哲
24
练习
用UniCon语言来描述最简单的管道-过 滤器 过滤器名:GuoLvQi 管道名:GuanDao
end <identifier>
郑州大学软件学院 赵哲
22
UniCon语法-描述连接件
描述协议-语法: protocol is
type <connetor_type> <property_list> <role_list>(角色)
end protocol <connector_type>:DataAccess|FileIO| Pipe|PLBundler|PocedureCall|RemoteP rocCall|RTScheduler
郑州大学软件学院 赵哲 44
C2对体系结构的描述
P117
软件体系结构
软件体系结构描述
郑州大学软件学院 赵哲
1
主要内容
软件体系结构描述方法 框架标准 描述语言 典型的软件体系结构描述语言 软件体系结构与UML 可扩展标记语言 基于XML的描述语言
郑州大学软件学院 赵哲 2
这是什么?
郑州大学软件学院 赵哲
3
上图的问题
很多事情没有说:
郑州大学软件学院 赵哲
7
IEEE P1471
IEEE P1471适用于软件密集的系统, 其目标在于:
便于体系结构的表达与交流 奠定质量与成本的基础
IEEE P1471介绍了如何大概的描述体 系结构,对详细还有所欠缺
郑州大学软件学院 赵哲
8
Rational
Rational根据P1471提出了自己的标准 相比之下,该建议标准涉及面较窄,所注重的 层次比较低,因而更具体。 该建议标准结合了4+1模型提出了7个体系结 构视图 将体系结构基于RUP,用UML来描述,具有 一定的局限性,但该建议标准结合了业界已经 广泛采用的建模语言和开发过程,因而易于推 广。
郑州大学软件学院 赵哲 16
ADL的构成要素-连接件
连接件用来连接构件,它们可以是消息 器、共享变量、缓冲区、协议、管道、 数据库、应用程序中的SQL语句等。 连接件同样有接口,接口由一组角色组 成。有2角色,也有多角色。
郑州大学软件学院 赵哲
17
ADL的构成元素-体系结构配置
体系结构配置提供信息来确定: