View Programming with Organizational Analysis Framework

View Programming with Organizational Analysis Framework

Preface

Although I am not involved in politics, I need to understand politics. I am a programmer. Politics is a rule, and programming is also a rule. The two are similar and can be compared by analogy. Programming is actually organizational design, which is to set the law. By considering the time complexity and space complexity, we can choose the best method for our own situation.

The plan taught in management is actually a programming algorithm;

The decision-making in management is the judgment algorithm of programming. It is like the processor scheduling in the operating system. In the face of process scheduling, there are four scheduling algorithms, first come first service (determined by the submission time), short job first (by execution Time decision), highest response ratio priority (response time/execution time), priority priority. These four algorithms are actually a manifestation of decision-making. We have such a decision through security checks, freshmen enrollment, and banking services;

Organizations taught in management are actually design schemes in programming, with high cohesion and low coupling;

The control of management is the exception handling in the program.

image-20201101103954263

notes

In fact, when I started to study management, I didn't take management so seriously, and I didn't care about management at all before. Although I learned slowly at the time, I found that management and software engineering in my junior college were very similar. Management can be applied in practice.

Where software engineering and management are connected

Software engineering

Software crisis: "Completed" software does not meet user needs, progress cannot be guaranteed, development costs are unpredictable, and quality is not guaranteed.

In fact, it is the same problem as management.

The definition of software engineering is the application of systematic, standardized, and measurable methods to the process of software development, operation and maintenance, and the study of selected methods.

The same as the definition of management.

Software life cycle: 1 feasibility study, 2 requirement analysis, 3 design, 4 coding, 5 testing, integration, and maintenance phases. 6. Software

The first three parts are the same as the plan design of management. Demand analysis (analysis purpose), feasibility analysis (analysis of feasibility), design;

  1. The purpose of the feasibility study is to determine whether the problem can be solved in the shortest possible time with the least cost.

  2. The four major elements of a feasibility study are: economically feasible, technically feasible, legally permitted, and social environment feasible.

It's actually PEST analysis

Requirements engineering refers to the application of effective techniques and methods to conduct demand analysis, determine customer needs, help analysts understand problems, and define the external characteristics of the target system. The main activities in requirements engineering are: requirement acquisition, requirement analysis, requirement specification, requirement verification and requirement change management.

Actually related to incentives

The main principles of software design: module independence and information hiding. There are two standards reflecting the independence of modules: cohesion and coupling. Cohesion measures the closeness of the integration of various elements within a module, and coupling measures the degree of dependence between modules.

Related to organizational design

The definition of software testing: is the process of executing the program in order to find errors. Its purpose is to systematically find out various potential errors and defects in the software with the least time and manpower.

Related to control

The connection between operating system and management

The operating system actually has a very important guiding role in programming. Conducive to optimizing time complexity and space complexity.

When faced with scheduling (time complexity)

Scheduling algorithm: first come, first served (determined by submission time), short job first (determined by execution time), highest response ratio first (response time/execution time), priority priority

It is consistent with the decision-making and communication of management, and the bank work and government work of practical problems. How to make decisions in the face of various problems.

When faced with storage (space complexity)

Replacement algorithm: FIFO, OPT, LRU

Continuous allocation method: single continuous allocation, solid partition method (area number, starting address, size), dynamic partition method (best adaptation method), dynamic relocatable partition allocation;

In fact, every space is used to the extreme. But programming is implemented with algorithms, which shows that we have the same idea.

Where programming and management are connected

Programming is too general, we can see the beauty of management from the basic programming skills. Data structure, algorithm, design pattern.

to sum up

At this point, there is a lot of logic in it, and there is no deliberation for the time being. Click to stop.

Update address: GitHub

For more content, please pay attention: CSDN , GitHub , Nuggets

Guess you like

Origin blog.csdn.net/weixin_42875245/article/details/109412302