对世界的理解

抓住三个点:根,生命周期,以及结构化;

所谓根,就是根本,底层;对于需求分析而言,这个根就是这个项目的基本概念,比如对于机务维修系统而言,基本概念就是定期检修检,预提,预算,直接成本,间接成本;至于和海波龙系统交互等等,都是基于这些大的概念进行的;做到架构设计,这个根本,很大程度上就是对业务流程的抽象化理解,比如在中广核项目中,是一个订单,发货,运输,到货检验最后库存的过程;感觉上中间的环节非常多,但是其实他的根就是两个,商品(UP)和库存;商品是根中之根,几乎所有的流程节点都是围绕这个来进行的,只不过商品被不断的封装而已,早起订单的生成UP,到供货商发货,把UP进行打包(package)/封箱,到了目的地开箱,最后入库存,还有后来的出库,调拨,其实所有的操作无不是围绕着商品创建,打包,以及商品的打包检验,以及仓库见转移,还有后来的返运,也是对于仓库商品的增加,不过需要另外增加对于返运商品的管理和跟踪而已;所以在业务层其实可以划分为三层:上层是功能,比如创建订单,CCC之类,中层对"根"的抽象,商品的处理以及仓库增减,仓库的状态改变以及仓库间操作;可以理解是原子操作的封装;底层是字典表,基本表维护;有了中间层的抽象,上层的压力减轻了很多,代码也有很多重用;

生命周期,是基于根生长出来的,相当于树干,还是拿中广核那个项目为例,生命周期概念就是一个能够把一个项目穿起来的概念,订单,供应商接单,发货,运输,开箱,CCC,ECC,入库,出库,调拨等等;分析生命周期对于项目本身全局的理解有很大;

结构化,就是树的枝干,很多时候业务复杂了,当几个业务同时发生会有干扰,要看清楚,再复杂,关键要一根一根捋清楚,结构化有很多方法,麦肯锡推荐的树状分析法,还有温玉在《一下架构师》中讲述的需求分析的二维表法以及目标-场景-解决方案法;对于接单可能就需要再进行细化:分场景,是正常的接单,还是返运创建订单,不同的类型都有哪些处理,这样的话将会画出一个很大的分支来,这是有好处的,一旦调拨,出库入库混杂在一起的时候,就是用这个大分支进行捋清;做架构设计就是对鲁棒图以及分层进行细化,细化的角度就是逻辑视图,数据视图,物理视图以及开发视图进行结构化。

时间: 2024-10-13 04:20:14

对世界的理解的相关文章

对技术的研究就是对世界的理解

