Enterprise information systems: comparison of aspect-driven and MVC-like Approaches

Design of an enterprise information system significantly impacts its development and maintenance efforts. The research shows that maintenance consumes about 65--75% of the software development time and about 40--60% of maintenance efforts are devoted to software understanding [2, 9]. This paper compares the Aspect-driven design approach as applied to the three-layered architecture to the MVC-like design approach implemented by many conventional web frameworks. While both approaches strive to avoid information restatement, they differ greatly in the underlying idea; thus, this work compares based on development efficacy and ease of maintenance. We highlight their differences and qualities, such as information cohesion, coupling and restatement, and discuss their maintenance efforts. We also investigate their ease of use, deployments, and provide recommendations on when to use each approach.

[1]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[2]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[3]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[4]  Karel Cemus,et al.  Aspect-Driven Design of Information Systems , 2014, SOFSEM.

[5]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[6]  Kumaraswamy Ponnambalam,et al.  A maintainability model for industrial software systems using design level metrics , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Michael J. Donahoo,et al.  Aspect-driven, data-reflective and context-aware user interfaces design , 2013, SIAP.

[9]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[10]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[11]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[12]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[13]  Boni García,et al.  Combining Domain-driven Design and Mashups for Service Development , 2011 .

[14]  John Leaney,et al.  Separation anxiety: Stresses of developing a modern day separable User Interface , 2009, 2009 2nd Conference on Human System Interactions.

[15]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[16]  Michael J. Donahoo,et al.  How to reduce costs of business logic maintenance , 2011, 2011 IEEE International Conference on Computer Science and Automation Engineering.