A critical assessment of the design issues in e‐commerce systems development

Designers of electronic commerce (e‐commerce) transaction system applications face many challenges; some are old while others are emerging because of the emerging nature of the e‐commerce domain itself. This article examines the critical design challenges at different stages of the design process of e‐commerce applications. The high‐level designs have a large number of new issues specific to Web applications. Among them, the security and networking problems are the most determinant for the success of the applications. At the detailed design level, the languages and the user interface are major concerns. The user interface, specific to the Web, forces designers to redefine the traditional concept of the end user for the more appropriate customer‐centric concept. This is necessary to address the needs of consumers and for the survival of e‐commerce businesses. In addition, we also examine issues bothering the development team and the e‐commerce environment. Designers experienced in non‐Web applications can be more successful at developing e‐commerce applications if they address the issues we identified in this article in a creative way.

The platforms of Amazon.com (www.amazon.com), one of the most well-known e-commerce web sites, and Walmart. com (which sells merchandise to consumers through its web site) are examples of this type of e-commerce. Since the sellers are usually retailers, B2C can sometimes be referred to as e-tailing because this model emulates the situation of physical retailing.
A critical element in the development of e-commerce applications is the design phase, but it is often characterized by a lot of challenges, that it deserves special attention. Design, the first building and most creative step 14 of the software development life cycle (SDLC), 15 is the phase where software engineers decide how the system will be constructed. Davis 16 summarizes the design phase as follows: The design should minimize the intellectual distance between the software and the problem as it exists in the real world. 16 The design phase is usually divided into two parts: high-level design and the detailed design. The high-level design, as its name implies, is concerned with high-level decisions such as the product architecture (ie, the breakdown of the application into subsystems), the type and structure of the database, the languages, and the tools to use. The output of this phase is a set of documents and diagrams, such as the architectural diagrams, that are used to report high-level decisions made by software engineers. The decisions taken at this level are critical as any change later in the SDLC is either impossible or difficult to effect without significantly impacting on a large part of the already created product. In the detailed design phase, design engineers focus on the user interface and the algorithms. This phase is a preparation for the coding activity and, therefore, engineers must be competent in all the languages and tools chosen to build the application.
A characterization of e-commerce application that provides key contextual environment for the understanding of e-commerce transactions is available in the literature 2,9,17 but will not be discussed in this article, so interested readers should see the referenced resources. However, it suffices to mention these characteristics here: concurrent, distributed, dynamic, complex data access patterns, and real-time behavior of e-commerce transactions. Other properties are fail-safe, dependable, guarantee correctness of operations, secure environment, and trustworthy and minimize risks. The characterization enables us to properly dimension the various aspects of e-commerce applications and hence their design requirements. The design of e-commerce applications incorporates a wide range of technologies (eg, networking, multimedia, publishing, etc.) and is, therefore, one of the most challenging. Designers must not only be competent in all these areas but must also be able to anticipate new technologies and design accordingly. e-Commerce is a relatively new domain. It is tempting to pretend that conventional software engineering methods cannot be used and, therefore, tend to begin in level one of the five levels of the Capability Maturity Model 18 defined by the Software Engineering Institute (SEI) as shown in Figure 1.
At this level, no formal management is done to ensure success of the software development project. Rather, it is left to the heroic efforts of team members. 14 Although the agile family of development methods, such as "Scrum" and "Kanban," are becoming very popular among software developers in recent years, they are, however, often not recommended for developing dependable systems, including e-commerce applications, despite their popularity. The reasons • The incremental and categorical analysis of the key design attributes' challenges of e-commerce applications, which ensure correctness and completeness, in turn supports collaborative development among the development team members.
The contributions of this article are: • We provide an extensible infrastructure input to the e-commerce model that offers opportunities to reason about designing e-commerce applications systematically, thereby intuitively and inherently providing and enforcing a correct, fail-safe, unambiguous, and robust transaction processing environment for e-commerce.
• Identifies the key challenges in the design of e-commerce applications and juxtaposes these with e-commerce applications functionality to ensure good customer quality of user experience.
• Provides a roadmap for challenges in the design of e-commerce applications/systems to accommodate the increasing sophistication of e-commerce applications and the increasing demands of users for higher quality of user experience.
• It provides a practical case study for gaining knowledge and skills acquisition on designing an e-commerce system. The issues/challenges identified in designing e-commerce applications provide areas of realistic concern that demand appropriate attention and requiring use of standardized design methods and tools. The basic principles and thrust on which we anchored our examination of the issues is applicable to solving real-world problems and provides a stimulating learning experience to other system developers.
• The implementation of any design that addresses the design challenges we examined in this article provides a test-bed platform/environment for learning and gaining practical experience in Web applications architecture (software) design and implementation.
This article is significant for the following reasons: • First, by identifying the design issues at different levels of abstractions makes the understanding of the relevant elements in e-commerce application development clearer.
• It helps e-commerce applications developers to focus on the identified design challenges in implementing e-commerce solutions that are robust, secure, and fail-safe.
• It provides the basis for reengineering Web application functionalities that support e-commerce applications transactions to offer better quality of user experience to e-commerce applications users.
• While not reinventing the wheel, our study helps e-commerce application developers to identify and use appropriate system design methods and tools to provide support for e-commerce functionalities. This approach helps speed up e-commerce application development by focusing on the proven design issues during implementation.
This article is helpful for designers and developers of e-commerce applications because it highlights some key fundamental or pragmatic challenges in the development of e-commerce applications. Therefore, examining the design process, operational efficiency, and effectiveness is clearly important because we are able to understand, apply, and promote notable design principles, processes, and practices to overcome the identified challenges.
The remainder of this article is organized as follows: Section 2 provides a general review of some of the research in the acceptance of e-commerce and some of the problems in software design in general, while in Section 3 we briefly introduced the design goals of software development to provide appropriate context. Section 4 describes in detail the critical issues in the design of e-commerce applications/systems. The issues/challenges are classified into five categories: high-level design issues, team issues, user interface issues, detailed design, and environment issues. In Section 5, we show in a tabular format the essential elements of, and their relationships with, design goals, e-commerce functionality, and design features. We provide a discussion of our results/experience in Section 6. Finally, we conclude the article and outline some future directions for this research in Section 7.

