Skip to main content
Log in

Views and Patterns in E-Commerce Application Design

  • Published:
Annals of Software Engineering

Abstract

Separation of concerns is a well-established principle in software engineering that supports reuse by hiding complexity through abstraction mechanisms. The Abstract Design Views model was created with reuse in mind and allows the designer to apply separation of concerns in a software system from the design to the implementation. In this model, viewed objects represent the basic concern, i.e., the algorithms that provide the essential functionality relevant to an application domain, and viewer objects represent the special concerns related to other software issues, such as user interface presentation, synchronization, and timing. In this paper we use a reuse taxonomy to analyze and validate this model. Using this analysis and the properties of the relationship between viewer and viewed objects, called “views,” we also indicate how to map the views-based designs into implementations based on design patterns that satisfy the views properties. Finally, we show how to apply the principles of our approach, using views and the design patterns, to design e-commerce applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alencar, P.S.C., D.D. Cowan, and C.J.P. Lucena (2001), “A Logical Theory of Objects and Interfaces, ” IEEE Transactions on Software Engineering (TSE), to appear.

  • Alencar, P.S.C., D.D. Cowan, and C.J.P. Lucena (1996), “A Formal Approach to Architectural Design Patterns, ” In Proceedings of the Formal Methods Europe Symposium (FME'96), Springer, Heidelberg, pp. 576–594.

    Google Scholar 

  • Alencar, P.S.C., D.D. Cowan, and C.J.P. Lucena (1995), “Formal Specification of Reusable Interface Objects, ” ACM SIGSOFT Software Engineering Notes 20, SI, 88–96.

    Article  Google Scholar 

  • Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal (1996), A System of Patterns: Pattern-Oriented Software Architecture, Wiley Computer Publishing, New York.

    Google Scholar 

  • Czarnecki, K., U.W. Eisenecker, and P. Steyaert (1996), “Beyond Objects: Generative Programming, ” In Proceedings of the ECOOP'97 Workshop on Aspect-Oriented Programming, Jyväskylä, Finland.

  • Civello, F. (1993), “Roles for Composite Objects in Object-Oriented Analysis and Design, ” In Proceedings of OOPSLA'93, ACM Press, New York, pp. 376–393.

    Google Scholar 

  • Common Object Broker (1991), “The Common Object Broker: Architecture and Specification, ” OMG Document Number 91.12.1, Revision 1.1, Digital Equipment Corporation, Hewlett-Packard Company, Hyperdesk Corporation, NCR Corporation, Object Design Inc. and Sunsoft Inc., OMG Press, Needham, MA.

    Google Scholar 

  • Cowan, D.D. and C.J.P. Lucena (1995), “Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse, ” IEEE Transactions on Software Engineering (TSE) 21, 3, 229–243.

    Article  Google Scholar 

  • DeRemer, F. and H. Kron (1976), “Programming-in-the-large Versus Programming-in-the-small, ” IEEE Transactions on Software Engineering (TSE) 2, 2, 80–86.

    Google Scholar 

  • Dijkstra, E.W. (1976), A Discipline of Programming, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Fayad, M.E., D.C. Schmidt, and R.E. Johnson (1999), Building Application Frameworks,Wiley, New York.

    Google Scholar 

  • Fontoura, M.F., S. Crespo, C.J.P. Lucena, P.S.C. Alencar, and D.D. Cowan (2000), “Using Viewpoints to Derive a Conceptual Model for Web-Based Education Environments, ” Journal of Systems and Software (JSS) 54, 3, 239–257.

    Article  Google Scholar 

  • Fowler, M., K. Beck, J. Brant, W. Opdyke, and D. Roberts (1999), Refactoring: Improving the Design of Existing Code, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Gamma, E., R. Helm, R. Johnson, and J. Vlissides (1995), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Goguen, J.A. (1986), “Reusing and Interconnecting Software Components, ” IEEE Computer 19, 2, 16–28.

    Google Scholar 

  • Helm, R., I.M. Holland, and D. Gangopadhyay (1990), “Contracts: Specifying Behavioral Compositions in Object Oriented Systems, ” In Proceedings of ECOOP/OOPSLA'90, Springer, Heidelberg, pp. 169- 180.

  • IBM Visual Age (1994), Visual Age: Concepts and Features, IBM Corporation.

  • Kiczales, G., J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and I. Irwin (1997), “Aspect-Oriented Programming, ” In Proceedings of European Conference on Object-Oriented Programming (ECOOP'97), Springer, Heidelberg, pp. 220–242.

    Google Scholar 

  • Krasner, G.E. and S.T. Pope (1988), “A Cookbook for Using the Model- View- Controller User Interface Paradigm in Smalltalk-80, ” Journal of Object-Oriented Programming 3, 1, 26–49.

    Google Scholar 

  • Krueger, C.W. (1992), “Software Reuse, ” ACM Computing Surveys 24, 2, 131–183.

    Article  Google Scholar 

  • Markiewicz, M.E., C.J.P. Lucena, and D.D. Cowan (2000), “Taming Access Control Security Using the “Views” Relationship, ” Technical Report MCC19/00, Departamento de Informatica, Pontifical Catholic University (PUC-Rio), Rio de Janeiro, Brazil.

  • Mili, H., F. Mili, and A. Mili (1995), “Reusing Software: Issues and Research Directions, ” IEEE Transactions on Software Engineering (TSE) 21, 6, 528–561. Nelson, T., D.D. Cowan, and P.S.C. Alencar (2000), “A Model for Describing Object-Oriented Systems from Multiple Perspectives, ” In Proceedings of the Conference on Foundational Aspects of Software Engineering (FASE2000), ETAPS2000 (the European Joint Conferences on Theory and Practice of Software), Technical University of Berlin, Germany, pp. 237- 248.

    Article  Google Scholar 

  • Optima++ (1996), Sybase Optima++, Sybase Inc.

  • Parnas, D.L. (1972), “On Criteria to be Used in Decomposing Systems into Modules, ” Communications of the ACM 15, 2, 1053–1058.

    Article  Google Scholar 

  • Steyaert, P., C. Lucas, T. Mens, and T. D'Hondt (1996), “Reuse Contracts: Managing the Evolution of Reusable Assets, ” In Proceedings of OOPSLA'96, ACM Press, New York, pp. 268–285.

    Google Scholar 

  • UML (1999), Unified Modeling Language 1.3, specification available at http://www.uml.org

  • Watcom VX-REXX (1993), WATCOM VX-REXX for OS/2 Programmer's Guide and Reference, Watcom International Corporation.

  • Wentzel, K.D. (1994), “Software Reuse - Facts and Myths, ” In Proceedings of the IEEE International Conference on Software Engineering (ICSE), ACM Press, New York, pp. 267–268.

    Google Scholar 

  • Wiederhold, G., P.Wegner, and S. Ceri (1992), “Towards Megaprogramming, ” Communications of the ACM 35, 11, 89–99.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Markiewicz, M.E., Lucena, C.J., Alencar, P.S. et al. Views and Patterns in E-Commerce Application Design. Annals of Software Engineering 13, 111–140 (2002). https://doi.org/10.1023/A:1016545426571

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1016545426571

Navigation