background image

高级软件架构师讲义

最近从

CSDN 的下载频道上 DOWN 下了一份高级软件架构师讲义,将阅读时做的笔记发

上来。有兴趣的朋友可以去

CSDN

的下载频道搜搜 高级软件架构师 应该就可以看见。

 

第一章

 架构师与设计师

面向对象应用建模

(Application Modeling)的实践过程有 3

 

个阶段:

1. 

 

有步骤、分层次地演进系统构架

2. 

 

将软件需求逐渐转变为软件的设计方案

3. 保障软件的设计方案能够适应实施环境

应用建模实践过程由五项 任务 组成:

 

1. 

 

全局分析

2. 

 

局部分析

3. 

 

全局设计

4. 

 

局部设计

5. 

 

细节设计

这其中,前两项任务以分析为核心

;后三项任务以设计为核心。

参与应用建模的人员主要分成两类角色:系统构架师和设计师。

 

系统架构师职责:

 

1. 

 

系统构架师负责领导和协调整个项目中的技术活动。

2. 在个人综合素养方面,系统构架师应该具有领导才能,能够在压力下作出关键性的决策

 

并善始善终;
3. 能够赢得项目经理、客户、用户群体以及管理团队的认同和尊敬,尤其要善于和项目经理

 

紧密协作;
4. 在各个方面都能展现出面向目标的实干作风。在专业技能方面,与其他角色相比,系统

 

构架师通常具有全方位的技能,其见解重在广度,而不是深度。
5. 系统构架师不仅需要具备设计师的各项技能,而且应该具有问题领域和软件工程领域的
实践经验,从而有能力在无法获得完整信息的情况下迅速领会问题并根据经验作出审慎的

 

判断。
6. 如果项目较大,系统构架师将是一个团队,上述的关键素质要求可由团队成员来分担,
但其中要有一名系统构架师具有足够的权威。

(这一点和曾经在《人月神话》中看到的观点一

致:应该组建一只像外科手术队伍一样组织的团队,主刀医生拥有一定 贵族 的特权来总
领工作)

 

设计师职责:设计师的工作对象通常是系统的局部或者细节。设计师应该掌握的技能包括
1. 理解以 Use Case

 

建模技术捕获和描述的软件需求;

2. 在系统构架师的统一协调下,应用 UML

 

进行局部的面向对象分析和设计;

3. 了解主流的实施技术(程序设计语言和开发环境)  

区别这两者的职责:

 

系统构架师负责全局性的分析和设计问题,设计师负责局部性的分析和设计问题以及细节
性的设计问题。实践过程中并没有采用单一、的自项向下的策略

(从全局到局部),而是在一

个迭代中完成两次全局和局部的.过渡,每一次过渡都为系统构架师和设计师之间提供了
沟通的机会,在本质上,为提升设计的质量和完整性创造了有利的客观条件。系统架构师主

 

要负责全局分析,全局分析包括:
1. 

 

选用构架模式

2. 

 

识别关键抽象