BACKGROUND AND RELATED WORK
Software design is a fundamental concern during the software development process. 22 Design issues are frequent concerns among experiences shared by developers. 23 This is fundamental because early design decisions by developers may influence some key attributes of a system, such as maintainability, robustness, comprehensibility, and performance. Bourque and Fairley 24 discussed some key issues that must be dealt with in software design, namely: concurrency, control and handling of events, data persistence, distribution of components, errors and exception handling and fault tolerance, interaction and presentation, and security. While some of these key issues are quality concerns (eg, performance, security, reliability, usability, etc.) which all software must address, other issues deal with crosscutting concerns such as how to decompose, organize, and package software components. Also, Hummel et al 25 provided an overview of some key software engineering challenges and allocated them to the common software development life-cycle activities while focusing on crosscutting concerns.
According to Sousa et al, 26 a software design problem occurs when a software design decision has a negative impact on one or more quality attributes of the software. A design problem impacts on some of the key properties (such as extensibility and maintainability, robustness, comprehensibility, and performance) of a software system. They opined that it is difficult to identify a design problem in a system, and in particular when the source code is the only available artifact, it is more challenging to identify the design problems. They concluded that developers/software designers often use multiple indicators during the identification of each design problem.
The harmful effects of design problems have led to the discontinuance or reengineering of some software systems. 27,28 Silva et al, 29 Xiao et al, 30 and Sousa et al 31 show that design issues are one of the most common categories of technical issues that lead to the failure of software systems. Therefore, given the negative effects of design problems, it is recommended that developers should remove them from software systems as early as possible 32,33 in the software development process. However, identifying the design problems is nontrivial. 34,35 Tago et al 36 identified interface design and experience, among other factors, as crucial and critical factors that help to enlarge our comprehension of the application and use of [mobile] electronic commerce applications. This also validates the original technology acceptance model (TAM) constructs. [37][38][39] Aniche et al 40 examined the practical challenges of e-commerce applications design in modern software development. According to Aniche et al, 40 "good software designs are, among other characteristics, lowly coupled, highly cohesive, extensible, comprehensible, and not fragile." 40 Besides the above, additional requirements are, however, necessary due to the increased complexity and heterogeneity of contemporary software.
Koussouris and Di Nitto 41 state that "high quality software requires specific skills and the adoption of good and controlled development and operation practices." 41 They assert that the challenges in software engineering, which encompass both the process and technological aspects, should be resolved in order to be able to develop high quality software. Koussouris and Di Nitto 41 and Casale et al 42 identified the challenges as: (a) process, methodologies, and productivity issues that seek to redefine software measurement in terms of its other qualities such as usability, reliability, scalability, etc. instead of the obsolete and deprecated "lines of code" as the right measure of productivity; (b) application contexts; (c) design patterns development at the architectural level that describes the obligations/constraints of the software system environment, while elevating the need for their validation and standardization, and development of methods for their application in a dynamic environment; (d) quality guarantees to cope with the emerging trends in software development; (e) requirements engineering issues resulting from the increased complexity of knowledge capturing and representation because of the peculiarities of connected-world concept; (f) privacy and security by design; (g) new system architectures and software infrastructures able to cope with big data; and (h) the continuous need toward accelerating open source software innovation.
The position held by Koussouris and Di Nitto 41 supports the various views expressed in the literature 1,2,9,21,43 canvassing for the use of formal methods in the modeling of e-commerce applications. The main challenges in the new web environment include the development of models, methods and design tools for web-enabled applications, going beyond mere formal methods research, to creating abstractions and formalisms to construct and reason about systems with diverse and more difficult-to-characterize components as enunciated in Reference 17. Web applications also need novel methods for software adaptability, scalability, and maintainability because they need to be continuously modified and maintained to meet changing requirements during runtime, thereby requiring run-time adaptation of software quality assurance and capability to deal with uncertainty and variability at the same time, software-awareness of hardware to ensure Web-scale performance, flexibility, and agility. 41 Basha et al 44 examined the domain specificity, meta-modeling, and iterative transformation challenges in model-based software development (MBSD). Although the idea of using models to alleviate software complexity is by no means new, however, their applicability have been restricted largely to selected aspects of the development process, particularly structural and compositional aspects in the design phase, and model checking and verification in the testing phase. These two phases are insufficiently interconnected 44 due to the lack of a unified theory to express relevant concepts at an appropriate abstraction level. 9 However, the development of complex software, such as e-commerce applications, requires that the developers provide models of the system from multiple perspectives, such as structure, behavior, interaction, and architecture and nonfunctional properties.
MBSD demands an enhanced requirement on software models for completeness and precision, and an efficient mechanism for mapping between design model and implementation. These requirements (completeness and precision, and efficient model-implementation mapping mechanism) extend beyond generating model-prescribed code to also include management of the consistency between model and code as the software evolves. The cost of mapping between design model and implementation often significantly exceeds that of working directly on code; therefore, MBSD is often not pervasive in practice. However, "software models in MBSD not only have to contain enough details to generate relatively complete code, but also need to be, and stay, simpler than the software programs created during this process." 44 van der Straeten et al 45 identified scalability, consistency and coevolution, formal foundations, and industrial adoption as key challenges in model driven software engineering. Similarly, the participants at the International Workshop on Challenges in Model-Driven Software Engineering 46 identified the following major categories of challenges: • Model quality: The need to deal with quality aspects in modeling and model-driven engineering.
• Run-time models: The need for shift of focus from primarily on using models at analysis, design, implementation, and deployment stages of development to the use of models during run-time which extends the use of modeling techniques beyond the design and implementation phases of development. This paradigm shift introduces a number of challenges, such as dynamic behavior representation.
• Requirements modeling: The key challenge is the need for appropriate modeling framework and how to achieve traceability between requirement specifications and design models and how to bridge the gap between the often predominantly informal (textual) requirement specifications and formal requirement models.
• Standards and benchmarks: Benchmarks and standards provide an excellent resource to compare different tools and approaches. However, there is the absence of widely accepted benchmarks. In this respect, several key challenges exist; such as how to design and develop benchmarks that facilitate comparison between tools and approaches, the determination of the standards that are needed to facilitate interoperability between tools, and determining how to obtain and share common data models and model transformations.
• Modeling languages. Appropriate models cannot be developed without precise modeling languages. The key challenge is determining which languages, methods, principles, and tools are necessary to design precise meta-models.
• Domain-specific modeling. Models for complex systems encompass several domains. Capturing all important aspects of such a complex system requires developing multiple models using different domain-specific modeling languages (DSMLs) and introduces many challenges such as how to develop and integrate models using different DSMLs.
• Model verification and validation. Verification and validation is an important aspect of model driven design. A critical challenge is determining how to verify, validate, debug, and test the models and the code generated from those models.
• Formal foundations. A formal foundation is a necessity for the verification and validation of models and their transformations. The key challenge is how to integrate formal verification tools into modeling environments. We need intuitive, simple and yet expressive tools that does not require the user of the modeling environment to have any expertise in the different formalisms and techniques used for verification.
• Model consistency and coevolution (ie, model evolution and inconsistency management). Models are built using a variety of DSMLs. The question arises how to develop DSMLs that can be efficiently extended, adapted, or customized.
• Other notable challenges include empirical analysis, process support, industrial adoption, and scalability issues.
The specification and testing of model transformations are not easy tasks and they present numerous challenges. Vallecillo et al 47 present some of the key issues in model transformation specification and testing. They introduced the concept of tract, which is a collection of source models satisfying the source constraints, that generalizes model transformation contracts and show how they can be used for model transformation specification and black-box testing, and the kinds of acceptable analyses.
Otero 48 identified requirements volatility, the design process, technology, ethical and professional practices, and managing design influences as key design challenges. In addition, other major challenges include quality issues (eg, performance, usability, security, etc.), distributed software development, efficient allocation of human resources to development tasks, limited budgets, unreasonable expectations and schedules, fast-changing technology, and accurate transformation from software requirement to a software product.
A key characteristic of requirements volatility is its potential to impact future or ongoing development efforts. This feature, according to Otero,49 "forces designers to create designs that provide solutions to problems at a given state while also anticipating changes and accommodating them with minimal effort. This requires designers to have a strong understanding of the principles of software design and develop skills to manage complexity and change in software development." 49 Privacy and security at both design time and runtime of e-commerce application software is crucial 17 to comply with software development methodologies evolution as the landscape of threats and vulnerabilities is continuously expanding. In particular, complex distributed systems, which in many cases have to handle large data volumes in a distributed way, need special attention in handling privacy and security.
Information systems and technology have become essential tools for organizations to achieve their goals. Al-Mamary et al 50 examined models and theories on individual acceptance of technology and x-rayed the factors which make information systems successful based on the theoretical models rooted in the literature. 37,38,[51][52][53][54][55] Munir et al 39 examined customer acceptance of, and the factors that influence the use of, mobile banking services in Makassar using the TAM framework. They collected data through structured interviews with a questionnaire. The results showed that (a) perceived ease of use significantly influence perceived usefulness and intention to use, and (b) perceived usefulness significantly influence intention to use. They concluded that to increase customer acceptance or adoption of mobile banking services, the banks should pay adequate attention to, and highlight factors such as, perceived usefulness and perceived ease of use.
Islama et al 56 also assessed the adoption of mobile banking in Bangladesh using the unified theory of acceptance and use of technology (UTAUT) model. 52,57 Tan 58 similarly used the UTAUT model to understand the factors affecting the Use of English e-Learning websites in Taiwan. Similarly, Al Mursalin 59 explored 255 Bangladeshi SMEs to conceptualize current trend of information systems usage and validates the UTAUT model to explain information systems adoption behavior. The study shows that although a number of Bangladeshi SME's are exposed to computer-based information systems, their usage, in most cases, are limited to operational level of activities. Tago et al 36 provided a conceptual framework for the understanding of mobile commerce applications based on the well-reasoned and revised TAM 38,53,60 that comprises of the distinct features from mobile commerce, electronic business, and information systems domain. Abubakar and Ahmad 61 similarly used a conceptual extension of UTAUT 62 with concern for customers in a study of the determinants of behavioral intention to use e-payment system in the Nigerian retail industry. Also, Raeisi and Lingjie 63 similarly used an integrated model of theories (TAM, TAM3, UTAUT, IDR, etc.) to study which factors influence consumers' intention to use mobile commerce and influence mobile commerce adoption by Chinese people.
Min et al 62 described a theoretical framework that incorporates the unique characteristics of mobile commerce to enhance our understanding of mobile commerce acceptance and usage in China. The study, based on the revised UTAUT model, includes the characteristics of mobile commerce, inclusion and consideration of information system user satisfaction theory, and Chinese culture and context. Venkatesh et al, 57 Attuquayefio and Addo, 64  Many studies 5,69-79 have examined the factors that significantly influence customer satisfaction and customer loyalty in e-commerce business. Several factors such as perceived usefulness, perceived ease of use, customer risk perception, customer support, customer trust, promotion, information quality, transaction security, website design, and brand image of e-commerce influence satisfaction when shopping on an e-commerce website and has significant impact on customer loyalty. Khalid et al 80 concluded that e-commerce service quality (particularly related to security and payment method) is the principal element affecting customer satisfaction with e-commerce system. Also, information quality, system quality, service quality, product quality, delivery quality and perceived price have been identified as factors that affect the overall user quality of experience in using e-commerce applications. 81 Tabaei et al 82 found product features and website quality as key factors for electronic customer satisfaction. They conclude that service quality dimensions in terms of ease of use, website design, responsiveness, customization and assurance, amongst other factors, have positive relationships with customer satisfaction and trust.
Cao et al 83 identified, examined, and integrated four sets of factors (system quality, information quality, service quality, and attractiveness) that capture e-commerce web site quality using the TAM model. They provide practical guidelines for e-commerce managers and web designers. Their result supports the position of Chakraborty et al 84 in the study of antecedents of website effectiveness. Also, Dwairi and Kamala 85 stated that ease of navigation, navigation time, page download, and use of multimedia to improve Web site's visual appeal are the attributes that influence the design factor in evaluating the quality of B2C e-commerce Web sites.
Gelard and Negahdari 74 posit that a number of web specific factors including navigation, interface and customized content and update are critical elements in e-commerce systems development. Marszałkowski et al 86 analyzed load time factor in search engine ranking which is essential for marketing plans of many e-businesses and they show that the load time factor plays a significant role in the ranking of search results. Vollset 87 identified page loading time as one of the major complaints by e-commerce website users. The speed of a site negatively impacts a user's session depth, thus a website page speed affects a merchant's revenue because loading speed is a major contributor to page abandonment. Slower page response times result in an increase in page abandonment.
We rely on the innovation diffusion theory (IDT) 88 and refined IDT 89 frameworks to model the design of electronic commerce applications interfaces. We also draw on the conclusions on the use of TAM and its extensions and UTAUT models as the theoretical basis for the design of electronic commerce applications interfaces. Using the revised TAM, which includes distinct features for electronic commerce and information systems domains, helps to increase our understanding of electronic commerce applications and acceptance. We focus on the theoretical contributions of these models rather than issues that bother on method because this approach would help practitioners to comprehend insights into how to promote electronic commerce to customers. We concur, however, with the conclusion by Tago et al 36 that method issues can influence findings and conclusions.

