Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates
Total Page:16
File Type:pdf, Size:1020Kb
Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates by Sean Quan Lau A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Applied Science in Electrical and Computer Engineering Waterloo, Ontario, Canada, 2006 © Sean Quan Lau 2006 I hereby declare that I am the sole author of this thesis. I authorize the University of Waterloo to lend this thesis to other institutions or individuals for the purpose of scholarly research Signature I further authorize the University of Waterloo to reproduce this thesis by photocopying or by other means, in total or in part, at the request of other institutions or individuals for the purpose of scholarly research. Signature ii Abstract The pervasiveness and criticality of software applications in modern times have resulted in the demand for highly customized, high quality products in a timely and cost-efficient manner. Model-Driven Software Product Lines (MDSPL) is an approach to software development which allows developers to automatically build such products based on configuration knowledge and reusable assets. A product line is a group of related products that can be built from a common set of assets. The approach relies on two activities: 1) Domain Engineering, where features in the product line are scoped and reusable assets are built, and 2) Application Engineering, where individual products are built from the reusable assets. The MDSPL approach is supported by feature models and feature-based model templates. Feature models are a modeling notation used to represent the variability in a system family and describe all valid configurations. Feature-based model templates describe models for all valid products in a product line and are parameterized with feature configurations. In this work, we develop an example, inspired by a realistic application, of a product line of Business-to-Consumer systems, which is used to demonstrate the viability of the approach on a real world scenario. In addition, we analyze our experience with the approach in order to produce guidelines for users of the modeling approach and recommendations for future improvements of the approach and the tools. The key recommendations include proposals to 1) investigate the representation of ordering in feature models and activity diagram model templates, 2) extend the existing work on the semantics of class and activity diagram model templates, and 3) add mechanisms to address annotation consistency issues. iii Acknowledgements First and foremost, I would like to thank my supervisor, Dr. Krzysztof Czarnecki, for his guidance and support during these past two years. I am extremely grateful for the opportunity he has given me to work with him in the Generative Software Development lab at the University of Waterloo. I would also like to thank my thesis readers, Dr. Kostas Kontogiannis and Dr. Paul Ward, whose invaluable comments and advice have helped improve the quality of my thesis. I must further express my deep gratitude to Barry Pekilis, whose immense support throughout the past year has been instrumental in the completion of this thesis. As well, I would like to acknowledge the numerous discussions with Michał Antkiewicz in evaluating the models contained in this thesis. I would also like to acknowledge the support from of the rest of my colleagues in the Software Engineering group. It is impossible for me to fully express the extent of my appreciation and the gratitude I owe to my mom, dad, grandmother, brother, aunts & uncles, and Jacquelyn, whose support and belief in me helped me throughout the trials and tribulations of this MASc thesis. Finally, I would like to thank our department graduate secretary, Wendy Boles, who remained patient through my barrage of questions and paperwork. I gratefully acknowledge the financial support provided for this research effort by the University of Waterloo’s Faculty of Engineering. iv Table of Contents Chapter 1: Introduction .............................................................................1 1.1 Generative Software Development .............................................................................. 2 1.1.1 System Families............................................................................................................. 2 1.1.2 Development Methodology: Domain and Application Engineering ......................... 2 1.1.3 Reusable Assets.............................................................................................................. 3 1.2 Model-Driven Software Product Lines........................................................................ 4 1.2.1 Model-Driven Software Development ......................................................................... 4 1.2.2 Feature Models.............................................................................................................. 4 1.2.3 Feature-Based Model Templates.................................................................................. 5 1.3 E-Commerce Systems.................................................................................................... 5 1.4 Research Overview........................................................................................................ 6 1.5 Research Contribution.................................................................................................. 6 1.6 Thesis Organization ...................................................................................................... 7 1.7 Summary ........................................................................................................................ 7 Chapter 2: Background..............................................................................8 2.1 Unified Modeling Language ......................................................................................... 8 2.1.1 Class Diagrams .............................................................................................................. 9 2.1.2 Activity Diagrams.......................................................................................................... 9 2.2 Feature Models ............................................................................................................ 11 2.2.1 Configuration............................................................................................................... 12 2.2.2 Binding Time................................................................................................................ 13 2.2.3 Tool Support ................................................................................................................ 14 2.3 Feature-Based Model Templates................................................................................ 15 2.3.1 Tool Support ................................................................................................................ 17 2.4 Summary ...................................................................................................................... 17 Chapter 3: Research Methodology..........................................................18 3.1 Domain Analysis of E-Commerce Systems ............................................................... 18 3.2 Applying the MDSPL Approach ............................................................................... 20 3.3 Evaluation of the Approach........................................................................................ 21 3.4 Summary ...................................................................................................................... 22 Chapter 4: E-Commerce Domain Analysis: Store Front......................23 4.1 Home Page .................................................................................................................. 23 4.1.1 Static Content ............................................................................................................. 24 4.1.2 Dynamic Content ........................................................................................................ 24 4.2 Registration ................................................................................................................. 25 4.2.1 Registration Enforcement........................................................................................... 26 4.2.2 Registration Information............................................................................................ 27 4.2.3 User Behaviour Tracking Information...................................................................... 29 4.3 Catalog.......................................................................................................................... 29 4.3.1 Product Information................................................................................................... 30 v 4.3.1.1 Product Types.............................................................................................................. 30 4.3.1.2 Basic Information ....................................................................................................... 31 4.3.1.3 Detailed Description.................................................................................................... 31 4.3.1.4 Warranty Information................................................................................................ 32 4.3.1.5 Customer Reviews ...................................................................................................... 32 4.3.1.6 Associated