对于“架构”这个词,我是有爱有恨,主要是因为目前来说,这个概念被滥用了,所以就恨起来了,但是到目前为止还没有哪个词汇能描述有关软件设计话题全部的词汇,还是架构比较贴近,就像一个建筑师设计自己的房子一样,所以爱!什么是架构?我认为架构无处不在,很多人认为架构就是设计软件的结构,就和建筑师做的事情一样,我认为错误的观念害死人,无可否认我们这个行业中很多管理方式和术语都来之于其他行业,比如建筑行业,但是软件行业毕竟有自己的特殊性,毕竟是创意产业!那么架构这个词,是战略词汇,我的理解,在商务阶段就有架构!
在商务阶段,也就是谈生意的阶段,比如谈一个软件项目,那么我们这一方必须知道这个项目的前景,有没有发展,有没有钱赚,能不能做!那么必须建立在高层或者这个人的远见和日积月累的知识和经验上面,才能发现这个项目的价值,比如Bill看重了.Net,微软对这个.Net投下最大的力量来作,就是这个问题,也是战略问题,必须有全局观念的问题,也是属于架构问题的!
在需求阶段,如果没有对需求各个方面的准确理解,或者不知道各个方面的关系,或者不知道如何引导客户以便丰富和准确表达需求,如何做一个软件?这是全局的问题,又必须建立在长期的实践当中去总结,并且能将业务问题进行提炼和抽象,这也是架构问题。
在设计阶段,也许这正是人们认为最"架构“的部分罢,但是很多人认为在High level级别就架构,也就是在软件的整体设计和大的设计方向有架构,我认为也是错误的挂念,一个系统,必须从多个视图来设计,多视图的方法才能把事情讲清楚,
比如动态的关系,静态的关系,数据流等等,都是一个系统的不同方面,也就是说不仅仅是大的全局设计,组件设计必须也涉及很多知识和技巧,比如Log,很可能的情况要设计成一个方面,用AOP.不仅仅涉及想象力的问题和经验的问题,还涉及具体技术的问题,需要大量的积累和运用才能做到!每个组件又不是孤立的,相互影响的,不能孤立地看问题,设计类的时候更加接近技术,也必须考虑本身的和关联的,还有与环境的,与其他类的关系,没有大量的实践和全局观念也不成!对于一个方法,也必须有设计上的,思想上的,全局上的考虑,比如这个变量要不要?这段代码效率高不高,简洁不?好维护不?从一个系统的具体设计,抽象,到具体的实现无处不在”设计、思想、全局的“的东西,每一个血管都有架构。很多人只关心如何实现,但是没有一个立体的,系统的对一个事情的看法,如果把自己的那部分做好,不是接口参数错了(没有考虑和其他部分的交互),就是不好维护!
在测试阶段,其实测试的计划,比如CASE在需求就开始了,跟随全过程,比如需求阶段,就必须有产品测试的计划出来,设计阶段就必须有系统测试的计划出来,在详细设计时就必须搞出单体测试的计划出来,需要大量的实践经验,找出可能的问题出来,测试不能找到所有的bug,遍历所有的可能性也不可能,必须寻找一个有效的测试集合,这就需要有对需求、设计和各方面信息的思考和提炼,测试也必须设计,这不是架构吗?
在维护阶段,在运维阶段,都有设计,都有必须对全局的理解,都必须有分析,都必须有大量的实践,都和架构有关。也就是说从战略到战术,从高层到底层,无处不在的架构。
所以一个架构师不仅仅在技术上有很高的造诣,还必须兼通商务,需求,人的管理,等等,比较强的沟通能力,等等。
必须有成熟的思想体系支持他能正确分析问题等等。
但是全才不可能,抓住根本就是关键,人的思想方式和体系就是关键,因为在这些指导之下,才能获得知识,获得经验,获得各种工具,获得各种你需要的东西!最基本的思想方式就是关注点分离和结合,也就是说对待一个整体概念,先进行关注点的分离和抽象,然后用简单有效的方式在结合起来,让各个部分各司其职,又形成一个整理,也就是一个系统,一个好的架构,从各个侧面来分解关注点,能有效地保持整体的概念完整性,那么这个系统就是协调的。
分享到:
相关推荐
架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计...
华为出品-安全架构设计方法指南,讲解安全架构设计的来源、软件系统架构与安全架构的定义,常见的系统架构表现形式,安全架构视图,安全架构设计的基本步骤和参考,基于八维度设计框架的安全架构设计方法,维度安全...
该资源提供了详细的数据架构设计方法、应用架构设计方法和技术架构设计方法,并介绍了相关的设计原则和设计步骤。该资源可以帮助企业更好地设计和实施数据架构、应用架构和技术架构,提高企业业务的发展和竞争力。
【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师...
企业架构设计方法包括业务架构设计、数据架构设计、应用架构设计和技术架构设计四个方面。 业务架构设计是指对公司的业务能力和流程进行分析和设计,形成业务架构蓝图,指导业务流程的实现和优化。业务架构包括业务...
在不同的架构设计方法中出现的软件架构视图种类很多,本文介绍最常用的两种架构视图——逻辑架构视图和物理架构视图,并通过具体案例的分析说明如何运用它们进行架构设计。当观察和描述事物大局的时候,逻辑架构和...
软考系统架构设计师(高级)学习笔记汇总 系统架构设计师考试大纲 系统架构设计师考试大纲和复习指南 系统架构设计师课程大纲 系统架构设计师:浅谈架构 系统架构设计师:软件架构师之路 系统架构设计师复习笔记 系统...
"系统架构设计(模板)" 系统架构设计是软件开发的重要阶段,它定义了系统的总体架构、逻辑功能架构、物理网络架构、数据架构设计、核心模块组件概要描述、出错处理设计和安全保密设计等方面的设计思想和实现方案。 ...
华为企业数据架构、应用架构及技术架构设计方法 华为企业数据架构、应用架构及技术架构设计方法是企业架构设计的核心组件之一。企业数据架构旨在整合企业内的数据资源,提高数据的Accuracy、Completeness和...
数字化转型企业架构设计手册 本资源是关于数字化转型企业架构设计手册的详细介绍。企业架构是一项复杂的系统性工程,旨在帮助企业实现数字化转型。该手册涵盖了企业架构的总体框架、业务架构、数据架构、技术架构、...
在IT行业中,系统架构设计是构建稳定、高效、可扩展软件系统的基石。《系统架构设计师教程》中的第五章,深入探讨了软件架构设计的核心概念、原则与实践,为读者提供了全面而深入的理解。 ### 一、软件架构设计的...
企业架构设计方法包括业务架构设计、数据架构设计、应用架构设计和技术架构设计四个方面。 业务架构设计是指对业务的结构化表达,描述组织如何运用业务的关键要素来实现其战略意图和目标。业务架构设计的输出是业务...
华为企业架构之业务架构设计方法 业务架构设计是企业架构的重要组成部分,旨在描述企业的治理结构、业务能力与价值链的正式蓝图。业务架构明确定义企业的治理结构、业务能力、业务活动、业务数据。 业务架构设计的...
股权架构设计实操手册.pdf 股权架构设计实操手册.pdf 是一本详细介绍股权架构设计的实操手册。该手册共分为三部分,分别是顶层架构、主体架构和底层架构。 第一部分 顶层架构 在顶层架构中,手册介绍了24个核心...
《软考系统架构设计师教程和系统架构设计师考试全程指导》是针对全国计算机技术与软件专业技术资格(水平)考试中的高级资格——系统架构设计师所编写的权威教程。这套教材结合了清华大学出版社出版的《系统架构设计...
《系统架构设计师考试全程指导》是一本专门为全国计算机技术与软件专业技术资格(水平)考试中的系统架构设计师级别考试编写的参考书。这本书由希赛IT教育研发中心组织编写,由张友生和王勇主编,根据2009版大纲进行...
华为企业架构设计方法及实例 本文档主要介绍了华为企业架构设计方法及实例,涵盖了企业架构设计方法、企业架构内容框架、业务架构、数据架构、应用架构、技术架构等方面的知识点。 一、企业架构设计方法 企业架构...
### 系统架构设计师教程第二版知识点概览 #### 一、系统架构设计师的基本要求与基础知识 1. **绪论**: - 系统架构设计师的职业定位和发展趋势。 - 系统架构设计师应具备的基本素质和技术能力。 2. **计算机...