SOFTWARE DESIGN GOALS
Design, the creative process of defining how to implement a system based on the customer's requirements, is a problem solving activity. Design problems have unlimited number of alternative solutions. Therefore, a thorough analysis becomes a key requirement in advance of any implementation. It is essential that a precise linkage is established between the use cases and requirements and the designs. Therefore, our design abstractions must be grounded in reality by properly evaluating entities that are both internal and external to the desired software application. The goal of the design often dictates the design approach; whether to use the object-oriented design or use traditional function-oriented design methods, whether to design for reuse in mind or not, adopt the principle of designing for testability, etc. The primary software design goals include: • Functionality  92 are applicable here and these resources 93,94 provide a relationship between the quality factors and quality criteria in a tabular format. These will not be repeated in this article and readers should see References 90-94 for the detailed discussion of software quality characteristics and attributes. It suffices, however, to state that achieving and satisfying the quality factors (usability, integrity, efficiency, correctness, reliability, maintainability, testability, portability, reusability, interoperability, flexibility, availability, etc.) of software is the primary goal of a good software design.
The testing process is not the exclusive confine of the coding activity. Testing of the system design with walkthroughs and other design review techniques is very useful. This is challenging for e-commerce applications developers if not properly handled. Thus, a thorough analysis of the design in advance of implementation is crucial and this can be made easy by adopting consciously the principle of designing for testability.
The design of any software system must, therefore, meet the performance, security, safety, availability, maintainability, usability requirements of the system in order to meet the needs of the user/client, on the one hand, and the needs of the developer on the other.

DESIGN ISSUES IN E-COMMERCE APPLICATIONS
In this section, we classify the design issues/challenges into five categories: high-level design, development team, user interface, detailed design, and environment. Some of these issues are specific to e-commerce, while others are more general concerns found in Web applications. The more general issues can be applied to any software system. Pressman 95 characterizes Web applications as: … network intensive, content driven and continuously evolving. 95 This description summarizes the features of Web applications; and in a way points to the numerous inherent challenges designers face with e-commerce applications. Network issues are a consequence of the client/server architecture and distributed model of e-commerce applications and the relative inadequacy of the infrastructure of the Internet. The Web, initially designed to display only text, today is used for pictures, sounds and movies and almost any sort of application that one can imagine. This is a challenge for designers who have to deal with the growing demand for the integration of modern and emerging technologies such as video, text, and voice data communications. Although the Web naturally supports these media elements, their integration to deliver better quality of user experience is a nontrivial matter.
In the following subsections, we examine in details the design challenges enumerated above.

