%0 Journal Article
%T An Approach to Automated Software Design Improvement
一种自动化软件设计改进方法
%A FENG Tie
%A ZHANG Jia-Chen
%A WANG Hong-Yuan
%A JIN Chun-Zhao
%A
冯铁
%A 张家晨
%A 王洪媛
%A 金淳兆
%J 软件学报
%D 2006
%I
%X Object-Oriented software design improving technology is an effective means to increase system flexibility for adapting to future requirement variation and expansion. In this paper, a software design improving approach, based on micro-architecture anti-pattern and case based reasoning, is presented to improve software quality and maintainability. In this approach, problematic, inflexible structures and corresponding refactoring alternatives at micro-architecture level are formally defined and described as cases. Their organization and index mechanism in the case base are studied. Following the 4R procedures of CBR, similarity measurement methods on class diagrams, sequence diagrams, OO quality metric factors, and semantic constraints are discussed. Based on the measurement results, some algorithms on identifying anti-patterns instances in a given original design and replacing them by designs with high quality are presented. Furthermore, a supporting system CBDIT is developed to aid this approach.
%K case based reasoning
%K design pattern
%K anti-pattern
%K software evolution
%K refactoring
基于事例的推理
%K 设计模式
%K 反模式
%K 软件演化
%K 重构
%U http://www.alljournals.cn/get_abstract_url.aspx?pcid=5B3AB970F71A803DEACDC0559115BFCF0A068CD97DD29835&cid=8240383F08CE46C8B05036380D75B607&jid=7735F413D429542E610B3D6AC0D5EC59&aid=A4943787722BB573&yid=37904DC365DD7266&vid=BCA2697F357F2001&iid=E158A972A605785F&sid=7D2B339649A57040&eid=AB720B703F452703&journal_id=1000-9825&journal_name=软件学报&referenced_num=4&reference_num=14