基于方面和特征的需求建模及其应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
面向方面的需求工程作为需求工程领域的一个重要分支,具有广阔的应用前景和很高的实用价值。本文对面向方面的需求工程中若干问题进行分析,并分别提出相应的新方法。本文的主要研究内容如下。
     (1)针对Early aspect方法在映射机制中耗费分析人员相当大的精力的不足。提出了一种映射机制的改进的自动化方法。对关注的定义重新进行描述,并对需求之间的关联进行分类,依据判定条件对横切关注进行识别,从而找到可以映射为aspect的横切关注。利用原方法中的实例进行分析,并与原方法结果进行对比,验证了方法的有效性。
     (2)针对传统的面向方面的需求工程方法离不开对关注点语义的理解的不足。提出了一种依据需求关系提取横切关注点的方法。根据各个需求的相互作用关系,对彼此有依赖关系的需求进行筛选,从而识别横切关注点。针对“中小学作文评估系统”的需求依赖,做出了实例分析,验证了方法的有效性。
     (3)针对领域工程对于重复性、分散性较强的系统级功能并不重视的不足。提出了一种可复用特征的aspect
     封装方法。将系统观测的侧重点放于系统级功能特征上。构建领域内不同系统的特征层次关系,提取出现在不同系统中的系统级关注,使得在新系统中,这些关注可以被良好地复用。利用对2个旧遗留系统资产的重用,分析了可复用特征的aspect封装方法的性能,对该方法的可用性进行了验证并得出结论。
With the function of software become more and more powerful, the scale of software become more and more large, modules is increasing acutely. And the effects between modules.become more complex, for that, it is hardly to development and maintain. With wide application of Object-Oriented programming, its shortcoming is revealed little by little. Requirement analysis method of Object-Oriented only can map multi-dimensions requirements into one-dimension exposition. This will cause code tangle unavoidably. Aspect-Oriented requirement engineering with a view to the phase of software requirement analysis, give a useful way to encapsulate crosscutting concerns, which is identified by user, into aspects. It is helpful to design software production with well modular, to reduce code tangle and to supply a way for software maintain and reuse. To separate concerns is a basis rule for ensure system modular effectively. The aspect-oriented theory is a way to separate concerns. It is help to system design, solved the problem of code-tangling and code-scattering successfully. With the theory of Aspect-Oriented became matury, it is applied to every phase of software design. Aspect-oriented theory is originate from aspect-oriented software design and coding. Encapsulate crosscutting concerns into aspect will helpful to develop good-modulation software production and to reuse and maintain. In recently, Aspect-Oriented theory is applied in requirement engineering. It is encapsulate requirements into different concerns to reduce system's coupling. It helps to check conflict in early stage and support to reuse.
     The Aspect-Oriented engineering is analyzing and refining aspect in requirement level. In design phase, the concerns being separated could mapping aspect in specific object, such as class, by code. While in requirement analyze phase, it is indistinct to refine concerns. In this phase, the abstraction of use case, or behavior, is a forecast for code. It is hard to map concerns. In requirement analyzing phase, to abstract aspect is by way of checking viewpoint's changes or requirement's dependency.
     In this paper, we analyze requirement relationship in requirement analysis phase, and work on apply aspect-oriented requirement refinement to feature-oriented software reuse. Our main work as follow:
     (1) Early aspect method is a method of requirement engineering, it refine cross-cutting concerns in early phase of requirement analysis and mapping aspect in later phase. It has advantage of faster analysis to refine candidate cross-cutting concerns, but will cost more analyzers' work in mapping. For the problems of early aspect method's mapping mechanism, we propose an improved automatic method. In our method, we redefinition the concern, classify the relationships between requirements, refine cross-cutting concerns comply with determinant conditions to abstract aspects. We apply the case of early aspect method in our method, compare to existed result, and get an ideal conclusion. It verify our method is effective.
     (2) The traditional aspect-oriented requirement engineering refines cross-cutting concerns by concluding after abstracting concern in some requirements. It depends on understanding the meaning of concerns. Most methods to refine cross-cutting concerns through requirements, but those requirements' variety will make the abstract work harder. For the problems of non-dependence requirement's semantic describe, we propose a method of determining crosscutting concerns by requirements dependencies. At first, atomic requirement dependencies have been defined with respect to system resources; Next, the concept of requirements cluster has been provided and the way to grouping requirement into clusters has been introduced; Finally, an approach to determining crosscutting concerns and conflict analysis has been presented. The feasibility and effectiveness of our method has been indicated by applying it to an existing system for identifying crosscutting concerns.
     (3) Mapping of requirement in domain engineering will make reusable aspect belong to functional aspect or transactional aspect. It does not interest in dispersed functions in system level. Because functions in system level are dispersed in different modules, it will cause coupling, further more influence software reuse. For the problems of reuse of feature system, we propose a method of aspect encapsulation of features from feature model at requirement level. At first, through analyzing requirements documents of multi-legacy systems, a set of domain features needs to be identified, and feature layer model are established. Next, aspect encapsulation and cutting are done on feature layer model, and priorities for each aspect nodes to be confirmed. Finally new system can be developed with the assistance and reuse of feature layer model and encapsulated aspects. A case study has been done by applying our method to design a new web system from two legacy web systems. It has been indicated that our approach is helpful for reusing multi-legacy systems in one domain.
     In summary, through the study of dealing with requirements dependent relationship, give a refine crosscutting concerns method, and explain it with a case study. And combo with feature engineering, give a improve method of feature system reuse. Our research is not only give a way to study aspect-oriented requirement engineering, but also make a reform to software products reuse.
