浅谈Architectural Assumption(软件架构设计的假设条件)(1)

本文探讨了软件架构设计中的假设条件(AA)概念,介绍了其由来、定义及其在软件开发中的重要性和应用现状。

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

这个概念并非我们原创,早在二十年前David Garlan、Robert Allen 和 John Mark Ockerbloom就已经谈到了这个概念,英文是architectural assumption。据我们了解,英文领域已经有至少164篇已发表的文章谈到了各种各样的assumption(如需求assumption、架构assumption、代码assumption等),涉及其重要性,在软件开发中的位置,如何管理等。我也曾经和多位教授、学者以及欧洲公司的架构师聊过这个话题,发现这个术语以及相关的概念对于他们来说非常容易理解。

鉴于国内并没有相应的研究,我们尝试翻译architectural assumption这个术语,考虑到学术界和工业界对于用词的差异,比如学术界喜欢用软件体系结构,而公司里喜欢用软件架构,但实际是一回事。我们先后用过软件体系结构的假设、软件体系结构设计的假设条件、软件架构设计的假设条件等来描述这个概念,但效果似乎都不理想。

以下我统一用AA来代替architectural assumption,用软件架构代替软件体系结构。

什么是AA?

虽然我说国外对这个概念比较了解,但有趣的是,他们详细地解释起来也是五花八门,似乎并没有形成统一的定义。我们翻阅了一些英文字典,比如Oxford English Dictionary. http://www.oxforddictionaries.com/definition/english/assumption和Merriam-Webster. http://www.merriam-webster.com/dictionary/assumption。发现assumption被定义为:“a thing that is accepted as true or as certain to happen, without proof” or as “a fact or statement taken for granted”。于是我们定义AA为架构知识的重要组成部分,它表示的是架构设计中缺少证据支持但又被认为合理的信息。

2015年格罗宁根大学软件工程与架构研究组联合武汉大学软件架构研究组在中国做了一个关于AA的调研,包含112位来自企业的参与者,覆盖软件开发、架构设计、详细设计、项目管理、需求管理、测试等。发现67.0%的参与者并不熟悉“软件架构设计的假设条件”这个术语,而87.5%的参与者从来没有在工作中使用过该术语。但是有趣的是,所有参与者都能理解AA这个概念,并能给出相应的AA的例子,比如假设系统响应时间应该小于0.1s;比如假设系统架构设计需要有较高的可复用性。过半的参与者认为AA在架构设计乃至整个软件开发中具有重要的地位。

 

 

当前系统开发方法的大规模无效可能归因于其有关系统开发过程的基本假设的不正确或不充分。 在本文中,我们提出了一个信息系统(IS)设计过程的描述性替代模型,该模型强调了约束在定义可行设计空间中的重要性以及作为发现约束的工具的假设的重要性。 此外,约束/假设(C / A)模型不是像当前的主导模型那样假设设计活动按逻辑和规定的顺序发生,而是约束/假设(C / A)模型关注设计活动的相互依赖性质。从三个方面来看,开发和验证系统设计过程的替代模型的重要性。 首先,关于系统设计的实证研究很少,我们将其归因于缺乏指导这类研究的理论。 其次,教育者对我们在这一过程中对学生进行教育的能力提出了严重怀疑。 第三,专业系统设计人员普遍无法按计划,在预算范围内开发系统并无法提供全套指定功能,这令人震惊,甚至令人震惊。以前的研究表明,当客户和设计人员都将IS设计过程视为一种设计时,才能产生出出众的设计。学习经验,并努力互相教育。 约束/假设模型通过区分客户向设计师学习的内容和设计师向客户学习的内容,进一步阐述了这种相互学习的论点。 C / A模型断言,在设计过程的任何阶段,都会同时发生两个对话。 客户/设计者对话详细说明了设计空间,即设计过程中的一组约束,规定了所需的性能和功能,组织和政治氛围,可用于开发和运行系统的资源等。一方面,重点在于解决设计问题的可行解决方案,就技术可行性进行验证,将其与可接受的设计空间相一致以及将其详细说明为可实施的设计设计空间和实际设计都是每个对话的输入,并且它们之间的相互依赖关系是由于每次对话仅修改其自己的产品的能力而产生的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值