软件架构自学笔记– 软件架构师是如何工作的

  软件架构师是如何工作的       

         此篇博客参考 架构漫谈–王概凯文章

  1.架构是为了解决人的问题而产生的,如果用不同的语言不同的方式描述一件事物会得到不同的结果,这样的结果虽在表面不同却在描述同一个问题,如项目的中文定义:项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成  项目英文定义:Contemporary business and science treat as a project (or program) any undertaking, carried out individually or collaboratively and possibly involving research or design, that is carefully planned (usually by a project team[citation needed]) to achieve a particular aim……再如时间,距离是人设定的时空的量度,如果提出这些概念的人换做别人可能就会是另外的word,所以认识到事物的“真相”即本质是架构师解决问题的前提,以及,解决新的问题时用之前的架构经验为当前架构方案理清思路,因为你已经看到了“真相”。

  2.“发现问题永远都比解决问题更加重要”爱因斯坦的名言启示我们从多角度考虑问题发现新的问题,解决问题时发现更多的问题,包括,问题的主体和问题的边界。抓住问题的主体与问题的边界才有可能真正解决问题,才有可能解决真正的问题。客户的需求通过语言文字传递给架构师的是客户自己对需求的描述,并非问题的本质,因为问题的本质是隐藏的,如果客户知道问题的本质那么客户会自己解决自己的问题,无需工程师的参与。所以架构师要与客户深度沟通尽可能多地发现问题来接近问题地本质。

 

  3.软件开发过程涉众众多也叫利益相关者,整个开发过程每个人的权利地位所付出的努力是不对等的,所以需要把架构切分,要尽量使被切分出的部分不超过承担者的所能承受的范围,维护自身的利益是每个人的基本要求,在不破坏系统结构的同时将架构切分能够提高整体效率,另外架构切分的结果要趋于一个平衡树,才能使整个系统的效率最大化。

 

  6.前面提到软件功能越来越多,开发过程越来越复杂,代码的编写也要用架构的思想对部署单元进行责任切分,切分标准就是有无业务逻辑,有业务逻辑的分为一组,无业务逻辑的分为一组,因为含有业务逻辑的部分是业务的核心,所以再对业务逻辑进行细致的划分。这样每个单元相对系统都成了独立的一部分,使业务的扩展和修改成本在可控范围内。

 

  7.技术、架构以及业务之间的关系:技术在解决业务问题中产生,为了解决业务问题,人们会想出更好的技术来,目的就是获得更大的利益,业务要解决的问题越来越多越来越复杂,一种技术已经不能满足解决问题的需要了,需要把多种技术拼接在一起,多个技术共同工作来获得更大的利益。这里业务和技术的高效衔接就成为了架构师的主要问题,因为技术不会和业务有直接的关系(一种技术可以适应多种业务),架构师的作用也在这里体现,架构师有意识的组织和识别不同的技术,来实现业务的目标。

 

  总结:关于架构师如何工作的问题,主要是从以上的七个方面说起的,概括来说,软件架构师是一个“问题解决者”,他应该善于发现问题,分析问题,解决问题。

相关资源:凯歌软件安装管理器1.0-其它文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月6日
下一篇 2019年2月6日

相关推荐