架构师定义
架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功。
架构师的职责
架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面:
- 负责公司系统的架构设计、研发工作。
- 承担从业务向技术转换的桥梁作用。
- 协助项目经理制定项目计划和控制项目进度。
- 负责辅助并指导系统分析开展设计工作。
- 负责组织技术研究和攻关工作。
- 负责组织和管理公司内部的技术培训工作。
- 负责组织及带领公司内部员工研究与项目相关的新技术。
- 管理技术支撑团队并给项目、产品开发实施团队提供技术保障。
- 理解系统的业务需求,制定系统的整体框架(包括技术框架和业务框架)。
- 对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。
架构师的目的
对系统的重用、扩展、安全、性能、伸缩性、简洁等做系统级的把握。
- 重用:人们希望系统能够重用以前的代码和设计,从而提高开发效率。
- 扩展:人们希望在系统能够保持结构的稳定的前提下很容易地扩充功能和性能。
- 简洁:简洁是一种美,好的架构一定易于理解,易于学习,易于维护。
架构师能力要求
- 系统架构相关的知识和经验。
- 很强的自学能力、分析能力、解决问题的能力。
- 写作、沟通表达、培训。
架构设计师必须具备的技能
- 经验:既包括在问题领域的经验(通过彻底了解需求),也包括在软件工程领域的经验。对于一个架构团队,这些素质要求可由各团队成员来分别承担,但其中至少要有一名架构设计师能够把握项目的全局。
- 领导才能:能够推动各个团队的技术进展,并能在压力下作出关键性的决策然后将其贯彻到底。要提高效率,架构设计师和项目经理必须紧密协作。架构设计师主要负责解决技术问题,项目经理主要负责解决行政管理问题。架构设计师必须有权在技术问题上作出决定。
- 沟通:能够赢得他人的信任,以对其进行说服、激励和指导。架构设计师不能靠命令进行领导,而必须要赢得项目中其他人员的赞同。为了提高效率,架构设计师必须赢得项目团队、项目经理、客户、用户群体以及管理团队的尊敬。
- 以目标为中心、积极主动:不懈地追求成效。架构设计师是推动项目发展的技术动力,而不是空想家。在其职业生涯中,成功的架构设计师一直都要在捉摸不定和承受压力的情况下作出折衷决定。架构设计师只有将注意力集中在该做的事情上,才能在项目中取得成功。
- 专业:精通架构设计的理论、实践和工具,并掌握多种参考架构、主要的可重用架构机制和模式(例如 J2EE 架构等)。具备系统设计员的所有技能,但涉及面更广、抽象级别更高。
架构活动
确定用例或需求的优先级、进行架构分析、创建架构的概念验证原型、评估架构的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻架构、确定设计机制、确定设计元素、合并已有设计元素。
架构工件
软件架构文档、参考架构、分析模型、设计模型、实施模型、部署模型、架构概念验证原型、接口、事件、信号与协议。

