System analyst preparations CMM articles

xiaoxiao2021-03-06  41

Pillage: CMM theory and knowledge is a hot spot in recent years. In the last two years of system analysts, there is a question in the morning test paper, generally 3-5 points. It is estimated that the future system analyst exam will have this exam question. Even if we don't test, our system analyst should also master this knowledge, because the future systematic analysis and design work is also inseparable from CMM theory and knowledge, because even if our company does not go to CMM evaluation, CMM theory Knowledge has a certain significance for our continuous software process improvement, thereby helping to improve software quality, and then enhance the market competitiveness of company products.

Abstract: This article is an article on CMM's basics of CMM in accordance with CMM knowledge in the two-year test questions. The main content is the basic concept of CMM, the basic framework of CMM and the correct attitude of CMM. I hope this article will help you, thank you.

Key words: system analyst part tutoring CMM software capability maturity model

CMM (Capability Marurity Model, Software Ability Maturity Model) is a non-profit organization established by the US Congress and the United States and the United States and the research center - Software Engineering Institute (SEI) An early research results. The model provides a framework for software engineering results and management methods. Since its in the 1990s, it has been successfully applied in North America, Europe and Japan. This model now has become an in fact software process improvement industry standard. Let's take some basic knowledge about CMM together.

First, cmm basic concept

Process: A series of steps [IEEE-STD-610] to achieve a decentralized operation [IEEE-STD-610].

Software Process: Refers to a range of activities, methods, time, and innovations for the development and maintenance of software and related products. The related products refer to the project plan, design document, code, test, and user manual. When a company is gradually moving mature, the definition of software process will also be increasing, and the implementation of the process within its business will be more consistent.

Software Process Capability: Describes the boundaries range of the expected results that can be obtained after following a software process. This indicator is a measure of the ability to use it to predict a organization (enterprise) that can expect the most probable results that can be expected when the next software item is taken.

Software Process Performance: Indicates the actual results obtained after following a software process. (Difference with software process, software process capacity is concerned about the actual results, while software process performance is concerned about the results of the expected result. Due to the difference in project requirements and objective environment, software process performance is impossible to fully react the overall reaction software process Ability, that is, software process can be limited to its environment.)

Software Process Maturity: means a specific software process is clearly defined, managed, evaluated, controlled, and generates the degree of effectiveness. The so-called maturity contains a growth potential of the ability, and also shows the actual level of the organization (enterprise) implementation software. With the continuous improvement of the maturity of the organization software process, the organization's internal process is through the standardization of the process and the technical training for members, and the software process will also be paid attention to and constantly revised by his users. Thereby so that the quality, productivity and production cycle of the software are improved.

CMM is a referred to as the Capacity Maturity Model. It is the model of Carnegie-Mellon University Software Engineering Research Institute to meet the US federal government assessing software supplier capacity, in 1986, research, and The CMM version 1.0 was officially launched in 1991. CMM has received much attention since the admission, has been widely used in some developed countries and regions, and has become an important reference factor and software process improvement in software companies and software process improvement in industrial standards. CMMI (Capability Maturity Model Integration) is integrated with the ability to maturity, which is also an idea of ​​the US Department of Defense. They want to integrate all the ability to maturity now and will be developed into a framework. This framework has two functions, first, software acquisition methods reform; second, establish a process improvement from the perspective of integrated products and process development, including improved system development principles.

Key Process Area refers to a series of interrelated operational activities that reflect the conditions that must be met when a software organization improves software processes. That is, the critical process domain identifies the conditions that must be met when a certain maturity level is reached. There are 18 key process domains in CMM, distributed in the second to five.

Key Practices: refers to some major practical activities of the key process domain. Each key process domain is ultimately composed of key practice, and achieves the goals of critical process are achieved by implementing these key practices. Under normal circumstances, key practice describes the "what", but there is no provision "how" to reach these goals.

Software Process Assessment is used to determine the capacity state of the software process currently involved in an organization. It is judged that the next organization is facing a higher level, and the software process related topics, and the use of organization's support Effective improvements to the software process of the organization.

Software Capability Apprais is used to determine software organizations that are intentionally assumed to be a software organization, or whether it is determined whether the state of the software process is correct or is normal.

Software Engineering Group: Responsible for a project for software development and maintenance of activities. Activities include demand analysis, design, coding, and testing.

Software Related Groups: Represents a group of software engineering subjects, it supports but not directly responsible for software development or maintenance, such as software quality assurance groups, software configuration management combined software engineering process groups, etc. In CMM's key practice, software-related groups should usually be understood based on the context of key process areas and organizations.

Software Engineering Process Group: The group consisting of experts, and they promote the definition, maintenance and improvement of the software process adopted by the organization. In key practice, this organization usually refers to "group responsible for organizing software process activities".

System Engineering Group: It is a group responsible for the following work: Analyzing system requirements; assign system requirements to hardware, software, and other components; the interface of hardware, software, and other ingredients; monitoring these components Develop to ensure they meet their specifications.

