概念架构是什么
概念架构是什么
概念架构是直指系统目标的设计思想、重大选择,因而非常重要。《方案建议书》《技术白皮书》和市场彩页中,都有它的身影,以说明产品/项目/方案的技术优势。也因此,有人称它为"市场架构"。
大量软件企业,招聘系统架构师(SA)、系统工程师(SE)、技术经理、售前技术顾问、方案经理时,职位能力中其实都包含了对"概念架构设计能力"的要求。例如:
系统架构师(SA)。(1)软件总体设计、开发及相关设计文档编写;(2)关键技术和算法设计研究;(3)系统及技术解决方案设计,软件总体架构的搭建;(4)通信协议设计制定、跟踪研究;……
系统工程师(SE)。产品需求分析;产品系统设计;技术问题攻关;解决方案的输出和重点客户引导;指导开发工程师对产品需求进行开发……
技术经理。负责公司系统的架构设计,承担从业务向技术转换的桥梁作用;协助项目经理制定项目计划和项目进度控制;辅助需求分析师开展需求分析、需求文档编写工作;……
售前技术顾问。1)负责支持大客户解决方案和能力售前咨询工作;2)完成项目售前阶段的客户调研、需求分析和方案制定、协调交付部门完成POC或Demo;3)参与答标,负责标书澄清;4)参与项目项目前期或高层架构设计,根据需要完成项目的系统设计相关工作;……
解决方案经理。解决方案提炼与推广;现场售前技术支持,如市场策划、方案编写,售前交流等;为前端市场人员提供投标支持、投标方案(技术、配置)编制或审核;……
概念架构是直指目标的设计思想、重大选择
概念架构,英文是Conceptual Architecture。至于概念架构的定义,Dana Bredemeyer等专家是这么阐释的:
概念架构界定系统的高层组件、以及它们之间的关系。概念架构意在对系统进行适当分解、而不陷入细节。借此,可以与管理人员、市场人员、用户等非技术人员交流架构。概念架构规定了每个组件的非正式规约、以及架构图,但不涉及接口细节。(The Conceptual Architecture identifies the high-level components of the system, and the relationships among them. Its purpose is to direct attention at an appropriate decomposition of the system without delving into details. Moreover, it provides a useful vehicle for communicating the architecture to non-technical audiences, such as management, marketing, and users. It consists of the Architecture Diagram (without interface detail) and an informal component specification for each component.)
根据上述定义,我们注意到如下几点:
概念架构满足"架构 = 组件 + 交互"的基本定义,只不过概念架构仅关注高层组件(high-level components)。
概念架构对高层组件的"职责"进行了笼统的界定(informal specification),并给出了高层组件之间的相互关系(Architecture Diagram)。
而且,必须地,概念架构不应涉及接口细节(without interface detail)。
上述定义从实践来看并不令人满意。讲课时,笔者这样给概念架构下定义:概念架构是直指目标的设计思想、重大选择。
本文节选自《软件架构设计(第2版)--程序员向架构师转型必备》一书
温昱 著
图书详细信息:http://bvbroadview.blog.51cto.com/addblog.php