架构师

来源:互联网 发布:数据库缓存技术 编辑:程序博客网 时间:2024/04/28 11:46

职责

主导系统全局分析设计和实施、负责软件架构和关键技术决策的脚色

领导与协调整个项目中的技术活动(分析、设计和实施)

推动主要的技术决策,并最终表达为软件架构描述

确定和文档化系统中对架构而言意义重大的方面,包括系统得需求、设计、实施和部署等视图

确定设计元素的划分以及这些主要分组之间的接口

为技术决策提供规划,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效传达和贯彻

理解、评价并接收系统需求

评价和确认软件架构的实现

 

技能

技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,迅速抓住问题要害,并做出合理的关键决定的能力

完成项目的条件从来就是不理想的,总是有工期压力,总是存在各种矛盾,客户提供的信息总是不完整,而且总是在变化中,架构师必须面对这些状况

具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考

对项目开发涉及的所有问题领域都有经验,包括彻底地理解项目需求,开展分析设计之类软件工程活动等具备领导素质,以在各小组之间推进技术工作,并在项目压力下做出牢靠的关键决策

拥有优秀的沟通能力,用以进行说服、鼓励和指导等活动,并赢得项目成员信任;架构是的涉及思想要在项目中得以贯彻,依靠行政手段往往适得其反,架构师必须是一个有个人魅力的鼓动能手

以目标导向和主动的方式来不带任何感情色彩地关注项目结果,架构师应当是项目背后的技术推动力,而非构想者或梦想家

精通架构设计的理论、实践和工具,并掌握多种参考架构、主要的可重用架构机制和模式

具备系统设计员的所有技能,但涉及面更广,抽象级别更高

 

软件构架师是一个谈判代表 为了了解软件构架的很多尺度问题,构架师需要随时和投资人沟通。这种沟通常常需要谈判技巧

 

软件构架师需要觉察组织的政策 一个成功的构架师不会只关心技术问题,他们还会关心组织的权力动向,时刻了解团队的决定权在哪里

 

软件构架师需要拥有很好的程序设计技巧,开发人员是整个项目开发过程中最重要的一个小组之一,构架师要随时和他们保持联系。毕竟他们要确保软件在最后 交付使用的时候能够成功的执行。如果构架师认为开发人员的工作是十分有价值的,那么他们之间的交流将会很有效用。因此,软件构架师需要拥有一定的程序设计 技术,即使不需要他们编写程序。

 

软件构架师应该拥有技术知识:

软件构架师需要有商业领域的知识:

构架师应该理解软件开发过程:

 

构架师还要把团队组织在构架周围,并且要积极地投入到计划活动上,因为要把构架转化成为完成任务的先后顺序,这样才能及时地确定在什么位置需要什么技术

构架师还要把精力放在切实工作的交付上,他是技术方面的推进力量

 

 

参与活动

确定用例或需求的优先级、进行架构分析、创建架构的概念验证原型、评估架构的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻架构、确定架构机制、确定设计元素、合并已有设计元素

 

结果

软件架构文档、参考架构、分析模型、设计模型、实施模型、部署模型、架构概念验证原型、接口、事件、信号与协议

原创粉丝点击