This research recognizes the limitation and challenges of adaptingand applying Process Mining as a powerful tool and technique in theHypothetical Software Architecture (SA) Evaluation Framework with thefeatures and fa...This research recognizes the limitation and challenges of adaptingand applying Process Mining as a powerful tool and technique in theHypothetical Software Architecture (SA) Evaluation Framework with thefeatures and factors of lightweightness. Process mining deals with the largescalecomplexity of security and performance analysis, which are the goalsof SA evaluation frameworks. As a result of these conjectures, all ProcessMining researches in the realm of SA are thoroughly reviewed, and ninechallenges for Process Mining Adaption are recognized. Process mining isembedded in the framework and to boost the quality of the SA model forfurther analysis, the framework nominates architectural discovery algorithmsFlower, Alpha, Integer Linear Programming (ILP), Heuristic, and Inductiveand compares them vs. twelve quality criteria. Finally, the framework’s testingon three case studies approves the feasibility of applying process mining toarchitectural evaluation. The extraction of the SA model is also done by thebest model discovery algorithm, which is selected by intensive benchmarkingin this research. This research presents case studies of SA in service-oriented,Pipe and Filter, and component-based styles, modeled and simulated byHierarchical Colored Petri Net techniques based on the cases’ documentation.Processminingwithin this framework dealswith the system’s log files obtainedfrom SA simulation. Applying process mining is challenging, especially for aSA evaluation framework, as it has not been done yet. The research recognizesthe problems of process mining adaption to a hypothetical lightweightSA evaluation framework and addresses these problems during the solutiondevelopment.展开更多
Software projects influenced by many human factors generate various risks. In order to develop highly quality software, it is important to respond to these risks reasonably and promptly. In addition, it is not easy fo...Software projects influenced by many human factors generate various risks. In order to develop highly quality software, it is important to respond to these risks reasonably and promptly. In addition, it is not easy for project managers to deal with these risks completely. Therefore, it is essential to manage the process quality by promoting activities of process monitoring and design quality assessment. In this paper, we discuss statistical data analysis for actual project management activities in process monitoring and design quality assessment, and analyze the effects for these software process improvement quantitatively by applying the methods of multivariate analysis. Then, we show how process factors affect the management measures of QCD (Quality, Cost, Delivery) by applying the multiple regression analyses to observed process monitoring data. Further, we quantitatively evaluate the effect by performing design quality assessment based on the principal component analysis and the factor analysis. As a result of analysis, we show that the design quality assessment activities are so effective for software process improvement. Further, based on the result of quantitative project assessment, we discuss the usefulness of process monitoring progress assessment by using a software reliability growth model. This result may enable us to give a useful quantitative measure of product release determination.展开更多
Reflection mechanism for reuse software architecture (RMRSA) divides a software architecture into base-level architecture and meta-level architecture logically. Base-level architecture is the ordinary architecture; ...Reflection mechanism for reuse software architecture (RMRSA) divides a software architecture into base-level architecture and meta-level architecture logically. Base-level architecture is the ordinary architecture; meta-level represents and manipulates the reusable meta-information of base-level architecture explicitly. Through reflection, the modification of meta-level architecture will result in the modification of the architecture in base-level. Then we can gain a new base-level architecture design. In this paper, we use π-calculus to define the constituents and their interaction processes of RMRSA, by these definition, we specify the business function in base-level at runtime, and illustrate the reflection mechanism between the base-level architecture and meta-level architecture.展开更多
In this paper, we discuss agile software process improvement in P company with their description of process management in current level and analysis of problems, design the P Company success factors model in organizat...In this paper, we discuss agile software process improvement in P company with their description of process management in current level and analysis of problems, design the P Company success factors model in organizational culture, systems, products, customers, markets, leadership, technology and other key dimensions, which is verified through questionnaire in P company. In the end, we apply knowledge creation theory to analyze the open source software community with successful application of the typical agile software method, propose ten principles of knowledge creation in open source software community: Self-organizing, Code sharing, Adaptation, Usability, Sustention, Talent, Interaction, Collaboration, Happiness, and Democracy.展开更多
Knowledge transfer model of software process improvement (SPI) and the conceptual framework of influencing factors are established. The model includes five elements which are knowledge of transfer, sources of knowledg...Knowledge transfer model of software process improvement (SPI) and the conceptual framework of influencing factors are established. The model includes five elements which are knowledge of transfer, sources of knowledge, recipients of knowledge, relationship of transfer parties, and the environment of transfer. The conceptual framework includes ten key factors which are ambiguity, systematism, transfer willingness, capacity of impartation, capacity of absorption, incen-tive mechanism, culture, technical support, trust and knowledge distance. The research hypothesis is put forward. Em-pirical study concludes that the trust relationship among SPI staffs has the greatest influence on knowledge transfer, and organizational incentive mechanism can produce positive effect to knowledge transfer of SPI. Finally, some sug-gestions are put forward to improve the knowledge transfer of SPI: establishing a rational incentive mechanism, exe-cuting some necessary training to transfer parties and using software benchmarking.展开更多
This research develops a knowledge model for Software Process Improvement (SPI) project based on knowledge creation theory and its twenty-four measurement items, and proposes two hypothesizes about the interaction of ...This research develops a knowledge model for Software Process Improvement (SPI) project based on knowledge creation theory and its twenty-four measurement items, and proposes two hypothesizes about the interaction of explicit knowledge and tacit knowledge in SPI. Eleven factors are extracted through statistical analysis. Three knowledge-creation practices for capturing tacit knowledge contribute greatly to SPI, which are communication among members, crossover collaboration in practical work and pair programming. Two knowledge-creation practices for capturing explicit knowledge have significant positive impact on SPI, which are integrating project document and on-the-job training. Ultimately, suggestions for improvement are put forward, that is, encouraging communication among staff and integrating documents in real time, and future research is also illustrated.展开更多
Software process is a framework for effective and timely delivery of software system. The framework plays a crucial role for software success. However, the development of large-scale software still faces the crisis of...Software process is a framework for effective and timely delivery of software system. The framework plays a crucial role for software success. However, the development of large-scale software still faces the crisis of high risks, low quality, high costs and long cycle time. This paper proposed a three-phase parallel-pipelining software process model for improving speed and productivity, and reducing software costs and risks without sacrificing software quality. In this model, two strategies were presented. One strategy, based on subsystem-cost priority, was used to prevent software development cost wasting and to reduce software complexity as well; the other strategy, used for balancing subsystem complexity, was designed to reduce the software complexity in the later development stages. Moreover, the proposed function-detailed and workload-simplified subsystem pipelining software process model presents much higher parallelity than the concurrent incremental model. Finally, the component-based product line technology not only ensures software quality and further reduces cycle time, software costs, and software risks but also sufficiently and rationally utilizes previous software product resources and enhances the competition ability of software development organizations.展开更多
In order to remain competitive in software industry, software engineers need to continuously improve their proficiency. Personal Software Process (PSPSM) provides a strong concept which helps software engineers inspec...In order to remain competitive in software industry, software engineers need to continuously improve their proficiency. Personal Software Process (PSPSM) provides a strong concept which helps software engineers inspecting and improving themselves. Yet, when being applied on an undergraduate computer engineering course, several complex mathematical calculations from PSP official exercises could encumber the performance of students who do not possess adequate mathematics background. This paper reports a result of implementing PSP course for undergraduate computer engineering students in Chiang Mai University, Thailand.展开更多
Actual software development processes define the different steps developers have to perform during a development project. Usually these development steps are not described independently from each other—a more or less...Actual software development processes define the different steps developers have to perform during a development project. Usually these development steps are not described independently from each other—a more or less formal flow of development step is an essential part of the development process definition. In practice, we observe that often the process definitions are hardly used and very seldom “lived”. One reason is that the predefined general process flow does not reflect the specific constraints of the individual project. For that reasons we claim to get rid of the process flow definition as part of the development process. Instead we describe in this paper an approach to smartly assist developers in software process execution. The approach observes the developer’s actions and predicts his next development step based on the project process history. Therefore we apply machine learning resp. sequence learning approaches based on a general rule based process model and its semantics. Finally we show two evaluations of the presented approach: The data of the first is derived from a synthetic scenario. The second evaluation is based on real project data of an industrial enterprise.展开更多
基金This paper is supported by Research Grant Number:PP-FTSM-2022.
文摘This research recognizes the limitation and challenges of adaptingand applying Process Mining as a powerful tool and technique in theHypothetical Software Architecture (SA) Evaluation Framework with thefeatures and factors of lightweightness. Process mining deals with the largescalecomplexity of security and performance analysis, which are the goalsof SA evaluation frameworks. As a result of these conjectures, all ProcessMining researches in the realm of SA are thoroughly reviewed, and ninechallenges for Process Mining Adaption are recognized. Process mining isembedded in the framework and to boost the quality of the SA model forfurther analysis, the framework nominates architectural discovery algorithmsFlower, Alpha, Integer Linear Programming (ILP), Heuristic, and Inductiveand compares them vs. twelve quality criteria. Finally, the framework’s testingon three case studies approves the feasibility of applying process mining toarchitectural evaluation. The extraction of the SA model is also done by thebest model discovery algorithm, which is selected by intensive benchmarkingin this research. This research presents case studies of SA in service-oriented,Pipe and Filter, and component-based styles, modeled and simulated byHierarchical Colored Petri Net techniques based on the cases’ documentation.Processminingwithin this framework dealswith the system’s log files obtainedfrom SA simulation. Applying process mining is challenging, especially for aSA evaluation framework, as it has not been done yet. The research recognizesthe problems of process mining adaption to a hypothetical lightweightSA evaluation framework and addresses these problems during the solutiondevelopment.
文摘Software projects influenced by many human factors generate various risks. In order to develop highly quality software, it is important to respond to these risks reasonably and promptly. In addition, it is not easy for project managers to deal with these risks completely. Therefore, it is essential to manage the process quality by promoting activities of process monitoring and design quality assessment. In this paper, we discuss statistical data analysis for actual project management activities in process monitoring and design quality assessment, and analyze the effects for these software process improvement quantitatively by applying the methods of multivariate analysis. Then, we show how process factors affect the management measures of QCD (Quality, Cost, Delivery) by applying the multiple regression analyses to observed process monitoring data. Further, we quantitatively evaluate the effect by performing design quality assessment based on the principal component analysis and the factor analysis. As a result of analysis, we show that the design quality assessment activities are so effective for software process improvement. Further, based on the result of quantitative project assessment, we discuss the usefulness of process monitoring progress assessment by using a software reliability growth model. This result may enable us to give a useful quantitative measure of product release determination.
基金Supported by the National Natural Science Foundation of China (60473066)Young Outstanding Talent Foundation of Hubei Province,China(2003ABB004)
文摘Reflection mechanism for reuse software architecture (RMRSA) divides a software architecture into base-level architecture and meta-level architecture logically. Base-level architecture is the ordinary architecture; meta-level represents and manipulates the reusable meta-information of base-level architecture explicitly. Through reflection, the modification of meta-level architecture will result in the modification of the architecture in base-level. Then we can gain a new base-level architecture design. In this paper, we use π-calculus to define the constituents and their interaction processes of RMRSA, by these definition, we specify the business function in base-level at runtime, and illustrate the reflection mechanism between the base-level architecture and meta-level architecture.
文摘In this paper, we discuss agile software process improvement in P company with their description of process management in current level and analysis of problems, design the P Company success factors model in organizational culture, systems, products, customers, markets, leadership, technology and other key dimensions, which is verified through questionnaire in P company. In the end, we apply knowledge creation theory to analyze the open source software community with successful application of the typical agile software method, propose ten principles of knowledge creation in open source software community: Self-organizing, Code sharing, Adaptation, Usability, Sustention, Talent, Interaction, Collaboration, Happiness, and Democracy.
文摘Knowledge transfer model of software process improvement (SPI) and the conceptual framework of influencing factors are established. The model includes five elements which are knowledge of transfer, sources of knowledge, recipients of knowledge, relationship of transfer parties, and the environment of transfer. The conceptual framework includes ten key factors which are ambiguity, systematism, transfer willingness, capacity of impartation, capacity of absorption, incen-tive mechanism, culture, technical support, trust and knowledge distance. The research hypothesis is put forward. Em-pirical study concludes that the trust relationship among SPI staffs has the greatest influence on knowledge transfer, and organizational incentive mechanism can produce positive effect to knowledge transfer of SPI. Finally, some sug-gestions are put forward to improve the knowledge transfer of SPI: establishing a rational incentive mechanism, exe-cuting some necessary training to transfer parties and using software benchmarking.
文摘This research develops a knowledge model for Software Process Improvement (SPI) project based on knowledge creation theory and its twenty-four measurement items, and proposes two hypothesizes about the interaction of explicit knowledge and tacit knowledge in SPI. Eleven factors are extracted through statistical analysis. Three knowledge-creation practices for capturing tacit knowledge contribute greatly to SPI, which are communication among members, crossover collaboration in practical work and pair programming. Two knowledge-creation practices for capturing explicit knowledge have significant positive impact on SPI, which are integrating project document and on-the-job training. Ultimately, suggestions for improvement are put forward, that is, encouraging communication among staff and integrating documents in real time, and future research is also illustrated.
文摘Software process is a framework for effective and timely delivery of software system. The framework plays a crucial role for software success. However, the development of large-scale software still faces the crisis of high risks, low quality, high costs and long cycle time. This paper proposed a three-phase parallel-pipelining software process model for improving speed and productivity, and reducing software costs and risks without sacrificing software quality. In this model, two strategies were presented. One strategy, based on subsystem-cost priority, was used to prevent software development cost wasting and to reduce software complexity as well; the other strategy, used for balancing subsystem complexity, was designed to reduce the software complexity in the later development stages. Moreover, the proposed function-detailed and workload-simplified subsystem pipelining software process model presents much higher parallelity than the concurrent incremental model. Finally, the component-based product line technology not only ensures software quality and further reduces cycle time, software costs, and software risks but also sufficiently and rationally utilizes previous software product resources and enhances the competition ability of software development organizations.
文摘In order to remain competitive in software industry, software engineers need to continuously improve their proficiency. Personal Software Process (PSPSM) provides a strong concept which helps software engineers inspecting and improving themselves. Yet, when being applied on an undergraduate computer engineering course, several complex mathematical calculations from PSP official exercises could encumber the performance of students who do not possess adequate mathematics background. This paper reports a result of implementing PSP course for undergraduate computer engineering students in Chiang Mai University, Thailand.
文摘Actual software development processes define the different steps developers have to perform during a development project. Usually these development steps are not described independently from each other—a more or less formal flow of development step is an essential part of the development process definition. In practice, we observe that often the process definitions are hardly used and very seldom “lived”. One reason is that the predefined general process flow does not reflect the specific constraints of the individual project. For that reasons we claim to get rid of the process flow definition as part of the development process. Instead we describe in this paper an approach to smartly assist developers in software process execution. The approach observes the developer’s actions and predicts his next development step based on the project process history. Therefore we apply machine learning resp. sequence learning approaches based on a general rule based process model and its semantics. Finally we show two evaluations of the presented approach: The data of the first is derived from a synthetic scenario. The second evaluation is based on real project data of an industrial enterprise.