欢迎来到天天文库
浏览记录
ID:28148789
大小:278.00 KB
页数:7页
时间:2018-12-08
《软件编程是系统性思维的集中体现.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、软件编程是系统性思维的集中体现 所谓“系统性思维”,就是将认识对象作为一个独立的“系统”来进行观察,从系统与要素、要素与要素、系统与环境之间的相互联系、相互作用等方面综合地考察认识对象的一种思维方法。就是说,首先要确定一个研究对象,然后确定它的边界,再对边界内的各要素之间的关系进行研究,这种思维方法使人们的思维更具全局意识和整体性。 软件编程是这种思维方式的集中体现。在编写程序之前,先要搞清楚需要完成的功能,以及要达到的性能,即理清它的业务架构和应用架构,确定整个程序系统的边界。如下图所示的飞机机票预定系统,理清
2、各主要的要素、以及各要素之间的关系。然后再做进一步的细化,包括数据库、各要素模块之间接口的定义等。最后更进一步,确定用哪种语言编程,如用C++等,设计类、数据、函数的结构等等。所以整个的思路是从系统的角度出发,一步步的细化。无论编写复杂的系统,如需要分布式的架构体系、并发多线程,还是嵌入式的编程,其系统化的思想类似。只是由于软件工程的成熟,你可以基于现有成熟的框架,而不用从头来开发系统,从而减少整个开发的工作量,如在IaaS、PaaS的基础上编写应用层的软件、基于Docker+Kubernets的系统框架,基于Jav
3、a的编程环境及丰富的调用接口,基于安卓提供的丰富的framework,嵌入式的内核调度系统等。 对更为复杂的系统来说,特别是包含各种软硬件的系统来说,系统性的思维同样重要。如安防的系统,如下图所示,基于对整个业务的框架,确定硬件和软件的整个架构。从硬件的角度来讲,基于业务的需求,确定好系统的容量、传输速率、各个硬件之间的接口、规格等。同时基于硬件的架构,再确定整个软件的架构,使软硬件要素的协同配合。比如交换机、管理服务器等这些硬件内,都需要匹配需求的软件。 而从更微观的系统,如芯片的设计,同样
4、需要系统的思维理念。首先对整个系统的功能与系统提出总体的需求,架构出各主要的模块,如CPU、DSP、Memory、PMU、总线等,如下图的结构框图、以及各主要模块要素之间的关系。类似软件的编程,只是语言换成了verilog等硬件描述语言,进行编程与验证。对各功能模块进行版图的划分,确定好各模块的物理位置,以及按照系统的要求,Pin脚的接口定义等。 对一个公司来说,系统性的思维同样适用。只是基于公司作为一个系统的研究对象,公司是一个严密的组织,依据公司战略、业务、规模等的不同,会有不同的组织架构,有事业部
5、制的、职能制的、矩阵制的。不同的组织架构,对各个子模块如何协同合作也会产生不同的影响。所以诊断一个企业时,需要深入观察公司各部分之间的协同合作是否顺畅,是否与公司作为整体的系统的战略相一致。 研究一个企业的时候,商业模式是我们一直很关心的。下图是非常出名的商业模式画布图,包括了重要伙伴、关键业务、核心资源、价值主张、客户关系、渠道通路、客户细分、成本结构、收入
此文档下载收益归作者所有