Towards a New Methodology for Developing Web-Based Systems Omer Ishag Eldai, Ahmed Hassan M. H. Ali, and S. Raviraja Abstract Web-based systems have become increasingly important due to the fact that the Internet and the World Wide Web have become ubiquitous, surpassing all other technological developments in our history. The Internet and especially companies websites has rapidly evolved in their scope and extent of use, from being a little more than fixed advertising material, i.e. a "web presences", which had no particular influence for the company's business, to being one of the most essential parts of the company's core business. Traditional software engineering approaches with process models such as, for example, CMM and Waterfall models, do not work very well since web system development differs from traditional development. The development differs in several ways, for example, there is a large gap between traditional software engineering designs and concepts and the low-level implementation model, many of the web based system development activities are business oriented (for example web application are sales-oriented, web application and intranets are content-oriented) and not engineering-oriented. This paper aims to introduce Increment Iterative extreme Programming (IIXP) methodology for developing web based systems. In difference to the other existence methodologies, this methodology is combination of different traditional and modern software engineering and web engineering principles. Keywords Web based systems, Web engineering. I. INTRODUCTION EB-BASED systems have become increasingly W important due to the fact that the Internet and the World Wide Web have become ubiquitous, surpassing all other technological developments in our history. The Internet and especially companies websites has rapidly evolved in their scope and extent of use, from being a little more than fixed advertising material, i.e. a "web presences", which had no particular influence for the company's business, to being one of the most essential parts of the company's core business. Many of the problems in web based system development today descend from the notion that web development has been viewed in terms of "publishing" or "brand building or reinforcement". Business critical applications are developed much in the same way as web sites are, namely adhoc [1]. The difference is that business critical systems such as online Omer Ishag Eldai is with Faculty of Computer Science, University of Sudan of Sciences and Technology, Khartoum, Sudan (e-mail: omareldai@gmail.com). Ahmed Hassan M. H. Ali and S. Raviraja are with Faculty of Computer Science, University of Medical Sciences and Technology, Khartoum, Sudan (e-mail: dndnd80@yahoo.com, drsraviraja@gmail.com). banks or large web stores have different needs to perform well, be delivered on-time, be reliable, be maintainable, and be secure. In order to meet these demands, a sound, reliable, systematic, measurable and repeatable development process is needed. Several process methodologies have been developed and tried during the early years of 21st century. Agile processes like extreme programming (XP), Scrum, Crystal, Adaptive software development, Hypermedia models (HDM) all aim to increase the development organization's flexibility and responsiveness to changes in the process as well as minimizing the development overhead. II. THE PROBLEM Web-based systems and applications now deliver a complex array of functionality to a large number of diverse groups of users. As our dependence and reliance on the Web has increased dramatically over the years, their performance, reliability and quality have become paramount importance. As a result, the development of Web applications has become more complex and challenging than most of us think. In many ways, it is also different and more complex than traditional software development. But, currently, the development and maintenance of most Web based systems is chaotic and far from satisfactory. To successfully build and maintain large, complex Web-based systems, Web developers need to adopt a disciplined development process and a sound methodology [2]. III. THE NEW METHODOLOGY FOR DEVELOPING WEB-BASED SYSTEMS It is a general methodology suited to develop all types of web based systems, it is provided in two supporting forms a picture outlining the process methodology as a whole (Fig. 3 shows the new methodology for developing web based systems), a spiral-model of the process methodology to illustrate the different iterations in each life-cycle (Fig. 2 shows the spiral representation of the new methodology for developing web based systems). A. Pre-Development Activities The purpose of the pre-development activities is to build a solid foundation for the web development project. The main aim of the pre-development phase is to identify goals, motivation and purpose for building the web application and also to identify the problem and determine the 190
type of the web based system (Fig. 1 shows the predevelopment activities). ANALYSIS Fig. 1 Pre-development activities B. The Methodology The methodology for developing web based systems divided into eight phases: Analysis phase Development phase Test phase Integration and Release phase Deployment and training phase Quality phase Advertisement Phase Evaluation phase DEVELOP. TEST Deploy. And training h Quality Phase Analysis phase Integrat. and release phase User Review Advertise. Phase Test Phase Develop. Phase Evaluation phase Fig. 2 Spiral representation of the methodology for developing internet web application INTEGRAT. RELEASE DEPLOY. TRAINING QUALITY ADVER. EVALUATION Fig. 3 The methodology for developing internet web application C. The Different New Methodology Activities Determine goals, motivation and purpose for building the web application: Software applications are generally built to fulfill a specific purpose, solve a problem or make handling of specific operation more effective. But for example, the majority of web based systems the kiosk web sites - lack a specific purpose. Many companies can be said to be on the net without in fact being there. Companies have web sites or web presences for various reasons, maybe just because the competitors has one, or because the company board thinks the company needs one or just because of the overwhelming fear of being left behind in the web revolution. 191
Problem definition analysis: The results of the research, stakeholder's input and answers to questions mentioned are combined into a problem definition. The problem definition may be an actual artifact such as a paper but it is not essential. When the problems are defined the next step is to analyze them. During the analysis it is decided whether all the problems in the problem definition can be solved by a web based system and if it can be done at a reasonable cost a feasibility study is conducted. Web application classification: In general there are four kinds of web based systems, they are in general closely related and inseparable. The first one is the Intranet web application, the intranet is the local web of an organization its main purpose is to distribute information among the employees and make the organization more effective. The requirements of a Intranet often differs from the requirements of a Internet web application since the stakeholders are often clearly defined, it is a system that is used on daily basis and the users become quite experienced in the system after a while, the functionality is more important than look-and-feel and for example security considerations do not have to be as harsh since often the intranet is separated from the outside world. The second one is the web application, which presents all their visitors a similar functionality. An example of a web-application web-site is any online bank. The online-bank offers its customers the same functionality of transferring money, buying funds or e.g. taking loans. The third one is static web application which is small static collection of web pages. The last class of webbased systems is the extranets the extranets are all the previously mentioned classes together. An extranet can be viewed as the external part of a company s Intranet in the form of a website. Analysis phase for static web application: The main activities on this phase (Fig. 4 shows static web application analysis phase activities): Identify and collect customer requirements and content needed to be displayed on the web presence. Identify web presence pages, information or content architecture should include a conceptual design of the overall site structure, structure of individual subsections, overall navigation methods as well as crosslinking between sections. Assign development priorities to each web page according to the customer need. Web system hosting. Review and converse results with the customer. ANALYSIS User requirement and web content Hosting Review and converse results with the user Fig. 4 Static web application analysis phase activities Conceptual design Assign development priorities to each web page Analysis phase for intranet and web application: The main activities on this phase (Fig. 5 shows Analysis phase for intranet and web application activities): Collect customer requirement and content needed to be showed. User classification. Determine and identify web application page/pages needed to each user requirement. Assign development priority to each user requirement according to the customer need Information or content architecture should include a conceptual design of the overall site structure, structure of individual sub-sections, overall navigation methods as well as cross-linking between section Determine test cases for dynamic pages. Environment analysis: a. LAMP Linux, Apache, MySQL and PHP. This technical environment is today the most popular and fastest growing web platform. It is completely based on open-source products and hence it is almost free of charge. The advantages of using this option are several; it is cheap, it enjoys a widespread support by the community, it is well acknowledged, it is very mature and allows for extensive reuse. b. WISA Windows, Microsoft ISS, Microsoft SQL Server and ASP. This is the technical environment proposed by Microsoft. In contrast to LAMP, WISA is expensive to acquire, corporate and very well-documented and wellsupported by Microsoft. Hosting. Review and converse results with the customer. 192
ANALYSIS Review Hosting requirements and content Environment analysis Determine test cases User s classification Web application page/pages Development priorities Conceptual design Fig. 5 Analysis phase for intranet and web application activities Development phase: The main activities on this phase (Fig. 6 shows the development phase activities): Start developing with the most significant web page/pages according to page development priority. Determine tasks and tools: i. Design tasks i.e. Images, animations- headers, menu and flash. ii. Development tasks i.e. Html, Script and CSS iii. Tools i.e. Adobe photoshop, Dreamweaver or any other tool Plan release (assigned time and developers needed) Design and development of the page Test phase: The main activities on this phase (Fig. 7 shows the test phase activities): CSS validation: validation, the CSS validation can be carried through with the help of W3 validator for CSS which can be found at: http://jigsaw.w3.org/cssvalidator/. Links validation: Link validation testing involves activities to find the number of non-functional links within the system. The easiest way to identify broken links is to use the W3 validator at http://validator.w3.org. Script test: most web based system makes use of some kind of a scripting engine. The scripting languages are commonly called middleware since they generate the content which the server sends to the user. In general the middleware consists of programming languages similar to traditional application programming languages. Hence it is possible to test these in pretty much the same as normal with unit and regression tests. Html test: When the middleware tests are finished and the html-output is generated it is possible to test and validate the output that reaches the end-user. Apply test cases (intranet and web application) User test: In order to ensure the quality of the conceptual design, including the navigational design, it is very important to test and evaluate it. Experience shows that the best way to ensure that the conceptual model is user-focused is to test on potential users and to test by the use of the set of users. TEST User test CSS validatio Links validation Start developing with the most significant page Html test Fig. 7 Test phase activities Script test DEVELOPMENT Determine task and tools Plan Integration and Release phase: The main activities on this phase (Fig. 8 shows the Integration and Release phase activities): Integrate and link pages together and perform integration test Publish the release Design and development of the web page INTEGRATION AND RELEASE Integration Release publish Fig. 6 Development phase activities Fig. 8 Integration and Release phase activities 193
Quality phase: The main aim at this phase is to assess the quality of web based system and to assess the content quality of web based system (Fig. 9 shows the quality phase activities). QUALITY Fig. 9 Quality phase activities Advertisement phase: The main activities on this phase (Fig. 10 shows the advertisement phase activities): Search engines registration and web based system marketing. ADVERTISEMENT Fig. 10 Advertisement phase activities Evaluation phase: This phase involves two activities (Fig. 11 shows the Integration and Release phase activities), the first one is the metrics collection to check whether the goals of web application are fulfilled or not and the second one is the maintenance. The largest and most time-consuming is maintenance. It is extremely important to keep the web application alive and up-to-date in order to keep visitors trust and have them returning to the web application. EVALUATION Fig. 11 Evaluation phase activities Usability, accessibility efficiency, Etc Search engines registration and web application marketing Metrics collection Maintenance IV. RELATED WORK The World Wide Web was originally developed as medium to distribute scientific papers. Thus the first methodologies were developed to make this process as simple as possible and the web implementation model was designed to meet the document's lifecycles [3]. The methodologies are based on the assumption of resources, i.e. mostly self-contained chunks of information. The resources are maintained and authored independently of other resources and links were just means of combining different sets of information into web sites and semantically related structures [3]. But since the early and mid-1990s the Web has reached far beyond its original purpose - Internet is today one of the most important infrastructures of the western world, with uncountable different areas of use. The notion of resources was no longer enough to fulfill the needs. At first engineers, developing web based systems, leaned towards using Software Engineering process models such as the Waterfall models and Spiral models, but they quickly realized that these models were unsuitable for web development. The hypermedia community then developed the first hypermedia process models. According to the definition found at google.com [4] hypermedia is "The combination of text, video, graphic images, sound, hyperlinks, and other elements in the form typical of Web documents." The first proposed model was the Hypermedia Design Model (HDM) model for the structured design of hypertext-applications [5]. But the problem with the HDM model is that it is more a design model than a process model [6]. Hence further development of the process models was needed. The next step was to incorporate the notion of objectorientation into the previously developed models and hence the Object-Oriented Hypermedia Design Model (OOHDM) was born. At the same time a new branch, based on relational models, of process models was developed. Relationship Management Model (RMM) became the most widely-spread process based on Entity Relationship (ER)-notation. But similarly to their predecessors, both the RMM and OOHDM models suffered from several serious disadvantages, for example, both models require extensive specialized training. The most recent process models take a slightly different approach to web development compared to the earlier ones. Modern process models such as extreme Programming (XP), Web Site Design Method (WSDM) and Web Composition Process Model (WCPM) are more aimed towards being toolboxes with tools which can be used to solve different problems and situations. V. CONCLUSION AND FURTHER WORK The need for a sound, structured and repeatable process is unquestionable high performance and business critical information systems are very hard to develop without proper processes and activities not if a certain degree of quality is to be sustained and the systems delivered on time and satisfying the requirements. Solutions and processes have been proposed but they have not managed to change the development approach. The reasons are many but the most important reason is that most of the proposed methodologies have not become accepted due to their internal complexity and requirements of specialized training. Most of the methodologies are also presented in relatively short academic papers, which in general most developers or software houses do not read or follow. REFERENCES [1] Murugesan, S. et al. "Web Engineering: A new Discipline for Development of Web-Based Systems", WebEngineering2000, LNCS 2016, pp. 3-13, 2001. [2] San Murugesan, Athula Ginige, Web Engineering: Introduction and Perspectives. [3] Gellersen H.-W. and Gaedke M, "Object-oriented Web application development", vol. 3, pp60-68. [4] Google Search results on the term "hypermedia", http://www.google.se/search?hl=sv&lr=&oi=defmore&q=define:hyperm edia 194
[5] Schwinger, M. "Towards Modeling of DataWeb Applications", PowerPoint presentation at: http://www.schwinger.at/lib/2000/amcis2000/amcis2000.ppt [6] Gaedke, M. and Gräf, G. "Development and Evolution of Web- Applications Using the WebComposition Process Model", International Workshop on Web Engineering at the 9th International World-Wide Web Conference (WWW9), Amsterdam,The Netherlands, May 15, 2000. 195