System Test Group: It is some group responsible for planning and completing independent software system testing, the purpose of testing is to determine if software products meet the needs of it. Software Quality Assurance Group: It is a group planned and implements the quality assurance of the project. Its work is to ensure that the steps of the software process and the standard are complied.

Software Configuration Management Group: It is a group responsible for planning, coordinating, and implementing a formal configuration activity of a software project.

Training group: It is some group responsible for coordinating and arrangeing an organization training. Usually this organization is responsible for preparing and teaching most training courses and coordinating other training methods.

Second, CMM basic framework

Any software development, maintenance and software organization's development is inseparable from the software process, and the software process has experienced immature to maturity, not perfect to improve the development process. It can be successful in one night, and it is necessary to continue to improve the software process to achieve the final results. CMM is designed according to this guiding ideology. This model creates an improved framework that can effectively describe and representation of software processes to effectively describe and representation of the tasks and management of each stage software process. Based on the concept of product quality and software engineering, guiding how companies control the development, maintaining software production processes and how to develop a set of software processes and management systems.

(1), grading standard

The CMM model describes and analyzes the degree of development of software process capabilities, establishes a grading standard with a mature level of software process, as shown in Figure 1. On the one hand, software organizations use it to assess their current process maturity, and to present strict software quality standards and process improvement methods and strategies, and achieve higher maturity through constant efforts. On the other hand, this standard can also be used as a evaluation criterion for software organizations, making it no longer blind and unaffected when choosing a software developer.

Figure 1 Level of software process maturity

The classification structure of the CMM can be described as:

1, the initial level: the software process is characterized by no order, sometimes even confused. The software process definition is almost in the state of non-charter and step, and the success of software products often depends on the efforts and opportunities of the extremes.

2, repeatable: The basic project management process has been established, which can be used to track costs, progress and functional characteristics. For similar application projects, there is a successful success in the past.

3, defined: the software processes used for management and engineering have been filed, standardized, and formulated the standard software process for the entire software organization. All items are operated by appropriately modified standard software processes with actual conditions.

4, with the management level: software process and product quality have detailed metrics. Software process and product quality have been quantitatively understanding and control.

5, optimization level: By quantitative analysis of various useful information from the process, new concepts and new technologies, the promotion process can be continuously improved.

In addition to the first level, each level sets a set of targets. If this group of goals have been reached, it indicates that this maturity level can naturally be moved downward. The CMM system does not advocate cross-level evolution. Because from the second level, each low-level implementation is the basis for high-level implementation.

(2) The main content of CMM

CMM provides a stepped evolutionary framework for software companies, which use layers to explain components, as shown in Figure 2. In the second to fifth maturity level, each level includes a concept of an internal structure, and is performed in a column of the internal structure of the following CMM in detail.

Figure 2 Five maturity levels of CMM

There is a specific improvement plan in the process of advancement of the first level, and the specific situation is as follows. The improvement direction of the initial grade is to establish project process management, which is the commitment of standardized management, guaranteeing projects; to carry out demand management, establish communication between user domain software projects, so that the project truly reflects the needs of users; Software projects are almost, such as software development plans, software quality assurance plans, software configuration management plans, software test plans, risk management plans and passenger improvements, etc., actively carry out software quality assurance activities (SQA).

The reascurable direction is: no longer set a software process according to the project, but sum up the successful experience of various projects, make the rules, summarize the specific experience, the standard software process of the rights organization, and improve the overall software of the software organization The software process activity of the process capability is the responsibility of the software development organization; determines the standard software process of the whole organization, integrating software engineering and management activities into a stable determined software process, so that the software process can be improved across the project. Software process tailoring the foundation; establishing a software engineering process group (SPEG) long-term assignment to assess the task of adjusting the software process to adapt to future software projects; accumulating data, establishing an organization's software process library and software process related documents; strengthen training .

The defined improvement direction is: the quantitative analysis of the software process has reached the effect of quantitative control of the software project process; the quality management of software has reached the goal of software quality.

The improved direction of the managed level is: preventing defects, not only improves problems, but also adopt specific actions to prevent such defects in the future; the technological reform management, identification, selection and evaluation of new technologies are effective new Techniques can be implemented in development organizations; process change management, the purpose of defining process improvements, often continuously performing process improvement.

The optimization level improvement is: maintaining a continuous software process improvement.

(3) internal structure of CMM

CMM provides an improved approach for the improvement of software process capabilities. CMM consists of five maturity levels, each of which has its own functions. In addition to the first level, each stage of the CMM is composed of exactly the same internal structure, as shown in Figure 3. The maturity level is top, and the different maturity level reflects the software organization's software process capability and the level of the organization to achieve the expected results.

Figure 3 Interior structure of CMM

In CMM, each maturity level (except the first level) specifies a different key process domain, and a software organization must fully meet the requirements specified in the critical process domain if it is desired to reach a maturity level. The goal of ancient city domain. See Table 1 for details on the critical process domain of each stage.

Table 1 Classification of key processes

(4) Software process assessment and software ability evaluation

