作者:江南白衣,转载请保留。
下面几个What的问题是架构师的入门Question。
1.什么是架构?
如果自问自答,这是个相当鸡肋的问题。看看书里的答案可能有点收获。
架构定义了系统元素的结构与行为,关注最重要的元素,记录决策原理,受涉众利益与环境的影响。
架构不仅是结构,也不是企业架构,系统架构,信息架构,硬件架构.....
架构设计也不是面向对象分析/设计,虽然架构设计基于面向对象设计,但补充了面向对象设计里没有关注的视点。
2.架构有什么用途?
人类所有行为都是目的驱动的,不同目的下架构的过程也会不同,继续看书里的答案,经常的用途有:
- 培训与沟通
- 满足系统的质量属性,与涉众沟通达成一致的目标
- 有效管理复杂性
- 支持开发日程安排、工作分配、成本分析
3.各个流派用什么视图来表达架构?
最经典的RUP 4+1,ISO/ITU-T联合制定的RM-ODP,Hofmeister在《Applied Software Architecture》中使用的西门子视图,《Documenting Software Architectures》使用的方法等。
4.架构师在软件生命周期中的工作和角色?
架构师的工作不只是设计(虽然最重要的的确如是),在分析、设计、实现、测试、维护、技术风险管理、问题域分析、团队技术领导与沟通者等流程里架构师都有自己的角色要担当。
5..架构师的技能?
自己总结了一篇《架构师核心技能养成计划》
答案:
1.IBM DW 中文站上有四篇不错的入门文章:
一、什么是软件架构?
二、软件构架师的特点
三、软件架构的过程
四、进行软件架构设计的益处
2.《Large-Scale Software Architecture》的前50页也回答了同样的问题。
3. 另外所有和架构沾点边的书都会忍不住浪费篇幅去讨论这些问题。
不过这些答案从字面上看都是大家熟悉的东西,很容易泛泛的看完了,过一阵子脑子里又十室九空,最好是能够看进去产出化学作用,再辛苦一点把它们总结成自己的文档。
And then? 可以开始一些How的问题了.....
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1524867