用户名: 密码: 验证码:
基于公理设计的软件体系结构构建方法研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
本论文受国家自然科学基金“公理设计的扩展研究及其稳健优化设计方法”(项目批准号:50575083)支持。针对制造业信息系统软件体系结构(Software Architecture,SA)的设计、优化与评价问题,从理论和应用两方面对公理设计(Axiomatic Design,AD)进行扩展性研究,提出一种基于AD的SA构建方法,以提高SA构建质量与效率。
     首先,提出了融入独立公理的用例驱动SA设计方法。该方法以AD理论概念框架为指导,按照面向对象的SA设计过程,提出一种功能需求(Functional Requirements,FRs)与设计参数(Design Parameters, DPs)抽取、分解和映射的新规则,从纵向和横向两方面并行对SA进行设计。在纵向设计上,从系统的用户需求出发,将FRs和DPs分别进行用例级、活动级、交互级和类级的4级Z字形分解与映射,完成用例图、活动图、交互图和类图的SA动态和静态建模过程。同时,从横向把FRs和DPs的关系抽象成对应的数学模型,并用设计矩阵(Design Matrix, DM)来描述。在此基础上,应用独立公理对DM进行耦合性分析和处理,从功能和结构上保证各级建模的独立性。以某银行系统的登录模块为例,说明和验证了该方法的可行性和有效性。
     其次,提出了一种针对耦合设计的SA优化方法。在研究设计结构矩阵(Design Structure Matrix, DSM)及其优化方法的基础上,利用DM与DSM之间存在互补性的特点,对二者有效集成,把DM的解耦问题转化为DSM的优化问题;同时引入结构二叉树及遗传算法(Genetic Algorithms, GA)理论,综合应用割裂、聚类、划分3种方法对DSM进行优化;提出位置反馈量的概念,对其进行定量分析,以此作为评价DSM优化效果的度量指标。以无人驾驶汽车控制系统(Unmanned Vehicle Control System, UVCS)在信息融合和行车决策模块为例,说明和验证了该方法的可行性和有效性。
     再次,提出了一种基于信息度量的SA评价方法。针对SA设计方案的多选性问题,研究设计方案评价优选的处理策略,将面向对象软件度量指标与信息度量理论相结合,提出一种新的适用于软件设计迭代过程的SA设计方案评价模型。该模型考虑了与SA复杂性相关的规模、耦合性和内聚性等质量属性,结合信息公理构建多目标综合评价模型,以信息量作为SA评价的统一测度,消除了量纲和权重的影响,为SA设计方案的评价选优提供一种具有理论基础的、更为客观的综合评价方法。以UVCS视频监控控制子系统的设计方案优选评价为实例,说明和验证了该方法的可行性和有效性。
     最后,在本文研究成果基础上对UVCS进行了体系结构的构建,对前文所提出的方法进行实例验证,通过逐层递进的方式对本文提出的3个方法的集成效果进行了验证,同时也为本方法在实际SA构建过程中的应用提供了示范。首先在构建用例模型的基础上从纵向和横向完成用户需求到SA的映射,在此基础上设计UVCS的体系结构;然后对设计方案中存在的耦合设计进行解耦优化,得出控制系统设计的一个或多个解耦设计方案;最后针对满足功能需求的多个解耦设计方案,从规模、耦合度和内聚度3个方面对备选解耦设计方案进行度量,计算每个方案的总信息量,并进行排序,将信息量最小的设计方案确定为UVCS案例的SA最终设计结果。通过对UVCS体系结构的构建,进一步证明了本文所提出方法的正确性、有效性和实用性。