High-level design Issues
Recall, high-level design is concerned with high-level decisions and every one of such decision is critical to the future of the development process of the e-commerce application. This subsection explains in details the critical issues at this phase of the development process. In each area, we focus on only the problems encountered in the high-level design.
Other issues related to an area, but not related to high-level design, are described in the corresponding subsections. This is necessary to put the subsequent discussion that follows in proper context.

Security
The security of e-commerce applications is critical to the success of the e-commerce business model. According to Qualys, 96 Vulnerabilities in web applications are now the largest vector of enterprise security attacks. 96 It is necessary for e-commerce application designers to clearly understand all the threats and vulnerabilities landscape and the intricacies of the security of a web site and its underlying supporting infrastructure and to master the techniques used to counter the various threats. Non-Web applications run mostly on local networks and, therefore, the security threats are limited and can easily be isolated and contained. The network infrastructure are under the control of system administrators and it is easy to prevent any sniffing of the information going through the network using some well understood intrusion prevention and intrusion detection systems implementations. 97,98 Equipment is usually locked in secured areas and access to them is restricted and monitored. The access to the data and software residing on servers is controlled by access control measures/implementations, including the popular two-factor authentication login procedure. For example, to login, a user must provide a password, and the device from which a user tries to login must be registered as a valid access point. In conclusion, most non-Web applications run on controlled infrastructure and restricted access; therefore, security threats are reduced to a comfortable level.
e-Commerce applications, on the other hand, run on external infrastructure. Communication between customers and the e-commerce site is done through predominantly unsecured devices and network links. It is safer to view these infrastructure as unsafe and, therefore, take every possible step to prevent security attacks, rather than assume any false comfort level of security. Furthermore, the customers and the e-commerce servers are not located in the same building or network controlled by the same entity. Consequently, subjects like authentication and nonrepudiation are major concerns. Ehikioya and Olukunle 17 provide a detailed examination of these concepts and recommend their deliberate integration into the design of a framework for e-commerce security. The two most critical design issues regarding security in e-commerce applications are network security and the transaction security.

Network security
Data travel through different media that are not under the control of the e-commerce site's management. This situation poses some challenges in the security and safety of an e-commerce application. Designers must ensure that despite this handicap, data can travel safely with a minimum risk of being intercepted. All protection techniques are computationally demanding 99 and, therefore, it is important to classify data when it is necessary and to make it available when it is not necessary. For example, during shopping, it might not be needed to protect the transfer of shopping cart information. On the other hand, all transfers containing customer information or payment information must be secured as much as possible. To effectively attain this functionality, the Adaptive Secure Protocol (ASP) proposed in Reference 100 becomes relevant. According to Tak et al, 100 The Adaptive Secure Protocol dynamically adapts the security level based on the nature and the sensitivity of the interactions among participants. The security class incorporates the security level of cryptographic techniques with a degree of information sensitivity. 100 The traditional protocol used to secure communications channels during data transfer is the Secured Socket Layer (SSL) protocol. This is considered the first level of security. 101 A new protocol, Transport Layer Security, has been developed. 102 Designers must either be competent in these technologies or hire experts to incorporate these technologies into their designs. Figure 2 shows the relationship of the application layer, SSL, and the Communication layer.

Transaction security
The main concern of the SSL protocol is to ensure that what is received is what was sent. Once that has been achieved, there is still no proof that the person or entity is what it claims to be. This is referred to as the authentication issue. Furthermore, one of the parties can deny being an actor in an e-commerce transaction. This is the nonrepudiation issue. e-Commerce servers collect a large amount of information about each customer. The company responsible for the e-commerce site must take appropriate action to prevent any unauthorized person to access this data. This is the confidentiality issue.
Designers must address all three of these issues (authentication, nonrepudiation, and confidentiality) in order to ensure the success of the business running the e-commerce application. The solutions to these issues involve the use of sophisticated cryptographic techniques. 12,103,104 Designers must either be proficient in this area or seek help from specialists. Further, safety and security, and then reliability (including resilience) must be consciously built into the design of e-commerce applications to account for the atomicity, consistency, isolation, and durability (ACID) properties required of e-commerce transactions. 10 The challenge, however, is that many e-commerce applications designers ignore or fail to treat appropriately these key nonfunctional requirements due to their lack of knowledge or experience in modeling these dependability properties of an e-commerce application.

Communications and networking
This area deals with the networking issues specific to the design of e-commerce applications. Recall, Web applications, including e-commerce, are network intensive. 2,21,95,105 Thus, if a team made up of network administrators and technicians is in place, designers can safely assume that the physical security of the hardware is maintained and protection, such as firewall, has been installed. A number of issues are of prime concern to designers. e-Commerce applications are very network intensive and, therefore, factors such as performance and bandwidth are critical as well as network security discussed previously. Once the network administrators have established the best possible environment, designers must find a way to develop their applications within these limitations. The network security, although vital, is not enough by itself for e-commerce transactions but transaction security mechanisms consciously designed into the application itself is crucial.
The bandwidth limitation is more serious in the "last mile" of the connection because bandwidth is smaller on the edges of the network than on the backbone. This limited capacity has a significant impact on the design of web pages. Music and video, as well as heavy graphics/pictures, must be limited, or even better, not placed at all on the web pages of an e-commerce web site. The heavy presence of these media items reduces the capability of the site to present some products adequately. It is important to note that page-loading speed is the most common complaint 106 among customers. If the loading of web pages is too slow, customers will most likely switch to another site due to customer poor quality of user experience. In particular, with the prevalence and ubiquity of mobile devices, often with limited power and small display real estate footprint, the careful design of web pages is vital in order to capture the mobile commerce user segment. The network architecture of the Internet is an issue which designers do not have much control. The architecture of the Internet is heterogeneous. It includes, for example, wireless workstations which are difficult to locate and have usually very limited computational power. The location poses a problem when the system tries to authenticate a customer. The IP address representing the customer can vary depending on which base transceiver station the wireless computer is connected to. Tracking the customer by IP address alone, which is one of the four methods described by Thomas,101 is almost impossible. Other means of tracking customers such as cookie or tag propagation must be used. The limited power of [mobile] devices (such as mobile phones, personal digital assistants [PDA], etc.) forces designers to either offer two versions of their Web site, one with regular content and the other with limited graphic content, or restrict completely the use of graphics to small size pictures only when absolutely necessary. Good quality user experience mandates that web pages be properly designed [107][108][109][110][111] to compensate for low bandwidth, low power of devices, and so forth.
The stateless characteristic of the Web protocol is one of the major issues in designing an e-commerce site. A stateless protocol does not maintain session information; rather every page opened is considered a new and isolated transaction. This type of protocol is very simple but neither suited for nor designed for e-commerce. e-Commerce applications designers must use "tricks" such as cookies to artificially maintain session parameters. This creates a very particular style of design where each page passes parameters to the next page. Parameters can also be saved in session variables on the server or cookies on the client. This method of designing applications makes retraining of designers a mandatory requirement to help them acquire the requisite skills to move from a local Windows environment to a Web design environment.

