架构师特质:
- 能够帮助团队的同事解决问题,参与项目和产品设计
- 对于公司的产品和项目发展方向有清晰的认知
- 常常思考企业产品和项目的方向对公司产生的价值
- 跟业务人员有良好的沟通,善于发掘需求
- 具备很广的知识面,不一定要很深入
- 大局观、开放心态和善于沟通
- 复杂问题简单化的抽象能力
架构师分类:
- 基础平台架构师
- 业务架构师
- 数据架构师
架构师的职责:
- 平衡
平衡需求和条件、平衡性能和功能、平衡需求和成本 - 一致
确保需求的一致性;取保产品规划、产品线架构规划和本产品架构与设计的一致;确保客户需求、架构约束、设计准则在实施阶段得到一致贯彻 - 分解
将系统分解成子系统;将子系统分解成模块;将模块分解成类设计 - 集成
将功能上的分解与系统性能和质量上的要求进行衔接,以便于正确引导下一步的分解动作 - 纵览
纵观整个系统及其存在的商业背景,以便于制定出重要的设计指导规则和设计控制规则 - 简捷和优美
设计上的简捷和优美,并在实际实施中得到贯彻 - 保持完整
保持系统的要求平衡均匀地、有侧重地、逐步地、一丝不苟并且完整地实施 - 吻合
在项目启动、设计、开发、运行维护、服务等完整的生命周期内,吻合各个stakeholders的需求
- 专业技能
- 商业经验
- 沟通技能
- 平衡决策能力
- 多任务处理能力
- 规划能力
- 驱动能力
架构师主要工作内容:
- 冷静和系统地平衡与性的要求,分析软件系统质量的要求和其他系统特性
- 控制和处理有关系统粒度、范围、包含、连接和耦合的问题
- 澄清接口策略,制定接口架构约束原则
- 计划系统资源分配与调度原则
- 稳定业务关系模型(实体、关系、协同动作)
- 制定系统身份识别、认证、命名、存取控制的策略
- 规划系统静态特征和动态行为转化模型
- 确定系统级的基础框架组成,稳定架构基线
- 按照外界环境与内在制约因素选择相应的开发流程,规划开发环境,开发工具,测试工具,版本控制工具等
- 确定监控与报告流程,选择有效的汇总、统计、分析、报告工具
- 为软件设计与开发制定架构约束及架构原则,并确保后续的开发遵守了这些原则
- 软件系统的部署、初始化、装载顺序、卸载顺序、运行监控等系统运行时的规划
- 软件系统测试、交付的原则及计划
- 按照外界环境与内在制约因素选择相应的开发技术
- 规划软件系统哪些部分自主开发、哪些部分外包开发或外购产品