一、架构三要素(与现实生活相似)
规划:目标规划、过程规划、实现方法规划。。。计划做什么、怎么做
模式:解决一类问题的有效方式。。。参考前人成功的经验
组件:程序产品的基本元素。。。把事情分成多个小步骤
二、架构师职责
主要着眼于技术实现
确定非功能性需求:安全、性能、可扩展性、可维护性。。。,给产品增加软特性
定义开发规范:开发过程中遵循的步骤、约束、编码风格。。。,使开发过程有条不紊
搭建程序框架:设计接口、关键组件。。。,打造坚固的大楼结构
澄清技术细节:技术的优缺点、如何使用。。。,深入了解工具
同时考虑组织协调
了解开发团队:知人善任、物尽其用。。。,最大限度发挥每个人的特长、最小限度暴露每个人的缺点(知己)
评估实现目标的资源代价:需要多长时间、多少人参与、购买哪些硬件。。。,评估总的人力和物力成本(知彼)
三、技术素质
良好的把握软件工程标准规范
四、管理素质
为团队制定清晰的目标:确定目标
必须使团队成员想法一致:齐心协力
具备解决技术问题的紧迫感和自信心:排除万难
提供方法和模型,作为理想的技术解决方案:胸有成竹
五、知识结构
从大量相互冲突的方法和工具中,挑选出有效的
六、从开发人员到架构师
总结自己的架构模式,深入行业总结规律