A critical evaluation of web engineering tools & technologiesIntroductionThe World Wide Web has become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these Web applications exhibit complex behavior and place some unique demands on their usability, performance, security and ability to grow and evolve. However, a vast majority of these applications continue to be developed in an ad-hoc way, contributing to problems of usability, maintainability, quality and reliability. While Web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations. In the recent years, there have been some developments towards addressing these problems and requirements.
As an emerging discipline, Web engineering actively promotes systematic, disciplined and quantifiable approaches towards successful development of high-quality, ubiquitously usable Web-based systems and applications. In particular, Web engineering focuses on the methodologies, techniques and tools that are the foundation of Web application development and which support their design, development, evolution, and evaluation. Web application development has certain characteristics that make it different from traditional software, information system, or computer application development. Web engineering is multidisciplinary and encompasses contributions from diverse areas: systems analysis and design, software engineering, hypermedia/hypertext engineering, requirements engineering, human-computer interaction, user interface, information engineering, information indexing and retrieval, testing, modeling and simulation, project management, and graphic design and presentation. Web engineering is neither a clone, nor a subset of software engineering, although both involve programming and software development. While Web Engineering uses software engineering principles, it encompasses new approaches, methodologies, tools, techniques, and guidelines to meet the unique requirements of Web-based applications.
Web engineering as a disciplineProponents of web engineering supported the establishment of web engineering as a discipline at an early stage of web. First Workshop on Web Engineering was held in conjunction with World Wide Web Conference held in Brisbane, Australia, in 1998. San Murugesan, Yogesh Deshpande, Steve Hansen and Athula Ginige, from University of Western Sydney, Australia formally promoted web engineering a new discipline in the first ICSE workshop on Web Engineering in 1999 [3]. Since then they published a serial of papers in a number of journals, conferences and magazines to promote their view and got wide support.
Major arguments for web engineering as a new discipline are: * WIS (Web Information System) and WIS development process are different and unique. * Web engineering is multi-disciplinary; no single discipline (such as software engineering) can provide complete theory basis, body of knowledge and practices to guide WIS development. * Issues of evolution and lifecycle management when compared to more ‘traditional’ applications. * Web based information systems and applications are pervasive and non-trivial.
The prospect of web as a platform will continue to grow and it is worth being treated specifically. However, it has been controversial, especially for people in other traditional disciplines such as software engineering, to recognize web engineering as a new field. The issue is how different and independent web engineering is, compared with other disciplines. Main topics of Web engineering include, but are not limited to, the following areas:Web Process & Project Management Disciplines* Development Process and Process Improvement of Web Applications * Web Project Management and Risk Management * Collaborative Web Development Web Requirements Modeling Disciplines* Business Processes for Applications on the Web * Process Modeling of Web applications * Requirements Engineering for Web applications Web System Design Disciplines, Tools & Methods* UML and the Web * Conceptual Modeling of Web Applications (aka. Web modeling) * Prototyping Methods and Tools * Web design methods * CASE Tools for Web Applications * Web Interface Design * Data Models for Web Information Systems Web System Implementation Disciplines* Integrated Web Application Development Environments * Code Generation for Web Applications * Software Factories for/on the Web * Web 2.
0, AJAX, E4X, Asp.net2.0,Asp.net3.0 and Other New Developments * Web Services Development and Deployment * Empirical Web Engineering Web System Testing Disciplines* Testing and Evaluation of Web systems and Applications * Testing Automation, Methods and Tools Web Applications Categories Disciplines* Semantic Web applications * Ubiquitous and Mobile Web Applications * Mobile Web Application Development * Device Independent Web Delivery * Localization and Internationalization Of Web Applications Web Quality Attributes Disciplines* Web Metrics, Cost Estimation, and Measurement * Personalization and Adaptation of Web applications * Web Quality * Usability of Web Applications * Web accessibility * Performance of Web-based applications Content-related Disciplines* Web Content Management * Multimedia Authoring Tools and Software * Authoring of adaptive hypermedia WEB-BASED SYSTEMS DEVELOPMENTAs highlighted in the previous sections, Web engineering activities span the entire Web life cycle from conception of an application to development and deployment, and continual refinement and update/upgrade systems.
The following highlights some of the work and development in the area of Web engineering. They are however, not an extensive survey or critical review of the work reported. 1.1 Web Development Process ModelsTo help to reduce the difficulty in building Web-based systems we need a process model that describe the phases of Web-based system development – some of the aspects that make Web-system difficult include complexity, changeability, invisibility and unrealistic schedule. A process model should help developers “to address the complexities of Web-based systems, minimize risks of development, deal with likelihood of change, and deliver the site quickly, while providing feedback for management as the project goes along.
” Further, the progress of Web-based development should be monitor able and tractable. The process besides being easy to apply should facilitate continual update/refinement and evolution, based on feedback from users/clients. 1.2 Analysis and Web DesignRequirement analysis and Web-based system design is a very important activity and calls for a systematic and disciplined approach Object Orientation in Web-Based Systems. Integration of Web and object technologies offer foundation for expanding the Web to a new generation of applications.
According to Frank Manolo, Web must improve its data structuring capabilities, and integrate aspects of object technology with the basic infrastructure of the Web. He also argues that if the Web is to support complex enterprise applications, it must support generic capabilities similar to those provided by the OMA (Object management Architecture), but adapted to the more open, flexible nature of the Web and to the specific requirements of Web applications. Usability and User-Centered Designs. Effective Web site design requires attention to usability. Web-based systems need to be designed for easy navigation, and also they need to be attractive and useful. 1.
3 Testing of Web-Based SystemsTesting, and verification and validation (V & V) of Web-based systems is an important and challenging task in the Web engineering process. And, yet very little attention is given by Web developers to testing and evaluation. Web-based system testing differs from conventional software testing and poses new challenges. Web-based systems need to be tested not only to check and verify whether it does what it is designed to do but also to evaluate how well it appears on (different) Web browsers.
Importantly, they need to be tested for security and also for usability, from the ultimate user’s perspective. However, the unpredictability of the Internet and Web medium makes testing Web based systems difficulty. Currently, not much attention is given to Web-based system testing by developers. Also we need to develop new approaches and techniques for testing and evaluation of complex Web-based systems. 1.
4 Management of Large Web SitesManagement of large Web sites is a difficult task, especially in the midst of change which is a fact of life in the Web environment. Web Configuration Management. Web-based systems undergo changes, perhaps more often and quite extensively, in their development and operational period. The changes called for may include trivial to large-scale change of information/data and major modification to requirements, and also may vary in their significance. These changes need to be handled in a rational, controlled manner. Web configuration management (WCM) encompasses a set of activities for controlling and facilitating change: identification, version control, change control, auditing and reporting.
It also provides a framework for handling change in a rational, controlled manner. It could adopt commonly practiced software configuration management (SCM) concepts, principles and approaches to the Web environment. 1.5 Skills HierarchyLarge Web-based system development requires a team of people with different skills, knowledge and capabilities.
1.6 Barriers to Web Technology AdoptionNambisan and Wang identify three levels of adoption of Web technology: (Level 1) information access, (level 2) work collaboration, and (Level 3) core business transaction. They also identify three key areas of potential knowledge barriers to Web technology adoption: technology-related knowledge barriers, project related knowledge barriers, application related knowledge barriers. Selecting Web Accessibility Evaluation ToolsWeb accessibility evaluation tools are software programs or online services that help determine if a Web site is accessible.
This document highlights different features of evaluation tools which can assist during evaluation reviews such as the methodologies described in the WAI resourceEvaluating Web Sites for Accessibility. What evaluation tools can doWeb accessibility evaluation tools can significantly reduce the time and effort required to carry out evaluations.