引文
[1]Isabel Brito. Aspect-Oriented Requirements Engineering. UML 2004 Doctoral Symposium (UML 2004). [R]The Research Center for Informatics and Information Technologies, Lisbon,2004
    [2]A. Rashid. Aspect-Oriented Requirements Engineering. [R]Lancaster University, UK.2006
    [3]T. Elrad, R. Filman, and A. Bader (eds.), "Theme Section on Aspect-Oriented Programming", [C]//Communications of ACM, Vol.44, No.10,2001.
    [4]A. Rashid, "A Hybrid Approach to Separation of Concerns:The Story of SADES", [C]//Proc. Reflection conf.2001, Springer-Verlag, LNCS, 2192, pp.231-249.
    [5]A. Moreira, A. Rashid, J. Araujo. Multi-dimensional Separation of Concerns in Requirements Engineering. [C]//Proc of International Conference on Requirements Engineering (RE), Paris, France. IEEE, 2005:285-296.
    [6]Clarke S. and Walker R. J., "Composition Patterns:An Approach to Designing Reusable Aspects", [C] IC S E,2001.
    [7]Clarke S. and Walker R. J., "Towards a standard design language for AOSD", [CJ//AOSD,2002, ACM, pp.113-119
    [8]Suzuki J. and Yamamoto Y., "Extending UML with Aspects:Aspect Support in the Design Phase", ECOOP Workshop on AOP,1999
    [9]Gregor Kiczales, John Lamping, et al, Aspect-Oriented Programming, [C]//Proc.11th European Conference on Object-Oriented Programming, pp.220
    [10]Gregor Kiczales, Erik Hilsdale, J im Hugunin, et al. An Overview AspectJ [M]Proc. of ECOOP, Sp ringer2Verlag,2001.
    [11]Olaf Sp inczyk, Andreas Gal, et al. AspectC++:An Aspect20rien2 ted Extension to C++[C]//Sydney, Australia:Proceedings of the 40 th International Conference on Technology of Object20riented Lan2 guages and Systems (TOOLS Pacific 2002),2002.
    [12]Howard Kim. AspectC#:An AOSD Imp lementation for C# [D]De2 partment of Computer Science, Trinity College Dublin,2003.52257.
    [13]Bjorn D Rasmussen, Casper S Jensen, et al. Aspect Oriented Progra2 mming in. NET[D]Department of Computer Science, Alborg Uni2 versity,2004.38239.
    [14]PrasadM D, Chaudhary B D. AOP Support for C#[C]//AOSDWork2 shop on Aspects, Components and Patterns for Infrastructure Software 2003, Boston,2003,49253.
    [15]Hannemann, Jan, and Gregor Kiczales. Design Pattern Implementation in Java and AspectJ. [C]//In Proceedings of the 17th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp.161-73, November,2002.
    [16]Parnas, D. L.,1992. "Tabular Representation of Relations", [R]CRL 260, McMaster University Canada.
    [17]Janicki, R.,1995."Towards a formalsemantics of Parnas tables" [C]//In Proc. of the 17th International Conference on Software Engineering, Seattle, WA, pages 231-240.
    [18]Janicki R. and Khedri R.,2001. "On a formal semantics of tabular expressions". [J]Science of Computer Programming,39:189-213.
    [19]Abraham, R. F.,1997. "Evaluating Generalised Tabular Expressions". [R] McMaster University.
    [20]Kahl Wolfram,2003. "Compositional Syntax and Semantics of Tables", [R]SQRL 15, Software Quality Research Laboratory, McMaster University Canada.
    [21]Jin, Y., Parnas, D.L., Balaban, A., "Mathematical Model of Tabular Expressions", [R] SQRL, University of Limerick Ireland.
    [22]Awais Rashid, Peter Sawyer, AnaMoreira, Joao Araujo. Early Aspects: A Model for Aspect-Oriented Requirements Engineering. [C]//Proc of IEEE Joint International Requirements Engineering Conference, IEEE, 2002:199-202
    [23]Sutton., S. M, Jr. Early-Stage Concern Modeling. [C]//Proc of Workshop on Early Aspects:Aspect-Oriented Requirements Engineering and Architecture Design,1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, 2002:56-67.
    [24]E. L. A. Baniassad, P. Clements, J. Araujo, A. Moreira, A. Rashid, and B. Tekinerdogan. Discovering Early Aspects. [J] IEEE Software, 2006,23:61-69.
    [25]L. Rosenhainer. Identifying Crosscutting Concerns in Requirements Specifications. [C]//In Early Aspects 2004:Aspect-Oriented Requirements Engineering and Architecture Design Workshop at OOPSLA 2004, Vancouver, Canada,25 Oct.2004
    [26]Baniassad, E. and S. Clarke. Finding Aspects in Requirements with Theme/Doc. [C]//In Workshop on Early Aspects (held with AOSD 2004). 2004. Lancaster, UK.
    [27]Sampaio, A., et al. Mining Aspects in Requirements. [C]//in Early Aspects 2005:Aspect-Oriented Requirements Engineering and Architecture Design Workshop (held with AOSD 2005).2005. Chicago, Illinois, USA.
    [28]S. M. Sutton Jr. Concerns in a Requirements Model-A Small Case Study. [C]//In Early Aspects 2003:Aspect-Oriented Requirements Engineering and Architecture Design, Workshop, Boston, MA, USA,17 Mar.2003,
    [29]P. L. Tarr, H. Ossher, W. H. Harrison, and S. M. Sutton. N Degrees of Separation:Multi-Dimensional Separation of Concerns [C]//International Conference on Software Engineering (ICSE),1999, ACM, pp.107-119.
    [30]A. Moreira, A. Rashid, J. Araujo [C]//Multi-dimensional Separation of Concerns in Requirements Engineering. International Conference on Requirements Engineering (RE), Paris, France,20 August-2 September. IEEE Computer Society. Pages 285-296.
    [31]M. G. Christel and K. C. Kang. Issues in Requirements Elicitation. [R]Software Engineering Institute, Carnegie Mellon University, 1992.
    [32]K. Czarnecki and U. Eisenecker. Generative Programming:Methods, Tools, and Applications. [R]Addison-Wesley, Reading, MA,2000.
    [33]Jin Ying, Zhang Jing, Hao Weiping, Ma Pengfei. Concern Based Approach to Generating SCR Requirement Specification:a Case Study. [C]//Proc of Computer Science and Information Engineering, IEEE, 2009:695-700
    [34]Loughran, N., Rashid A. Framed Aspects:Supporting Variability and Configurability for AOP. [C]//International Conference on Software Reuse, Madrid, Spain.
    [35]Baniassad, E. and S. Clarke. Theme:An Approach for Aspect-Oriented Analysis and Design. [C]//in International Conference on Software Engineering.2004. Edinburgh, Scotland, UK.
    [36]C. Heitmeyer. Formal Methods for Specifying, Validating, and Verifying Requirements. [J] UCS 13(5):607-618 (2007)
    [37]H. Klaeren, E. Pulvermueller, A. Rashid, and A. Speck. Aspect Composition Applying the Design by Contract Principle, [C]//2nd International Symposium on Generative and Component-based Software Engineering (GCSE),2000, Springer-Verlag, LNCS 2177, pp.57-69
    [38]B. Mirkin. Mathematical Classification and Clustering. [M]Kluwer Academic Publishers,1996.
    [39]A. van Deursen and T. Kuipers. Identifying object using cluster and concept analysis. [C]//In Proceedings of the 21st International Conference on Software Engineering (ICSE'99), pages 246-255, Los Angeles, CA, USA, May 1999. ACM-Press.
    [40]Chen Kun, Zhao Haiyan, Zhang Wei, Mei Hong. An approach to constructing feature models based on requirements clustering. [C]//Proc of the 2005 13th IEEE International Conference on Requirements Engineering. IEEE,2005:31-40.
    [41]Chen Kun, Zhao Haiyan, Zhang Wei, Mei Hong. Identification of Corsscutting Requirements Based on Feature Dependency Analysis. [C]//Proc of 14th IEEE International Requirements Engineering Conference, IEEE,2006:307-310.
    [42]C. R. Turner, A. Fuggetta, L. Lavazza, and A. L. Wolf. A Conceptual Basis for Feature Engineering. [J]Journal of Systems and Software, 49(1):3-15, December 1999.
    [43]Zhang Wei, Mei Hong. A Feature-Oriented Domain Model and Its Modeling Process. [J] Journal of Software,2003,14(8):1345-1356 (in Chinese).
    [44]Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS. Feature-Oriented domain analysis (FODA) feasibility study. [R]CMU/SEI-90-TR-21. Pittsburgh:Carnegie Mellon University, Software Engineering Institute,1990. pp.1-52.
    [45]Griss ML, Favaro J, d'Alessandro M. Integrating feature modeling with the RSEB. [C]//In:Devanbu P, Poulin J, eds. Proceedings of the 15th International Conference on Software Reuse. Victoria:IEEE Computer Society,1998.76~85
    [46]Davis AM. The design of a family of application-oriented requirements languages. [J]Computer,1982,15(5):21~28
    [47]Li Yuqin, Zhao Wenyun. A Feature Oriented Approach to Mapping from Domain Requirements to Product Line Architecture. [J] Journal of Computer Research and Development,2007,44(7):1236~1242 (in Chinese)
    [48]Chastek G, Donohoe P, Kang KC, Thiel S. Product line analysis: a practical introduction. [R], Pittsburgh:Carnegie Mellon University, Software Engineering Institute,2001. pp.1-42.
    [49]Jacobson I, Christeron M, Jonsson P, Overgaard G. Object-Oriented Software Engineering:A Use Case Driven Approach. [C]//Addison-Wesley,1992. pp 123~159.
    [50]Coplien J, Hoffman D, Weiss D. Commonality and variability in software engineering. [J] IEEE Software,1998,15(6):37~45.
    [51]Wiegers KE. Software Requirements. [M]2nd ed., Buffalo:Microsoft Press,1999. pp 3~22.
    [52]Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns:Elements of Reusable Object-Oriented Software. [C]//Addison-Wesley,1995. pp 1~29
    [53]张伟, 梅宏.一种面向特征的领域模型及其建模过程.[J]软件学报2003,14(8) 1345-1356
    [54]Chen Kun, Zhao Haiyan, Zhang Wei, Mei Hong. Identification of Corsscutting Requirements Based on Feature Dependency Analysis. [C]//Proc of 14th IEEE International Requirements Engineering Conference, IEEE,2006:307-310.
    [55]Chen Kun, Zhao Haiyan, Zhang Wei, Mei Hong. An approach to constructing feature models based on requirements clustering. [C]//Proc of the 2005 13th IEEE International Conference on Requirements Engineering. IEEE,2005:31-40.
    [56]Nebulon Company. FDD Overview Presentation. http://www. nebulon. com/fdd/index. html.
    [57]Frakes, W. B., and K. Kang, Software Reuse Research:Status and Future, [J]IEEE Transactions on Software Engineering,2005, 31(7):529-536,
    [58]CHARLES W. KRUEGER. Software reuse. [J]ACM Computing Surveys,1992, 24(2):131-183
    [59]Du XianFeng, Qiang ZanXia. Research of Software Reuse Technology Based on Component. [C]//Proc of 2010 3rd IEEE International Conference on Computer Science and Information Technology (ICCSIT), Chengdu:IEEE,2010:447-450
    [60]Mei, Hong (Ed.). High Confidence Software Reuse in Large Systems. [C]//Proc of the 10th International Conference on Software Reuse, ICSR 2008, Bejing, China, May 25-29,2008. Lecture Notes in Computer Science, Vol.5030.
    [61]Don Batory. An Introduction to GenVoca [C]//Department of Computer SciencesThe University of Texas,1996
    [62]Axel Rauschmayer. A Quick Introduction to AHEAD. [R]May 14,2003
    [63]Mehta A, Heineman GT. Evolving legacy system features into fine-grained components. [C]//In Proceedings of the 24th International Conference on Software Engineering. ACM,2002. Pp.417~427.
    [64]Clemente, P.J., Herandez, J., Sanchez, F. Extending. Component composition using model driven and aspect-oriented techniques. [J]Journal of Software,2008,3(1):74-86.
    [65]Sven Apel, Thomas Leich, Marko Rosenmuller, et al. Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution. [C]//Proc of RAM-SE'05-ECOOP'05 Workshop on Reflection, AOP, and Meta-Data for Software Evolution, Scotland, 2005
    [66]K. Lieberherr, D.H. Lorenz, and J. Ovlinger. Aspectual Collaborations:Combining Modules and Aspects. [J]The Computer Journal,2003,46(5):542-565.
    [67]Sarapaio, A., et al. EA-Miner:A tool for automating aspect-oriented requirements identification. [C]//in 20th IEEE/ACM International Conference on Automated Software Engineering (ASE2005) 2005. Long Beach, California, USA.
    [68]Jin Ting, Zhang Jing, Hao Weiping, et al. A concern-based approach to generating formal requirements specifications. [J] Frontiers of Computer Science in China,2010, Volume 4(2):162-172.
    [69]李玉琴, 文耘.从领域需求到产品线体系结构的映射—一种面向特征的方法.[J]计算机研究与发展2007,44(7):1236-1242
    [71]Hassan Gomaa, Erika Mir Olimpiew. Managing Variability in Reusable Requirement Models for Software Product Lines. [C]//Proc of the 10th international conference on Software Reuse. Beijing:springer, 2008:182-185.
    [72]Alves, V., et al. Extracting and Evolving Mobile Games Product Lines. [C]//in 9th International Software Product Line Conference (SPLC-EUROPE 2005) 2005.26-29 September 2005 Rennes, France.
    [73]S. Ferber, J. Haag, and J. Savolainen. Feature Interaction and Dependencies:Modeling Features for Reengineering a Legacy Product Line. [C]//In Proceedings of the Second Software Product Line Conference (SPLC 2), volume 2379 of Lecture Notes in Computer Science, pages 235-256, San Diego, CA, USA, August 2002. Springer-Verlag.
    [74]Clements, P and L. Northrop, "Software Product Lines-Practices and Patterns, " [R] Addison Wesley,2002.
    [75]H. Mei, W. Zhang, and F. Gu. A Feature Oriented Approach to Modeling and Reusing Requirements of Software Product Lines. [C]//In Proceedings of the 27th Annual International Computer Software and Applications Conference (COMPSAC 2003), pages 250-255, Dallas, Texas, USA, November 2003. IEEE Computer Society Press.
    [76]Clemente, P. J., Herandez, J., Sanchez, F. Extending. Component composition using model driven and aspect-oriented techniques. [J] Journal of Software,2008,3(1):74-86.
    [77]Sven Apel, Thomas Leich, Marko Rosenmuller, et al. Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution. [C]//Proc of RAM-SE'05-ECOOP'05 Workshop on Reflection, AOP, and Meta-Data for Software Evolution, Scotland, 2005.
    [78]K. Lieberherr, D. H. Lorenz, and J. Ovlinger. Aspectual Collaborations:Combining Modules and Aspects. [J]The Computer Journal,2003,46(5):542-565.
    [79]J. Grundy. Aspect-Oriented Requirements Engineering for Component-based Software Systems, [C]//4th IEEE
    [80]A. Mehta and G. T. Heineman. Evolving Legacy System Features into Fine-Grained Components. [C]//In Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pages 417-427, Orlando, Florida, USA, May 2002. ACM Press.
    [81]S. Clarke and R. J. Walker, "Composition Patterns:An Approach to Designing Reusable Aspects", [C]//International Conference on Software Engineering (ICSE),2001.

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

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

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