软件需求和结构_软件体系结构

软件体系结构意指“软件的整体结构和这种结构为系统提供概念完整性的方式”。从最简单的形式来看,体系结构是程序构件(模块)的结构或组织、这些构件交互的方式以及这些构件所用数据的结构。然而在更广泛的意义上,构件可以概括为主要的系统元素及其交互方式的表示。

软件设计的目标之一是导出系统体系结构示意图,该示意图作为一个框架,将指导更详细的设计活动。一系列的体系结构模式使软件工程师能够重用设计层概念。

Shaw和 Garlan描述了一组属性,这组属性应该作为体系结构设计的一部分进行描述。结构特性定义了“系统的构件(如模块、对象、过滤器)、构件被封装的方式以及构件之间相互作用的方式”。外部功能特性指出“设计体系结构如何满足需求,这些需求包括性能需求、能力需求、可靠性需求、安全性需求、可适应性需求以及其他系统特征需求”。相关系统族“抽取出相似系统设计中常遇到的重复性模式”。

一旦给出了这些特性的规格说明,就可以用一种或多种不同的模型来表示体系结构设计。模型将体系结构表示为程序构件的有组织的集合。框架模型可以通过确定相似应用中遇到的可复用体系结构设计框架(模式)来提高设计抽象的级别。动态模型强调程序体系结构的行为方面,指明结构或系统配置如何随着外部事件的变化而产生变化。过程模型强调系统必须提供的业务或技术流程的设计。最后,功能模型可用于表示系统的功能层次结构。

为了表示以上描述的模型,人们已经开发了许多不同的体系结构描述语言(Architectural Description Language,ADL)尽管提出了许多不同的ADL,但大多数ADL都提供描述系统构件和构件之间相互联系方式的机制。

需要注意的是,关于体系结构在设计中的地位还存在一些争议。一些研究者主张将软件体系结构的设计从设计中分离出来,并在需求工程活动和更传统的设计活动之间进行。另外—些研究者认为体系结构设计是设计过程不可分割的一部分。

6ee1a98ff1bcae5e2e6e52185822daa4.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值