zoukankan      html  css  js  c++  java
  • 软件架构师的工作过程

      通过观看《梦想改造家》这个节目中一期王平仲设计师对一个上海老房子的改造过程,我思考了一下一个建筑设计师和软件构造师工作过程的相似性与共通性。

      我们可以了解到软件架构师的职责有
        1.将客户的需求转换为规范的开发计划及文本
        2.并制定这个项目的总体架构
        3.指导整个开发团队完成这个计划
        4.主导系统全局分析设计和实施
        5.负责软件构架和关键技术的决策。
      而建筑设计师的职责有
        1.了解用户的使用需求,制定装修改造计划,完成设计文档。
        2.设计房间的总体架构。
        3.指导整个团队完成这个装修改造计划。
        4.主导整个装修改造全局的设计和实现
        5.解决实际装修改造过程中遇到的难题和关键地方的决策。

      在整个项目的实施过程中,其工作流程也是极其相似的。
      架构师首先必须具有丰富的开发经验,是个技术主管。他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。
      建筑设计师也必须具有丰富的开发经验,是总监管。他必须清楚什么样的设计是可以实现的,实现的方式有哪些,相应的要求是什么,面对一些难题的基本解决方法都有哪些。哪种设计是最为合理最为人性化和性价比,空间利用率是最高的。
      而想要达到这样的要求无可避免得是需要长期的开发实践才能真正的体会到,单从书本上很难领会到,就算当时理解了也不一定能融会到实践中去。
      软件架构师和建筑设计师都是需要丰富的开发和设计经验的。大量的练习是支撑他们完成设计的基石。
      具有足够的行业业务知识和商业头脑也是很重要的。行业业务知识的足够把握可以给架构师更多的拥抱变化的能力,可以在系统设计的时候留出一些扩展的余地来适应可能来临的需求变化。对业务知识的理解和对市场或者商业的判断应该达到一个实用的、可以为架构扩展性服务的水平。
      而建筑设计师也是需要对材料的了解,在设计的时候,应该努力使整体具有易用,舒适,环保,可重复利用,可修改,独特,多功能等等要求。也应该考虑到以后需求的变化。可通过简单的改变实现多功能。 

      架构设计师对人的关注必须提升到架构设计之初来纳入考虑的范围,包括沟通以及对人员素质的判断。软件过程是团队协作共同构建系统的过程,沟通能力是将整个过程中多条开发线粘合在一起的胶水。沟通的目的就是尽量避免多条开发线的混乱,让系统构建过程可以有条理的高效进行。
      
      对人的关注还表现在对团队成员的素质判断上,只有合理的使用人力资源,让合适的人做合适的事情才能让整个软件过程更加高效。架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法、开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。但对新技术的探索应该在一个理性的范围内进行,不能盲目的跟风。解决方案提供商永远都希望你能使用它提供的最新技术,而且它们在推广自己的解决方案的时候往往是以自己的产品为中心,容易给人错觉。对于新东西需要以一种比较的观点来判断,包括横向的比较和纵向的比较,最后得出一些性能、可移植性以及可升级等指标。
      建筑设计师也应该加强对人的关注,建筑设计师有较强的沟通能力是保证整个系统能够快速高效运行的关键。而且也应该对设计和材料的应用有自己的理解,不能拘泥于设计教条的条条框框,应该以人为本设计出好的做品。  
      架构设计师的工作过程便大致是这样了,和建筑设计师的职业还是有很多相似之处的。
  • 相关阅读:
    c# 键值数据保存XML文件
    c# 封装 Request操作类
    c# 获取客户端IP
    c#封装DBHelper类
    c# Cache 使用实例
    c#cookie读取写入操作
    c# Session写入读取操作
    ABAP-HTTP支持
    WDA-文档-基础篇/进阶篇/讨论篇
    UI5-文档-4.38-Accessibility
  • 原文地址:https://www.cnblogs.com/amiee/p/6434501.html
Copyright © 2011-2022 走看看