Languages and tools
One of the early high-level design decisions is that designers must decide what languages/tools will be used to develop their applications. e-Commerce applications usually require a wide range of languages or tools. 112 Perl, Java, ASP.NET, Javascript, PHP, and HTML are some of the most common. The choice of one language over another is a difficult one because the designer must anticipate future changes. In addition, new languages are emerging at a rapid pace, and no one can comfortably guess their longevity, popularity, and acceptance. Besides, some modern languages, such as ASP.NET/VB.NET are linked to a particular operating system (in this case to the Windows operating system) and do not work with other platforms. This protectionism/propriety property or nature must be taken into account to avoid incompatible technologies. Most of these languages do not provide the full complement of functionality of a traditional programming language; for example, some do not have a debugger or an integrated development environment which is essential in program development.
In traditional applications, programmers are experienced in some specific programming languages and they stick to these languages for years. Web applications development is more demanding, fluid and dynamic, and the retraining of programmers (and other developers) is an absolute necessity. Designers must take these into account when designing Web applications.

Database
e-Commerce applications are by nature network-intensive, dynamic, distributed, and client-server applications. 2 Relational databases are almost universally used to store data. Relational Database Management Systems such as DB2 from IBM, Sybase, Microsoft Structured Query Language (SQL), or MySQL are the most common DBMS found. Manipulation of data is done with the SQL. DBMSs have been used for years in traditional applications and offer the robustness necessary to ensure proper transaction processing. Unfortunately, Thomas 101 observed that: The Web was never designed to be a transaction-oriented environment. 101 Workarounds have been found to allow database web applications to interface with DBMS. e-Commerce transactions must conform to the inherent ACID properties of transactions. Out of these four ACID properties, atomicity is the most difficult to achieve in an e-commerce application execution environment, and consequently the consistency. As an example, during the checkout process, items bought are transferred from the shopping cart to the order table in the database. Doing so will actually split the checkout transaction into two insert transactions. This could potentially put the database into an inconsistent state. To prevent this, a number of workarounds have been designed. Microsoft, for example, has added a Transaction Server to its suite of software. This server service works on top of the web server and allows web pages using the ASP.NET/VB.NET scripting language to submit transactions by including the command TRANSACTION = REQUIRED code at the beginning of the transactional ASP page. According to Mihalcea,10 From a database perspective, the atomicity is a fixed property, but everything else may be traded-off for performance/scalability reasons. 10 Durability is better off untouched in e-commerce systems because of the need to meet the enterprise system business requirements that mandate durable transactions when a transaction succeeds.
Increasingly, nonrelational database model, such as noSQL, is gaining prominence as the underlying data storage mechanism in some popular e-commerce systems. For example, MongoDB, a cross-platform scalable and flexible document-oriented database with support for query and index functionalities, is being used by many well-established organizations (such as HSBC, eBay, Uber, The Gap, and Urban Outfitters, etc.). Interoperability support between applications and data sources is a tremendous challenge because each application/data source comes with a unique interface and value proposition. To function like the standard SQL-based relational database, some workarounds have emerged for noSQL functionalities. CData Software Inc. 113 succinctly posits that:

While SQL does not marry perfectly with NoSQL structures, SQL-based drivers based on established data standards like ODBC, JDBC, and ADO.NET provide a powerful and ubiquitous bridge between NoSQL and modern and legacy applications alike. 113
NoSQL may offer better performance, scalability, availability, affordability, and flexibility to meet the above needs of the customer because NoSQL databases make managing product, order, and customer information relatively easier, potentially freeing merchants to collect more shoppers and sales data. Merchants could then analyze that data more readily and implement innovative ecommerce solutions that genuinely improve the shopping experiences and could improve management of big data, thereby gaining a competitive advantage. e-Commerce applications generate a large number of transactions. This number is often too much for a single server. Database designers must often use distributed databases to solve this problem. The distributed model is much more difficult to work with but allows a greater throughput by relocating most commonly used database resources (tables) closer to customers. However, the customers of an e-commerce merchant may be from other continents and very far from the merchant. Another technique used to improve the data availability is the replication of the data. Duplicate copies of the same data are replicated on multiple servers. These two techniques are not special to e-commerce but were already used in non-Web applications.
e-Commerce applications are often designed on top of existing applications such as accounting or financial applications. These legacy systems could be built with older technologies which are not easy to integrate with.

Development team issues
Software companies, which have been developing conventional software for a long time, have well-trained teams of developers. It might seem that these companies could tackle any software project with ease. It is certainly not true for e-commerce applications. The teams required for these e-commerce applications projects are heterogeneous. Graphic designers, responsible for the visual aspect of the application, and marketing specialists, responsible for the presentation of products to customers, must also be part of the team. These team members most likely do not have software engineering backgrounds. This heterogeneity could lead to different points of view, which might contribute to a better design but a less efficient development team. Part of the team focuses mainly on the technical side, while the other part is more concerned about aesthetics and other conceptual designs, thereby adopting a two-part design process approach. 93 A user interface that satisfies the requirements of both parties might be more difficult to find. This type of conflict creates a much more difficult environment to manage. Project managers face other challenges. They must take into account not only the heterogeneity of a larger team but also the impact of new technology on the project schedule. New technology is an inevitable part of an e-commerce application, whether it is in the form of new multimedia, new payment methods or a new programming language. The lack of historical data and experience in these technologies makes it difficult to predict the time required to complete project tasks, which affects the prediction of delivery times. The time constraints are critical because they have a direct impact on the e-commerce store (e-store) sales record. This is referred to as the "time to market" a product. The time constraint is so important that some authors 95 use the word "immediacy" for these applications. This feeling of immediacy should not be transformed to a feeling of emergency and put pressure on the team. This would lead to a quickly and poorly designed application. Management plays a crucial role in the organization of any software development effort, thus, the role of management directly affects the software development. Ahmad et al 114 examined management issues related to time, finance, manpower, and management itself in software development. They recommended that software managers should have both soft skills and technical knowledge in order to effectively handle the different resources (such as time, finance, people, hardware, and software) during software development. These issues impact on the software development process and affect the efficiency of the management.
Project managers can take advantage of charting techniques such as the Gantt chart and Program Evaluation Review Technique (PERT). A Gantt chart shows sequence and time of tasks. A PERT chart provides a very precise method for scheduling tasks as it allows project managers to easily determine the critical path. Each task time is reported on an edge of a graph representing the PERT chart. The expected task time is calculated as follows 115,116 : where T opt is the estimated time for the task in the most optimistic conditions, T ml is the most likely time for the task, and T pes is the most pessimistic time for the task. This type of chart is very convenient for e-commerce projects, where a wide range of technologies are used.
Training or retraining is a critical issue for project managers. Technology is evolving rapidly and employees do not stay on the same position for a very long time (ie, they leave the company or get a new position). These two factors lead to a constant need for training. It is time consuming (a few weeks, a year for each employee) and expensive. This puts a lot of stress on companies and has a negative impact on the project schedule.
The challenge is finding people who have both the experience and the ability to apply that experience to new situations; especially in transiting from traditional nonweb-based environments to the web environment of e-commerce applications that requires very high degree of interactivity. According to Laudon and Traver,3 The development of e-commerce requires a great deal more interactive functionality (e.g., ability to respond to user input, order taking, clear credit card transactions, consult price and product databases, etc.). 3 The interactivity (ie, interaction with the user) feature of e-commerce applications allows for a two-way communication between the merchant's application and consumers. The consumers engage in processes that dynamically adjust the experience to the individual, and make the consumer a coparticipant in the process of fulfilling a purchase transaction. This requires a new set of skills that must be appropriately used in the design process of e-commerce applications. Besides, the distributed nature of e-commerce transactions requires multitiered system architecture to handle the processing load. These systems are often complex and challenging to design appropriately. It requires appropriate knowledge and experience to achieve an appropriate and adequate successful design.
All these team and management issues must be examined very carefully to create the most efficient development team. This is ultimately the responsibility of the project manager.

