zoukankan      html  css  js  c++  java
  • 软件架构师 如何工作

      软件架构师工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。

      我查阅了一些资料,做一个软件架构师要求的能力要有以下几点。

      在技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,软件架构师能迅速抓住问题要害,并做出合理的关键决定的能力 l、具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考。主要包括如下:

      ⒈对项目开发涉及的所有问题领域都有经验,包括彻底地理解项目需求,开展分析设计之类软件工程活动等
      ⒉具备领导素质,以在各小组之间推进技术工作,并在项目压力下做出牢靠的关键决策;
      ⒊拥有优秀的沟通能力,用以进行说服、鼓励和指导等活动,并赢得项目成员的信任;
      ⒋以目标导向和主动的方式来不带任何感情色彩地关注项目结果,构架师应当是项目背后的技术推动力,而非构想者或梦想家(追求完美);
      ⒌精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如J2EE架构等);
      ⒍具备系统设计员的所有技能,但涉及面更广、抽象级别更高; 活动确定用例或需求的优先级、进行构架分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定设计机制、确定设计元素、合并已有设计元素、构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议等。
      同时对于一个软件架构师,还要应该知道的几件事。

      (1)客户需求重于个人简历
      客户需求至上。为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违。

      (2)简化根本复杂性 ,消除偶发复杂性
      分析问题好比拨云见月、水落石出。

      (3)关键问题可能不是出在技术上
      团队同心,其利断金。

      (4)以沟通为中心,坚持简明清晰的表达方式和开明的领导风格
      沟通应当言简意赅、详略得当,别拖泥 带水。

      (5)架构决定性能
      种瓜得瓜,种豆得豆,架构设计也是一 样道理。

  • 相关阅读:
    HDU1005 Number Sequence 题解 矩阵快速幂
    HDU1003 Max Sum 题解 动态规划 最大字段和扩展
    HDU1002 A + B Problem II 题解 高精度加法
    python练习题之访问限制
    python练习之析构函数
    python练习题之 猫2
    python 练习题之 猫
    练习题之交换牌
    mongodb 安装教程
    pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused
  • 原文地址:https://www.cnblogs.com/zhouzh/p/8529718.html
Copyright © 2011-2022 走看看