软件架构师的角色和培养的关键是什
软件架构师是软件组织中必不可少的人才,对软件整体结构及性能都起着重要的作用,直接关系到软件产品的成功与否。但是当前绝大多数软件组织都没有配备专门的软件架构师,这对软件组织和软件产品都存在一定的隐患。 因此对软件架构师这一角色必须有一个新的认识,对软件架构师的培养也要有一个详细的方案和措施。
本文针对软件架构师的现状,着重讨论了软件架构师的概念,软件架构师在整个软件项目中所充当的角色,以及与其他职位之间的区别。 阐述了软件架构师应该具备的知识体系和任职条件,提出了如何评估软件架构师工作业绩的方法。对软件架构师的培养和认证进行了系统的分析,提出了完善软件架构师培养和认证的应对措施。
本文根...全部
软件架构师是软件组织中必不可少的人才,对软件整体结构及性能都起着重要的作用,直接关系到软件产品的成功与否。但是当前绝大多数软件组织都没有配备专门的软件架构师,这对软件组织和软件产品都存在一定的隐患。
因此对软件架构师这一角色必须有一个新的认识,对软件架构师的培养也要有一个详细的方案和措施。
本文针对软件架构师的现状,着重讨论了软件架构师的概念,软件架构师在整个软件项目中所充当的角色,以及与其他职位之间的区别。
阐述了软件架构师应该具备的知识体系和任职条件,提出了如何评估软件架构师工作业绩的方法。对软件架构师的培养和认证进行了系统的分析,提出了完善软件架构师培养和认证的应对措施。
本文根据作者的实践经验,基于作者的理解和认识,讨论了软件架构师的角色定位和培养问题,旨在抛砖引玉。
由于作者学识有限,其中观点可能不完善,甚至有错误之处,欢迎同行和专家斧正。为此,作者将不胜感激。
主要参考文献
[1] Perry D E, Wolf A L。 Foundations for the study of software architecture [J]。
ACM SIGSOFT Software Engineering Notes, Oct。 1992, 17
(4): 40~52
[2] Liles, D。H。 and Presley, A。
R。 Enterprise Modeling within an Enterprise Engineering Framework [C], Proceedings of the 28th Conference on Winter Simulation。
Coronado, CA, ACM Press, 1996,pp。 993~999
[3] Armour, F。J。 et al。 A Big Picture。 Look at Enterprise Architecture [J], IT Professional, July/August, 1999, pp。
31~39
[4] Smolander, K。 and Paivarinta, T。 Describing and Communicating Software Architecture in Practice: Observation on Stakeholders and Rationale [C], Proceedings of CaiSE’02-The Fourteenth International Conference on Advanced Information Systems Engineering, Toronto, Canada, May 27-31, 2002, pp。
117~133
[5] IEEE。 IEEE Recommended Practice for Architecture Description of Software-Intensive System [R]。
IEEE Std 1471-2000, Oct 2000
[6] 孙昌爱,金茂忠,刘超。 软件体系结构研究综述[J]。软件学报,2002
(7):1228~1337
[7] Clark, C。
, Abd-Allah, A。, Clark, B。K。, et al。 On the definition of software system architecture [C]。 In: Garlan D。
, ed。 Proceeding of the 1st International Workshop on Architecture for Software System。 New York: ACM Press。
1995, 85~95
[8] IEEE。 IEEE Glossary of Software Engineering Terminology [R]。 610。12-1990, 1998
[9] Garlan, D。
, Shaw, M。 An Introduction to Software Architecture [R]。 Technique Report, CMU/SEI-94-TR-21, Carnegie Mellon University, 1994
[10] Garlan D, Perry D E。
Introduction to the special issue on software architecture [J]。 IEEE Transaction on Software Engineering, April 1995, 21: 269~274
[11] Eric M。
Dashofy, Andre van der Hoek, Richard N。 Taylor。 A Highly-Extensible, XML-Based Architecture Description Language[J]。
IEEE, 2001,3:103~112
[12] Medvidovic, N。, Rosenblum, D。S。, Taylor, R。N。 A Language and Environment for Architecture-Based Software development and evolution [C]。
In: Proceedings of the 21st International Conference Software Engineering (ICSE’99)。 1999。 44~53
[13] Magee, J。
, Kramer, J。 Dynamic structure in software architecture [J]。 In: Kaiser, G。E。, and ed。 Proceedings of the ACM SIGSOFT’96: the 4th Symposium, Foundations of Software Engineering (FSE4)。
New York: ACM Press, 1996。 3~14
[14] Kruchten, P。B。 The 4+1view model of architecture [J]。 IEEE Software, 1995,12
(6): 42~50
[15] Kazman, R。
, Bass, L。, Abowd G。,et al。 SAAM: a method for analyzing the properties of software architecture [J]。
In: Proceedings of the ICSE 16。CA: IEEE Computer Society, 1994。 81~90
[16] Mario, R。, Barbacci, S。
, Jeromy, C。, et al。 Steps in an architecture tradeoff analysis method: quality attribute models and analysis [R]。
Technical Report, CMU/SEI-97-TR-029, Carnegie Mellon University, 1997。
[17] Inveradi, P。, Wolf, A。
L。, Daniel, Y。 Behavioral type checking of architectural component based on assumptions [R]。 Technical Report, 1998。
[18] Wen-Li Wang, Dan Scannell。 An Architecture-Based Software Reliability Modeling Tool and Its Support for Teaching, In 35th ASEE/IEEE Frontiers in Education Conference, Oct,2005, 15~20
[19] Vibhu Saujanya Sharma, Kishor S。
Trivedi。 Architecture Based Analysis of Performance, Reliability and Security of Software System [C]。
In WOSP’05 Conference, 2005,6: 217~227
[20] Martin Fowler。 Who Needs an Architect? [J]。 IEEE Software, 2003,7/8
[21] Philippe Kruchten。
The tao of the software architect。 2005,4,
[22] Rebecca J。 Parsons。 Enterprise Architects Join the Team [J]。
IEEE Software 2005, 9/10, 22
(5): 16~17
[23] UC Irvine。 Software architect Certificate Program [J]。
UC Irvine Extension, October, 2004,1~3
[24] 张友生。软件体系结构[M]。北京:清华大学出版社,2004。1
[25] 张友生,王胜祥,殷建民。 系统架构设计师教程[M]。
北京:电子工业出版社,2006。1
[26] Marc T。 Sewell, Laura M。 The Software Architect’s Profession: An Introduction [M]。
Prentice Hall, 2002
[27] Raphael Malveau, Thomas J, Mowbray。 Software Architect Bootcamp [M]。 Prentice Hall, 2001
[28] 蒋慧等译。
软件架构师职业导读[M]。北京:机械工业出版社,2003。4
[29] 申峻嵘,黄星琪,王帅等译。 软件架构师教程[M]。北京:电子工业出版社,2003。10
[30] Mark Cade, Simon Roberts。
Sun Certified Enterprise Architect for J2EE Technology Study Guide [M]。 Prentice Hall, 2002
[31] Noname。
The Load of Architect。
[32] CMU/SEI。 Software Architecture Certificate Programs。收起