During my undergraduate course, my true impression on software engineering is "physical strength" and "no technical skills ". In software engineering practice, I put more energy into language learning and system implementation, and did not pay attention to various document specifications. Obviously, my software engineering practice score is not very high, because I did not understand the essence of software engineering. My senior lab internship made me realize the importance of documents.
After being taught by Mr. Luo, I have a new understanding of the significance of software engineering, and have a more comprehensive grasp of its processes, methods, tools, and technologies. As Mr. Luo believes: only when a software disaster occurs in China can high-level decision makers in China recognize the role of software engineering and increase investment and attention in this field. Computing is no longer only related to computers. It determines our survival. The importance of software engineering will be highlighted in the future social life.
At the same time, the financial crisis that started in the second half of has brought enterprises, including software companies, into an economic crisis. These software companies are forced to work hard to improve development skills to improve development efficiency and save costs. I hope it will be like the "Software Crisis" in the 1960s S.
Like software engineering, it brings a software engineering revolution to China.
Software Engineering is a highly practical and cross-disciplinary discipline. It not only provides us with a methodology, but also a world view.
The development phase of software technology can be divided into the following three stages. Each stage has a learning method that deserves our reference, which embodies the experiences and experiences of our predecessors on the road to software development. To make some innovations or improvements in software engineering methods, we must review this history carefully. With the development of software technology, especially object-oriented technology, software engineering puts forward the following new ideas, methods, and design principles: abstraction, Information Hiding, modularity, localization, certainty, consistency, completeness, verifiable. These methods are not only applicable to software development, but also for solving daily life problems. From the comparison of structured language to object-oriented language, we can clearly see the transformation and progress of software developers towards the world view of objective things.
As a kind of engineering design, the whole process of the software engineering process must be considered in a systematic way. Although the process and process management methods are summarized in the classroom, the framework of the entire discipline has been presented to us, we believe that we will be able to learn for ourselves as needed in our future work.
Although the software engineering course has ended, I have just begun learning software engineering, and Miss Luo's course has benefited me a lot. From this, I realized the importance of project management. With the increasing scale and complexity of software, the "personal heroism" in software development in the 60 or 70 s has no longer existed, project development involves collaboration, management, and control. From this, I learned a lot of general methods, such as requirement acquisition, modularity, governance, estimation, and planning. From this, I also realized the complexity of using computers to solve practical problems. Under the computer framework of the Turing Machine Model and the Von noriman system, people understand the process of expression (repeated and gradually deepened) different from the implementation process (sequential execution) of computers, software engineering methods should be provided to programmers with a more effective process method for formalizing the domain of objective world problems.
The above is my experience in software engineering. Although emotional, it is a heartfelt experience.