`
tomhibolu
  • 浏览: 1383282 次
文章分类
社区版块
存档分类
最新评论

章五 软件体系结构集成开发环境的设计与实现

 
阅读更多

章五 软件体系结构集成开发环境的设计与实现
一、软件体系结构描述语言
1、目前出现了许多针对特定领域的软件体系结构描述语言,有:Aesop、ArTek、C2、Darwin、LILEANNA、MetaH、UniCon、Weaves、Wright等。
2、对软件体系结构的描述和表达语言经历了从低到高的4个发展阶段:
(1)用由矩形框和有向线段组合而成的图形表达工具
矩形框代表抽象构件,
有向线段代表辅助各构件进行通讯、控制或关联的连接件。
该方法简介易用,但术语和语义表达存在着不规范和不精确。
(2)采用将一种或多种传统程序设计语言的模块连接起来的模块内连接语言(MIL-Module Interconnection Language)
此方法具有严格的语义基础,但语言处理和描述的软件设计开发层次过于依赖程序设计语言,限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件构架元素的能力。
(3)参照传统的程序设计语言的设计和开发经验,重新设计、开发和使用针对软件构架特点的专门的软件构架描述语言(SADL-Software Architectural Description Language)
SADL现今发展很快,但由于它们是设计者在某种特定应用或研究开发中设计和发展出来的,使得不同的SADL在适用范围和相互衔接等问题上存在一定的局限性和封闭。
(4)采用基于构件的系统描述语言。
基于构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造、组成的组织或系统。
3、软件体系结构描述语言应满足如下要求:
(1)可抽象描述构件;
(2)可抽象描述系统内部的通讯方式和机制;
(3)满足通讯完整性;
(4)具有对体系结构动态特性建模的可能;
(5)支持分层复合构造;
(6)具有关联性,即能在不同体系结构视图间建立行为关联。
4、体系结构描述语言应具有如下功能:
(1)捕捉体系结构信息;
(2)反映实例的结构特征;
(3)支持多实例复合构造;
(4)帮助设计人员在设计与实现间做出抉择;
(5)验证体系结构规格说明与实现是否一致;
(6)系统分析;
(7)自动化。
5、一个体系结构描述语言由“4C”组成:构件(Components)、连接器(Connectors)、配置(Configurations)、限制(Constraints)。
6、尽管体系结构描述语言的功能要求随不同的领域而有所不同,通过分类比较、提取各种体系结构描述语言的共性,每个体系结构描述语言都提供工具描述了以下基本元素:
(1)构件
(2)连接器
(3)体系结构配置
7、构件建模
一个构件代表了一个可计算单元或一个数据存储体。
随软件细化的粒度不同,构件可大可小。
在对构件建模时要描述以下特性:
(1)接口:是一组构件与其环境进行交互的界面或端口。
接口提供了构件间交互的方法,每个接口代表了该构件与其环境进行交互作用的一个作用点。
接口分“提供”接口和“请求”接口两种。
(2)类型:定义了可重用块的功能特性,是对封装特定功能的可重用块的抽象描述。
(3)语义:描述了构件行为特征的高层模型。
(4)限制:既可以描述系统具有的属性,也可以用来申明系统可能发生的一些例外。
(5)非功能属性
构件的非功能属性(如:安全性、可移植性、性能等)通常都无法从构件的行为描述中推导出来。
在体系结构中尽早的定义这些特性,将系统中的构件实现镜像到不同的处理器,并实施结构上的限制来分析系统,即可帮助设计人员仿真系统的运行状态,分析系统,也可辅助开发人员进行项目管理。
8、连接器建模
连接器用来对构件间的交互动作和交互规则建模。
连接器是软件体系结构的基础块。
在实际系统中,连接器可以根据系统实现需要以不同方式实现。如:不同设备间相互交流的消息、共享变量、缓冲区、嵌入代码中的过程调用序列、初始化参数、C/S协议、管道、数据库与应用程序间的SQL连接等。
对连接器建模要考虑以下特性:
(1)接口:是一组连接器与构件、相连连接器的交互端口。
连接器的接口使构件间具有好的连通性,确保构件顺利交互,也利于推理、分析体系结构配置。
(2)类型:是对构件间的通讯机制、协同方法建模。
体系结构层的构件交互作用可能要通过复杂的协议来描述。
可通过两种方法实现连接器的重用:依据交互协议需要将连接器类型设为可扩展类型;根据特定实现机制需要将连接器类型设为枚举型。
(3)语义:描述了连接器行为特征的高层模型、
连接器的语义定义了与构件的计算单元无关的交互协议。
(4)限制:用于设定连接器的使用边界,建立构件间的依赖关系,并确保连接器交互协议正确。
(5)非功能属性:通常无法从连接器的语义的定义中推导出来。
非功能属性说明了正确实现连接器所需的附加要求。
9、体系结构配置建模
体系结构配置反映了体系结构描述中所含构件和连接器的拓扑结构。
通过体系结构配置信息可以判断构件连接是否正确,构件接口是否匹配,连接器能否保证通讯畅通,构件的语义描述是否符合构件的行为特征。
通过配置信息可以评估体系结构的并发和分布特性。
(1)描述的可理解性
(2)复合构造能力
复合构造能力:是一种在不同详细程度描述软件系统体系结构的机制。
(3)细化和可塑性
(4)异构性
(5)延展性
(6)动态机制
动态机制是指在系统处于运行状态时更改体系结构,并使更改在系统运行时生效的机制。
(7)限制
体系结构配置中的限制描述了系统中构件和连接器的依赖关系。
(8)非功能属性
对于软件系统中存在的一些无法用构件或连接器描述的属性,可在体系结构配置中采用非功能属性描述来建模。
体系结构配置中的非功能属性描述在系统性能分析、设定系统边界条件,以及将结构上的构件块镜像到不同处理器时非常有用。
二、软件体系结构集成环境
体系结构信息的采集、维护和确认是一个长期不断发现和解决问题的过程。
1、设计目标
软件体系结构集成开发环境的设计目标:
(1)描述各种风格的软件体系结构;
(2)支持自顶向下(或自下向上)的分层细化(或聚集)体系结构元素;
(3)确保接口一致;
(4)提供一个体系结构知识库存放与体系结构设计相关的设计模块、设计要素、设计需求(或脚本);
(5)具有一个提供数据和控制模型代码的模板生成器;
(6)提供体系结构的图形化描述工具,帮助系统设计人员画出系统体系结构图,并从不同的视角以图形化的方式反映体系结构。
2、集成环境原型
一个软件体系结构集成开发环境应该包括如下元素:
(1)体系结构描述语言(ADL)
(2)体系结构配置文档编辑器
确定了体系结构的语法,就能定义一套体系结构描述语言,规定系统中的关键字、终结符、正则表达式。
(3)体系结构配置图形编辑器
体系结构配置文档编辑器能帮助软件体系结构设计人员分析、设计系统的软件体系结构。
体系结构设计人员为每个图形符号赋予特定的语法描述,对构件、接口、连接器附加一定的限制条件,在体系结构集成开发环境将图形符号翻译成具体的体系结构配置描述时就可以对用户描述进行边界检查。
(4)软件体系结构视图
可视化、文档化一个软件系统,要求从多个视角观察系统。
体系结构视图通常可分为3类:
体系结构文本视图:显示用户体系结构配置文档的文档描述;
体系结构交互视图:描述体系结构中构件交互状态;
体系结构层次视图:描述体系结构中构件的层次结构。
3、UML分析视图
(1)用况视图(use case view):由专门描述可被最终用户、分析人员和测试人员看到的系统行为的用况组成。
(2)系统设计视图(design view):包含了类、接口和协作,它们形成了问题及其对问题解决方案的术语词汇。
(3)系统的实现视图(implementation view):包含了用于装配和发布物理系统的构件和文件。
(4)系统的实施视图(deployment view):包含了形成系统硬件拓扑结构的节点。
(5)系统的进程视图(process view):包含了形成系统并发与同步机制的线程和进程,该图主要针对性能、可延展性和系统的吞吐量。
4、软件体系结构语法分析器
5、代码模板生成器

分享到:
评论

相关推荐

    【清华】 软件工程(完) 视频.txt

    6.1体系结构设计决策 6.2体系结构视图 6.3体系结构模式 6.3.1分层体系结构 6.3.2容器体系结构 6.3.3客户机-服务器体系结构 6.3.4管道和过滤器体系结构 6.4应用体系结构 6.4.1事务处理系统 6.4.2信息系统 6.4.3语言...

    B级医疗器械软件生存周期过程

    (软件开发策划,软件需求分析,软件体系结构设计,软件详细设计,软件单元的实现和验证,软件集成和集成测试,软件系统测试,软件发行) 3.第三章 软件维护过程。(制定软件维护计划,问题和修改分析,修改的实施)) 4...

    软件工程完整ppt

     第15章面向对象的软件体系结构  151软件体系结构概述  152流程处理与客户机/服务器体系结构  1521流程处理  1522客户机/服务器体系结构  153三层和多层体系结构  1531三层体系结构  1532浏览器/服务器体系...

    JSP留言本管理系统毕业论文

    1.2.1 软件体系结构介绍 1 1.2.2 B/S的三层体系结构 2 1.2.3 C/S架构的优势与劣势 3 1.2.4 B/S架构的优势与劣势 4 1.3 开发工具的选用及介绍 5 1.3.1 JSP网络技术 5 1.3.2 Dreamweaver介绍 6 1.3.3 SQL Server2000...

    Visual C++串口通信技术详解.(机械工业.李景峰.杨丽娜.潘恒)

    书中精选来自工程实践的应用范例,主要涵盖串口通信的理论基础、Visual c++集成开发环境简介、MSComm控件串口编程、Windows API串口编程、TAPI通信编程、串口实现双机互连、串口调试精灵、串口控制Modem设备、串口...

    8051系列单片机C程序设计完全手册_清晰版_2-2

    第5章 Windows集成开发环境μVision2 5.1 μVision2编辑界面及其功能介绍 5.1.1 μVision2界面综述 5.1.2 主菜单栏 5.1.3 μVision2功能按钮 5.1.4 μVision2窗口环境 5.2 应用μVision2开发流程介绍 5.2.1 ...

    中国港湾总公司建网方案

    7.5 Intranet平台和软件开发环境建立 7.6 应用系统开发 7.7 网络系统和Intranet平台试运行 7.8 工程验收 7.9 培训 7.10 质量保证体系 7.11 质量担保 第八章.服务 8.1 系统集成、安装及日常维护服务 8.2 ...

    8051系列单片机C程序设计完全手册_清晰版_2-1

    第5章 Windows集成开发环境μVision2 5.1 μVision2编辑界面及其功能介绍 5.1.1 μVision2界面综述 5.1.2 主菜单栏 5.1.3 μVision2功能按钮 5.1.4 μVision2窗口环境 5.2 应用μVision2开发流程介绍 5.2.1 ...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    1、介绍目标前国际上最优秀的GIS软件ARCCIS9体系结构及全面了解ARCCIS9.0桌面系统的体系结构和功能介绍,介绍ESRI的ARC-CATALOG,ARCTOOLBOX通用GIS解决方案的精彩设计以及最新的ARCCISENGINE和ARCCIS SERVER。...

    《Java P2P技术内幕》完整电子版

    你可以了解传统的客户端/服务器系统和消息传输系统与P2P系统之间的异同,通过P2P实现应用程序间的集成和互操作,选择适当的Java技术开发应用程序,在P2P中管理和共享信息,开发域驱动的P2P应用程序,在P2P环境中应用...

    J2EE电子商务系统开发从入门到精通

    3.2 体系结构..... 52 3.2.1 Hibernate架构..... 52 3.2.2 重要jar文件介绍..... 53 3.2.3 Hibernate与Struts.. 53 3.3 配置文件..... 54 www.j2eedve.com 制作:找不着北 第 3 页 2007-7-27 3.3.1 基本配置..... 54...

    计算机二级公共基础知识

    根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。 (1)如果一个非空的数据结构满足下列两个条件: ① 有且只有一个根结点; ② 每一个结点最多有一个前件,...

    asp.net知识库

    .NET的反射在软件设计上的应用 关于跨程序集的反射 实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的...

    Delphi+Access仓库管理系统设计

    作为一种Windows系统下的可试化集成开发工具,Delphi 6以其良好的可视化应用程序开发环境,以及强大的可扩展数据库功能而倍受瞩目。利用Delphi6提供的强大的VCL(Visual Component Library,可视化组件库)进行编程,...

    编程高手箴言(推荐)

    3.1.3 VxD的设计实现 59 3.1.4 【实例】:CPU降温程序代码分析 65 3.2 消息的运行方式 82 3.2.1 认识消息 82 3.2.2 Windows系统中消息的运作方式 84 3.2.3 消息处理过程实例 87 3.3 GDI的结构和组成 89 3.3.1 GDI的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    5.5.4 tomcat的体系结构 191 5.6 tomcat的管理程序 193 5.6.1 admin web应用程序 193 5.6.2 manager web应用程序 194 5.7 小结 195 第6章 servlet技术 196 6.1 servlet api 196 6.1.1 servlet接口 196 6.1.2...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    第三章 开发环境的说明与安装 3.1. 开发语言的选择 3.1.1. JAVA简介 Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    5.5.4 tomcat的体系结构 191 5.6 tomcat的管理程序 193 5.6.1 admin web应用程序 193 5.6.2 manager web应用程序 194 5.7 小结 195 第6章 servlet技术 196 6.1 servlet api 196 6.1.1 servlet接口 196 6.1.2...

Global site tag (gtag.js) - Google Analytics