This dissertation is supported by the Natural Science Foundation of China (Grant No.50575083). Aiming at the problems of design, optimization and evaluation in software architecture (SA) construction processes, an extending research is conducted on Axiomatic Design (AD) to improve the construction quality and efficiency of SA.
     Firstly, a SA design approach is proposed by utilizing the use case driven SA design method and independence axiom. Based on the analysis on independence axiom and use case driven design method, a new use case driven SA design approach is proposed, which is under the guidance of independence axiom and utilizes UML as the SA modeling tool. A set of rules are defined to extract, decompose and map functional requirements (FRs) and design parameters (DPs) and SA design is processed from horizontal and vertical directions, respectively. This approach starts from use case model, and then FRs and DPs are iteratively decomposed into four levels, they are, use case, activity, interaction and class levels, guided by zigzagging mapping. At each iteration, the relation between FRs and DPs are described by design matrix (DM), and coupling analysis and process are applied on DM to assure the function and structure independence of modules. A practical example, the design of the login module in the bank system, is provided to illustrate this approach.
     Secondly, a SA optimization approach is proposed by utilizing DM and DSM. Aiming at the deficiency that AD theory does not provide a specific decoupling method, DM and DSM are simultaneously used to optimize SA design. Through effectively integration, the problem of SA optimization is converted into the problem of DSM optimization.In this approach, a complexity metric, that is, position feedback metric is devised for DSM optimization. In addition, structure binary tree and GA are introduced, and three mechanisms, tearing, clustering and partitioning, are comprehensively devised in this approach. A practical example, the design of the information fusion module and operation decision making module in unmanned vehicle controlling system (UVCS), is provided to illustrate the efficiency of the proposed approach.
     Thirdly, a SA evaluation approach is proposed based on information measurement. Aiming at the feature of multiple selections on SA design solutions, a multiple attributes evaluation approach is proposed, which considers both quality features of SA, such as scale, cohesion and coupling, and information axiom. It is not necessary for the designers to normalize the criteria, but just to calculate the information content for each design solution, and then the optimal solution can be decided. In order to meet the need of information content calculation and design solution evaluation, a suit of SA metrics and the information content formulation are devised. A case study on the evaluation of the design solutions of video controlling module in the UVCS is presented to illustrate the effectiveness of the proposed approach.
     Finally, the construction of UVCS architecture is progressive conducted based on the above design, optimization and evaluation approaches, which can also verify the integrated effect of above approaches and supplies a demonstration of how above approaches applied to practical SA construction as well. The use case model is firstly developed based on the AD conceptual framework to reduce the design couple and the design is verified by the independence axiom. In the following design iterations, the coupling design is optimized by using the proposed optimization approach, and one or more decoupled design solutions can be obtained. The proposed evaluation approach is utilized to deal with the selection of multiple decoupled design solutions to get the optimal design. Lastly, the SA construction of UVCS is successfully accomplished.
