Font Size: a A A

Requirement Modeling And Application Based On Aspect And Feature

Posted on:2012-10-01Degree:DoctorType:Dissertation
Country:ChinaCandidate:S T LuoFull Text:PDF
GTID:1118330335450233Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
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.
Keywords/Search Tags:requirement engineering, crosscutting concern, concern refinement, requirement dependent relationship, reuse feature systems
PDF Full Text Request
Related items