CMMI (Capability Maturity Model Integration) is a set of models—collections of best practices intended to help organizations to improve their processes. CMMI-DEV provides guidance to development organizations. This p...CMMI (Capability Maturity Model Integration) is a set of models—collections of best practices intended to help organizations to improve their processes. CMMI-DEV provides guidance to development organizations. This paper presents a formalization that captures definitions of a number of concepts of CMMI-DEV and relations among the concepts. The formalization is expressed in a formal language, OWL. The two main objectives for this formalization was to be consistent with the CMMI-DEV model and to be operational, i.e., to allow for an automatic determination of a development process maturity level based upon data about the practices within a given organization. The formalization is presented in a number of increments—from more general concepts to more specific. A justification for the selection of the concepts and relations is given. To assess the validity of the formalization, a number of test cases for the scenario of automatic determination of the maturity level were developed. Generic OWL reasoners were then used to derive the maturity levels. While the test results were all positive, the real value of this formalization comes from the fact that it faithfully captured the main aspects of CMMI-DEV, a well established and accepted model of the assessment of the maturity of development processes, and that a generic inference engine was able to support the appraisal of the process maturity of an organization.展开更多
In large software development projects, there is always a need for refactoring and optimization of the design. Usually software designs are represented using UML diagrams (e.g., class diagrams). A software engineering...In large software development projects, there is always a need for refactoring and optimization of the design. Usually software designs are represented using UML diagrams (e.g., class diagrams). A software engineering team may create multiple versions of class diagrams satisfying some external constraints. In some cases, subdiagrams of the developed diagrams can be selected and combined into one diagram. It is difficult to perform this task manually since the manual process is very time consuming, is prone to human errors, and is not manageable for large projects. In this paper, we present algorithmic support for automating the generation of composing diagrams, where the composed diagram satisfies a given collection of external constraints and is optimal with respect to a given objective function. The composition of diagrams is based on the colimit operation from category theory. The developed approach was verified experimentally by generating random external constraints (expressed in SPARQL and OWL), generating random class diagrams using these external constraints, generating composed diagrams that satisfy these external constraints and computing class diagram metrics for each composed diagram.展开更多
文摘CMMI (Capability Maturity Model Integration) is a set of models—collections of best practices intended to help organizations to improve their processes. CMMI-DEV provides guidance to development organizations. This paper presents a formalization that captures definitions of a number of concepts of CMMI-DEV and relations among the concepts. The formalization is expressed in a formal language, OWL. The two main objectives for this formalization was to be consistent with the CMMI-DEV model and to be operational, i.e., to allow for an automatic determination of a development process maturity level based upon data about the practices within a given organization. The formalization is presented in a number of increments—from more general concepts to more specific. A justification for the selection of the concepts and relations is given. To assess the validity of the formalization, a number of test cases for the scenario of automatic determination of the maturity level were developed. Generic OWL reasoners were then used to derive the maturity levels. While the test results were all positive, the real value of this formalization comes from the fact that it faithfully captured the main aspects of CMMI-DEV, a well established and accepted model of the assessment of the maturity of development processes, and that a generic inference engine was able to support the appraisal of the process maturity of an organization.
文摘In large software development projects, there is always a need for refactoring and optimization of the design. Usually software designs are represented using UML diagrams (e.g., class diagrams). A software engineering team may create multiple versions of class diagrams satisfying some external constraints. In some cases, subdiagrams of the developed diagrams can be selected and combined into one diagram. It is difficult to perform this task manually since the manual process is very time consuming, is prone to human errors, and is not manageable for large projects. In this paper, we present algorithmic support for automating the generation of composing diagrams, where the composed diagram satisfies a given collection of external constraints and is optimal with respect to a given objective function. The composition of diagrams is based on the colimit operation from category theory. The developed approach was verified experimentally by generating random external constraints (expressed in SPARQL and OWL), generating random class diagrams using these external constraints, generating composed diagrams that satisfy these external constraints and computing class diagram metrics for each composed diagram.