基于需求驱动的企业应用程序演化方法研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
企业应用程序在其生命周期中需要不断演化以适应频繁变更的需求,企业应用程序不能顺利演化给企业带来极大成本,相关研究成果在一定程度上缓解了该问题,但仍存在诸如需求描述不精确、建模过程困难、演化缺乏灵活性或者后期难以维护等不足,因此在企业应用程序的演化过程中,如何精确地描述需求、进行建模和有效地进行需求变更传播等问题仍有待进一步研究解决。
     为克服现有方法的缺陷,本文从分析企业应用程序演化问题的本质出发,讨论了基于需求驱动演化的优势和必要性,提出了一种基于需求驱动的企业应用程序演化方法,对该方法进行了如下的相关研究工作:
     1)为捕捉和描述企业应用程序需求,提出了精化用例(refined usecase)的概念,给出了相关的形式化定义和一系列精化用例的修改操作,以精确地捕捉和描述企业应用程序的需求变更,研究了修改操作的修改过程及其一致性维护等问题,在精化用例形式化定义的基础上给出了一个精化用例描述语言,为后续演化提供了一个坚实的基础。
     2)针对传统程序模型不能很好地适应企业应用程序持续演化的缺陷,提出了一个可增量式修改的概念模型,给出了其形式化定义和一组建模规则,研究了模型演化过程中涉及的类型兼容等相关问题,给出了一系列增量式修改操作,以在保留模型内部一致性的前提下不断更新已有模型,从而帮助企业应用程序模型适应需求的频繁变更。
     3)为解决将需求变更向应用程序进行传播的问题,本文提出了一个修改操作映射框架,该框架可将精化用例修改操作映射成模型修改操作,研究了可把精化用例层变更传播至模型层的修改映射规则,结合实例分析了针对已有模型的持续重构或新增模型元素的过程,研究了基于模型驱动生成的企业应用程序代码演化方法。
     4)为便于在实践中进行具体的演化活动,本文还设计和实现了一个精化用例描述语言解析器和一个基于需求驱动的企业应用程序演化工具原型,分析了工具的架构设计和工作流程,并将本文提出的方法应用在一个石化过程通用建模优化平台软件的演化实例上,应用结果验证了方法可在需求驱动下,并在维护一致性的基础上进行需求更改的增量式传播,最终帮助企业应用程序顺利地实现演化。
The continuous changes of requirements during entire life circle bringenormous costs to the maintenance and evolution of Enterprise Applications(EAs), thus it is necessary for EAs to keep evolving to adapt the changingrequirements. The existing tools and methods alleviate these problems incertain prospective, however, there’re a few shortcomings in these methodssuch as inaccuracy of descriptions, hard to elicit models, low developmentefficiency or inflexibility facing incremental changes.
     To avoid those shortcomings and try to solve the evolution problems ofEAs from a more systematic view, a requirement-driven approach is proposedin this paper. The paper discusses the necessity and advantages ofrequirement-driven approach, researches the process of requirement-drivenevolution. The main research works of the approach are as follows:
     1)The approach introduces a formal requirement describing method,called Refined Use Cases (RUCs), to capture requirements and build modelsfor the enterprise application scenarios, gives a series of the incrementalmodifications according to the definitions of RUC, discusses the consistencies maintenances during the modification process by using pre-or post-conditionsduring the modification. ARefined Use Case Description Language (RUCDL)is proposed for describing the RUCs effectively.
     2)An increment-changeable conceptional model (CM) is also introducedin order to adapt the model evolution process of EAs. The paper discusses itsdefinition and meta-model, and researches the incremental modificationswhich are able to control the evolution of the CM, and also researches how toelicit and enrich the model information from RUCs by introducing modelingrules.
     3)The paper moves onto proposing a series of basic mapping rules and amodification mapping framework, and then researches how to propagate therequirements changes from RUC layer to CM layer through modificationsmapping process, which finally smooth the continuously incrementalevolution process of enterprise applications.
     4)Related tools including a RUCDL parser and a prototype of anenterprise application evolution environment are designed and implemented inthis paper. Acase study from an industry project is studied,which proves andverifies the effectiveness and efficiency of the approach.
