The following is taken from "Moon Myth"
All of these points are operational verification, I express them into a stereotype, I hope that the readers can think, judgments, and discussions. Chapter 1 Obolines 1.1 Programming System Products Development is 9 times more of the components that are used by individuals. I estimate that the software component productization caused three times the amount of work, integrating software components into the design, integration, and testing of 3 times, and the high-cost components are fundamentally independent of each other. 1.2 Programming Industry "Meets the intellectuality of our hearts and the common emotions of all people", providing five fun: Happy development of things to others will be able to act, mutually engaged parts assembly It is similar to the labyrinth, which reflects the charm of the gods of the soul. The fun of non-repetitive tasks, the fun of uninterrupted learning is in such a easy-to-control medium - pure thinking activities, the existence, mobile Similarly to the actual object 1.3, this industry has some intrinsic distress: adjusting the way to pursue perfection, is the most difficult part of learning programming, and must rely on ourselves uncontrollable Things (especially procedures); authoritative does not equivorate the actual situation of responsibility seems to be better than this: Real authority comes from the completion of each mission, any creative activities are accompanied by boring and hard work, and the programming is no exception. The expectation project is close to the end, (bug, working hours) can converge fast, but the closer of software projects is closer to completion, and the more slow products are always facing out of the time, the chapter 2 Moon Mythology 2.1 The lack of reasonable time schedule is the most important reason for the lag of projects, which is much more affected than all other factors. 2.2 Good cooking takes time, some tasks cannot accelerate speed without damage. 2.3 All programmers are optimists: "Everything will work well." 2.4 Due to the development of programmers to develop pure thinking activities, we look forward to not encountering difficulties in implementation. 2.5 However, our idea is defective, so there is always a bug. 2.6 We have confused workload and project progress around the estimation technology of cost accounting. The moon is dangerous and with deceptive myths because it suggests that the number and time of people can be replaced with each other. 2.7 Decomposition tasks in several people will trigger additional communication workload - training and mutual communication. 2.8 About progress arrangements, my experience is 1/3 program, 1/6 encoding, 1/4 component test, and 1/4 system test. 2.9 As a discipline, we lack data estimates. 2.10 Because we are uncertain about our estimated technology, we often lack the courage to persist in management and customer pressures. 2.11 Brook King: Increases people in projects in the project, will only make progress more backward. 2.12 Adding people from the software project increases the necessary overall workload from the three aspects: Task reassign itself and the work interruption; training new personnel; additional mutual communication. Chapter 3 Surgery Team 3.1 There are also two years of experience and in the case of the same training, excellent professional programmers' work efficiency is ten times more of a more differential. (Sackman, Erikson and Grand) 3.2 Sackman, Erikson and Grand data show no interconnection between experience and practical performance. I suspect whether this phenomenon is generally established. 3.3 Small, intensive teams is the best - as few as possible. 3.4 Two people's teams, one of the project managers, often the best practitioners. Pay attention to God's design of marriage. ] 3.5 For large systems, small and medium-sized teams are too slow.
3.6 In fact, the experience of most large-scale programming systems shows that a high cost, slow speed, insufficient, unable to integrate conceptual integration. 3.7 A CEO, a team architecture similar to the surgery team provides a way - can obtain both product integrity generated by a few minds, but also get the overall productivity of multiple assistants, but also completely reduced Communication workload. Chapter 4 Aristochemical, Democratic Politics and System Design 4.1 "Conceptual Integrity is the most important consideration in system design." 4.2 "Componentity of complexity in function and understanding is the final test standard for system design, not just rich features. [This ratio is a measure of ease of use, and is verified by simple and complex applications. 4.3 In order to obtain conceptual integrity, the design must be done by a person or a consensus. 4.4 "For very large projects, the design method and architecture work with the specific implementation phase separation is a strong method for obtaining conceptual integrity." [Equally applicable to small projects. ] 4.5 "If you want to get the integrity of the system, you must control these concepts. This is actually an aristocratic rule without any apologies." 4.6 discipline, rules are beneficial to the industry. External architecture regulations are actually enhanced, rather than restricting the creativity of the community. 4.7 Conceptual unified systems can develop and test faster. 4.8 Architecture, design implementation, many of the work of physical implementation (realization) can be carried out concurrently. [Software and hardware design can also be parallel. The 5th chapter 5 Painting Snake Added 5.1 Exchange and continuous communication can make the structural staff have better cost awareness, and the developers get the confidence of design and will not confuse their respective responsibility. 5.2 Structural Structures successfully affect the implementation: Keep in mind that developers bear creative achievement responsibility; structural practitioners can only make recommendations. Time is prepared for the designated description, it is recommended to accept any other possible ways. It is low-key and calm for the above recommendations. Prepare to give up on the proposed improvement. Listening to the development of the developer's improvement in the architecture. 5.3 The second system is the most dangerous system designed, and the usual tendency is excessively designed. 5.4 OS / 360 is an example of a typical sect-system effect. [Windows NT seems to be an example of the 1990s. ] 5.5 The priority value for allocating one byte and microseconds is a very valuable normalization method. Chapter 6 Implementing 6.1 Even a large design team, the design results must also be completed by one or two people to ensure that these decisions are consistent. 6.2 It is necessary to clearly define the extension of the previous definition in the architecture, and the detailed level of redefine should be consistent with the original description. 6.3 For accuracy, we need formulated design definitions. Similarly, we need narrative definition to deepen understanding. 6.4 Must use a formal definition and a narrative definition as a standard, another as auxiliary measures; they can be used as a standard of expression. 6.5 Design implementation, including simulation simulation, a method of formal definition; this method has some serious disadvantages. 6.6 Direct integration is a method for enforcing the structural standards of software. The same is true on hardware - considering the MAC WIMP interface built in the ROM. ] 6.7 "If there are at least two implementations, the (architecture) definition will be more tidy, it will be more standardized." 6.8 Allow the architecture to make a telephone answer interpretation of the realization of the personnel, and must Log record and organize release. [Email is an optional medium. ] 6.9 "The best friend of the project manager is the enemy that he has to face every day - the independent product testing institution / group." Chapter 7 why Babylona failed? 7.1 The failure of the Babylrenta project is due to lack of communication, as well as the results of communication - organization.
Communication 7.2 "Because the left hand does not know what the right hand is doing, the progress disaster, the unreasonable system defects have emerged." Due to the various assumptions for others, the understanding between team members begins to deviate. 7.3 Teams should conduct as many ways to communicate with each other: informal, conventional project meetings, a brief technical statement, and a formal project work manual for sharing. [And email. ] Project Work Manual 7.4 Project Work Handbook "Not an independent document, a structure of a series of documents that must be generated by the project. All documents of the" 7.5 "project must be the structure of the (work manual) Part. "7.6 needs to design the workbook as soon as possible and carefully design. 7.7 Working manual in advance has been placed in the appropriate chapter in the appropriate chapter "and can improve the quality of the product manual. 7.8 "Every team member should know all the materials (Workbook)." [I want to say, each team member should be able to see all materials, web pages to meet the requirements. " ] 7.9 Real-time update is critical. 7.10 Working Manual Users should focus on changes after the last reading, and reviews on the importance of these changes. 7.11 OS / 360 Project Work Manual began using a paper medium, and later replaced with a microeng film. 7.12 Today [Even in 1975], the shared electronic manual is better to achieve all of these goals, a more low, simpler mechanism. 7.13 Still need to mark text with a variable strip and amendment date [or equivalent function]; still needs to be subjected to electronic changes in the first out (LIFO). 7.14 Parnas strongly believes that everyone's goal is completely wrong; the various parts should be packaged, so that no one needs or allows you to see the internal structure of other parts, just understand the interface. 7.15 Parnas's recommendations are indeed a disaster prescription. [Parnas made me recognize the point of view, making me thoroughly changed the idea. ] Organizational Architecture 7.16 Team Target is to reduce the necessary communication and collaboration. 7.17 In order to reduce communication, the organizational structure includes a Division of Labor and a Specialization Of Function. 7.18 Traditional tree tissue structure reflects the structural principle of power - no double leadership. 7.19 The communication in the organization is a mesh, rather than a tree structure, so all special organization mechanisms (often reflected in the tissue structure diagram) are for adjustment to overcome the lack of flow in the tree tissue structure. . 7.20 Each subproject has two leadership roles - product heads, technical supervisors or structuralists. The functions of these two roles have a great difference require different skills. 7.21 Any combination in two roles can be very effective: product heads and technical supervisors are the same person. As the general command, the person in charge acts as its left and right hands. As a general command, the technical supervisor acts as its left and right hands. Chapter 8 Cheozo 8.1 is only an accurate estimate of the entire work only by estimating the encoding part, and then multiplying the relative coefficient of other parts of the task. 8.2 Data to build a separate small program does not apply to programming system projects. 8.3 Program development is an index growth in the scale. 8.4 Some posting research reports The display index is approximately 1.5. [Boehm data is not exactly true, change between 1.05 and 1.2. 1] 8.5 Portman's ICL data shows that the full-time programmer only is used to program and debug. 8.6 IBM ARON data shows that the productivity is a function of each part of the system, and changes within the range of 1.5K-thousand codes / people to 10k thousand or from the year.
8.7 HARR's Bell Lab Data Displays the product rate of the operating system, which is about 0.6kloc / person, and the productivity of compiling class is approximately 2.2kloc / person. 8.8 Brooks' OS / 360S data consistent with Harr: operating system 0.6 ~ 0.8kloc / person year, compiler 2 ~ 3 kloc / person year. 8.9 CORBATO MIT Project Multics Data Display, productivity on the operating system and compiler is a 1.2kloc / person year, but these are PL / I's code rows, while all other data are assembly code rows. 8.10 In the basic statement level, productivity looks a constant. 8.11 When using the appropriate advanced language, the productivity of the program can be increased by 5 times. Chapter 9 Tipping Sales 9.1 In addition to running time, the occupied memory space is also major overhead. Especially for the operating system, many of its programs are permanently residing in memory. 9.2 Even so, the money spent on the memory of the resident program is still the value value, which is better than any other in the configuration. The scale itself is not a bad thing, but unnecessary scale is not advisable. 9.3 Software Developers must establish size objectives, control size, and some ways to reduce scale - just like hardware developers to reduce components. The 9.4 scale budget is not only clear in memory, but also indicates the number of procedures to disk. The 9.5 scale budget must be associated with the function of allocation; while specifying the size of the module, the functionality of the module is defined. 9.6 In a large team, each group tends to constantly local optimization to meet your own goals, and less considerate the overall impact of team users. This directional problem is the main risk of large projects. 9.7 During the entire implementation process, the system architect must maintain a continuous alert to ensure coherent system integrity. 9.8 Cultivating developers start from the system, and user-oriented attitudes are the most important functions of software programming managers. 9.9 The strategy should be developed early to determine the extent of the user's optional item because they can save memory space as an overall big pack. Often saving market costs. ] 9.10 The size of the temporary space, and the number of procedures per disk access is critical, as performance is a large-scale nonlinear function. [This overall decision has appealed - initially due to virtual memory, later is a low cost memory. The current user usually purchases memory that can accommodate all code from the primary application. ] 9.11 In order to achieve good space-time trade-off, the development team needs to obtain programming skills training for certain languages or models, especially when using new languages or new machines. 9.12 Programming requires technology accumulation, each project requires its own standard component library. 9.13 Each component in the library requires two versions, running fast and short refined. Now it seems some time. ] 9.14 refining, full and fast procedures. It is often the result of strategic breakthroughs, but not only the skills are improved. 9.15 This breakthrough is often a new type of algorithm. 9.16 Furthermore, the breakthrough in the strategy often comes from the re-expression of data or tables. The form of data is the foundation of programming. Chapter 10 Outbuto 10.1 "Premise: In the Wang Yang in a file, a small number of documents form a key hub, and each project management works around them. They are the main personal tools of the manager." 10.2 For computer hardware development Project, key document is the target, manual, progress, budget, organization map, spatial allocation, and quotation, prediction and price of the machine itself. 10.3 For the University of Science, Key Documents Similar to: Goals, course description, degree requirements, research reports, curriculums and courses arrangements, budgets, classroom allocations, teachers and graduate assistants. 10.4 For software projects, requirements are the same: target, user manual, internal document, progress, budget, organizational map, and work space allocation.
10.5 Therefore, even a small project, the project manager should also standardize the above document in the early stage of the project. 10.6 Preparations of each document in the above collection will focus on the thinking and refining of the discussion, while writing this activity requires hundreds of ministerial decisions, because of their existence, people can be confused A clear and determined strategy is obtained in the phenomenon. 10.7 Provide a status monitoring and early warning mechanism for each key document. 10.8 Each document itself can be used as a checklist or database. 10.9 The basic responsibility of the project manager is to make everyone advancing in the same direction. 10.10 The main daily work of the project manager is communication, rather than making a decision; documentation makes various plans and decisions to communicate throughout the team. 10.11 There is only a small number of managers' time - may only be 20% - used to get information from our own mind. 10.12 For this reason, the widely tounted market concept - supports the "Complete Information Management System" of the management personnel is not based on the effective model of reflecting the behavior of the management personnel. Chapter 11 No rain 11.1 Chemical Engineers have recognized that it is not possible to move the response process on the laboratory workbench to the factory. . 11.2 For programming products, such intermediate steps are equally necessary, but software engineers do not routinely conduct on-site testing of experimental systems prior to launching products. [Now, this has become a universal practice, the beta version. It is different from the prototype of a limited function, the Alpha version, the latter is also the practice I advocated. ] 11.3 For most projects, the first development system is not used. It may be too slow, too big, and it is difficult to use, or the three are both. 11.4 The discarding and redesign of the system can be completed in one step or can be implemented in a block. This is a step that must be completed. 11.5 Will Develop the First System - Discard Prototype - Publish to Users, you can get time, but its cost is high - for users, use extreme pain; for re-developing people, disperse energy; for products, influence The reputation, even the best re-design is also difficult to recover the reputation. 11.6 So, plan for abandonment, in any case, you must do this. 11.7 "Developers delivery is the degree of satisfaction of users, not just actual products." (COSGROVE) 11.8 The actual needs of users and user feelings will change with the construction, testing and use of the program. 11.9 The features and invisibility of software products are easy to master, resulting in its constructors (especially easy) facing eternal demand changes. 11.10 Some normal changes in the target (and development strategy) are unavoidable. In advance, prepare for them, which is better than suppose they don't have much better. 11.11 To change the technology, especially meticulous module interface documentation - very widely known, there is no practical practice. It is also helpful to use table drive technology as much as possible. Now the cost and size of memory make this technology becomes more and more. ] 11.12 Advanced language use, compile operation, by reference declaration and self-document technology can reduce the error caused by changes. 11.13 Using a good digital version will change the quantum (stage). Today's Standard Practice. ] For the Change Plan Organization Architecture 11.14 Programmer is not willing to design a written document, not only because of inertia. More is from the designer's 踌躇-to argue to the designs decisions for yourself. (COSGROVE) 11.15 is more difficult to change the design team for change. 11.16 As long as the talents of managers and technical talents are allowed, the boss must have great attention to their ability to cultivate them, so that managers and technical talents are interchangeable; especially hope to freely distribute people between technology and management roles. when.
11.17 High-efficiency organization with two promotion lines has some social obstacles, and people must be vigilant and actively struggle with it. 11.18 It is easy to establish a consistent salary level for different promotion lines, but it is necessary to have some strong psychological measures: the same office, the same support and technical transfer priority compensation. 11.19 Grouping Surgical Team Software Development Team is a thorough impact on all aspects of the above issues. For flexible organization architecture issues, this is indeed a long-term effective solution. Step two steps, then back one step - program maintenance 11.20 Program maintenance is basically different from hardware maintenance; it is mainly composed of various changes, such as repair design defects, new features, or use environments or configuration transformations. 11.21 For a widely used procedure, its maintenance cost is usually 40% or more of the development cost. 11.22 Maintenance costs are seriously affected by the number of users. The more users, the more errors found. 11.23 CAMPBELL pointed out a fun curve showing the monthly bug number in the product life, which is first dropped first, then climbed. 11.24 Defect Restoration will introduce new bugs at the rate of (20-50)%. 11.25 After each repair, you must re-run all previous test cases to ensure that the system will not be destroyed in a more concealed manner. 11.26 Can eliminate, at least the programming method that can specify side effects, which has a big impact on maintenance costs. 11.27, the less staff, the less the interface, the less the incorrect generation, the less the resulting error. Further, after a back-step - system entropy increases 11.28 Lehman and Beelady discovery module number with a large number of operating systems (OS / 360) version numbers increase, but the impact of the module has increased at the version number index. 11.29 All modifications tend to destroy the architecture of the system and increase the degree of chaos of the system. Even the most skilled software maintenance work, but only slow down the system degraded to the process of not repairing chaos, and must be re-designed. [Many programs upgrades real needs, such as performance, etc., especially for its internal structure boundaries. The shortcomings caused by the original boundaries often appear in the future. ] Chapter 12, Deliver Mo Jie 12.1 Project Manager should formulate a strategy, as well as the development of resources for universal tools, while he must also realize the needs of professional tools. 12.2 Development of the team needs its own target machine to make debugging and development work. Compared to the fastest speed, it needs to maximize memory, and one system programmer is required to ensure that standard software on the machine is instant update and real-time. 12.3 At the same time, it also needs to be equipped with debug machine or software so that all types of program parameters can be automatically counted and measured during debugging. 12.4 The demand for the use of the target machine is a special curve: the starting use rate is very low, and suddenly emerged, it tends to be gentle. 12.5 Like astronomical workers, system debugging is always mostly completed at night. 12.6 Through the theory, do not talk, the continuous target time block allocated to a group is proved to be the best arrangement method, more effective than the use of different groups. 12.7 Despite the continuous changes in technology, this method of using time blocks is still renewed for 20 years [in 1975] because it has the highest productivity. [In 1995] 12.8 If the target machine is a new product, a logical simulation device for a target machine is required. In this way, the auxiliary debug platform can be obtained more quickly. Even after the real machine appears, the simulation device can still provide a reliable debug platform. 12.9 The main sequence should be divided into (1) a series of independent private development libraries; (2) The system integrated sub-library under the system test; (3) Release version.
The formal separation and progress provided control. 12.10 In the program of the program, the tool saving the maximum workload may be a text editing system. 12.11 The huge capacity in the system document brings new disintegration [for example, look at Unix], but it is more desirable than that of most shortcomings that describe programming system features than most. 12.12 Since the top down, a performance simulation device is thoroughly developed. Start this work as soon as possible, listen carefully to "their opinions". Advanced Language 12.13 Only lazy and inert will hinder the extensive application of advanced language and interactive programming. [Today they have been used worldwide. ] 12.14 Advanced languages not only improve productivity, but also improved debugging: BUG is less, and easier to find. 12.15 Traditional objections - functions, target code size, speed of target code, progress of language and compiler technology is no longer a problem. 12.16 The language now available is PL / I. No longer correct. ] Interactive programming 12.17 Some applications, batch systems will never be replaced by the interactive system. Still established. ] 12.18 Debug is a very slow and difficult part in the system programming, while long debugging time is the rebirth of debugging. 12.19 Limited data indicates that the system software development, the productivity of interactive programming is at least twice the productivity. Chapter 13 Overall Some 13.1 Articles 4, 5, 6 The painful worry, detailed architectural work not only makes it easier to use, but also makes development easier and BUG is not easy to produce. 13.2 v.a.vysky, "Make a lot of failures are completely placed from those products that have not been exactly defined." 13.3 Before writing any code, the specification must be submitted to the test team to check the integrity and clearness of the description. Developers will not complete this job. (Vysotsky) 13.4 "Ten years [1965 ~ 1975], Wirth is designed to design [step-by-step] will be the most important new formal software development method." 13.5 Wirth advocated in each step, It is possible to use a higher level of expression. 13.6 Good top-down design avoids bugs from four aspects. 13.7 Sometimes it must be retired, overturned the top design, and start again. 13.8 Structured Programming, the control structure of the program consists only of a given collection of the dominant code block (relative to any jump). This method excellent avoidance is a correct way to think. 13.9 GOLD results show that during the interactive debugging process, the progressive progress made in the first interaction is three times the follow-up interaction. This actually benefits to carefully debug the plan before debugging. I think it is in 1995. ] 13.10 I found that the correct use of a good terminal system often requires a two-hour terminal session works in two hours of desktop: 1 hour session clean and documentation; 1 hour is the next plan change and test. 13.11 System debugging (relative to unit test) The time spent is longer than expected. 13.12 The difficulty of system debugging proves that there is a need for a systematic and planned approach. 13.13 System debugging should only begin after all components can be operated. (This is different from the method of trying "with a try" in order to find the interface bug; it is also different from the BUG of all component units, but not repaired, that is, the system debugging is started.) [For This is especially true of multiple teams. ] 13.14 Developing a large number of auxiliary debugging platforms (SCAFFOLDING scaffolding) and test code are worthwhile, and the amount of code may even have half of the test object. 13.15 There must be some people to control and document changes, and team members should use the various controlled copies of the development library to work. 13.16 During the system test, only one component is added at a time.
13.17 Lehman and Beelady show evidence that the stage of change (quantum) is either large, the interval is wide; either small and frequent. The latter is easy to become unstable. [A team of Microsoft uses a very small stage (quantum). The result is a system that needs to be recompiled to generate growth every night. ] The 14th chair, the birting 14.1 "How does the project have delayed a whole year? One day." 14.2 Day a day after the progress of major disasters, more difficult to identify, not easy to prevent and more difficult to make up. 14.3 According to a strict schedule, the first step of controlling the project is to develop a progress table, schedule consisting of milestones and date. 14.4 Milestones must be specific, specific, measurable events, can clearly define. 14.5 If the milestone is defined very clear, the programmer rarely seizes the milestone when it is unable to deceive the milestone. 14.6 For the estimated behavior in large-scale development projects, the study of government contractors showed that the time estimation of the careful revision every two weeks, with the beginning of the start time, there will be too much change during the period. Over-high estimation, will continue with the continued decline in activities; too low estimation until about three weeks ago before the end date of the plan, it will change. 14.7 Chronic progress deviation is the morale killer. [Microsoft Jim McCarthy said: "If you miss a deadline, make sure to develop a next deadline.2"] 14.8 into the outstanding software development team, like excellent baseball team, is an indispensable morality . 14.9 There is no substitute for key pathial progress, so that people can identify the case where the plan offset is discounted. 14.10 Preparation of Pert is the most valuable part of the PERT diagram. It includes an expansion of the entire mesh structure, identification of dependencies between tasks, estimates of each task chain. These are required to conduct a very professional plan in the early stage of the project. 14.11 The first PERT chart is always terrible, but people are always working hard, using talents to formulate the next PERT chart. 14.12 PERT chart shows the exudation of the previous discharge, "other parts will be backward", providing answers. 14.13 Each boss also needs an abnormal information of action and status data for analysis and early warning. 14.14 Get of state is difficult because the subordinate manager has a sufficient reason not to provide information sharing. 14.15 The adverse reactions of the boss will definitely suppress the complete public disclosure of information; instead, carefully distinguish the status report, there is no panicked to receive reports, but it is not more than a drafting. 14.16 There must be a mechanism for review, so that all members can understand the real state. For this purpose, the milestone plan and completion document are key. 14.17 Vysotsky: I found the date of "the Date of the Board" and "Date of the Board" in the milestone report. The project manager must stop suspicion of these dates. "14.18 For large projects, the Plan and Control group maintained by milestone reports is very valuable. Chapter 15, another side 15.1 For software programming products, the procedure is provided to the user's appearance The content of machine identification is equally important. 15.2 Even for programs that are fully developed to themselves, the descriptive text is also necessary, because they will be subject to users - the author's forgotten. 15.3 training and managers have basically not successfully instilled to programmers. Active attitude towards documents can promote incentive effects on overcoming lazy and progress throughout the life cycle. 15.4 This failure is not because it lacks enthusiasm or persuasive, but not to correctly show how effective and Economically preparing documents. 15.5 Most documents only provide few summary content. It must be slowed down and proceed.
15.6 Because of the key user documentation contains basic decisions related to software, most of it needs to write before programming, which includes 9 items (see the corresponding chapter). 15.7 Published Program Copy should include some test cases, part of which is used to verify input data, part of the boundary input data, and another part for invalid input data. 15.8 For those who must modify the program, they need the internal structural documentation of the program, which requires a clear outline that includes 5 items (see the corresponding chapter). 15.9 The flowchart is a program document that is blown most. The flowchart recorded in detail is a more annoying thing, and the appearance of advanced languages makes it out of time. (The flow chart is a graphical advanced language.) 15.10 If this is, there are very few procedures to require a flow chart above. [At this point, MILSPEC military standards are really wrong. ] 15.11 Even if a program structure is required, it does not need to follow the ANSI's flowchart standard. 15.12 In order to make the document easy to maintain, they are critical to the source program, rather than saving as a stand-alone document. 15.13 Minimizing document burden 3 key ideas: Without the statements that must exist, such as names and declarations, to attach as many documents information. Use spaces and formats to express the dependence and nested relationships, improve program readability. Insert the necessary narrative text into the program in the form of paragraph annotation, especially module title. 15.14 Program modification of the documentation used by the personnel, in addition to the description, why should it be explained? For deepening understanding, the purpose is very critical, but even the grammar of the advanced language is not expressed. 15.15 In the high-level language of the online system (the tools you should use), self-text file discover its excellent application and powerful functions. Original Conclusion E.1 Software System may be the most cost-effective thing in humans (depart from the number of different types of components). E.2 Software Engineering Toflight will continue to make people struggle for a long time for a long time in the future.