Introduction to the introduction to software engineering practices

Source: Internet
Author: User
After reading "Thirty-six plans of methods, Design, Implementation, and Management"-An Analysis of the thoughts and methods in the book "Introduction to software engineering practices" China's old saying is "useful ". Today's computer books are full of resources, but everyone's time and energy are limited. to truly achieve "useful", it is very important to choose what books to read. I have read a lot of books in this field since I took the computer major. I don't know what to do if I have a lot of results or cannot "start and finish" due to boring reasons, or I don't know how to use it when I finish it with my head. In particular, for some overseas translators, due to the translator's foreign language level and knowledge and experience limitations, reading may sometimes be difficult or difficult. At present, in the domestic software engineering field, there is a situation where practice goes beyond theory and theory lags behind practice. To this end, when many software engineering scholars make their names on books and magazines by reading foreign classics, many down-to-earth first-line practitioners and people of insight, I have combed, summarized, and sublimated my experiences and theoretical accomplishments from a wide range of practical experiences and materials. Jin Zun and his doctor are among the outstanding ones. I recently read Dr. Jin's masterpiece "Introduction to software engineering practices" (hereinafter referred to as "Introduction"), which is attracted by his unique and thorough content and essays, such as the search engine and the well-developed library, it can be said that it has benefited a lot from reading it with just one breath, and it is easy to vomit. Reading related book reviews on the Internet can also be described as a high standard of Yiyun, which is well received. If you repeat the praise of others, you may think of a woman as a second person. As a dilemma arises, I am fortunate to have explained in the preface: "The development of computers and software is very fast, and new concepts and techniques are emerging one after another. The phenomenon of staying on the surface can be dazzled and overwhelmed. Only by going deep into the essence, looking at questions from the perspective of philosophical methodology, and finding answers can we be able to solve such problems with ease ." In this way, we can find another entry point of the book, that is, a brief analysis of the ideas and methods of the book. We hope that it can serve as a "green leaf" that sets off the "safflower ". Extract experience from abstract thinking. After graduating from his Ph.D., Mr. Jin has been engaged in R & D in technology, engineering, management, and other aspects at the IBM China Research Center, rational software, and IBM Silicon Valley division in California, has rich practical experience and exchange ideas. Based on his extensive knowledge and experience in the software engineering field, he has used abstract analysis and synthesis, comparison and classification, extraction and generalization methods, and has risen to the height of methodology, summarize the guiding theories of four aspects related to software engineering: method, design, implementation and management. The expression in his paper is also quite innovative. He referred to the strategy of the war of China. Each aspect contains several measures. Each plan is an important method and becomes a separate chapter. The contents of each chapter include: describing concepts, features, meanings, or proposing problems and backgrounds, analyzing problems, misunderstandings, and related understandings and arguments, analyzes, lists, compares various solutions, and clarifies the considerations or corresponding norms and principles, points out the trend that should be paid attention to or the trend of the future, and finally makes a summary. Each chapter should be added, modified, and flexibly processed according to actual needs, so that the reader feels clear, detailed, simple, and easy to understand. These tricks give people a clear picture. No matter whether you are a rookie or veteran of the software industry, as long as the scholars carefully read, understand, target, and diligently practice, you must be able to grasp the essence of software engineering. Reverse thinking leads us to reason. Reverse thinking is an important way of thinking. When solving a problem, people are used to thinking according to the familiar regular positive thinking path, so that sometimes they can find a solution to the problem and receive satisfactory results. However, there are also many examples in practice. It is difficult to find the correct answer to some questions by using positive thinking, or it may be biased. Once reverse thinking is used, unexpected effects are often achieved. There are also many such use cases in introduction. For example, in the Chapter "Avoiding complexity and simplicity", the author considers that it is normal for the software system structure to reserve some flexibility for future changes based on positive thinking, then I looked forward to my situation three years later and looked back at the current flexible measurement. I thought that there was no such forecast change in the next three years. At that time, the world would not know what new technologies will be popular, therefore, the provision of ultra-flexible design is not desirable, and thus cited the necessity of simplicity to avoid complexity. In another example, the author proposed in the "Standard Process" that "CMM certification in China is very popular, and enterprises and software parks all use this as the direction of hard work. Although there is nothing bad, looking back at the fact that Microsoft, the leader in the software industry, did not take any certification. ......Therefore, we can reflect on the real value of certification ." Reverse thinking makes the arguments in this book more rational and comprehensive. Moderate understanding with dialectical thinking. In the introduction, the author carefully considers Software Engineering at the methodology level through three basic dialectical thinking modes: specific concepts, dialectical judgment, and dialectical reasoning, I have noticed that every method and technique has two sides: positive and inverse. So while giving a detailed introduction to the readers, pay special attention to the scope, conditions and timing of its application, and the factors that need to be fully considered, and grasp the appropriateness and balance, try to avoid the two extremes and misunderstandings: "Not in place" and "overhead. This also reflects that the author is good at applying the doctrine of the Chinese mean of Confucianism to software engineering, so that he can grasp the compromise or degree between the two ends, so that various methods and techniques can "end with perfection ". According to my rough statistics, there are about 60 moderate and balanced discussions in each chapter of the book. Expand new knowledge with innovative thinking. Innovative Thinking is a process of thinking without being constrained by conventional ideas and seeking for new and unique answers and methods to questions. We should understand innovation in a broad sense. Innovation is what others have never said, innovation is what others have never done, and innovation is what others think. However, innovation does not have to be a brand new thing. Any change and development on the old basis can be classified into the scope of innovation. This is as the author said: "In fact, there are very few completely new creations in the world, all of which are more or less closely related to old things. In the process of comparison, we can often clearly understand the advantages and disadvantages, under the combination, the creative inspiration came out." If we use this broad ruler to measure innovation in the introduction. The "Economic first" and "user first" chapters in the method clearly indicate that software activities should be managed as a sustainable business activity first, and users and market needs should be emphasized. Although these are the basic knowledge of successful international software companies, they are rarely seen in software engineering books. This big software engineering concept helps us get out of the traditional software engineering concept that only focuses on technology and process. It is very beneficial for software enterprises to think about how to participate in market competition and internationalization. Many new knowledge is also described in the design section. For example, the "interface" in the software world is regarded as a "contract" in civil and commercial activities in the real world, and is defined as a formal and standardized format contract, in this way, the rights, obligations and relationships of the caller and the called party are agreed. This illustration is both an image and an appropriate one, and impressed by the refreshing feeling. In addition, this book also puts forward a lot of new ideas, such as the use of control theory to explain the software development process, and that software engineering is between science and art, they are all very creative ideas. In short, the introduction combines the theory and practice of software engineering that has been proven abroad with the specific situation of the Chinese software industry, we have made some useful attempts to innovatively summarize various software engineering methods that are suitable for the Chinese software industry with local characteristics. It is not easy to write such awesome books. If you have a wealth of practical experience and lack of strong thinking and written expression skills, it is difficult to turn good experience into good articles. The Chinese study focuses on both learning and knowledge. In fact, there are not many people who have both of them. Dr. Jin is such a real "Doctor ". At the same time of sincere admiration and admiration, I will also regard this as my goal and long-term unremitting pursuit!
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.