Introduction to Software Engineering

foreword

  Recently, I am learning about software engineering. It seems that many blogs summarizing it are not bad, but I always feel that it is not very vivid. So I also tried to summarize some viewpoints of software engineering and some of my shallow understanding.

text

  First of all, what is engineering, what are our common projects? Or what are the projects we are familiar with? Let's first take a look at the definition of engineering on Baidu Encyclopedia, as follows:

  Engineering is some application of science and mathematics through which the properties of matter and energy in nature can be made through various structures , machines , products , systems and processes in the shortest time and with the least amount of human and material resources. Something that is efficient, reliable, and useful to humans. The general term for various disciplines formed by applying the theories of natural science to specific industrial and agricultural production sectors.


   Concepts mainly refer to matter, energy, structure, machine, product, system, and process. The above seven items are the main elements that constitute engineering. All kinds of projects basically need to go through various stages such as requirements analysis, design, implementation, delivery, etc. The difference is that the fields are different, and their specific requirements are different. In fact, software engineering is the same.
As a humorous story told by Professor Xu Xiaofei of Harbin Institute of Technology:
   Mechanical engineering is like looking for a cat in a well-lit room; chemical engineering is like looking for a black cat in a dark room; software engineering is like looking for a black cat in a dark room without a cat.
This story can clearly distinguish the difference and difference between mechanical engineering, chemical engineering, and software engineering.

Characteristics of software: (1) Invisibility and subjectivity (2) Software scale and complexity (3) Volatility and uncertainty (4) Precision and ambiguity

So we can use the related engineering that we are familiar with to compare software engineering. This will help us to understand software engineering more.

concluding remarks
  Although software engineering is invisible and intangible, we will have a particularly vivid image in our brain when we compare it with examples in actual engineering. Because I am relatively familiar with mechanical engineering, I am using some examples from mechanical engineering to make an analogy. You also don't want to try to make analogies with industries or projects you are familiar with.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325955777&siteId=291194637