The net chamber foundation is not allowed. It is strictly forbidden to reprint this column This paper has been made from the Software Engineering Expert Network www.21cmm.com. Do not reprint without CBS license, thank you for your cooperation clean room theory foundation from mathematics. Harlan Mills is keen to see computer programs to perform a mathematical function, thus establishing a suitable scientific foundation for software development. In his early papers "Structured Program Design Mathematical Basis", "New Mathematics" of Computer Program Design "and" How to Write and Understand Program ", explain the theory of software development based on mathematics. Mills also establishes the corresponding scientific foundation in terms of software testing, that is, software test is just a sample extracted from infinitely possible use. His early papers, such as the statistical verification of computer programs, "Applied to software certification. The scientific foundation of the software proposed by the software proposed by the software makes the clean room software engineering a true engineering department. Readers who are interested in the basic idea of Mills, From 1988 related publications and early thesis of Mills (published by Dorset House) (published by Dorset House) (published by Dorset House) (published by Dorset House). The theory of function Theory is based on function theory in mathematics. A function is defined A message from the definition domain to the value domain, define each element in the domain to find the unique element in the value domain. A specific program seems to define a defined domain (the program is possible in the program. Collection) to the value domain (all of the output sets of outputs). Such a program is a specification of a function, describing a domain (or input sequence) to the value domain (or output space) mapping One definition clear function has the following characteristics: completeness, consistency, and correctness. Because a program specification describes a function, it must be complete, consistent, and correct. (1) Mathematics The completeness requires that there is at least one element in the defined domain. That is, each possible input must be defined, and there is an output and corresponding. (2) Mathematical consistency The maximum element in the value domain is required to correspond to the same element in the defined domain, that is, each input can only correspond to one output. (3) Judging the domain expert with respect to the requirements of the demand. However, for one The correctness of a given, a design and the correctness of a specification are proven by a functional theory. Linger, Mills, and HEVNER (1986) proposed by the box structure of the clearance software development Methods of applying math function theory to software development by linger, mills and witt (1997). Based on three functional forms: black box, state box and bright box. Statistical theory clean room test method based on Statistics. The statistics of the past few decades have been widely successful in the project. When the samples are not tested from the economy, statistical sampling methods can be used. If the statistics have not met the quality goals, The production process needs to be adjusted. This feedback cycle from product metrics to production processes is widely used in the production process. How to apply this method for software? In the manufacturing industry, Statistics are in the tangible changes of the products; in some processing, such as parcel delivery, statistics on the deviation of mathematical cards expected, how is the statistics in software? In the software, all the whole (Population) is a collection of all possible uses in which each element is produced. A possible operation of the table system. The purpose of statistics is to measure the ability of the system to run a sample correctly. Because the overall is unlimited, complete testing is impossible, so you must use the statistical approach to make a valid reasoning for the system.
The testing process will only be extended in all possible input sequences, only a small collection of test activities can only be sampled in unlimited overalls. In the clean room software engineering, the statistical test can be used in product detection (the result of the loop of the single development process), or the result of process detection (multi-development process loop). The net chamber uses an iterative process of incremental development, which can measure and improve the consistency of operation. The Work Corporation Development Team of the Correte Group completed three main tasks: formulating system specifications, development and certification. The development team is usually small, consisting of 3 to 8 people, which reduces coordination and simplification. There is a team leader in the group. Depending on the responsibility and progress priority of the entire group, the task is distributed and coordinated in the group. For the group scale project, a group is sufficient. In this case, the group completed the normative development, development and certification in different stages of development. For medium-sized projects, a Team-of-Teams method may be required. An initial group is usually composed of some most experienced people. They specify and define the structure of the system, develop and authenticate one or two increments, and set specification for the subsystem. Then, the member of the initial team is developed and certified by the group of each subsystem. In order to adapt to user demand variations or changes in system hierarchy, the initial team may be reorganized after a period of time (1 day or one month or longer). For large-scale systems, the method is necessary and may designate the specification group, the development group, and the authentication group. Therefore, three initial groups should be formed, a group formulated system specification, a group development initial increment, and a group authentication. The members of these groups have led a specific group at the subsystem level. No matter what organization, all team members should receive clean room technology training. This training can be carried out under the guidance of experienced group leaders. The review is an important task of the CNC team. Each product has experienced multiple reviews from the initial concept to the final formation. There are two reviews. A focus called development review, development review focuses on technical strategies, good ideas, and group training and communication. For example, a group member can convene people to comment on the focus of only one or two-page program discussions is the strategy for control and initial data structures, and the plan is waiting. Then the best idea is produced, which may result in the next development review, and a 5-page paper program. The initial development comments may be short, often only about half an hour, but with the evolution of the product, the time of comments will continue to increase. A product may have to experience many review reviews. At a successful review meeting, efficiency and time saving through accumulated knowledge exchange. This makes it more familiar with the product as the review is carried out. The final product will be a crystallization of all members of the group. The simplification of all working products is one of the significant goals of the group review. The initial idea is almost not the best, so a key goal of the review is to find better ideas in norm, design and verification. For example, a better idea can replace the design of the original 5000 rows of design. Verify (or maintenance) 1000 lines of code is much easier than 5000 lines. Redesiting almost always an effective strategy for simplified or better ideas. The identification and reuse of the classification structure often results in simplification, this structure verifies once, can be reused forever. The second judgment is called the verification review. This review passes the formal method to verify the correctness and completeness of the work product, which is usually carried out in this way, and the designer lists the reason to meet the correctness of the function based on the verbal way. The panel checks each condition in order, and there is no case where there is any objection. Any modification must be re-verified by subsequent review. A work product is considered correct and complete if there is no change in the validation review. From this point, the entire group has sovereignty for work products, with any subsequent errors, should be taken by the group. In previous development reviews, each participant is familiar with the structure and content of the verified product, so the efficiency is guaranteed in the examination review.