其实架构设计会偏技术一点,很多公司项目是没有架构师一职的,更多的是由系统分析员或项目中的资深开发人员来担任,因此,我觉得系统分析员需要的是通才,而架构师应该理解为专才。
在以前的话软件工程没有分这么细,需求分析、系统分析、架构设计、系统设计视为一体。 不过拆开也好,我这样理解它们的区别:
需求分析:就是把需要的东西写出来。通常就两个字:多快好省,后面没了。也有人写成在但是里面有但是,在如果里面有如果,在不确定里面有不知道的裱糊文体。也有人把需求重点写在备注或附录里,形成倒叙文体。
系统分析:糨糊冷却后,外观看起来像是千层薄片的组合,你要把它层层剥开,把外观相似的,曲率接近的,一个个叠好,分成几堆。 这里的薄片就是一段程序。你也可以说程序是个有空洞的固体,将来有信息在里面流动。
系统分析师的工作就是关切信息流动。工作方法就是把每个程序分门别类放好,标上有意义的座标编号,方便将来组装。编号给定后,再回头把每个程序切成三段:输入、处理、输出。使用手工绘图及中文写作即可。
架构设计:架构师的工作就是关切共用的流水管,关切信息流动的集散。他把连续流动改成水库式集散,这是一个技术重点。他把连续流过来的信息改成统收拦住,检查登记,再开闸放行到下一关。
这样可以让片段信息停下来集结完整,可以让信息停顿,对它进行健康检查,可以让众多信息等下一关口有空闲再报到。 这样的停顿,需要一块集散地,也许是一块阵列,也许是一块排队区,也许是档案,也许是数据库。硬件上也许是内存,也许是硬盘。
把分析师的连续流,改成集与散,就是架构师干的工作。
系统设计:把输入输出的画面定稿,把每个流动的信息命名成英文短字,接着把各程序命名成英文短字,规定其输入容许范围,输出容许范围。命名要使字头字尾有联想性,好坏影响项目成败。
需求方来观察成果,整体看起来像是陆海空联合演习,很有戏的样子。然而演习和作战是两回事,真实的作战是什么 需求.分析.架构.设计 不断变动,是永远的难题TG:li9047
所以无论是构架师还是系统分析员,虽然各自专注的领域存在差异,但还是有些共有的能力要求的。你能达到那个高度,却不具备运用软技巧的能力,那你只适合呆实现室了。