Navigation and interface design issues
The user interface of non-Web applications and the navigation between windows/forms is not a major concern to user interface designers because well-known design patterns exist 117 and can be used as references to efficiently build applications. Web applications, in particular e-commerce applications, do not have a lot of past experience to rely on. 107,[109][110][111] A number of surveys by Gehrke and Turban 106 and Godwin and Marquis 118 present a reflection of the trends before 2000. Since then, many technologies have disappeared and other new ones have emerged, rendering parts of their studies incomplete or irrelevant. However, several recent empirical studies 74,79,[85][86][87] agree with their findings. A number of basic concepts (page loading, navigation efficiency, business content, security, and marketing/consumer focus) unique to e-commerce applications are critical for the design of the navigation and the user interface. 85,108 Dwairi and Kamala 85 state that ease of navigation, navigation time, page download/page-loading speed, and use of multimedia to improve Web site's visual appeal are the key attributes that influence the design factor in evaluating the quality of B2C e-commerce Web sites. The customer concept is fundamental in e-commerce applications and it comes with its challenges that are customer-centric. Web applications do not have end users, as they are called in non-Web applications, but customers. End users are consulted during the user interface design. Customers, on the other hand, are not consulted, but they buy products or services and, therefore, are critical to the survival of the business. Customers have different backgrounds, cultures, and possibly live in different parts of the world. This diversity makes it difficult to build a universal user interface and a navigation that will please everybody. According to Jahng et al, 119 e-commerce applications developers should: … make provisions to deal with the heterogeneous nature of both products and consumers. 119 Customers around the world must be able to access Web pages with a reasonable page-loading speed. Page-loading speed is a common complaint by customers.
e-Commerce merchants are striving to provide more relevant, more personalized, and more compelling shopping experiences to their customers. According to Roggio, 120 customers want, for example, relevant, specific, and personalized search results delivered in milliseconds, regardless of their geographic location or device. They also want messaging, content marketing, product suggestions, and a buying experience tailored for them.
Using efficient styles and techniques for page design and content can reduce response times by a factor of about 2 to 5 seconds. Page generation speed can be enhanced by segregating computer servers to perform dedicated functions. Similarly, using specialized content delivery networks or increasing local bandwidth can significantly enhance the speed of page delivery.
The navigation of an e-commerce site must be viewed by designers as similar to a real brick and mortar store. The visual impression left by the navigation through the site should be comparable to the visit to a store. Online designers must place promotional products for easy discovery and access. As an example, people with minimum computer skills should easily master the management of the shopping cart just as customers of a physical store should easily operate the mechanical shopping cart without being experts in order to compete and remain in business. The same principle applies to online stores. In fact, it is even more critical in the case of online stores because the customer is isolated and cannot ask for help.
The marketing influence of Web applications and e-commerce systems cannot be overlooked. The interface design must take into consideration e-commerce applications peculiar marketing requirements. This is so important that Gehrke and Turban 106 claim: A Website should be evaluated as to how well it markets its products and services. 106 A typical way to market products on the website is by adding banners at the top of the screen. These banners pose new challenges to designers. Often they are animated and may come from external sources. Counters must be set up to track how many people click on these banners. The placement of adverts on the web page is critical, and the design of the rest of the page must be done around them. All these design challenges must be addressed in order to meet the marketing requirements. Web pages can be viewed as tools to help customers make purchase decisions and, also as billboards for companies selling their products. Therefore, careful design decisions must be made in order to ensure their usefulness and effectiveness.
The nature of the electronic store design can significantly affect the decision of a consumer to shop online. A well-designed electronic store front can attract consumers to the store and increase their willingness to purchase items on the store. 121 Such a design must take into account customer requirements and functions necessary for transaction processing and store management that must cater to the perspectives of the consumer and the electronic store merchant. Meeting these needs adequately has created a challenging arena for e-commerce applications development due to the diversity of issues to handle, from varying customers with varying cultures, power and size of devices (including smart phones, PDAs, etc.), (nature, types, and placement of) advertising materials, security, etc.

Detailed design issues
The detailed design process results in a set of design artifacts (documents) that precisely and accurately specify how to realize the functionalities of a system. These outputs are mostly diagrams when a model-driven approach of the design is used. However, these may be represented in code of the program where agile development methods are used.
Here, the designers are concerned with: (a) the structural organization of the system and shows the system and its relationship with other systems or the structure of the data that are processed by the system; (b) the behavioral or dynamic behavior of the system and how it responds to events; and (c) the interactions between the system and its environment, or between the components of the system. These design activities-architectural, behavioral, and interactions designs-are challenging and many issues (eg, architectural design decisions) that could lead to poor design solutions often arise. The detailed design must meet the performance, security, safety, availability, maintainability, and usability requirements of the system. Establishing the right relationship between cohesion and coupling is crucial. Cohesion is a measure of the degree to which the elements of a module are functionally related; thus, cohesion is a measure of the strength of relationships within a module. Coupling is the measure of the degree of interdependence between modules. A software designer, therefore, should design the modules of a software application with the goal of high cohesion and low coupling because improperly modularized designs would result in nontrivial enhancements in future. A problem with coupling and cohesion is the difficulty of quantifying them systematically. 122 Although they provide measures that can be used to help the designer with assessing the relative merits of possible options, the challenge of finding ways of measuring them in an acceptably objective way remains.
The detailed design descriptions are used to generate system implementation equivalence, and therefore, the designs must be both correct and complete 18,93 in addition to design clarity and understandability, the right level of abstraction, and maintainability properties. However, analytical methods for software design are generally unavailable. Software designers often aim at producing optimal designs, but quantitative criteria for optimal software design are largely unknown, therefore, mostly relying mainly upon judgment and experience with development standards still largely missing as the attendant consequence. According to Marsic,14 Unfortunately, at present software engineering discipline is unable to precisely specify the quantitative criteria for evaluating designs. Some criteria are commonly accepted, but there is no systematic framework. 14 The transformation of an informal design to a detailed design is challenging as incompleteness, incorrectness, and ambiguity could easily creep in due to lack of experience (and/or knowledge) in the use of formal design methods by most e-commerce applications developers. 1,2,9 By using a formal design method, one can reason about the correctness and completeness of the designs, which enhances design clarity, which in turn eases implementation, debugging, testing, documenting, and maintenance of the resultant software product, and ultimately saves overall development cost. As aptly stated by Foster,123 Every software engineer knows how to write programs; few can excellently design software. 123 This deficiency often leads to many unintended consequences that could negatively impact on the completeness and correctness and the overall quality of the resulting software design.
The stateless environment that e-commerce applications execute in presents some challenges to the developer in his/her ability to track or collect some important data/variables required for wholesome activities of an e-commerce system. Event-driven applications, such as Windows-based applications, give control to the user. This is possible in part because applications keep track of the status of each process or windows. This is, however, not the case with Web applications such as e-commerce applications. These applications use the Web browser environment, which is a stateless environment, for their execution. Therefore, these variables must be kept by other means in order to provide the same functionality. Designers must rely on cookies, session variables, and application variables to maintain the states of the applications.
The implementation languages to use are a source of challenges to developers. The decision about the implementation language to develop an application is often usually made at the high-level design stage. Detailed systems and software designers must, therefore, be knowledgeable in the chosen language. Most languages used today to develop nonweb applications are object oriented. This is not the case with Web languages. The designers must juggle with both types of languages (object oriented and nonobject oriented).
A key design challenge often overlooked in the development of e-commerce applications is when and where to use formal design tools in the design process, particularly the use of formal design notations. Generally, the use of formal design notations/tools in software development is largely negligible, and for e-commerce applications in particular is nearly nonexistent. Experience in use of formal design notations is generally lacking. Ehikioya 9 provides a lucid examination of this situation and points out numerous benefits of using formal specification methods in reasoning about e-commerce transactions. Interested readers should see the following additional resources 1,2,4,11,21,43,124,125 for detailed treatment of the use of, and need for, formal specification methods in e-commerce transactions.

