天天看点

用组织分析框架看编程

用组织分析框架看编程

前言

虽然我不参与政治,但是需要了解政治。我是程序员,政治是一种规则,编程也是一种规则,两者有相通性,可以触类旁通。编程其实就是组织设计,就是设定法律,通过思考时间复杂度与空间复杂度,选出自身情况上最优的方法。

管理学讲的计划,其实就是编程的算法;

管理学讲的决策,就是编程的判断算法,好比操作系统中的处理机调度,面对进程的调度,有四种调度算法,先来先服务(由提交时间决定)、短作业优先(由执行时间决定)、最高响应比优先(响应时间/执行时间)、优先级优先。这四种算法其实就是决策中的一种体现。我们过安检、新生入学、银行服务都有这样的一种决策;

管理学讲的组织,其实就是编程中的设计方案,讲究高内聚,低耦合;

管理学讲的控制就是程序中的异常处理。

用组织分析框架看编程

文章目录

  • ​​用组织分析框架看编程​​
  • ​​前言​​
  • ​​笔记​​
  • ​​软件工程与管理学相通的地方​​
  • ​​操作系统与管理学相通的地方​​
  • ​​编程与管理学相通的地方​​
  • ​​总结​​

笔记

其实一开始上管理学,我没有把管理学看得这么重,之前也根本不关心管理。当时虽然慢慢了解,我发现管理学和我大三学的软件工程十分相通。管理学可以应用于实际。

软件工程与管理学相通的地方

​​软件工程​​

软件危机:“已完成”的软件,不满足用户的需求,进度不能保障,开发成本难测;质量没有保证。

其实和管理的问题一样。

软件工程的定义是:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,以及对所选方法的研究。

和管理学的定义一样。

软件生命周期:1可行性研究、2需求分析、3设计、4编码、5测试、集成、维护阶段。6.软件

前三部分和管理学的计划设计一样。需求分析(分析目的)、可行性分析(分析可行性)、设计;
  1. 可行性研究的目的是:用最小的代价在尽可能短的时间内确定问题是否能够解决。
  2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。
其实就是PEST分析

需求工程是指应用有效的技术和方法进行需求分析,确定客户需求,帮助分析人员理解问题,定义目标系统的外部特征的一门学科。需求工程中的主要活动有:需求获取、需求分析、需求规格说明、需求验证和需求变更管理。

其实和激励相关

软件设计的主要原则:模块独立性和信息隐藏。反映模块独立性有两个标准:内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密程度,耦合衡量模块之间彼此依赖的程度。

和组织设计相关

软件测试的定义:是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。

和控制相关

操作系统与管理学相通的地方

操作系统其实在编程中有十分重要的指导作用。有利于优化时间复杂性和空间复杂性。

在面对调度的时候(时间复杂性)

调度算法:先来先服务(由提交时间决定)、短作业优先(由执行时间决定)、最高响应比优先(响应时间/执行时间)、优先级优先

和管理的决策和相通,和现实问题的银行工作、政府工作一致。面对各种问题如何做出决策。

在面对存储的时候(空间复杂性)

置换算法:FIFO、OPT、LRU

连续分配方式:单一连续分配、固态分区法(区号、起始地址、大小)、动态分区法(最佳适应法)、动态可重定位分区分配;

其实就是把每一个空间用到极致。不过编程用算法实现,显示我们也有一样的思想。

编程与管理学相通的地方

编程太笼统,我们可以从编程基本功看管理学的妙处。数据结构、算法、设计模式。

总结

暂时写到这,这里面逻辑很多,暂时没有推敲。点到即止。

继续阅读