引文
[1]黄喜.中小制造企业ERP实施若干关键技术研究[D].杭州:浙江大学,2007
    [2] Fowler M. Patterns of EnterpriseApplicationArchitecture[M]. Boston:Addison-Wesley,2002
    [3] Lezochea M, Yahiaa E, Aubrya A, Panettoa H, Zdravkovi c M.Conceptualising andstructuring semantics in cooperative enterprise information systems models[J]. Computers inIndustry,2012,63(8):775-787
    [4] IEEE. Standard IEEE Std1219-1999on Software Maintenance[M], Washington, DC: IEEEPress,1999
    [5] Mens T. Introduction and roadmap: history and challenges of software evolution[J]. SoftwareEvolution,2008:1-11
    [6] Lehman M M, Ramil J F. Software evolution and software evolution processes[J]. Annals ofSoftware Engineering,2002,14:275-309
    [7] Bennett K. Software evolution: past, present and future[J]. Information and SoftwareTechnology,1996,38(11):673-680
    [8] Belady L A, Lehman M M. An introduction to program growth dynamics[J]. StatisticalComputer Performance Evaluation,1972:503-511
    [9] Pfleeger S L, Verhoef C, Vliet C J. Analyzing the evolution of large-scale software[J]. Journalof Software Maintenance,2005,17(1):1-2
    [10] Dings yra T, Nerurc S, Balijepallyd V G, Moea B N. A decade of agile methodologies:towards explaining agile software development[J]. Journal of Systems and Software,2012,85(6):1213-1221
    [11] Arbuckle T. Studying software evolution using artefacts’ shared information content[J].Science of Computer Programming,2011,76:1078-1097
    [12] Scacchi W. Modelling software evolution: a knowledge-based approach[A]. In: Proc. of the4th International Software Process Workshop[C], IEEE Computer Society: UK,1988,153-155
    [13] Rajlich V. Role of concepts in software evolution[A]. In: Proc. of the4th InternationalWorkshop on Principles of Software Evolution[C], New York:ACM,2001,75-78
    [14] Yang H, Ward M. Successful Evolution of Software System[M]. Norwood: Artech House,2003
    [15] Cook S, Harrison R, Wernick P. Asimulation model of self-organising evolvability in softwaresystems[A]. In: Proc. of the1st IEEE International Workshop on Software Evolvability[C],Hungary:IEEE Press,2005,17-22
    [16] Filieri A, Ghezzi C, Tamburrelli G. A formal approach to adaptive software: continuousassurance of non-functional requirements[J]. Formal Aspects of Computing,2012,24(2):163-186
    [17] Capiluppi A, Gonzalez-Barahona J M, Herraiz I, Robles G. Adapting the "staged model forsoftware evolution" to free/libre/open source software[A]. In: Proc. of Ninth internationalworkshop on Principles of software evolution[C],2007,79-82
    [18] Lehman M M, Ramil J F. Approach to a theory of software evolution[A]. In: Proc. of2001Intern. Workshop on Principles of Software Evolution[C],2001,70-74
    [19] Madhavji N H, Fernandez-Ramil J, Perry D. Software Evolution and Feedback: Theory andPractice[M]. Somerset: John Wiley&Sons,2006
    [20] Robbes R, Lanza M. A change-based approach to software evolution[J], Electronic Notes inTheoretical Computer Science,2007,166:93-109
    [21] Colomboa P, Khendekb F, Lavazza L. Bridging the gap between requirements and design: anapproach based on Problem Frames and SysML[J]. Journal of Systems and Software.2012,85(3):717-745
    [22] CockburnA. Writing Effective Use-Cases[M]. Boston:Addison-Wesley,2002
    [23]王映辉.软件功能需求变化传播机理分析[J].计算机学报,2007,30(11):2025-2032
    [24] Anda B, Sjoberg. Investigating the role of use cases in the construction of class diagrams[J].Empirical Software Engineering,2005,10(3):285-309
    [25] Gemino A, Parker D. Use case diagrams in support of use case modeling: derivingunderstanding from the picture[J]. Journal of Database Management,2009,20(1):1-24
    [26] El-Attar M, Agaduc M J. Towards a more precise presentation of functional requirement in usecase models[A]. In: Proc. of the4th Intl Conf. on Software Engineering Research,Management andApplications[C], Seattle: IEEE Computer Society,2006,346-353
    [27] Hirschfeld R, Perscheid M, Haupt M. Explicit use-case representation in object-orientedprogramming languages[J].ACM Sigplan Notices,2012,47(2):51-60
    [28]任胜兵.基于图变换的可视化层次用例建模及演化方法研究[D].长沙:中南大学,2007
    [29] Bolloju N, Sun SXY. Benefits of supplementing use case narratives with activity diagrams-anexploratory study[J]. Journal of Systems and Software,2012,85(9):2182-2191
    [30] Li LW. Asemi-automatic approach to translating use cases to sequence diagrams[A]. In: Proc.of Technology of Object-Oriented Languages and Systems[C],1999,184-193
    [31] Fernandes, Machado R. From use cases to objects: an industrial information systems casestudy analysis [J]. Lecture Notes in Computer Science, Springer,2001:319-328
    [32] Cox K, Phalp K T. Practical experience of eliciting classes from use case descriptions[J].Journal of Systems and Software,2007,80(8):1286-1304
    [33] Li LP, Miao H. An approach to modeling and testing web applications based on use cases [A].In: Proc. of International Symposium on Information Science and Engieering[C],2008,506-510
    [34] Giganto R, Smith T. Derivation of classes from use cases automatically generated by athree-level sentence processing algorithm[A]. In: Proc. of Third International Conference onSystems[C],2008,75-80
    [35] J rgensen J B, Tjell S, Fernandes J M. Formal requirements modelling with executable usecases and coloured Petri nets[J]. Innovations in Systems and Software Engineering,2009,5(1):13-25
    [36] Elbendak M, Vickers P, Rossiter N. Parsed use case descriptions as a basis for object-orientedclass model generation[J]. Journal of Systems and Software,2011,84(7):1209-1223
    [37] Some S S. Formalization of textual use cases based on petri nets[J]. International Journal ofSoftware Engineering and Knowledge Engineering,2012,20(5):695-737
    [38] Bolloju N, Schneider C,Sugumaran V. A knowledge-based system for improving theconsistency between object models and use case narratives[J]. Expert Systems withApplications,2012,39(10):9398-9410
    [39] Wood K. Apractical approach to software engineering using Z and the refinement calculus.[J]ACM SIGSOFT Software Engineering Notes.1993,18(5):79-88
    [40] Smith D. Designware: software development by refinement[J]. Electronic Notes in TheoreticalComputer Science29,1999,275-287
    [41] Berry D M, Daudjee K, Dong J. User’s manual as a requirements specification: case studies[J]. Requirements Engineering,2004,9(1):67-82
    [42] Rysavy O, Bures F. Formal abstract architecture for use case specifications[A]. In: Proc. of the11th IEEE Intl Conf and Workshop on the Engineering of Computer-Based Systems [C],2004,203-210
    [43] Mannaert H, Verelst J, Ven K. The transformation of requirements into software primitives:studying evolvability based on systems theoretic stability[J]. Science of ComputerProgramming,2011,76(12):1210-1222
    [44] Sinnig D, Khendek F, Chalin P. Partial order semantics for use case and task models[J].FormalAspects Of Computing,2011,23(3):307-332
    [45] Fernández-Madrigala J A, Llopisb L, Cruz-Martina A, Galindoa C, González-Jiméneza J. H:A component-based specification language for heterogeneous applications[J]. ComputerStandards&Interfaces,2013,35(1):30-49
    [46]万黎,毋国庆,吴怀广.面向行为的需求建模研究及实现[J].计算机科学,2011,38(4):175-181
    [47] Gray J, Lin Y H, Zhang J. Automating change evolution in model-driven engineering[J]. IEEEComputer,2006,39(2):51-58
    [48] Hsueh N L, Kuo J Y, Lin C C. Object-oriented design: a goal-driven and pattern-basedapproach [J]. Software and Systems Modeling,2009,8(1):67-84
    [49]曾诚,何克清,李兵.一种用户需求驱动的服务资源建模方法[J].计算机应用与软件,2012,29(8):21-24
    [50] Lauesen S, Kuhail MA. Task descriptions versus use cases[J]. Requirements Engineering,2012,17(1):3-18
    [51]谢仲文.一种需求驱动、以体系结构为视图的面向软件动态演化的模型与方法[D].昆明:云南大学,2012
    [52] Polancic G, Hericko M, Pavlic L. Developers’ perceptions of object-oriented frameworks-aninvestigation into the impact of technological and individual characteristics[J]. Computers inHuman Behavior,2011,27:730-740
    [53] Kang K,Cohen S,.Hess J,Nowak W and Peterson S. Feature-oriented domain analysis (FODA)feasibility study[R]. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie MellonUniversity,1990
    [54]易立,赵海燕,张伟,金芝,梅宏.特征模型融合研究[J].计算机学报,2013,36(1):1-9
    [55]舒风笛,赵玉柱,王继喆,李明树.个性化领域知识支持的用户主导需求获取方法[J].计算机研究与发展,2007,44(6):1044-1052
    [56] Castro J, Kolp M, Mylopoulos J. Towards requirements-driven information systems[J].Engineering Information Systems,2002,27(6):365-389
    [57]黎建兴,毛新军,束尧.软件Agent的一种面向对象设计模型[J].软件学报,2007,18(3):582-591
    [58] Pawson R. Naked objects[J], IEEE Software,2002,19(4):81-83
    [59] Clemente P J, Hernández J, Conejero J M, Ortiz G. Managing crosscutting concerns incomponent based systems using a model driven development approach[J]. Journal of Systemsand Software,2011,84(6):1032-1053
    [60] Jahnke J H, Wadsack J P. Varlet: human-centered tool support for database reengineering[A].In: Proc. of Workshop on Software-Reengineering[C],1999,45-57
    [61] Hick J M, Hainaut J L. Strategy for database application evolution: the DB-MAIN approach[J]. Lecture Notes in Computer Science,2003,2813:291-306
    [62] Hick J M. Database application evolution: a transformational approach[J]. Data&KnowledgeEngineering,2006,59:534-558
    [63] Opdyke W F. Refactoring Object-Oriented Frameworks [D], University of Illinois,1992.
    [64] Johnson R, Opdyke W F. Refactoring and aggregation[J]. Object Technologies for AdvancedSoftware,1993,742:264-278
    [65] Roberts D, Brant J, Johnson R. A refactoring tool for smalltalk[J]. Journal of Theory andPractice of Object System,1997,3(4):253-263
    [66] Fowler M. Refactoring: Improving the Design of Existing Code[M]. Boston: Addison-Wesley,1999
    [67] Tichelaar S, Ducasse S, Demeyer S, Nierstrasz O. A meta-model for language-independentrefactoring[A]. In: Proc. of International Symposium on Principles of Software Evolution[C],2000,154-164
    [68] Lugang Xu, Butler G. Cascaded refactoring for framework development and evolution[A].Australasian Software Engineering Conference[C], Sydney,2006,319-330
    [69] Rodrigues A, Almeida H, Perkusich A. A C++environment for dynamic unanticipatedsoftware evolution[A]. In: Proc. of the2008ACM symposium on Applied computingFortaleza[C], Ceara,2008,815-819
    [70] Moghadam I H, Cinneide M O. Automated refactoring using design differencing[A]. In: Proc.of16th European Conference on Software Maintenance and Reengineering[C],2012,43-52
    [71] Christopoulou A, Giakoumakis E A, Zafeiris V E, Soukara V. Automated refactoring to theStrategy design pattern[J]. Information and Software Technology,2012,54(11):1202-1214
    [72] Back R. Incremental software construction with refinement diagrams[A]. NATO ScienceSeries195: Engineering Theories of Software Intensive Systems[C], Berlin:Springer-Verlag,2005,3-46
    [73] Hearnden D, Lawley M and Raymond K. Incremental model transformation for the evolutionof model-driven systems[A]. In: Proc. of9th International Conference on Model DrivenEngineering LanguagesAnd Systems[C],2006, Berlin: Springer-Verlag,321-335
    [74] Giese H and Wagner R. Incremental model synchronization with triple graph grammars[A].In: Proc. of9th International Conference on Model Driven Engineering Languages AndSystems[C], Berlin: Springer-Verlag,2006.543-557
    [75] Wang M, Gibbons J, Wu N. Incremental updates for efficient bidirectional transformations[J].ACM Sigplan Notices,2011,46(9):392-403
    [76]朱雪峰,金芝.关于软件需求中的不一致管理[J].软件学报,2005,16:1221-1231
    [77] Zowghi D, Gervasi V. On the interplay between consistency, completeness, and correctness inrequirements evolution[J]. Information and Software Technology.2003,45(14):993-1009
    [78] Nguyen T, Takuya K. Handling consistency of software evolution in an efficient way[A]. In:Proc. of7th International Workshop on Principles of Software Evolution[C], IEEE CS Press,2004,121-130
    [79]任胜兵,喻寿益,陈松乔,余莹.基于逻辑的软件演化操作语言及结构化操作语义[J],小型微型计算机系统,2007,28(6):1031-1036
    [80] Jain A. A use case driven formal approach to check consistency between UI requirement andimplementation[A]. In: Proc. of IEEE Region10and the Third international Conference onIndustrial and Information Systems[C], IEEE Press,2008,1-6
    [81] Ruhroth T, Wehrheim H. Model evolution and refinement[J]. Science of ComputerProgramming,2012,77(3):270-289
    [82] Guo J M, Wang Y L, Trinidadb P, Benavides D. Consistency maintenance for evolving featuremodels[J]. Expert Systems withApplications,2012,39(5):4987-4998
    [83] Zhang M,Ogata K, Futatsugi K. Formalization and verification of behavioral correctness ofdynamic software updates[J]. Electronic Notes in Theoretical Computer Science,2013,294(22):12-23
    [84]胡海洋,马晓星,陶先平,吕建.反射中间件的研究与进展[J].计算机学报,2005,28(9):1407-1420
    [85]梅宏,申峻嵘.软件体系结构研究进展[J].软件学报,2006,17(6):1257-1275
    [86]杨芙清,梅宏,吕建,金芝.浅论软件技术发展[J].电子学报,2002,30(12A):1901-1906
    [87]杨杰.基于软件体系结构的网构软件组装技术研究[D].北京:北京大学,2007
    [88]刘奕明.基于体系结构、特征驱动的软件动态演化方法研究[D].上海:复旦大学,2008
    [89] Breivolda H P, Crnkovicb I, Larssona M. A systematic review of software architectureevolution research[J]. Information and Software Technology,2012,54(1):16-40
    [90] Telelogic. DOORS[DB/OL]. http://www.telelogic.com/Products/doors/doors/index.cfm
    [91] Barry E, Slaughter S, Kemerer C. An empiricalanalysis of software evolution profiles andoutcomes[A]. In: Proc. of the20th Intl Conf Information Systems, Association for InformationSystems[C], USA,1999,453-458
    [92] Comyn-Wattiau I, Akoka J, Lammari N. A framework for database evolution management[A].In: Proc. of Workshop on Unanticipated Software Evolution[C],2003,10-14
    [93] Ducasse S, Girba T. Modeling software evolution by treating history as a first class entity[J].Electronic Notes in Theoretical Computer Science,2005,127:75-86
    [94] Abrahamsson P. Agile Software Development Methods: Review and Analysis[M]. Finland:VTT Publications,2002.
    [95] Williams L. Agile software development methodologies and practices[J]. Advances inComputers,2010,80:1-44
    [96] Jarke M, Loucopoulos P, Lyytinen K, Mylopoulos J, Robinson W. The brave new world ofdesign requirements[J]. Information Systems,2011,36:992-1008
    [97]刘辉,麻志毅,邵维忠.元建模技术研究进展[J].软件学报,2008,19(6):1317-1327
    [98]孙为军,李师贤,严玉清.模型驱动环境下模型演化的形式化研究[J].计算机科学,2012,39(6):116-119
    [99] Ardito C, Buono P, Costabile M F, Lanzilotti R, Piccinno A. End users as co-designers of theirown tools and products[J]. Journal of Visual Languages&Computing,2012,23(2):78-90
    [100] Wnuka K, Gorschekb T, Zahdac S. Obsolete software requirements[J]. Information andSoftware Technology,2013,55(6):921-940
    [101] Duan J N. An approach for modeling business application using refined use case[A]. In: Proc.of International Colloquium on Computing, Communication, Control, And Management[C],.IEEE Press,2009.404-408
    [102] Duan J N, Zhu Q X and Guan Z. A requirement-driven approach to enterprise applicationdevelopment[J]. Lecture Notes in Computer Science,2010,6318,295-302
    [103] Antovic I, Vlajic S, Milic M,Savic D, Stanojevic V. Model and software tool for automaticgeneration of user interface based on use case and data model[J]. IET Software,2012,6(6):559-573
    [104]吴丽芳,徐圆,朱群雄.基于组件的石化过程智能建模与优化系统的设计与开发[J].计算机与应用化学,2009,26(8):979-984

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

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

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