对软件体系结构的认识

本文探讨了软件体系结构的定义、风格、建模研究及其重要性,指出软件体系结构是软件开发的基础,强调了软件体系结构风格在设计中的复用性。同时,介绍了模式的概念,包括周境、动机和解决方案三部分,以及模式在软件开发中的重要作用。最后,分析了架构和模式之间的关系,明确了两者在不同层次设计中的角色和相互作用。

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



 软件体系结构(架构) 

软件体系结构的定义

通常,软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。架构尚处在发展期,对于其定义,学术界尚未形成一个统一的意见,而不同角度 的视点也会造成软件体系结构的不同理解。比如, ANSI/IEEE 610.12-1990软件工程标准词汇对于体系结构定义是“体系架构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以 及知道上述内容设计与演化的原理 (principle)”;而 Garlan & Shaw模型的基本思想是:软件体系结构 ={ 构件 (component),连接件 (connector),约束 (constrain)} 
对于软 件项目的开发来说,一个清晰的软件体系结构是首要的。传统的软件开发过程可以划分为从概念到实现的若干个阶段,包括问题定义、需求分析、软件设计、软件实 现及软件测试等。软件体系结构的建立就位于需求分析之后,软件设计之前。在建立软件体系结构时系统设计师主要从结构的角度对整个系统进行分析,选择恰当的 构件(Component)、构件间的相互作用以及它们的约束,最后形成一个系统框架( Framework)以满足用户的需求,为软件设计奠定基础。


软件体系结构风格 
软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能否达到结构级的软件重用。也就是说,能否在不同的软件体系中,使用同一体系结构。基于这个目的,学者们开始研究和实践软件体系结构的风格问题。 
软件体系结构风格是描述某一特定应用领域系统组织方式的惯用模式。它反映了领域中众多系统所有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一 个完整的系统。对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证明的解决方案也可以可靠地用于解决新的问题。体系结构风格的不变部分使不同的系统可以共享一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统结构。 
Garlan Shaw对通用体系结构风格进行如下分类: 
 1)数据流风格:批处理序列、管道 /过滤器等; 
 2)调用 /返回风格:主程序 /子程序、面向对象风格、层次结构等。 
 3)独立构件风格:进程通讯、事件系统等; 
 4)虚拟机风格:解释器、基于规则的系统等; 
 5)仓库风格:数据库系统、超文本系统、黑板系统等。 
近年来,出现了许多新的体系结构风格,例如客户 /服务器( Client /Server)结构、浏览器 /服务器(Browser/Server)结构、正交( Orthogonal)结构、三层 C/S结构等。 

软件体系结构的建模研究 
研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模的侧重点的不同,可以将软件体系结构的模型分为 5种:结构模型、框架模型、动态模型、过程模型和功能模型。其中࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值