【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
相信对于很多计算机专业的同学来说,软件架构师是一个自带光环的职业。在他们的印象中,软件架构师不仅在公司的地位高,不用编码,而且还有非常可观的收入。但是很多人并不是很清楚,软件架构师的主要作用究竟是什么,为什么需要软件架构师?
1、为什么需要软件架构师?
稍微复杂一点的软件,都是需要进行分层、分块、本地远程设计的。各个模块之间的处理逻辑、接口定义都是极其重要的。资深一点的软件工程师应该是协助软件架构师完成架构,而一般的软件工程师则是利用这个架构完成具体业务模块的实现就可以了。
2、软件架构师的难点?
对于软件架构师来说,他所要负责的内容就是将客户的需求进行流程和逻辑化处理。客户的需求是多种多样的,他必须将这些流程提取出来,并且抽象出普适的规律,使得未来的功能开发和功能迭代能够满足客户的要求。架构的目的还是为了业务、为了效率、为了质量、为了稳定,当然也离不开技术的实现,做到这些就很难了。
3、软件架构师需要编写代码吗?
就我个人的经验而言,稍微资深一点的软件架构师本身都有很强的代码编写能力和代码调试能力。和业务的复杂性相比,代码调试真的算不上什么难的事情。
4、软件架构师对软件质量来说有什么意义?
很多人认为软件质量是测试工程师的事情,但是从我实际体会来说,需求工程师和软件架构师承担的责任更大。换句话说,如果需求部队或者代码架构设计不对,软件质量其实好不到哪去,成本极大。不管代码写的多好、测试多充分,无非就是一些打补丁的事情,没有办法从根本上提高代码质量。
5、如何成为一个软件架构师?
模仿和实践。可以找一些很成熟的软件,比如即使通信工具、office软件、图像软件,可以自己试试如何编写这样一个软件。当代码是1000行、10000行、100000行乃至于更大的时候,相信你对代码的认识会越来越深刻。写之前,最好完成一个详细的架构设计。
6、看开源代码对自己成为软件架构师有帮助吗?
有帮助的,不过最好是代码行数多一点的项目,但是又不能太大,比如几万行到几十万行,这样的项目就不错。太小没有价值,因为纯c语言的很多项目就是面向流程的,而几百万行的项目会直接摧毁你的信心。
7、大公司为什么看重软件架构师?
公司越大,沟通的成本越高。有过大公司工作经验的同学都知道,项目涉及的人越多,花费在沟通上面的时间会比你code的时间更多,这很正常,每个人都有自己的立场和利益诉求,这个情况下不做比做更重要。所以,需要一个软件架构师作为接口人,给大家划分任务和设定接口,并且为最终的软件质量负责。
8、好的软件架构是什么样的?
好的软件架构其实都是相似的:软件主流程和分支流程都非常清晰、添加功能容易、架构质量高、仿真调试完善、便于快速添加新功能等等。
9、用什么软件来进行软件架构设计?
目前用的比较多的还是UML,软件方面就是visio、startuml、EA、mindjet这些软件。其实真的不拘泥于形式,大家可以根据自己的习惯,使用自己熟悉的软件,将客户的需求转换成合理的代码架构。
10、架构设计和编码冲突吗?
再好的软件架构也需要慢慢实现,所以架构设计师最好将自己的设计预先用一个小demo实现,这样更具有说服力。同时,他还需要很好的文档整理、沟通、抽象、分析、组织的能力。本身,软件架构设计不是一件轻松的事情,但也不是什么可望不可及的事情。
11、架构设计代替不了什么?
软件架构只是负责业务的逻辑建模和抽象,它本身代替不了具体的软件技术、数据库技术、网络技术、行业技术等等,这完全就是两个领域的事情。
12、做不了软件架构师怎么办?
做不了也没什么大不了的,那就做好业务专家、语言专家、技术专家好了,条条大路通罗马。就自己观察而言,目前国内利用各种中间件搭积木的软件架构师很多,但是真正能独当一面的架构师少之又少,努力一点还是有很多机会的。
原文 https://blog.csdn.net/feixiaoxing/article/details/89606517