代码改变世界

网上开学第一篇博客之浅谈软件架构师

2020-02-19 22:13  一念永恒s  阅读(196)  评论(0编辑  收藏  举报

  看完了王概凯架构师的架构漫谈让我重新了解了这个属于我们IT行业的核心职业以及对于架构的重新认识,记得第一次听见这个名词还是在大二第一学期的时候王建民老师与我们畅谈的,那个时候还处于刚开始的阶段,对于这些还是比较懵懂的,后来自己也去上网查过了解一些,但是本质上还是不清楚的,经过第一次课的测试和阅读过架构漫谈后,我总结了一些自己从中的理解和自己的一些看法。

  首先架构师从何而来,是源于我们生活中的问题,在我们想要去分工,分类,分角色地去解决一些问题时出现了架构这种解决问题的方案方式来帮助我们解决,那么什么是结构呢,第一点是要根据解决的问题,对目标系统的边界进行界定,第二点并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间,第三点呢便是并对这些切分出来的部分,设立沟通机制,最后则根据第三点使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

  在软件架构中,最重要的便是去理解客户抛出的问题,也就是如何去理解客户的需求,同样的,这就像是之前在软件工程和软件需求分析中学到的正确理解客户需求背后的需求,也就是问题背后的问题,架构漫谈中也讲到找出问题的主体,是做架构的首要问题。这也是我一再强调的,我们要解决的问题,一定都是人的问题。更进一步,架构师要解决的,基本都是别人的问题,不是自己的问题。再进一步,我们一定要明白,任何找上架构师的问题,绝对都不是真正的问题。为什么呢? 因为如果是真正的问题的话,提问题过来的人肯定都能够自己解决了,不需要找架构师。架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要。

  在我后续的了解中,软件架构师的工作职责是是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责人软件架构和关键技术决策的人员。也就是说软件架构是通过一个全局的观点,宏观的视角来理解软件系统作为一个整体如何工作。即使这能够帮助区分软件开发和架构,它并不能帮助理解某人如何从开发提升到架构。 并且,它也不能帮助识别谁能够成为一个好的软件架构师。要成为一个软件架构师并不是一夜之间或者一个职位的提升就能简单达到的。 这是个职责,而不是头衔。这是个进化的过程,你将会逐步得到担当这个职责所需的经验和信心。当你寻找架构师时,需要考虑各方面的素质,他们过去的经验往往是他们有能力担当这个职责很好的判断。由于软件架构师的职责是多种多样的,所以你需要再深入了解他们在不同领域的参与度,影响力,领导力和责任感。

  综上而言,一名合格的软件架构师是要具备多种能力,同时架构也是我们生活中任何事情都能用到的解决方案,想要做好软件架构师就要去了解好架构等一些知识,这也是重中之重。