In the course of software engineering, we learned that the process of developing a program is not a simple process of choosing a programming language coding, but a process of feasibility study analysis, requirement analysis, formal description, overall design, detailed design and coding implementation, and later, the software maintenance is required. The entire software development process requires close and effective collaboration among the development members.
This semester, after the recommendation of the classmate, I read the "People's Month myth" This book, at first did not know that this is a book on software engineering, after all, the title is too confusing, the general people will understand as the myth of Human and the moon, it is not as close to the direction of software engineering. But when you read this book you will find that the whole book is in a very humorous way to tell us about software engineering, the title of each chapter is very interesting, such as "Tar Pits", "surgical team", "aristocratic tyranny" and other titles such as a refreshing feeling. Here, I also recommend people who have not read the book to read it.
"People's Month myth" This book let me first contact with the concept of "People's Moon", which is the measurement unit of the workload in software engineering, is the accumulation of the work of all the participants, is the most convenient calculation cost data, is a common concept in project management. This book is a software engineering project development process in some of the laws of the guide it, many of the ideas let me have a better understanding of software development. In the first chapter, "Tar Pits", it puts forward some views: "I estimate that the software component products caused 3 times times the workload, the integration of software components into a complete system required for the design integration and testing and imposed 3 times times the workload." These high-cost components are fundamentally independent of each other. The joy of creating things, the joy of developing something useful to others, the ability to move and assemble parts of each other's teeth into something like a maze, is a process that embodies a fascinating fascination. The joy of uninterrupted learning is the pleasure of working on such an easy-to-navigate medium-pure thought activity, whose existence moves and operates in a way that is completely different from the actual object. "This makes me realize that the process of software development is constantly increasing, and the process of coding development is a very enjoyable process. Of course, it has a lot of very interesting ideas.
such as: ① "People's Month is dangerous and deceptive myth, because it implies that the number of people and time can be replaced with each other", this should be a very classic view, the software development process is not a simple person month stacking process, not to increase manpower, it will certainly reduce the workload of the development process, Because we are uncertain about our own estimation techniques, we often lack the courage to persevere under the pressure of our management and our customers. An increase in the number of people lagging behind in the progress of projects will only lead to a further lag. The deployment of additional staff to software projects has increased the overall workload required in the project from three areas: the reallocation of tasks itself and the resulting disruption of work. To train new personnel and to communicate with each other; ② "good professional programmers are 10 times times more productive than poor programmers," he added. There is no correlation between experience and actual performance. A small, lean team is the best--as little as possible. Swarmed's development approach is high-cost, slow, inadequate, developed products can not be conceptual integration ", the explanation is that a chief programmer, similar to the team structure of the surgical team provides a way-to obtain a small number of brain-generated product integrity, Also can get a number of assistance staff overall productivity, and completely reduce the workload of communication, although this is a bit of a blow to ordinary programmers ah, but this also tells us to strive to become a chief programmer Oh, ha ha; ③ "To get conceptual integrity, the design must be done by a single person or a small team with a consensus. For very large projects, separating the work of the design methodology architecture from the concrete implementation is a powerful way to achieve conceptual integrity "; ④" early communication and continuous communication will enable the architect to have a good sense of cost, as well as to enable developers to gain confidence in the design, and will not confuse their respective responsibility division "; ⑤" The exponential growth of the program Development Program scale. Full-time programmers use only 50% of their time for programming and debugging. Productivity is a function of the interaction of various parts of the system, and varies in the range of 1.5K code lines/years to 10K code lines/hours. When using the appropriate high-level language, the productivity of the programming can be increased by 5 times times "; ⑥" the actual needs and user perception of the user will change as the program is built, tested and used. The easy-to-grasp features and invisibility of software products have led to a permanent change in requirements for its builders (especially easy). The technology for changing planning software products, especially the detailed module interface documentation, is very well known, but does not have the same scale of practice. The use of high-level languages, compile-time operations, consolidation by referencing declarations, and self-documenting techniques can reduce errors caused by changes "... There are many very classic views, you can go to the library to find this book to see for yourself, from these points, we will find that "people's Month myth" This book is like a guide book, the author of the Software engineering development in the long-term exploration of some development skills, these skills are like the law, according to this, The development process becomes very clear and violates it,Development work can become very cumbersome. The "software crisis" gave people blow, software development has exposed a lot of criticism, the lack of more scientific development system. "Human Moon Myth" software development brings a ray of dawn.
On the
Myth of People's month of reading