Today read the "Law of Construction: The first chapter of modern software Engineering", benefited greatly. Originally I understand the software is only at the most basic level, through reading this book, I have a more in-depth understanding of software engineering.
Software engineering is the process of applying systematic, orderly, and quantifiable methods to the development, operation and maintenance of the system. Software engineering covers the following areas: Software requirements analysis, software design, software construction, software testing and software maintenance. Software engineering is related to the following disciplines: Computer science, Computer Engineering, management, mathematics, project management, quality management, software ergonomics, systems engineering, industrial design, and user interface design. People have many technologies, practices, habits, and ideologies in the process of developing, operating, and maintaining software. Systems engineering unifies these related technologies and processes into one system, called the "Software development process". The purpose of the software development process is to improve the efficiency of software development, operation and maintenance, and improve the quality of software, customer satisfaction, reliability and maintainability of software.
However, the idea that software development light has a variety of processes is not enough, and we also have a series of tools to ensure that these ideas can operate efficiently in practice. There are many software tools: tools developed by engineers, tools unique to the software team, and many public software tools, such as compilation tools, source control tools, source code editing tools, and some software tools systems such as Microsoft Visual Studio, GitHub, ClearCase and ClearQuest, and so on.
Soft armor and human produced products compared with a lot of similarities, there are some peculiarities. With the development of human society, the progress of technology, some things are always getting easier, but why the software development process did not accelerate it, scholars summed up five points: (1) complexity. Software can be said to be the most complex type of system created by human beings. (2) Non-visibility. Software engineers can see the source code directly, but the source code is not the software itself. The software runs at high speed in the form of machine code, and may run simultaneously on several CPU cores, and engineers are not able to see how their source code is executed. (3) variability. Software looks easy to modify, and modifying the software is much easier than modifying the hardware. (4) Compliance. Software can not exist independently, always run on the hardware, subject to user requirements and industry system requirements. (5) Non-continuity.
"The method of construction-modern software engineering" Reading notes