The Genetic Algorithm (GA) has been a pop research field, but there is little concern on GA in view of Software Engineering and this result in a series of problems. In this paper, we extract a GA's software patter...The Genetic Algorithm (GA) has been a pop research field, but there is little concern on GA in view of Software Engineering and this result in a series of problems. In this paper, we extract a GA's software pattern, draw a model diagram of the reusable objects, analyze the advantages and disadvantages of the pattern, and give a sample code at the end. We are then able to improve the reusability and expansibility of GA. The results make it easier to program a new GA code by using some existing successful operators, thereby reducing the difficulties and workload of programming a GA's code, and facilitate the GA application.展开更多
Based on dominant degree of role model among the viewpoints for object oriented modeling process, it dissertates that role modeling is a modeling method for software pattern at knowledge level. After giving some examp...Based on dominant degree of role model among the viewpoints for object oriented modeling process, it dissertates that role modeling is a modeling method for software pattern at knowledge level. After giving some examples for modeling design pattern and analysis pattern at knowledge level using role model, it presents a process for refining design pattern from role model to class model and event trace diagram of UML. In this paper, we advocate the opinion that role modeling before object modeling of UML.展开更多
A software pattern is a reusable solution to address a commonly occurring problem within a given context when designing software.Using patterns is a common practice for software architects to ensure software quality.M...A software pattern is a reusable solution to address a commonly occurring problem within a given context when designing software.Using patterns is a common practice for software architects to ensure software quality.Many pattern collections have been proposed for a large number of application domains.However,because of the technology's recentness,there are only a few available collections with a lack of extensive testing in industrial blockchain applications.It is also difficult for software architects to adequately apply blockchain patterns in their applications,as it requires deep knowledge of blockchain technology.Through a systematic literature review,this paper has identified 120 unique blockchain-related patterns and proposes a pattern taxonomy composed of multiple categories,built from the extracted pattern collection.The purpose of this collection is to map,classify,and describe all the available patterns across the literature to help readers make adequate decisions regarding blockchain pattern selection.This study also shows potential applications of those patterns and identifies the relationships between blockchain patterns and other non-blockchain software patterns.展开更多
UML is widely accepted and applied by the international software industry. UML is a powerful language for Object oriented modeling, designing, and implementing software systems, but its Use Case method for requirem...UML is widely accepted and applied by the international software industry. UML is a powerful language for Object oriented modeling, designing, and implementing software systems, but its Use Case method for requirement analysis and modeling software patterns has some explicit drawbacks. For more complete UML, this paper proposes the Role Use Case modeling and its glyphs, and provides an instance of requirement analysis using Role Use Case method. Uses the Role Model to modeling software pattern at knowledge level. This paper also extends the UML Meta Model and accentuates “RM before UML's class Modeling”.展开更多
The quality of a software system is partially determined by its structure(topological structure),so the need to quantitatively analyze the quality of the structure has become eminent.In this paper a novel metric cal...The quality of a software system is partially determined by its structure(topological structure),so the need to quantitatively analyze the quality of the structure has become eminent.In this paper a novel metric called software quality of structure(SQoS) is presented for quantitatively measuring the structural quality of object-oriented(OO) softwares via bug propagation analysis on weighted software networks(WSNs).First,the software systems are modeled as a WSN,weighted class dependency network(WCDN),in which classes are nodes and the interaction between every pair of classes if any is a directed edge with a weight indicating the probability that a bug in one class will propagate to the other.Then we analyze the bug propagation process in the WCDN together with the bug proneness of each class,and based on this,a metric(SQoS) to measure the structural quality of OO softwares as a whole is developed.The approach is evaluated in two case studies on open source Java programs using different software structures(one employs design patterns and the other does not) for the same OO software.The results of the case studies validate the effectiveness of the proposed metric.The approach is fully automated by a tool written in Java.展开更多
基金The research has gained the stake of Middleware Software Division of Software Group of F ujitsu L imitedJapanthe Project T
文摘The Genetic Algorithm (GA) has been a pop research field, but there is little concern on GA in view of Software Engineering and this result in a series of problems. In this paper, we extract a GA's software pattern, draw a model diagram of the reusable objects, analyze the advantages and disadvantages of the pattern, and give a sample code at the end. We are then able to improve the reusability and expansibility of GA. The results make it easier to program a new GA code by using some existing successful operators, thereby reducing the difficulties and workload of programming a GA's code, and facilitate the GA application.
基金The research has gained the stake of Middleware Software Division of Software Group of F ujitsu L imitedJapanThe Project T
文摘Based on dominant degree of role model among the viewpoints for object oriented modeling process, it dissertates that role modeling is a modeling method for software pattern at knowledge level. After giving some examples for modeling design pattern and analysis pattern at knowledge level using role model, it presents a process for refining design pattern from role model to class model and event trace diagram of UML. In this paper, we advocate the opinion that role modeling before object modeling of UML.
文摘A software pattern is a reusable solution to address a commonly occurring problem within a given context when designing software.Using patterns is a common practice for software architects to ensure software quality.Many pattern collections have been proposed for a large number of application domains.However,because of the technology's recentness,there are only a few available collections with a lack of extensive testing in industrial blockchain applications.It is also difficult for software architects to adequately apply blockchain patterns in their applications,as it requires deep knowledge of blockchain technology.Through a systematic literature review,this paper has identified 120 unique blockchain-related patterns and proposes a pattern taxonomy composed of multiple categories,built from the extracted pattern collection.The purpose of this collection is to map,classify,and describe all the available patterns across the literature to help readers make adequate decisions regarding blockchain pattern selection.This study also shows potential applications of those patterns and identifies the relationships between blockchain patterns and other non-blockchain software patterns.
基金Supported the Middleware Software Division of Software Group of F ujitsu L imited in Japanthe National Depart-ment of Educat
文摘UML is widely accepted and applied by the international software industry. UML is a powerful language for Object oriented modeling, designing, and implementing software systems, but its Use Case method for requirement analysis and modeling software patterns has some explicit drawbacks. For more complete UML, this paper proposes the Role Use Case modeling and its glyphs, and provides an instance of requirement analysis using Role Use Case method. Uses the Role Model to modeling software pattern at knowledge level. This paper also extends the UML Meta Model and accentuates “RM before UML's class Modeling”.
基金supported by the National Basic Research 973 Program of China under Grant No.2007CB310801the National Natural Science Foundation of China under Grant Nos.60873083,60803025,60703009 and 60703018+3 种基金the Natural Science Foundation of Hubei Province under Grant No.2008ABA379the Natural Science Foundation of Hubei Province for Distinguished Young Scholars under Grant No.2008CDB351the Research Fund for the Doctoral Program of Higher Education of China under Grant Nos.20070486065 and 20090141120022the Fundamental Research Funds for the Central Universities of China under Grant No.6082005
文摘The quality of a software system is partially determined by its structure(topological structure),so the need to quantitatively analyze the quality of the structure has become eminent.In this paper a novel metric called software quality of structure(SQoS) is presented for quantitatively measuring the structural quality of object-oriented(OO) softwares via bug propagation analysis on weighted software networks(WSNs).First,the software systems are modeled as a WSN,weighted class dependency network(WCDN),in which classes are nodes and the interaction between every pair of classes if any is a directed edge with a weight indicating the probability that a bug in one class will propagate to the other.Then we analyze the bug propagation process in the WCDN together with the bug proneness of each class,and based on this,a metric(SQoS) to measure the structural quality of OO softwares as a whole is developed.The approach is evaluated in two case studies on open source Java programs using different software structures(one employs design patterns and the other does not) for the same OO software.The results of the case studies validate the effectiveness of the proposed metric.The approach is fully automated by a tool written in Java.