`

软件架构设计思考之一 (转载)

阅读更多
架构设计,一直就是软件业界中显得高深的名词之一,会造成很多的人对于它都充满了神秘感,但接触过几年软件业的人很多时候又会觉得软件架构原来不过如此,特别是看到一些架构设计文档后更是得出如此的感想,但真的是如此吗?也许是因为那些架构设计文档并没有起到它们真正的作用,只是拿来糊糊人的吧,架构设计文档最重要的是要能对系统的软件设计做出指导,做出规范性的约束,不谈这些,重点还是谈架构设计。
首先我们想想为什么要做架构设计呢?可能很多人会说在他们的系统中就是没做架构设计的,但其实不管你有没有做架构设计,你的脑海中或多或少都是已经考虑过的,只是也许没有变的那么的正规,首先,我们来看看什么是架构,架构作为系统的骨架而存在,正因为这个原因才说所有的系统都是有架构的,有架构自然就有设计,尽管它也许只是浮在你脑海中的某个东西而已,从架构中我们可以看到对于整个系统的支持,包括系统的各个方面,业务需求、用户需求以及功能需求的满足,架构设计能帮助你站在高的角度来看待、分析整个系统,在架构设计中通常采用OOAD的方法来帮助完成架构设计,想想没有架构设计的系统是什么系统呢?是一个没有骨架的系统,一个人没有骨架会怎么样呢?那么,同样,一个系统呢?一个系统没有骨架甚至比一个人没有骨架更为严重。
那么我们怎么去做架构设计呢?架构来源于需求,是在对需求进行分析、设计的情况下产生出来的,一个系统的需求通常非常的复杂,那么怎么样去产生它的架构呢?我们知道软件设计中最重要的就是抽象,其实说的更为专业应该是采用OO的思想,在过去采用的是面向过程的思想,这里就不再去讨论为什么要采用OO了,OO中几个重要的思想就是抽象、继承、封装,在分析和设计时我们同样要进行遵循,分析过程是对需求进行分析,产生出概念模型,此概念模型和设计的模型是不同的,概念模型停留于业务层面,而设计模型则为对此概念模型提出技术级别的解决实现方案,在经历了分析、设计过程后我们的系统架构就得以诞生,系统架构作为系统的一部分,同样要面临需求变化所带来的影响,而同时系统架构作为系统最为基础的部分,是要尽量减少变化所带来的影响的,要解决这个矛盾,在做架构设计时就要多多的考虑,可以采用使用模式、接口化等多种方式。
大家也许也看出,在写这篇blog我表达的并不是很清楚,确实,因为我自己都还有不少迷惑的地方,虽然写过那么几篇架构设计文档,做过那么几次架构设计,但一直以来就觉得以前做的架构设计不是那么的到位,通常有些部分还是平白无故就诞生出来了,而这些主要是依据的自己的经验,而不是对需求的分析,这对于系统架构而言是致命的,觉得现在也是静下心来好好考虑的时候了,同时也会多多的参看架构设计理论方面的书籍,结合实践提升自己在架构设计上的水平,所以将这篇blog的标题定位了思考之一,在思考的有些进展的时候会将这个继续的写下去,也希望能得到更多的做过架构设计的同仁、前辈的指点。

分享到:
评论

相关推荐

    产品技术开发项目-软件架构设计模板

    目的:软件架构设计,可以帮我们直观的熟悉整个架构的设计和拓展实现。 本文档作为产品的架构设计说明书,对系统整体进行了架构设计,指导后续的设计与开发。并为网站后续版本的架构参考。 本文内容面向产品经理,...

    软件架构设计分层模型和构图思考.docx

    软件架构设计分层模型和构图思考 软件架构设计是一个复杂的问题,需要架构师具备系统思维、结构化思维、编程思维等多种思维模式。架构设计的核心作用是建立业务现实世界和抽象的 IT 实现之间的一道桥梁,要求架构师...

    嵌入式系统软件架构设计.pdf

    比较全面的阐述嵌入式系统软件架构设计的资料,pdf版本,文字版,完整无广告。 本课程是针对嵌入式软件开发的特点,讨论架构设计的思路和方法。试图给大家提供一种思想,启发大家的思维。框架,自动化代码生成和...

    《软件架构设计》

    《软件架构设计》《软件架构设计》《软件架构设计》《软件架构设计》

    软件架构设计 ppt

    软件架构设计 ppt教程 讲述软件架构设计的每一个步骤

    软件架构之软件架构设计

    软件架构之软件架构设计电子书下载 由于[GOF95]是论述软件模式的著作的第一本,也是OO设计理论著作中最流行的一本,因此有些人常常使用设计模式(Design Pattern)一词来指所有直接处理软件的架构、设计、程序实现的...

    温昱--软件架构设计

    本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念、阐述了切实可行的软件架构设计方法、提供了可操作性极强的完整的架构设计过程。另外,本书从思维方式的突破、面向对象设计、UML建模、过程与...

    “软件架构实践之软件架构设计”聊天实录

    “软件架构实践之软件架构设计”聊天实录.pdf

    软件架构设计培训

    软件架构设计理论,软件架构设计实践,分析与应用技术,软件架构设计思想

    架构实战——软件架构设计的过程[汇编].pdf

    架构实战——软件架构设计的过程[汇编].pdf

    软件架构设计说明书.docx

    本文档记录并表述了系统架构的设计人员对系统构架方面做出的重要决策。 项目经理将根据构架定义的构件结构制定项目的开发计划;程序设计员将据此进行各构件的详细设计;测试设计员按照构架设计系统的总体测试框架;...

    面向对象软件架构设计.ppt

    第一单元:软件生命周期与软件架构介绍 2 第二单元:技术架构视图─面向对象程序设计原则与模式 59 用GRASP模式指导设计 62 领域模型 96 面向对象设计的基本原则 132 第三单元:用UML辅助系统...

    架构实战 : 软件架构设计的过程

    本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如 何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”...

    系统架构师培训之软件架构设计.pdf

    系统架构师培训之软件架构设计.pdf

    思考软件-创新设计 A段架构师的思考技术

    架构师是一个技术制高点的岗位,在智能时代(如大数据、云计算和移动互联网...相信《思考软件,创新设计——A段架构师的思考技术》会是你的一匹千里马,陪伴你驰聘于广大的IT原野上,并发挥创新潜能,挑战人生颠峰。

    高级软件架构设计(软件架构师参考)

    介绍关于软件架构的基础知识,对于想往软件架构方面发展的同学有一定帮助。

    高级软件架构设计

    本书为讲解如何设计实现高级软件架构设计,是软件工程师向软件架构师转变学习书籍。

    论文:架构风格与基于网络的软件架构设计(PDF)

    论文:架构风格与基于网络的软件架构设计(PDF)

    面向对象软件架构设计

    第一单元:软件生命周期与软件架构介绍 2 第二单元:技术架构视图─面向对象程序设计原则与模式 59 用GRASP模式指导设计 62 领域模型 96 面向对象设计的基本原则 132 第三单元:用UML辅助系统分析与设计 177 UML简介...

    LabVIEW软件架构设计

    LabVIEW软件架构设计LabVIEW软件架构设计LabVIEW软件架构设计LabVIEW软件架构设计LabVIEW软件架构设计

Global site tag (gtag.js) - Google Analytics