失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 成功架构设计的关键要素

成功架构设计的关键要素

时间:2018-07-14 05:43:20

相关推荐

成功架构设计的关键要素

软件架构设计是以“需求规格说明书”为最主要的设计依据,首先勾勒出概念性的架构,

再结合具体的技术平台制定实际架构方案的。在考虑架构设计的时候,必须注意如下关键要

素。

1)是否遗漏了至关重要的非功能性需求

非功能需求是最重要的架构决定因素之一,所谓非功能需求主要包含两个部分:质量属

性和约束条件。质量属性是软件系统整体的质量品质,所谓整体品质,就是它往往和大多数

功能都有关系。比如易用性、可扩展、安全性、可靠性等。它们往往表现在整体上的品质,

而不是哪个功能的“内部”。

非功能需求很多情况下存在一定的相互矛盾,所以只有少数几个质量属性在架构设计中

是最重要的,它通常左右着架构风格的选择。另一方面,软件系统非功能性需求的的满足,

仅凭编程级的努力是达不到的。比如为了提供高可靠性,往往涉及错误检测、预防、修复等,

这就需要架构设计中非常重视非功能性需求。

功能是重要的,但如果仅仅盯着功能而忽视了非功能需求,则可能导致架构设计的失败。

2)是否适应数量巨大且频繁变化的需求

需求的变更既蕴藏着风险又包含了机遇。

之所以说是风险,是因为不存在不需要成本的需求变更。任何变更都意味着时间和金钱

的消耗,并且在大量变更以后程序可能被搞得混乱不堪,势必引起 Bug 增多,产品质量下降。

另一方面,需求变更也蕴含着机遇,对软件架构师而言,这个机遇就意味着极力设计出

更稳定的架构,最终,这个架构能够支持需求在一定范围内“随需而变”。

从更深层次来讲,现在商业环境的特点就是频繁变化,国际化带给我们的就是对未来越

来越不可预测,技术的位置也不仅仅是服务,很多情况下技术在一定程度上还会拉动需求变

更。不考虑适应数量巨大而且频繁的需求变更,架构师就难以“从容”的进行架构设计,最

终甚至被变化拖垮而无法关注大局。

3)能否从容设计架构的不同方面

架构师必须具有宏观思考的能力,避免涉及太多的技术细节,但这并不意味着架构设计

是宽泛的甚至简单的。

软件架构必须对开发提供足够的指导和限制,这无疑意味着软件架构的工作是复杂的。

架构师必须深入研究软件系统运行期间的情况,合理划分不同部分的职责,权衡轻重缓急,

并制定相应的并行、分时、缓存和批处理等设计决策。

架构师必须掌握系统化的方法,对复杂问题“分而治之”,分解成独立的视图。然后再

综合考虑各个视图之间的相互支持、互相影响等问题。

4)能否及早验证架构方案并做出了调整

现代软件开发非常注意早期缓解高风险。而架构设计又是软件开发风险比较高、也是最

为关键的一环。架构设计的是否合理,将直接影响到软件项目最终是否能够得到成功。

毕竟,软件架构中包含了关于如何构建软件的一些最重要的设计决策,比如系统分为哪

几个部分?各部分之间如何交互的?等等。这些设计决策能保证最终产品满足非功能需求

(比如性能、可靠性、安全性)吗?

所以,在大规模开发之前,尽早构建架构的早期版本(架构基线),并通过对这个原型

的测试评审,来评估这个架构是不是合理,这是非常重要的事情.

如果觉得《成功架构设计的关键要素》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。