Environment
e-Commerce is a disruptive technology and has changed the way we do business and live. To adapt to this new environment, businesses need to define a new code of ethics, as according to Laudon and Traver 3 : … e-commerce disrupts existing social and business relationships and understandings. 3 These environment factors are business, government, and international market. We briefly examine these factors while isolating the design challenges in each.

Business environment
The Internet is a less regulated environment for business, and businesses trying to establish e-commerce presence face difficult challenges. Designers of e-commerce sites must be fully aware of the issues to ensure the viability of these businesses. The volatility of the e-commerce market forces businesses to react quickly, and therefore, the time available to market e-commerce applications is very short. 126 This time constraint, referred to as immediacy, 3 forces designers to look for the best development methods to achieve their goals. The constraints are made even more difficult by the lack of well-established design standards and the instability of development technology. In areas where standards are already defined, new technologies and needs make them quickly obsolete.

Government environment
Governments face a difficult dilemma as to whether e-commerce should be regulated or not. A number of guidelines and ethical rules try to protect the consumers and help designers to provide better services to customers. Most governments have passed laws [127][128][129] to protect the information provided by customers in online sales. Designers must be aware of these laws and regulations and design their applications accordingly. Privacy is a fundamental principle in our society. Laudon and Traver 3 define privacy as: Privacy is the moral right of individual to be left alone, free from surveillance or interference from other individuals or organizations, including the state. 3 From this definition follows information privacy which concerns the privacy of information provided by customers during online sales.

4.5.3
International market e-Commerce makes it now possible for (most) businesses to sell their products on the international market. Without proper international legislation in place, selling internationally can be a risky business. It is common to read about businesses that got into difficulty or even closed after problems with international sales. The developers of e-commerce applications must consciously plan these environment dependent issues into their designs so that they can be adequately considered and provided for through appropriate mechanisms such as privacy preserving processes, support for nonrepudiation, maintenance of standards of the user interfaces and process description. These are a great challenge to the uninformed or unenterprising designers.

DESIGN CHALLENGES IN A NUTSHELL
We summarize below, in a tabular format, the essential elements and their relationships with design goals, e-commerce functionality, and design features. Table 1 identifies the key challenges in the design of e-commerce applications and juxtaposes these with e-commerce applications functionality to ensure good customer quality of user experience and the overall quality of the resultant software application. Ehikioya and Olukunle 17 emphasize the need to develop secure (providing a framework for guaranteeing security of customers' and merchants' data), reliable (producing exact results in a consistent manner), and error-free e-commerce applications that guarantee the correctness (producing consistent and correct operational and transactional results) of online transactions. Guaranteeing the correctness (entails various stages in e-commerce transactions producing consistent results) of an e-commerce application is difficult, due to many situations in e-commerce transactions where errors could emerge, resulting in unexpected system failures. The application of mathematical and logic-based formal specification techniques in developing e-commerce applications is widely believed to result in reliable and dependable applications. Although several specification methods have been identified as suitable for capturing e-commerce systems requirements, 9 these extant specification methods only have functionalities that can be used in modeling some components of e-commerce systems. However, neither of these existing formal specification methods has all the requisite functionalities to model all the components of an e-commerce system. It suffices to reiterate that provision of a secure environment for e-commerce transactions is paramount because of the critical tasks of business processes in e-commerce transactions.
A detailed discussion of the application of the traditional transaction atomicity concepts in determining correctness of e-commerce transactions is available in 11 and will not be discussed further in this article.

