2022年软件架构设计要点 .pdf
《2022年软件架构设计要点 .pdf》由会员分享,可在线阅读,更多相关《2022年软件架构设计要点 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、当今软件系统行业中,软件架构决定了,软件的好坏。就好比人等骨架,如果人等骨架都不好,那么人也很脆弱。软件架构这个在软件工程领域将是一个永恒的话题。随着软件行业的高速发展, 现在国际软件工程界在软件架构设计方面已经获得来较快发展,大量图书、 文章和文献记载来这方面等成熟经验与成果。软件架构设计往往是一件非常复杂等工作,涉及到很多细节和方方面面, 可探讨等话题也很多。但是架构没有最好的,所以你如果认为成熟或者那个人架构出来的架构很完美,其实是不能怎么说的,只能说架构是很适合它的系统。并不是可以直接搬来用。架构适应软件就是完美的。架构决定成败软件架构是软件产品、软件系统设计当中等主要结构和主要矛盾。
2、任何软件都有架构,哪怕最基本等 “HelloWorld ”程序。软件架构设计的成败决定了软件产品和系统研发等成败。软件架构自身所具有等属性和特点,决定来软件架构设计等复杂性和难度。在管理学上有“ 细节决定成败” ,这话不能算是全对,细节确实很重要,一方面,战术细节固然很重要,但是,战略也同样重要。只能说战略决定了整体的成败,如果战略都错了,那么细节有什么意思了。因此战略正确 + 专注细节 + 运气 = 成功。类似地,正确的软件架构设计,应该既包括战略全局上的设计,也包括战术细节(关键路径)上的设计。有一种错误的观点认为,软件架构设计只要分分层和包,画一个大体的轮廓草图,就完事了。这种 “ 纸上
3、谈兵 ” 型的架构师行为是非常有害的。事实上,既然软件架构是软件建筑的主体结构、隐蔽工程、承重墙和要害部位,那么软件架构也必然要落实到实际的算法和代码,不但要有实现代码, 还要包括对这部分架构进行测试的代码,以保证获得高质量的、满足各种功能和非功能质量属性要求的架构。除了完成概念、模型设计外, 软件架构师一定要参与实际的编码、测试和调试,做一位真正的hands-on practitioner,这已经成为了敏捷软件工程所倡导的主流文化。两个架构我们在日常的软件产品和系统开发中,实际上会遇到两种、两个部分的软件架构,即待开发的应用部分的软件架构 (简称 “ 应用架构 ” ) , 以及既有的基础平台
4、部分的软件架构(简称 “ 基础架构 ” ) 。这两部分架构之间是互为依赖、相辅相成的关系,它们共同组成了整个软件产品和系统的架构。基础架构的例子包括:.NET 和 J2EE 等主流的基础平台和各种公共应用框架,由基础库API 、对象模型、 事件模型、 各种开发和应用的扩展规则等内容组成。我们只有熟悉基础架构的构造细节、应用机理,才能有效地开发出高质量、高性能的上层应用。然而,开发一个面向最终用户的软件应用系统和产品,仅仅掌握一般的计算机高级编程语言知识和基础平台架构、API 的使用知识显然是不够的,我们还需要根据客户应用的类型和特点,在基础架构之上,设计出符合用户要求的高质量应用软件。熟悉 O
5、OA 、OOD 抽象建模技术、设计原则以及架构模式和设计模式等等方法技术,不但有助于我们更好地理解和利用基础平台架构,也有助于我们设计开发出更高质量的应用软件架构。风险驱动、敏捷迭代的架构设计与开发名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 软件架构将随着软件产品和系统的生命周期而演化,其生命期往往超过了一个项目、一次发布,甚至有可能长达数年之久,因而软件架构无论对于客户还是开发商来说都是一项极其重要的资产。软件架构的设计应
6、该遵循什么样的开发过程?或者说,有没有更好的、 成熟的软件架构设计和开发过程?回答是,21 世纪的软件架构设计应该优先采用敏捷迭代的开发方式和方法。与传统做法不同,敏捷迭代开发主张软件架构采用演进式设计(evolutionary design),一个软件产品或系统的架构是通过多次迭代,乃至多次发布,在开发生命周期中逐步建立和完善起来的。好的软件架构不是一蹴而就的。在架构设计开发过程中,我们应该尽量避免瀑布式思维,通过一个“ 架构设计阶段” 来完成系统的架构设计乃至详细设计,然后再根据架构图纸和模型,在“ 编码实现阶段 ” 按图索骥进行架构的编码与实现。这种传统做法的错误在于认为软件架构就是图纸
7、上的模型, 而不是真正可以高质量执行的源代码。几十年的软件工程实践表明,没有经过代码实现、测试、用户确认过的架构设计,往往会存在着不可靠的臆想、猜测和过度设计、过度工程,极易造成浪费和返工,导致较高的失败率。风险是任何可能阻碍和导致软件产品/ 系统研发失败的潜在因素和问题。软件架构是软件产品和系统研发的主要矛盾和主要技术风险,软件架构的质量决定了整个软件系统和产品的质量。不确定性往往是软件架构设计当中一种最大的潜在风险。因此,软件架构的设计与开发应该遵循风险驱动的原则, 在整个开发生命周期内至始至终维护一张风险问题清单,随着迭代的前进,根据风险的实时动态变化,首先化解和处理最主要的架构风险,再
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年软件架构设计要点 2022 软件 架构 设计 要点
限制150内