架构设计,一直就是软件业界中显得高深的名词之一,会造成很多的人对于它都充满了神秘感,但接触过几年软件业的人很多时候又会觉得软件架构原来不过如此,特别是看到一些架构设计文档后更是得出如此的感想,但真的是如此吗?也许是因为那些架构设计文档并没有起到它们真正的作用,只是拿来糊糊人的吧,架构设计文档最重要的是要能对系统的软件设计做出指导,做出规范性的约束,不谈这些,重点还是谈架构设计。
首先我们想想为什么要做架构设计呢?可能很多人会说在他们的系统中就是没做架构设计的,但其实不管你有没有做架构设计,你的脑海中或多或少都是已经考虑过的,只是也许没有变的那么的正规,首先,我们来看看什么是架构,架构作为系统的骨架而存在,正因为这个原因才说所有的系统都是有架构的,有架构自然就有设计,尽管它也许只是浮在你脑海中的某个东西而已,从架构中我们可以看到对于整个系统的支持,包括系统的各个方面,业务需求、用户需求以及功能需求的满足,架构设计能帮助你站在高的角度来看待、分析整个系统,在架构设计中通常采用OOAD的方法来帮助完成架构设计,想想没有架构设计的系统是什么系统呢?是一个没有骨架的系统,一个人没有骨架会怎么样呢?那么,同样,一个系统呢?一个系统没有骨架甚至比一个人没有骨架更为严重。
那么我们怎么去做架构设计呢?架构来源于需求,是在对需求进行分析、设计的情况下产生出来的,一个系统的需求通常非常的复杂,那么怎么样去产生它的架构呢?我们知道软件设计中最重要的就是抽象,其实说的更为专业应该是采用OO的思想,在过去采用的是面向过程的思想,这里就不再去讨论为什么要采用OO了,OO中几个重要的思想就是抽象、继承、封装,在分析和设计时我们同样要进行遵循,分析过程是对需求进行分析,产生出概念模型,此概念模型和设计的模型是不同的,概念模型停留于业务层面,而设计模型则为对此概念模型提出技术级别的解决实现方案,在经历了分析、设计过程后我们的系统架构就得以诞生,系统架构作为系统的一部分,同样要面临需求变化所带来的影响,而同时系统架构作为系统最为基础的部分,是要尽量减少变化所带来的影响的,要解决这个矛盾,在做架构设计时就要多多的考虑,可以采用使用模式、接口化等多种方式。
大家也许也看出,在写这篇blog我表达的并不是很清楚,确实,因为我自己都还有不少迷惑的地方,虽然写过那么几篇架构设计文档,做过那么几次架构设计,但一直以来就觉得以前做的架构设计不是那么的到位,通常有些部分还是平白无故就诞生出来了,而这些主要是依据的自己的经验,而不是对需求的分析,这对于系统架构而言是致命的,觉得现在也是静下心来好好考虑的时候了,同时也会多多的参看架构设计理论方面的书籍,结合实践提升自己在架构设计上的水平,所以将这篇blog的标题定位了思考之一,在思考的有些进展的时候会将这个继续的写下去,也希望能得到更多的做过架构设计的同仁、前辈的指点。
分享到:
相关推荐
嵌入式系统软件架构设计是构建高效、稳定且适应性强的嵌入式系统的基石。它涉及到如何合理组织软件组件,确保系统性能、可靠性和可维护性。本文将深入探讨决定架构的因素、嵌入式环境下的特点以及软件框架的设计。 ...
02_软件架构文档设计.pdf 03_软件架构风险管理.pdf 04_如何描述和评估软件架构质量.pdf 05_设计模式与软件架构设计.pdf 06_AOP开发实践.pdf 07_软件架构通用服务.pdf ................ ............. .................
比较全面的阐述嵌入式系统软件架构设计的资料,pdf版本,文字版,完整无广告。 本课程是针对嵌入式软件开发的特点,讨论架构设计的思路和方法。试图给大家提供一种思想,启发大家的思维。框架,自动化代码生成和...
"软件平台架构设计与技术管理之道" 本文总结了软件平台架构设计与技术管理之道的重要性、架构设计要点、架构设计目标与原则、技术管理的关键作用等知识点。 一、软件平台架构设计的重要性 软件平台架构设计是指...
在IT行业中,软件架构设计是开发高质量软件的关键环节。它涉及到如何组织和构建软件...这些内容通常会分布在01到10这样的PPT章节中,每章可能详细讨论一个或多个主题,帮助学习者逐步理解并掌握软件架构设计的全过程。
* 架构视图阅读指南:架构视图是软件架构设计文档中的一种重要描述方式,通过架构视图,可以描述软件系统的总体架构、组件之间的关系、数据流向等信息。 * 图表与模型阅读指南:图表与模型是软件架构设计文档中的一...
本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念、阐述了切实可行的软件架构设计方法、提供了可操作性极强的完整的架构设计过程。另外,本书从思维方式的突破、面向对象设计、UML建模、过程与...
软件架构设计是软件工程领域中一个至关重要的方面,它涉及到软件系统的高层次结构和组件的组织方式。在这个案例分析中,我们从多个维度来探讨软件架构设计的细节和实践。 首先,软件架构是一个系统的抽象。它定义了...
《软件架构设计师考试大纲》是针对“软件架构设计师”这一高级资格认证的考试指南,旨在帮助考生全面理解和掌握软件架构设计的关键概念、方法和技术。在准备这个考试的过程中,考生需要深入学习并熟悉软件架构设计的...
《架构实战——软件架构设计的过程》这本书不仅覆盖了软件架构设计的基本概念和原则,还深入介绍了多种架构模式和技术实践,对于想要深入了解软件架构设计领域的读者来说是一本不可多得的好书。通过学习本书中的知识...
《图书杂志采购和借阅系统》的软件架构设计说明书详细阐述了系统的设计和构建过程,旨在为项目相关人员提供全面的理解和指导。以下是该文档的主要内容摘要: 一、简介 这部分明确了文档的编写目的,旨在记录系统...
《企业EA - 应用软件架构设计规范》是针对企业应用软件架构设计的一份详细指导文档,旨在规范设计过程,确保软件架构与企业信息化或ERP总体架构的一致性和灵活性。该规范强调了四个核心原则:一致性、敏捷性、集成与...
### 一、软件架构设计的重要性 软件架构设计是软件开发过程中的关键环节,它决定了软件系统的整体结构、组件及其相互关系,以及如何满足功能需求和非功能需求(如性能、安全性、可维护性等)。良好的软件架构设计...
综上所述,**系统架构师培训之软件架构设计**不仅涵盖了软件生命周期的理论知识,还深入探讨了UML建模语言、面向对象编程的核心概念以及软件架构设计的原则与模式。通过这些内容的学习,系统架构师能够更好地理解和...
软件架构设计理论,软件架构设计实践,分析与应用技术,软件架构设计思想
"架构实战—软件架构设计的过程"是一个深入探讨这一主题的资源,非常适合那些对软件架构感兴趣或者希望提升自己架构能力的人。 首先,软件架构设计是系统开发的蓝图,它为项目的整体结构和组织提供指导。这个过程...