Developers Club geek daily blog

2 years, 6 months ago
It is the first post from a series about systems thinking and system engineering in which I will try to describe a simple language these abrupt pieces and to explain why they are necessary.

Systems thinking is a practical approach to perception of the world which considerably accelerates capabilities to analyze, make decisions and to study. Practical because it is created by practice, but did not grow from abstract mathematical theories.

If TRIZ abbreviation is familiar to you, then I would tell that the TRIZ methods are a set of special cases of application of systems thinking in physical production.

Systems

The system is the abstract concept allowing us to structure world around in a type, convenient for the analysis.
The system is a set of the pieces of entities connected among themselves.

Connected — in sense somehow influencing at each other: transferring information, fastened with welding, pulling the friend to the friend strings, etc.

It is important to understand: only the person decides what to call system, the nature does not distinguish systems. In fact, any set of any entities can be called system, but it is an effectless method. The system has to be conceptually complete, only then its use will be useful.

From the point of view of mathematics
If to provide the graph whose tops will be all entities in the area analyzed by us, and edges — communications between them then good candidates for systems will become a cluster of strongly connected tops.

It can look approximately here so.

Any system can consist of subsystems and to be part of one or several metasystems.

For example:

• the engine — system from valves and other parts;
• the car — system from are different devices, one of which is the engine;
• the highway — system from engineering constructions, vehicles and pedestrians;
• the bus-stop — the system which is part of the "highway" and "residential quarter" metasystems.

So, systems thinking is an ability to select systems, to switch between them and to analyze them.

Systems thinking

The concept of system looks not difficult and to think in such style hardly infernal work, but what for?

Systems thinking is a generation of practice. As it appeared, many properties of systems poorly depend on area in which them select (physics, pedagogics, logistics, etc.), but it is strong — from topology of system — structure and types of communications between its components. It appears, not so various world to what it seems, it is rather correct to abstract.

Characteristic general properties of systems it is possible to call, for example: life cycle, back coupling and orthogonality. These concepts not bad live also without sendings to system engineering, but it gives a convenient method to extend them to world around.

Therefore as soon as we begin to think systemically, we get a number of important advantages.

An opportunity to generalize and extend the experience got in one area to world around.

Let's say you worked all life with machines and other mechanisms and for certain know many cunning patterns and features of their functioning. Be sure, the essential part of these patterns can be postponed for other systems, for example, information or what there, human.

It is correct to replace the main thing in these patterns of a part and communication between them, with little men and communications between them (such here tautology). It is directly difficult to make it, however system approach gives us common language of representation of similar knowledge in the form of systems. Therefore if we learn to look at our work with machines and with people as for work with systems, then our many knowledge can be applied to these two areas at once (and at the same time and to the others).

Universal "tools" for the analysis, forecasting and development of new systems.

Engineers revealed a set of the properties characteristic of all systems, and for their groups. Using these properties in the work it is possible not only to simplify and accelerate considerably a solution of tasks, but also to receive common language for communication with colleagues, including, from other spheres of activity.

For Computer scientists it is especially useful as today you develop banking software, medical tomorrow, and the day after tomorrow a mobile toy, CMS or any other mysterious thing. To penetrate again into each area there is no time, fortunately, it also is not required — to think enough systemically. However it does not relieve of need to study the basic principles of the respective area as they allow to select the correct abstractions.

That further …

If you were interested in systems thinking and system engineering, recommend to read the book: "Travel on a system landscape" of Harold Lawson is a good textbook for those who begin to get acquainted with system engineering.

Also in comments I accept sentences on subjects of new articles. Of course, if they are interesting to you :-)