技术研究真的很爽,像吃鸦片一样,虽然我没有吃过,但估计就是那种感觉.当深入研究某一样东西的时候(没有人催,没有estimate),时间过得特别快,其它的事物都不存在一样,除了饿了渴了身体会发出信号外. 这是一种哲学,是格物致知,我们对技术格呀格呀格,就得到了真理了.技术反应了这个世界,了解技术的本质,就是加深对世界的理解.虽然世界有万事万物,但它们终究都会回归到一个相同的地方,会回归一条基本的准则,这是世界运行的基本的方式. 在国内很少见到有专门研究技术的部门,除了在华为看到有这样的部门外(因为

我程序世界的“术”与“道”

17年前高考的时候,本人就立志要从事所谓的科技行业,所以在填写志愿的时候填写的是通信工程,顺便后面同意了服从志愿调剂.就因为服从调剂,我这个完全能上得了通信工程专业分数的人得到了"爱因斯坦"老先生的眷顾被调到物理专业了(在这里不得不吐槽一下高考招生的黑暗与混乱).本着对他老先生的好心就将就成为他的徒子徒孙吧.但经过一段时间,我才发现本人对物理一点兴趣没有,他老人家肯定对我是恨铁不成钢,彻底把我抛弃了.浑浑噩噩的读完一个学期后,在一次和同学的调侃中调侃到计算机程序设计.心中一种莫名的冲动

执行的前戏------编译连接全过程理解

一. 前言 高度封装的事物(如各种IDE)在提供便捷操作的同一时候也失去了很多美好的内部细节.往往让让使用者仅仅知道how to use 而不知道how to achieve,因而在出现一些封装内部的错误时就会让使用者手足无措.因此了解其内部的大致执行过程将有助于处理一些集成环境不提示的错误. 二.基本概念 编译:     编译器对源码进行编译.是将以文本形式存在的源码翻译为机器语言形式的目标文件的过程. 编译单元:对于C++来说,每个cpp文件就是一个编译单元.从之前的编译过程的演示能够看出,

HTTP协议强化理解

一:第一波 1.  是什么? 答:是一种定义超文本在网络中如何进行传输的协议!   所有的WWW上的文件都必须遵循! 是基于TCP/IP. 传输路径:  客户端<——>服务端  (全双工) 2. 特点? 答: 1.无连接:每次连接只处理一个请求.   连接——请求——应答——关闭 2.媒体独立:只要知道如何处理数据内容,任何类型的数据都可以通过http发送. 3.无状态: 对于事务处理没有记忆(每一次的请求响应都是孤立的). 3. 没图说个J8? 二:第二波 1.URI: 统一资源标识符(如何

世界就是一场游戏——灵魂如何才不迷失

<世界就是一场游戏——灵魂如何才不迷失>   前  言 还从来没有什么东西,能给人类社会带来如此巨大的变化,除了科学. 科学改变了人类的认知.在科学出现之前,人们普遍相信神灵的存在,认为是神灵在主宰着世界.但科学引发了人们观念的大转变,无神论.唯物论.进化论成为了人们世界观中的主流思想. 科学改变了人类的能力.在科学技术的帮助下,人类变得空前强大,成功地占领了这个星球.自然界那些我们曾经的天敌,老虎.狮子.猎豹.豺狼,此时不是在野外狭窄的生存空间中苟延残喘,就是老老实实在动物园的笼子里晒太阳.

运行的前戏------编译连接全过程理解

一. 前言 高度封装的事物(如各种IDE)在提供便捷操作的同时也失去了许多美好的内部细节,往往让让使用者只知道how to use 而不知道how to achieve,因而在出现一些封装内部的错误时就会让使用者手足无措,因此了解其内部的大致运行过程将有助于处理一些集成环境不提示的错误. 二.基本概念 编译:     编译器对源代码进行编译,是将以文本形式存在的源代码翻译为机器语言形式的目标文件的过程. 编译单元:对于C++来说,每一个cpp文件就是一个编译单元.从之前的编译过程的演示可以看出,

《深入理解ES6》 PDF中英文+《ES6标准入门第3版》PDF分析

ES6是ECMAScript标准十余年来变动最大的一个版本,其中添加了许多新的语法特性,既有大家耳熟能详的Promise,也有闻所未闻的Proxy代理和Reflection反射:既有可以通过转译器(Transpiler)等方式在旧版本浏览器中实现兼容的let.const.不定参数.展开运算符等功能,亦有无论如何都无法实现向前兼容的尾调用优化.深入理解ES6的特性对于所有JavaScript开发者而言至关重要,在可预见的未来,ES6中引入的语言特性会成为JavaScript应用程序的主流特性,这也

玩转JavaScript OOP[2]&mdash;&mdash;类的实现

概述 当我们在谈论面向对象编程时,我们在谈论什么?我们首先谈论的是一些概念:对象.类.封装.继承.多态.对象和类是面向对象的基础,封装.继承和多态是面向对象编程的三大特性. JavaScript提供了对象却缺乏类,它不能像C#一样能显式地定义一个类.但是JavaScript的函数功能非常灵活,其中之一就是构造函数,结合构造函数和原型对象可以实现"类". 对象和类的概念 对象 "对象"是面向对象编程中非常重要的一个概念,一个对象是一个"东西"(某个

于宙:我们这一代人的困惑

导读:本文是于宙在TEDx大会上的演讲,这篇文章有点长,不过非常值得你花20分钟把它看完.本周如果只能推荐一篇文章,那么强烈建议你读读这一篇,“一个有故事的大叔说的实在话”. 以下是演讲全文: 大家下午好, 很荣幸能够参加本次TEDx大会,非常感谢东北财经大学TED团队和华臣影城为我们提供这样一个交流的机会. 自我介绍 我是大连人,高中就读于大连市二十四中.因为当时学习十分不努力,所以高中毕业之后选择了出国留学,这其实是很多本科出国留学的人不能说的秘密,辗转了几个学校,最终毕业于美国印第安纳大学