什么是软件体系结构

软件体系结构被提出源自于人们的需求,需求工程重点关注如何刻画问题空间,软件体系结构是将需求变成现实,在需求阶段,工作人员的工作有两部分:一是结合软件体系结构的概念和描述手段在较高抽象层次刻画问题空间的软件需求;二是探讨如何从软件需求规约自动或半自动地变换到软件体系结构的模型。

需求阶段的工作为软件提供追溯源,也提供一些技术操作方法,根据需求构建软件体系结构是工作人员还要考虑如何将需求模型转变为软件体系结构模型,和如何确保软件体系结构模型的可追溯性等,其中运用到的技术手段也不相同,常用到的方法有:Use Case 图描述法、全局分析法设计阶段是软件体系结构研究中受关注时期最早,关注量最多的阶段,该阶段的主要工作有:软件体系结构模型的描述、软件体系结构模型的设计与分析方法、以及对软件体系结构设计经验的总结与复用等。

关于软件体系结构,其主要包括构件和连接子两大主要部分,连接子的作用目前被概括为构件间信息传递与协调,转换数据格式,辅助交互等,保持构建之间信息传递正常、迅速。

为保持信息正确传递,为软件体系结构制定了统一的描述语言,还有一种描述方法为多视图描述法,多视图表现出关注点分离的思想,将两种描述方式结合起来,增强人们对软件体系结构的理解,简化技术人员间的交流和系统检测。

来源:中国管理信息化

虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画,较为典型的定义有:

(2)Mary Shaw和David Garlan认为软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等

(3)Kruchten指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。

(4)Hayes Roth则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。

(5)David Garlan和Dewne Perry于1995年在IEEE软件工程学报上又采用如下的定义:软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。

(6)Barry Boehm和他的学生提出,一个软件体系结构包括一个软件和系统构件,互联及约束的集合;一个系统需求说明的集合;一个基本原理用以说明这一构件,互联和约束能够满足系统需求。

(7)1997年,Bass,Ctements和Kazman在《使用软件体系结构》一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,软件外部的可见特性是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。

软件体系结构为软件系统提供了一个结构 •行为和属性的高级抽象,由构成系统的元素的描述。这些元素的相互作用 。

指导元素成的模式以及这些模式的约束组成。不仅指定了系

统的组织结构和拓扑结构,而且显示了系统需求和构成系统的元素之间的对应关系,提供了

一些设计决策的基本原理。根据软件体系结构的定义,你认为软件体系结枸的模型应该有哪

些部分组成?

构件:可以是一组代码,如程序的模块也可以是一个独立的程序 如数据库 的sQL服务器;连接件:是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等:限制:用于对构件和连接件的语义说明。


欢迎分享,转载请注明来源:民族网

原文地址:https://www.minzuwang.com/life/1040721.html

最新推荐

发表评论

评论将在审核通过后展示