Chapter I.
Software engineering is the process of applying systematic, orderly and quantifiable methods to the development, operation and maintenance of software. Including software requirements analysis, software design, software construction, software testing and software maintenance several processes. It covers subjects such as computer science, computer Engineering, management, mathematics, project management, quality management, software ergonomics, systems engineering, industrial design and user interface design. Not only software engineering, other engineering (such as mechanical engineering) can also be divided into requirements analysis, design, construction, testing and maintenance of these stages.
It's interesting to compare the different stages of software development with the aviation industry. From the toy stage of the paper plane to the amateurs stage balloon to the exploratory stage of the Wright brothers, the last mature industry stage of the aviation industry. We grew up to the big must have a lot like the idea of flying the sky, but mostly stay in the first three stages, sometimes feel impossible to achieve not to try, sometimes just try, encounter failure after the disheartened, no courage to persist, many times the opportunity to pass with us. I have also had wanted to do things, try, to the "Wright brothers" stage, fell down after not to insist on, later can not do so.
After reading this chapter, we understand the different emphases of software engineering and computer science, and have never known it before.
Computer science |
Software |
Discover and study the long-term objective truth |
Short-term actual results (the specific software will be obsolete) |
The idealized |
Compromise on a variety of factors |
Certainty, perfection, versatility |
Management of uncertainty and risk, good enough, specific application |
Independent and in-depth study of various disciplines to produce results |
Focus on and apply the knowledge of all relevant disciplines to solve problems |
The Unification of theory |
Practice method of blooming flowers |
Emphasis on originality |
The best mature Practice method |
Formal, the pursuit of concise formula |
Inspiration and intuition built up in practice |
Correctness |
Reliability |
"The method of construction: Modern Software Engineering" Reading notes