一个架构师的职责是什么?如何去做一个架构师?
如何写项目设计方案,需求说明,如何针对项目进行人员分配,作为一个架构师的工作是什么?
[解决办法]
职责
l、领导与协调整个项目中的技术活动(分析、设计和实施等)
l、推动主要的技术决策,并最终表达为软件构架
l、确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图”
l、确定设计元素的分组以及这些主要分组之间的接口
l、为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效的传达和贯彻
l、理解、评价并接收系统需求
l、评价和确认软件架构的实现
google baidu 吧
[解决办法]
系统架构师的职责和要求
系统架构师的职责:
一、理解系统的业务需求,制定系统的整体框架(包括:技术框架和业务框架)
二、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。
系统架构师的目的:
对系统的重用、扩展、安全、性能、伸缩性、简洁等做系统级的把握。
系统架构师能力要求:
一、系统架构相关的知识和经验。
二、很强的自学能力、分析能力、解决问题的能力。
三、写作、沟通表达、培训。
角色
软件架构师Software Architect
定义
主导系统全局分析设计和实施、负责软件构架和关键技术决策的角色
职责
l、领导与协调整个项目中的技术活动(分析、设计和实施等)
l、推动主要的技术决策,并最终表达为软件构架
l、确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图”
l、确定设计元素的分组以及这些主要分组之间的接口
l、为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效的传达和贯彻
l、理解、评价并接收系统需求
l、评价和确认软件架构的实现
专业技能
l、技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,迅速抓住问题要害,并做出合理的关键决定的能力
l、具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考;
l、对项目开发涉及的所有问题领域都有经验,包括彻底地理解项目需求,开展分析设计之类软件工程活动等
l、具备领导素质,以在各小组之间推进技术工作,并在项目压力下做出牢靠的关键决策
l、拥有优秀的沟通能力,用以进行说服、鼓励和指导等活动,并赢得项目成员的信任;
l、以目标导向和主动的方式来不带任何感情色彩地关注项目结果,构架师应当是项目背后的技术推动力,而非构想者或梦想家(追求完美)
l、精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如J2EE架构等);
l、具备系统设计员的所有技能,但涉及面更广、抽象级别更高;
活动
确定用例或需求的优先级、进行构架分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定设计机制、确定设计元素、合并已有设计元素
工件
软件构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议