架构学习-D01
架构活动生命周期
image002.jpg架构和详细设计的区别
-
详细设计和实现不是架构师的职责
-
所有的架构都是设计,但并不是所有的设计都是架构
-
架构代表塑造一个系统的重要设计决策,这里的重要性是通过改变所需要的成本来衡量的。
-
架构是战略上的设计,详细设计是战术上的设计
概念介绍
-
逻辑架构
a. 逻辑架构不考虑任何技术因素,通过需求分析后创建一个大概的架构。
b. 逻辑架构是逻辑详细设计的基础。
-
逻辑详细设计
a. 在逻辑层面必须但对架构不必须的任何余留细节。
-
物理架构
a. 物理架构是针对特定技术的,它实现了(编码)的基础。
b. 创建物理架构的时候需要考虑技术因素,生成最终产物。
c. 物理架构是物理详细设计的基础
- 物理详细设计
定义需求
image004.jpg从某种程度上来说,架构师参与整个定义需求活动以确保需求能够按《通过可用的技术,在指定时间和预算内就可以实现》的方式来实现。
架构,架构师,架构设计
image005.png架构
架构是体现在它的组件中的一个系统的基本组织、他们彼此的关系、与环境的关系已经指它的设计和发展的原则。(IEEE
1471 2000)
系统是由一个或多个流程、硬件、软件、设备和人组成的,提供一些能力来满足特定的需要或目标的完整组合。(IEEE
12207 1995)
系统是组织起来完成某一特定功能或一组功能的组件集。系统这个术语包括了单独的应用程序、传统意义上的系统、子系统、系统之系统、产品线、产品组、整个企业及感兴趣的其他集合。系统用于完成它的环境中的一个或多个任务。(IEEE
1471 2000)
环境或上下文决定了对这个系统的开发、运作、政策以及会对系统造成影响的其他的环境和设置。(IEEE
1471 2000)
任务是由一个或多个利益相关者通过系统达到一些目标的系统的一个用户或操作。(IEEE
1471 2000)
系统利益相关者是对系统感兴趣或与系统有关系的一个单独的团队或者组织(或组织的一部分)。(IEEE
1471 2000)
组件代表一个系统模块化的一部分,它封装了自身的内容,在环境中它的表现是可替换的。一个组件根据供给接口和需求接口定义自己的行为。同样地,一个组件也属于某一类型,其一致性由这些供给接口和需求接口(包括它们的静态语义和动态语义)来定义。因此,一个组件可由另一个组件替换,只要这两个组件类型一致。(UML
2.2 2009)
架构师是负责系统架构的人、团队或组织。(IEEE 1471 2000)
系统是提供由一个企业用来实现业务目标或任务的服务的一组资源。系统部件通常包含硬件、软件、数据和工作人员。(Cantor
2003)
创建逻辑架构
image007.png架构的划分应该反应地理上的划分,反之亦然。架构上的职责应该进行分派,这样才可能在本地(地理上的)进行决策。(Copline
2005)
架构师
-
架构师是技术领导者。
-
拥有进行技术决策的权威
-
架构师也应该参与到决定如何组建团队中来
-
面试新来的成员
-
必须非常关注交付的实际结果并必须作为项目在技术方面的驱动力
-
架构师必须能够进行决策(通常在压力之下)并确保这些决策被传达、理解并最终被执行
-
架构师具备编程能力
-
架构师是优秀的沟通人员,有效沟通是项目成功的基础
-
-
团队成员希望架构师能够指导他们如何完成他们的职责。
-
架构师需要理解业务领域,以便他们能够担当利益相关者和用户(他们理解需求)及开发团队成员(他们更熟悉技术)之间的中间人。
[领域是从事于某一行业的人理解的归纳为一组概念和术语的知识和活动范围。]{.underline}
- 架构师需要平衡掌握软件开发知识和业务领域知识。
用电影行业打个比方,项目经理是制片人(确保事情完成),架构师是导演(确保事情正确完成)。
不同架构的范围
image009.png