杭州做网站哪家便宜,html编辑器电脑,虚拟商城平台,wordpress媒体库地址修改架构师#xff1a;我们需要顶层设计背景#xff1a; 某公司#xff0c;建立的程序又被推倒#xff0c;外人觉得很奇怪#xff0c;这个程序的主管非常敬业#xff0c;关注到了程序每一个细节#xff0c;甚至包括每一个按钮的文字和位置。这个主管很委屈#xff0c;他说…架构师我们需要顶层设计背景 某公司建立的程序又被推倒外人觉得很奇怪这个程序的主管非常敬业关注到了程序每一个细节甚至包括每一个按钮的文字和位置。 这个主管很委屈他说他完全是按照客户需求制作的客户怎么说的他就怎么做了难道有错 但是这个程序还是被推倒了当然也有其公司派系斗争的因素在里面。但是不得不引起我们的注意这个程序败就败在了太拘泥于细节而忽略了顶层设计被客户牵着鼻子走想知道客户自己说什么吗 | | | | 客户说我说的就一定对吗 顶层设计——规划。当提到这个词的时候很多程序员很不屑规划不就是需求吗和架构设计有啥区别就写写PPT有那么重要吗 我们说一个好的程序开发的设计应该包含如下层次如下图所示一、设计分为三个层次1、第一层次信息系统规划项目或产品规划我们称之为规划这个层次是对整个系统在宏观中的地位的把握。如果从一个大型企业的高度看应该包含整个企业的时间与空间的集合体。 什么是空间 空间就是涵盖到企业中的各个数据环节以及保证关键的数据流走向的合理并确保调度优化。顶层模块设计需要研究需要关注的各个业务块之间的结构关系研究业务框架的整合模式。 行业内比较有名的业务框架如eTom业务框架ITIL等。什么是时间 时间就是企业未来发展以及企业所处行业的整体发展的预期要兼顾发展才可以从规划的角度使应用系统不过时。只有从时间和空间的三维角度进行思考才可以得出合理的规划。2、第二个层次是架构设计架构设计是从程序架构的设计方式角度出发建立一种合理的程序逻辑的构架方式也是时间与空间的集合体。空间满足设计会话利用架构设计适应各个模块的构建方法使程序逻辑运行于程序的各个模块中而游刃有余尽可能避免超出架构设计模块无法构建的应用需求。时间满足顶层设计规划同时兼顾程序未来发展好的架构设计构造出的程序可能会用很多年不会变。3、第三层是微观设计这个是程序员在处理具体应用程序编写程序时的创新与设计当然其首要前提是满足上面两个层次的设计。二、架构设计与规划的区别架构设计是程序框架构建方式作为其关注点更多的探讨的是该程序如何满足规划需求的结构健壮性。而作为顶层设计的规划更多的是从产品、系统、业务整体宏观的角度考虑整体的模块地位与框架并不关注其具体实现方法。比如业务逻辑分为几个层次这个问题是规划这几个层次或模块之间的数据关联方式用EAI还是EDI还是WebService还是什么方式的问题就是架构设计。三、忽略架构设计和规划设计的危害 业内相当一部分人都认为找几个会编程序的程序员就可以做出产品就可以接活儿了。 可能可以然而如果是一个需要若干年持续进行的产品或系统没有架构设计是短视的其前期很快搭建后期捉襟见肘。 还有想当一部分人认为有了架构设计和几个会编程的程序员就可以做出产品和搭建应用系统了。 这也确实可以但是如果面对一个更复杂的系统缺乏顶层设计就会陷入关注细节关注需求被需求牵着鼻子走的路上去。