Empirical Evidence Justifying the Adoption of a Model-Based Approach in the Course Web Applications Development

Introduction Current trends in software development exert an enormous influence on both end users and IS developers. As software becomes ubiquitous, the relationship between business people and software developers is undergoing fundamental changes. For a system to be of value to its users, it has to reduce the user's entropy, i.e. level of uncertainty (Shannon & Weaver, 1949, Cohen, 1999). In this respect, the role of business people has become crucial. To reduce the system's entropy, adequate and precise user requirements have to be elicited. This can only happen when all stakeholders are actively engaged in the software process. Modern software development processes, e.g. the Unified Process (UP), engage bus iness people and are driven by user requirements (Jacobson et al., 1999). Another reason for end users to understand better software development is the ever-growing trend toward software reuse and customization. At present, software is commonly adapted, composed from reusable components and frameworks, and created by business people rather than IS developers (Shaw, 2000). Modern software processes are also architecture-centered (Jacobson et al., 1999). The basic promise of the software architecture approach is that better software systems can result from modeling their important architectural aspects early on in the development lifecycle (Medvidovic et al., 2002). Object-oriented modeling, dominated by UML (Booch et al., 1999), has become the de- facto and de-jure standard in software development (Johnson, 2000). Though object-oriented modeling is supported by object abstraction, this device alone cannot capture aspects bigger than objects. As a result, the gain from reusability at object/class level is insignificant (Johnson, 2000). The real benefit from reusability comes at component level, and even more so at architecture level (Gamma et al., 1994). To sum up, the days of the closed workshop model, where developers work in isolation from end users, are over (Shaw, 2000). Modern software practices call for the active involvement of business people in the software process and the comprehensive understanding of the enterprise's business processes by IS developers (Nuseibeh & Eastserbrook, 2000). Are these new requirements reflected adequately in the IS and Business curricula and in particular in the E-business applications development course (a.k.a. Web-based programming, E-commerce systems), the basic hands-on-experience course, where students develop Web-based e-commerce applications? E-business applications development is part of the IS component of the core curriculum at our business schools. It is the first programming course for IS majors and minors and the only such course mandatory for all business students. The IS core of the business curriculum offers four courses: (1) Using databases; (2) Systems analysis and design; (3) E-business applications development; and (4) Management support systems. The typical organization of E-business applications development is shown in Table 1. Each programming language taught in the course is based on a different programming paradigm. JavaScript and VBScript are imperative, loosely typed, scripting languages enhanced with object-oriented features. SQL is a declarative 4GL language, and HTML is a markup language. In addition, students have to learn the client-side extension of JavaScript (or VBScript) and the server-side extension of VBScript. Finally, students have to master the client-server model, networking with HTTP, and the document object model (DOM) event model. Course material assimilation and practical skills acquisition become difficult tasks. The consequences of this course organization are negative. E-business applications development is mainly a code-based course. Business and IS students learn little about software development, nor can they gain a better understanding and appreciation of the power and limitations of E-business applications, i. …