Abstract:
Identification of reusable software assets is the basis of software reusable exercise. Feature model can organize software requirements effectively in a certain domain by defining features and their relationship, which provides strong support for domain requirements reuse. Aspect-oriented system design emphasizes reducing entangles among requirements or codes produced during software development and achieving high modularity by encapsulating crosscutting concerns into aspects, which benefits maintenance and reuse. A method of aspect encapsulation of features from feature model at requirement level is proposed for the purpose of feature reuse, and it can identify the module reused from legacy systems in one domain. At first, through analyzing requirements documents of multi-legacy systems, system concerns are elicited and domain concern hierarchical structure is established. Next, a set of domain features are identified, and aspect encapsulation is done on similar features, and the feature layer model is set up. Finally a new system is developed with the assistance and reuse of feature layer model and encapsulated aspects. A case study is 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.