DISCUSSION
Design challenges manifest in several ways. The design issues in e-commerce applications development are pervasive; ranging from the heterogeneity, openness, concurrency, reliability, performance, transparency, and scalability to security, failure handling, nonrepudiation, and quality of service. We provide a longitudinal analysis of the design challenges in developing e-commerce transaction systems and characterize these challenges/issues vis-à-vis e-commerce applications requirements. The longitudinal approach provides insights into suitable and sustainable design strategies for e-commerce merchants to enhance consumers' perceived relative advantage and acceptance, and reduce perceived complexity in online shopping. The research findings delineate a significant transition of e-commerce design issues in the e-fulfillment strategies among online merchants. Evidence is found for the desirability for the development of service metrics as well as strategic shifts in the design of e-commerce applications to enhance the overall quality of user experience of customers during their fulfillment of online shopping activities. Therefore, using techniques that enhance page response times/page delivery times is crucial, which supports the views enunciated in References 74,84,85, and 87 thus underlining the crucial role of navigation speeds and page loading times.
We provide a retrospective look at database support for transactions while x-raying the relevance of the unstructured data models (such as noSQL) to support e-commerce transactions systems. We agree with CData Software Inc. 113 and Mihalcea 10 that handling the database issues is necessary to enable e-commerce transactions deal with the large volume and variety of data types, as well as the often varying data that they generate and support computational results correctness and transaction execution correctness. The resolution of the database design challenges should provide and guarantee safe environment for supporting e-commerce activities.
Project management challenges are many; ranging from team membership dynamics and heterogeneity, impact of new technology on project schedule due to lack of historical data and experience in the use of the technologies. Evidence from our research indicates that project management requires both soft skills and technical knowledge. Therefore, in order to effectively handle the different resources (such as time, finance, people, hardware, and software) during software development, the project management-related issues which impact on the software development process and affect the efficiency of the management must be adequately handled. This is consistent with the views of Ahmad et al 114 and amplified by the high degree of interactivity and distribution of e-commerce application transactions. This situation suggests that substantial errors/problems might emanate from the improper handling of project management issues. We found the adoption of software engineering or development methods, such as MBSD, formal methods, and standardized software development methodologies, and so forth in the development of e-commerce transactions systems instructive. Although using these methods is generally challenging, they provide measures that can be used to help the designer with assessing the relative merits of possible options. An e-commerce application software designer, therefore, should design the modules of an e-commerce application with the goal of high cohesion and low coupling because improperly modularized designs would result in future nontrivial enhancements. Besides, using formal methods is consistent with the findings in References 1, 2, and 9 because the detailed design descriptions undergo transformations to generate system implementation equivalences that must be both correct and complete, have design clarity and understandability, with the right level of abstraction, and demonstrate maintainability properties. The orthogonal use of informal designs and transforming them into detailed designs, most often, could result in incompleteness, incorrectness, and ambiguity due to lack of experience (and/or knowledge) in the use of formal design methods by most e-commerce applications developers. The benefit of using a formal design method is that one can reason about the correctness and completeness of the designs, which enhances design clarity, which in turn eases implementation, debugging, testing, documenting, and maintenance of the resultant software product, and ultimately saves overall development cost.
The largely negligible or nearly nonexistent use of formal design notations/tools in e-commerce applications development in particular, creates its negative side effects. We have answered the question of when and where to use formal design tools in the design process, an issue often overlooked in the development of e-commerce applications. Designers should adopt formal design methods early in the design process in order to ensure that the system's (design) specification guarantees both the computational results correctness and transaction execution correctness, and operational (sequence) correctness-order of transaction steps/serialization. This position agrees with the views canvassed in the resources 1,2,4,9,11,21,43 for the use of, and need for, formal specification methods in e-commerce transactions.
Obviously, an e-commerce transactions system that is intuitive in its design, user friendly and easy to use, and trusting is more desirable and attractive for online shoppers because of the low cognitive demand. Our findings indicate that factors such as perceived usefulness, perceived ease of use, customer risk perception, customer support, customer trust, promotion, information quality, transaction security, website design, and brand image significantly influence customer satisfaction and customer loyalty when shopping on an e-commerce website. Interestingly, e-commerce service quality (particularly related to security and payment method) is the principal element affecting customer satisfaction with e-commerce system. In addition, information quality, system quality, service quality, product quality, delivery quality and perceived price affect the overall user quality of experience in using e-commerce applications. These factors positively influence customer satisfaction and trust, which corroborates the established literature that capture e-commerce web site quality using the TAM model. These results correlate with the positions of Gelard and Negahdari, 74 Chakraborty et al, 84 Vollset, 87 and Dwairi and Kamala 85 that ease of navigation, navigation time, page download, and use of multimedia to improve Web site's visual appeal are the attributes that influence the design factors in evaluating the quality of B2C e-commerce Web sites. A website's page speed affects a merchant's revenue because page-loading speed is a major contributor to page abandonment.
The primary goal of a good software design is to satisfy the software quality factors in consonance with the ISO/IEC-9126-1:2001 specification. e-Commerce applications designs should inherit these properties in order to provide good quality of user experience for online shoppers. Our recommendations for achieving the desirable design features (see the third column in Table 1) are essential ingredients for meeting the design goals of e-commerce application functionalities. It is our hope that when software designers adopt these recommendations, the resolution of the key challenges in the design of e-commerce applications becomes easy and manageable; thereby resulting in e-commerce applications functionalities that ensure good customer quality of user experience and the overall quality of the resultant software application.

CONCLUSION
In the 1990s, designers faced the challenge of switching from the DOS world to the Windows environment which gives more control to end users. Applications developed with this environment are known as event-driven applications. While some designers never made it to this new environment, others adapted without any problem. In recent years, the Internet brought its share of difficulties. A new adaptation was necessary. The Web application model can be viewed as an extension of the event driven model. In the latter, users are given more control on what action they want to perform and when they want to do it. Despite this relative freedom, they do not have the choice of the location from which they execute their commands. Web applications have brought that new dimension. Customers can now choose when, what and where they use the application, that is, do their shopping. The addition of this new dimension puts a lot of stress on the network infrastructure supporting Web applications. Security is also an issue. Network administrators do not have the visual control anymore. Other techniques, such as cryptography, must be used to confirm the identity of customers. e-Commerce web sites also have to be able to provide proof of their identity to online customers.
Customers using the e-commerce model to buy products or services are evolving in a much larger environment than they were in traditional applications. They may be subject to government regulations and controls. e-Commerce applications bring more critical design issues than any other application. Designers must carefully choose their development methods and tools, and they must try to use formal methods whenever it is possible or required. In this article, we identified the key challenges in the design of e-commerce applications and juxtaposed these with e-commerce applications functionality to ensure good customer quality of user experience.
Further, we examined the challenges in the design of e-commerce applications/systems to accommodate the increasing sophistication of e-commerce applications and the increasing demands of users for higher quality of user experience.
This study of the design issues in e-commerce systems development deals with issues that ultimately affect the overall system quality and hence the factors that affect customer satisfaction of e-commerce website. Thus, this article has both academic and practical implications for e-commerce website management, design, and performance enhancement.
In particular, we focused on three broad main challenge areas: (a) how technologies, frameworks, and architectures influence and cause e-commerce applications developers to take certain premature and undesirable design decisions, (b) the interactivity and complexity of e-commerce applications which requires developers to provide several models rather than a single model for the same problem, and finally (c) impact of existing quality assessment criteria for e-commerce applications design.
Our article theoretically contributes to software development/software engineering literature. While we examine the relevance of acceptance of technology model and its variants 37,38,51,52,57 to assess users' loyalty and satisfaction at a web site for designing e-commerce applications interfaces, the core of our contributions deals with the design issues that are germane to software development. Our work supports theoretical findings such as MBSD, [44][45][46] formal requirements and design specification of e-commerce systems, 1,2,9,11 security concerns, 11,17,85 tools support (including databases and programming languages), 10,113 interaction design of e-commerce applications interfaces, 86,87,108,119 and software development management issues. 114 Also, we elevate the need to always evaluate the environment effects and implications of e-commerce because e-commerce is a disruptive technology, inherently distributed, and cross jurisdictional, thus supporting the need for the protection of information. [127][128][129] We omit a quantitative framework for evaluating software designs because of the complexities involved since doing so would distract us from the main focus of this article. However, this omission does not detract or minimize our assessment of the design issues in e-commerce transaction systems. Also, a characterization of designs suitable for e-commerce transactions and systems is not considered in this article. Ehikioya 2 reports some aspects of this problem and, therefore, it is unnecessary to repeat same in this article.
Although the longitudinal analysis of the design challenges in developing e-commerce transaction systems provides insights into suitable and sustainable design strategies for e-commerce merchants to enhance consumers' experience in online shopping, we did not implement our design recommendations. It would be educative to implement our recommendations in a prototype B2C e-commerce platform to gather empirical data to assess the extent of the elimination of these challenges/issues vis-à-vis e-commerce applications requirements and the attainment of the design quality goals.
We plan to extend this work in several directions. First, we hope to provide a quantitative framework for evaluating software designs. Although this is by no means a trivial extension because of the complexities involved, such a framework would help in the easy and quick evaluation of the several candidate designs that could be produced instead of relying on common sense and intuitive criteria. Second, by establishing a clearly identifiable pathway that links software design and the principle of network security and application safety and security, e-commerce applications designers/developers would have access to a crystallized body of knowledge to assist them in making the right design choices in respect of network security and application safety and security. Finally, we plan to provide a characterization of designs suitable for e-commerce transactions and systems.