The software process assessment is directed to the improvement problem of software organizational itself, the purpose is to make improvements in the direction of defects. The evaluation group uses the CMM model to guide the problem, identify the problem in the software process, and turn these problems with the guidance proposed by the CMM key practice activities to determine the organization's software process improvement strategy.

Software ability evaluation is to accept the ability to accomplish the specific project under certain conditions, which will be responsible for accepting the evaluator. The evaluation includes whether the contractor has the ability to develop software products as planned, whether it can be completed according to budget. By using the CMM model to determine the evaluation results, these results can be utilized to determine the risk of selecting a contractor. It can also be used to determine the processes of the contractor and promote their love software process.

CMM provides a reference frame for assessment and evaluation, pointing out the Buddha's infarquency steps usually used in assessment and evaluation, as shown in Figure 4.

Steps Figure 4 Software Process Assessment and Software Ability Evaluation

Specifically, the evaluation process is: select a working group; complete the questionnaire survey and sampling work; results analysis; on-site access; and CMM model control analysis; assessment outline is listed in the basic situation of key process. The above steps have a reference value for software process assessment and software capability evaluation questions, but the following characteristics are also worth considering in terms of specific operation: 1, in on-site access and investigation, fully utilize maturity questionnaires and results analysis .

2, as a CMM model as a road map for on-site investigation.

3, the advantages and defects in the software process are used to define the advantages and defects in the software process.

4, starting from the actual situation of the key process area, analyzes satisfactory, writing written reports.

Although software process assessment and software ability evaluation have a lot of similarities, due to their purpose and results, the differences between them are inevitable, such as:

1. Software process assessment and software ability evaluation differ in the starting point and goals, making it in the same way, the scope of investigation, the information collected, and the output of the output is essentially different. Especially in some detail specifications, the methods for assessing and evaluating have great differences.

2, the results of software process assessment and software capability evaluation are different. Because the side of the two is different, even if it is the same application item, the same method is used, and the same results will not be obtained.

3, the attitude of evaluating and evaluating units on assessment and evaluation activities. Assessing the attitude of the assessment unit being evaluated in a sense, the attitude of evaluating the evaluation unit in a sense may be careful. Software Process Assessment is conducted in an open, mutually collaborative environment, while software ability evaluation is often carried out in a large-resistance environment.

(5) Organization of CMM

When people face CMM implementation, it is first thought that the composition of the person and the division of various groups. It is an organization that implements CMM, is the basis of all activities. CMM is in the development of software processes in the implementation of the principle that is not associated with specific organizational institutions and organizational forms, which provides a model framework that is independent of specific companies and extensive guiding significance. However, in implementing a variety of software key practices, it is inevitable to involve role and organizational structure. Therefore, in order to enable CMM to use various levels of the domain, SEI propose a relatively abstract organizational structure, which is associated with organization, project, person (role), has its own specific terms, and may be different from Nouns used in other organizations. For example, the concept of the main software working group mentioned in the basic concept.

Third, the correct attitude looks at CMM

SEI's CMM is not a methodology of software development, nor is the product template, and is not a process law. CMM is a way of process improvement. It is a guide to help you create and purify development environments through continuous repetitive, measurement and refining. The assumption of CMM is: If you implement an outline that continues to repeat, measure and refine, as an environmentally improved by-product, the quality will naturally improve. Don't give CMM as a set of rules, but it should be understood as a discipline, the general method of doing things. Under this guide, you will find that there is a vast space, let you cut and shape your own outline to adapt to the specific requirements of the organization.

CMM does not adopt the style of "doing this kind of thing in this way", which does not provide a fast correction scheme with IT organizations of the problem. CMM is a compass that guides how you escape from the snow. CMM is an outline that requires you to make a firm, long-term implementation commitment from the relevant parts of the entire IT organization, from high-level leaders to software production. The process of mature cannot be implemented between it is already.

It allows for great flexibility when explaining CMM recommendations. CMM realized that there is a big difference between IT organizations. Different customers are different, the tools are different, and those who are intelligent and professional, the projects are different types, and the size is different, and the requirements are different. Thus, they should be mature in their own way. At a live thing, there is no need to apply in another. This is very important. The former car of some software companies in China has also given us proposals and lessons to some extent, that is, to flexibly apply CMM, do not fantasize. summary

This article is only based on these two-year test questions and its own forecasts to provide some CMM knowledge. CMM is not a focus, but it may also be taken to some knowledge, such as basic concepts. When I collected the information and organized an article, I met a contradiction, that is: I have to provide enough information to make readers don't have to spend money and buy a book. You can review the knowledge about CMM, while you can't let too The more content makes the reader waste too much time above. Finally, a compromise is taken, that is to reduce the segmentation in the case of meeting the demand. In this statement, the contents involved in this article are only my forecasts, not that the exam range does not exceed the content of this article. So a friend who has time is still as good as possible. I hope this article is helpful to you, thank you.

转载请注明原文地址:https://www.9cbs.com/read-55101.html

New Post(0)