We first defined the scope of software engineering. There are two types of definitions that you can choose:
The system collects decades of programming experience, and researchers innovate to develop high-quality software at a lower cost.
Engineering methods for developing software.
Beginners generally follow the exploratory style developed by the program, which is characterized by the rapid development of program code and then continuous modification until the program works. However, exploring styles is no longer applicable when developing large programs.
Software crisis: In the 60 's, the emergence of large-capacity, high-speed computers, the application of computers rapidly expanded, software development has grown sharply. The high-level language began to appear; the development of operating system caused the change of computer application mode, and the large data processing resulted in the birth of the first generation database management system. The scale of software system is more and more big, the complexity is more and more high, the problem of software reliability is more and more prominent. The original personal design, personal use of the way can no longer meet the requirements, the urgent need to change the software production, improve software productivity, software crisis began to erupt.
Its main performance:
1, software development progress is difficult to predict.
2, software development cost is difficult to control.
3, the user of the product function is difficult to meet.
4, the quality of software products can not be guaranteed.
5, software products difficult to maintain.
6, the software lacks the appropriate documentation material.
The advent of software engineering:
Early computer programming--high-level language programming--design based on process Control--design oriented to data structure--design oriented to dataflow--Object oriented design
Software Engineering (1)--the revision of books