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

2023-12-12 00:19

本文主要是介绍《软件体系结构》 第四章 软件体系结构描述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

    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主要内容

 

这篇关于《软件体系结构》 第四章 软件体系结构描述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/482596

相关文章

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

zblog自定义关键词和描述,zblog做seo优化必备插件

zblog自定义关键词和描述,zblog做seo优化必备插件     首先说下用到的一款插件:CustomMeta自定义数据字段 ,我们这里用到的版本是1.1,1.1+版增加了列表页标签支持!     插件介绍:文章,分类等添加自定义数据字段。1.1+版适用于 Z-Blog 2.0 B2以上版本。     在zblog2.0beta1里面,这个插件是集成到了程序里面,beta2里面默认没有了

第四章 类和对象(2)

4.2 类         类是封装对象的属性和行为的载体,Java中定义类使用class关键字,其语法如下: class 类名称{// 成员变量// 成员方法()}         在Java语言中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。本节将对类与对象进行详细讲解。          4.2.1 成员变量         在Java中对象的属性也称为成员变量,

第四章 类和对象(1)

4.1面向对象概述         在程序开发初期,人们使用结构化开发语言,但随着软件的规模越来越庞大,结构化语言的弊端也逐渐暴露出来,开发周期被无休止地拖延,产品的质量也不尽如人意,结构化语言已经不再适合当前的软件开发。这时,人们开始将另一种开发思想引入程序中,即面向对象的开发思想。面向对象思想是人类最自然的一种思考方式,它将所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性以及行

深入理解计算机系统阅读笔记-第四章

第四章 处理器体系结构 一个处理器支持的指令和指令的字节级编码称为它的ISA(instruction-set architecture,指令集体系结构)。不同家族处理器有不同的ISA。ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层,编译器编写者只需要知道允许哪些指令,以及他们是如何编码的;而处理器设计者,必须建造出执行这些指令的处理器。 ISA模型看上去是顺序执行的,实际上同时处

React第四章(babel)

Babel 什么是Babel? Babel 是一个 JavaScript 编译器,提供了JavaScript的编译过程,能够将源代码转换为目标代码。 AST -> Transform -> Generate 官网 https://babeljs.io/ 查看AST https://astexplorer.net/ Babel所有的包 https://babeljs.io/docs/

嵌入式开发高频面试题——第四章 常见算法(下)

目录 4.2.1 Vector和List的异同4.2.2 Vector的内存增长与底层实现4.2.3 Vector和Deque的比较4.2.4 STL里有sort函数,为什么list还要定义sort?4.2.5 STL底层数据结构实现4.2.6 利用迭代器删除元素会发生什么?4.2.7 Map的实现与查找效率4.2.8 几种模板插入的时间复杂度 4.2.1 Vector和Lis

第四章 结构化分析简记

第四章  结构化分析 结构化方法:结构化分析+结构化设计+结构化程序设计 结构化分析的基本思想:自顶向下,逐步求精;基本原则:抽象与分解。

第四章 感受Mac之美-效率提高从操作快捷键开始

了解和掌握快捷键,可以提高工作效率,作用和意义是不言而喻的。节省不必要的操作时间,让你专注做自己真正重要的事。 比如最简单的复制,粘贴之类的入门快捷键,如果每个操作都需要右键执行去操作的话,那么在电脑上做什么操作都会慢一拍。 我是在入手俩周后,自己摸索之后,基本对系统里面基本的快捷键都有个印象了。 看了这么多的快捷键,一时半会也记不住啊,是不是有点崩溃啊,不过大家也不用担心快捷键的记不住,今

【软件测试】软件测试-----什么是Bug?Bug是如何分级的?Bug的生命周期是怎样的?如何描述一个Bug?

博客目录 一.软件测试的生命周期二.BUG的定义和级别2.1 bug的概念.2.2 如何描述一个bug.2.3bug的级别2.3.1 bug分级的意义.2.3.2 bug的四种级别. 三.BUG的生命周期.四.当与开发人员发生冲突该如何处理(高频面试)五.总结 一.软件测试的生命周期 软件测试贯穿于软件的整个生命周期,针对这句话我们一起来看一下软件测试是如何贯穿软件的整个生命周