引文
[1]梅宏,申峻嵘.软件体系结构研究进展.软件学报,2006,17(6):1257-1275
    [2]Sung-Hee Do. Software Product Lifecycle Management Using Axiomatic Approach. In:Proceedings of ICAD2004, June,2004:1-6
    [3]张莉,高晖,王守信.软件体系结构评估技术.软件学报,2008,19(6):1328-1339
    [4]S.-J. Kim, N. P. Suh, S.-G. Kim. Design of Software System Based on Axiomatic Design. Annals of the CIRP,1997,40(7):165-170
    [5]Perry D. E. Software engineering and software architecture. In:Feng, Yu-lin, ed. Proceedings of the International Conference on Software:Theory and Practice. Beijing:Electronic Industry Press,2000:1-4
    [6]Boehm B. Engineering context (for software architecture), invited talk. In:Garlan D., ed. Proceedings of the 1st International Workshop on Architecture for Software Systems Seattle. New York:ACM Press,1995:1-8
    [7]孙昌爱,金茂忠,刘超.软件体系结构研究综述.软件学报,2002,13(7):1228-1237
    [8]肖人彬,库琼,曹鹏彬.基于免疫聚类识别的耦合功能规划方法与实例.计算机集成制造系统,2006,12(9):1421-1430
    [9]肖人彬,程贤福,廖小平.基于模糊信息公理的设计方案评价方法及应用.计算机集成制造系统,2007,13(12):2331-2338
    [10]肖人彬,陶振武,刘勇.智能设计原理与技术.北京:科学出版社,2006
    [11]程贤福,肖人彬,刘平安等.基于信息公理的混合型多属性产品方案评价.计算机集成制造系统,2010,16(9):1816-1822
    [12]魏效玲,曹庆奎,潘越.产品性能评价模型研究.机械工程学报,2004,40(6):91-94
    [13]NAM P. SUH. The Principles of Design. New York:Massachusetts Institute of Technology,1990
    [14]Nam Pyo Suh.公理设计-发展与应用.机械工业出版社,2004
    [15]Jan Bosch. Software Architecture-The next step. Springer-Verlag Berlin Heidelberg, 2004:194-199
    [16]Len Bass, Paul Clements, Rick Kazman, et al. Evaluating the Software Architecture Competence of Organizations. Seventh Working IEEE/IFIP Conference on Software Architecture,2008,12:249-252
    [17]马建红,檀润华,江屏.基于公理设计的面向对象设计方法研究.计算机工程与设计,2008,29(18):4755-4758
    [18]Andrey Ricardo Pimentel, P. C. Stadzisz. A Use Case Based Object-Oriented Software Design Approach Using The axiomatic Design Theory. In:Proceedings of the 4th International Conference on Axiomatic Design,2006:1-8
    [19]Andrey Ricardo Pimentel, Paulo Cezar Stadzisz. Application of the Independence Axiom On The Design Of Object-Oriented Software Using The Axiomatic Design Theory. Society for Design and Process Science,2006,10(1):57-69
    [20]江屏,檀润华,马建红.公理设计应用软件研究.计算机集成制造系统,2004,10:1199-1206
    [21]N. P. Suh, S. H. Do. Axoimatic Design of Software Systems. CIRP Anuuals-Manufacturing Technology,2000,49(1):95-100
    [22]Jason D. Hintersteiner, Amrinder S. Nain. Integrating software into systems:an axiomatic design approach. In:Proceedings of the 3rd International Conference on Engineering Design and Automation, Aug,1999
    [23]Jbid Arsenyan, Giilcin Biiyukozkan. Modelling Collaborative Software Development Using Axiomatic Design Principles. IAENG International Journal of Computer Science,2009
    [24]Cengiz Togay, Ali H. Dogru. Component Oriented Design Based on Axiomatic Design Theory and COSEML. Springer-Verlag Berlin Heidelberg,2006:1072-1079
    [25]R. H. Zhang, J. Z. Cha, Y. P. Lu. Concurrent Design in Software Development Based on Axiomatic Design. Complex Systems Concurrent Engineering,2007,8: 267-273
    [26]Sung-Hee Do, Nam P. Suh. Object-Orient Software Design with Axiomatic Design. In:Proceeding of the 1st International Conference on Axiomatic Design,2000: 278-284
    [27]朱龙英,朱如鹏,刘正埙.基于信息公理的产品设计方案评价方法.南京航空航天大学学报,2005,37(3):386-390
    [28]孙昌爱,金茂忠,刘超.软件体系结构研究综述.软件学报,2002,13(7):228-237
    [29]Garlan D., Shaw M. An introduction to software architecture. Technique Report, CMU/SEI-94-TR-21, Carnegie Mellon University,1994
    [30]IEEE, IEEE 1471:2000-Recommended practice for architectural description of software intensive systems., Los Alamitos, CA:IEEE,2000
    [31]Gacek C., Abd-Allah A., Clark B. K., et al. On the definition of software system architecture. In:Garlan D., ed. Proceedings of the 1st International Workshop on Architecture for Software Systems. New York:ACM Press.,1995:85-95
    [32]L. Bass, P. Clements, R. Kazman. Software Architecture in Practice(2nd), MA: Addison-Wesley,2003
    [33]J. Bosch. Design and Use of Software Architecture:Adopting and Evolving a Product-Line Approach, Boston:Addison-Wesley,2000
    [34]P. Clements, F. Bachmann, L. Bass, et al. Documenting Software Architectures: Views and Beyond. Boston:Addison-Wesley,2002
    [35]P. Clements, L. Northrop. Software Product Lines:Practice and Patterns. Boston: Addison-Wesley,2002
    [36]D. M. Dikel, D. Kane, J. R. Wilson. Software Architecture:Organizational Principles and Patterns. Upper Saddle River, NJ:Prentice-Hall,2001
    [37]J. Garland, R. Anthony. Large-Scale Software Architecture:A Practical Guide using UML. New York:John Wiley & Sons, Inc.,2002
    [38]H. Gomaa. Designing Concurrent, Distributed and Real-time Applications with UML. In:Proceedings of the 28th international conference on Software engineering. New York:ACM,2006:2-11
    [39]崔晓峰,孙艳春,梅宏.以决策为中心的软件体系结构设计方法.软件学报,2010,21(6):1196-1207
    [40]C. Hofineister, R. Nord, D. Soni. Applied Software Architecture. Boston: Addison-Wesley,2000
    [41]P. Kruchten. The 4+1 View Model of Architecture. IEEE Software,1995,12(6): 45-50
    [42]P. Kruchten. The Rational Unified Process:An Introduction (3rd). Boston: Addison-Wesley,2003
    [43]A. Ran. ARES Conceptual Framework for Software Architecture. In M. Jazayeri, A. Ran, and F. vander Linden, ed. Software Architecture for Product Families Principles and Practice, Boston:Addison-Wesley,2000:1-29
    [44]宋光宇.软件体系结构度量综述.计算机与数字工程,2008,36(1):41-44
    [45]J. A. McCall, P. K. Richards, G. F. Walters. Factors in Software Quality. Rome Air Development Center, RADC TR-77-369,1977
    [46]T. J. McCabe. A Complexity Measure. IEEE Transactions on Software Engineering, 1976,2(4):308-320
    [47]Halstead, Maurice H. Elements of software science. New York:Elsevier,1977
    [48]S. R. Chidamber, C. F. Kemerer. A Metrics Suite for Object Oriented Design. IEEE Transaction on Software Engineering,1994,20(6):476-493
    [49]J. Chris Coppick, Thomas J. Cheatham. Software metrics for object-oriented systems. In:Proceedings of the 1992 ACM annual conference on Communications. New York:ACM,1992:317-322
    [50]Wei Li. Another metric suite for object-oriented programming. Journal of Systems and Software,1998,44(2):155-162
    [51]Britoe Abreu F., Melo W. Evaluating the impact of object-oriented design on software quality. In:Proceedings of the 3rd International. Berlin, Germany: Software Metrics Symposium,1996:90-99
    [52]Fernando Brito e Abreu, Rogerio Carapuca. Object-oriented software engineering: Measuring and controlling the development process. In Proceedings of 4th Int. Conf. on Software Quality. USA:McLean,1994:3-5
    [53]Bengtsson P. Towards Maintainability Metrics on Software Architecture:An Adap tation of Object-OrientedMetrics. Ronneby,1998
    [54]Bril R. J., Postma A. An architectural connectivity metric and its support for incremental rearchitecting of large legacy systems,2001
    [55]L indvall M., Tesoriero R., Costa P. Avoiding architectural degeneration:an evaluation process for software architecture,2002
    [56]Muskens J., Chaudron M., Lange C. Investigations in Applying Metrics to Multi-View Architecture Models. Proc Euromicro, IEEE CS Press,2004:372-379
    [57]Yue C., Boehm B. W., Madachy R., et al. An empirical study of eServices product UML sizing metrics. ISESE,2004:199-206
    [58]Perepletchikov M., Ryan C., Frampton K., et al. Coupling Metrics for Predicting Maintainability in Service-Oriented Designs. ASWEC,2007,1:329-340
    [59]马于涛,何克清,杜德慧.软件过程领域本体的构造.华中科技大学学报(自然科学版),2006,34(5):33-36
    [60]冀振燕.UML系统分析设计与应用案例.北京人民邮电出版社,2003:67-90
    [61]刘冬云,梅宏.从需求到软件体系结构:一种面向特征的映射方法.北京大学学报(自然科学版),2004,40(3):372-378
    [62]蔡池兰,肖人彬.公理设计下基于系统创新思维的解藕方法.机械工程学报,2006,42(11):184-191
    [63]程贤福,肖人彬.基于公理设计的优化设计方法与应用.农业机械学报,2007,38(3):117-121
    [64]潘显钟,李建勇,查建中.基于公理设计理论的FMS优化配置研究.工程设计学报,2006,13(4):199-204
    [65]Suh N. P. Axiomatic design:advances and applications. New York:Oxford University Press,2001
    [66]Steward D. V. The design structure system:a method for managing the design of complex system. IEEE Transaction on Engineering Management,1981,28(3): 71-74
    [67]唐敦兵,彭义兵,刘政伟.基于关联矩阵与设计结构矩阵的计算模型求解顺序规划.机械工程学报,2008,44(12):173-179
    [68]王爱民,孟明辰,黄靖远.基于设计结构矩阵的模块化产品族设计方法研究. 计算机集成制造系统,2003,9(3):214-219
    [69]Ali A. Yassine. An Introduction to Modeling and Analyzing Complex Product Development Processes Using the Design Structure Matrix (DSM) Method. Italian Management Review,2004(9)
    [70]曹鹏彬,肖人彬,库琼.公理设计过程中耦合设计问题的结构化分析方法.机械工程学报,2006,42(3):46-55
    [71]Cao Pengbin, Xiao Renbin, Ku Qiong. Structural analytical approach to coupled design in design with axiomatic design. Chinese Journal of Mechanical Engineering, 2006,42(3):46-55
    [72]李爱平,许静,刘雪梅.基于设计结构矩阵的耦合活动集求解改进算法.计算机工程与应用,2011,47(17):34-36
    [73]张利强,项钦之,章翔峰.基于模拟退火算法的设计结构矩阵分析优化.计算机仿真,2010,27(11):209-213
    [74]C. I. G Fernandez. Integration analysis of product architecture to support effective team co-location. Master's Thesis(ME), Massachusetts Institute of Technology, 1998
    [75]刘建刚,韩向东,王宁生等.基于遗传算法的产品结构聚类重组.机械科学与技术,2006,23(11):1318-1337
    [76]邢乐斌,王旭,代应.并行设计中迭代收敛的特征分析.重庆大学学报(自然科学版),2007,30(10):7-9
    [77]Ledet W, Himmelblau D. Decomposition procedures for the solving of large scale systems. Advances in Chemical Engineering,1970,8(4):185-224
    [78]张广军,唐敦兵,戴胜.基于公理化设计矩阵与设计结构矩阵集成的研究.机械设计与研究,2008,24(5):15-18
    [79]BROWING T. R. Process integration using the design structure matrix. Systems Engineering,2002,5(3):180-193
    [80]TANG Dunbing, ZHENG Li, LI Zhizhong, et al. Re-engineering the design process for concurrent engineering. Computers & Industrial Engineering,2000,38(4): 479-491
    [81]唐敦兵,钱晓明,王晓勇等.公理化设计矩阵与设计结构矩阵同步演化机制研究.计算机集成制造系统,2007,13(8):1465-1475
    [82]Chen L., Li S. Analysis of Decomposability and Complexity for Design Problems in the Context of Decomposition. ASME J. Mech. Des.,2005,127:545-557
    [83]Chen L., Ding Z., Li S. Tree-based dependency analysis indecomposition and re-decomposition of complex design problems. ASME J Mech Des 127:12-23
    [84]Onaiza Maqbool, Haroon A. Babri. Hierarchical Clustering for software Architecture Recovery. IEEE transactions on software engineering,2007,33(11): 759-780
    [85]李劲华.基于UML的软件体系结构的定量评估.小型微型计算机系统,2007,28(6):1049-1054
    [86]宋光宇,高晖.软件体系结构度量工具的研究与实现.计算机应用研究,2008,25(9):2700-2705
    [87]Massimo Cossentino. A metrics suite for evaluating agent-oriented architectures. In: Proceedings of the 2010 ACM Symposium on Applied Computing,2010
    [88]V. L. Narasimhan, P. T. Parthasarathy, M. Das. Evaluation of a Suite of Metrics for Component Based Software Engineering. Issues in Informing Science and Information Technology,2009,6:731-740
    [89]M. Genero, M. Piatinni, C. Calero. A Survey of Metrics for UML Class Diagrams. Journal of Object Technology,2005,4(9):59-92
    [90]Jian Feng Cui, Heung Seok Chae. Applying Agglomerative Hierarchical Clustering Algorithms to Component Identification for Legacy Systems. Information and Software Technology,2011,53(6):601-614
    [91]Hironori Washizaki, Hirokzu Yamamoto, Yoshiaki Fukazawa. A Metrics Suite for Measuring Reusability of Software Components. In:Proceedings of the 9th International Software Metrics Symposium,2003:211-223
    [92]Misook Choi, Seojeong Lee. A Coupling Metric Applying the Characteristics of Components. In:Proceedings of Workshop on Component Based Software Engineering and Software Process Model,2006:966-975
    [93]Lionel C. Briand, Jurgen Wust, Stefan V. Ikonomovski, et al. Investigating quality factors in object-oriented designs- an industrial case study. In:Proceedings of the 21st international conference on Software Engineering,1999:345-354
    [94]Lionel C. Briand, John W. Daly, Jiirgen K. Wust. A Unified Framework for Coupling Measurement in Object-Oriented Systems. Transactions on Software Engineering,1999,25(1):91-121
    [95]J. S. Alghamdi, R. A. Rufai, Sohel M. Khan. OOMeter- A Software Quality Assurance Tool. In:Proceedings of the 9th European Conference on Software Maintenance and Reengineering,2005:190-191
    [96]Together-Visual Modeling for Software Architecture Design, http://www.borland. com/us/products/together
    [97]L. C. Briand, J. W. Daly, J. K. Wust. A Unified Framework for Cohesion Measurement in Object-Oriented System. Empirical Software Engineering,2004, 3(1):65-117
    [98]F. C. Meng, D. C. Zhan, X. F. Xu. Business Component Identification of Enterprise Information System-A hierachical clustering method. In:Proceedings of the IEEE International Conference on e-Business Engineering, Oct.2005:473-480
    [99]王平,高德平.公理化设计中信息公理及其应用研究.机械科学与技术,2005,24(10):1233-1235
    [100]Heung Seok Chae, Yong Rae Kwon, Member, IEEE Computer Society, et al. Improving Cohesion Metrics for Classes by Considering Dependent Instance Variables. IEEE Transactions on software engineering,2004,30(11):826-832

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700