The software play an important role in modern society, and our work and life more and more rely on the service of software system. But it is a difficult task to develop a software system, so the requirement of high quality software exceed what we can get. The most serious problem is the quality of software, and the damage caused by poor software increasing continually.So the research about how to improve the quality of software is more and more important. People now accept the idea that the quality of software product is greatly governed by the quality of process which produce and maintain it. So improve the quality of process is the only way to improve the quality of software. The process-centered management include process definition,process execution,process measurement and process improvement. The process definition is the foundation of other process activities. But it is an very difficult task to define a process, it needs lots of resource and long time. At the same time, the processes for different software product are quite different from each other, so we must define a distinct process for every development of software system. Because of the difficulty of process definition, lots of organizations quit the process-centered management.It is very important to increase the efficiency of software process definition in order to establish a process-centered environment. Reuse is regarded as an important way to increasing the efficiency and quality of software process definition, and though lots of researches have been carried out for software reuse, there are few researches about software process reuse. The main reason is the variety and complicity of software process, which make it very difficult to be reused. Though there are several methods to reuse the software process, such as tailor and reuse the standard process, reuse the exist process for other project and the experience of developers, they all can not solve the problem.We refer to some idea of software reuse and point out that in order to reuse the software process, first we must have software process components which can be reused, then the query mechanism must be afforded to get the desired process components. The previous researches point out that in order to reuse the software process, the problems of separation of details in process modelling, level of detail, abstraction mechanism, searchcriteria for process elements and mechanisms to ensure the correct reuse of retrieved elements must be resolved. This dissertation is mainly focused on these problems, the main contributions are as follows:1. By analyzing the software process structure, activity structure and relation of activities deeply, we get the different elements of process and activities. Then we analyze the kinds of sub-process,and take the subprocess as the method of dividing the complicated process. And the top-down division and bottom-up confusion methods are given at last.2. According to the problem of traditional standard process only one abstract layer, which make it hard to tailor the standard process, we put forward the method of supply different standard processes which have same function and different abstract layer, and use inherit to simple the task of different standard process definition. We select several facets from the macro and micro view to describe the process.3. The description logic is selected to describe the standard process. And men the knowledge base is constructed as the the method of standard process definition and maintenance.4. Discuss the method of process definition by reusing the standard process definition in knowledge base. The we take the extended ECA rule to describe the complicated relations of activities.5. According to the problem of our country's software organizations do not have the capability to carry out all-sided process improvement. We first extended the definition of software process improvement. The we analyze the kinds of software process improvement. At last we give a reuse-based process improvement method. |