Hybird Methodology For Developing Web Based Systems

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

It has been almost impossible to escape the progress of the Internet since the birth of the Web during the early 1990's. In the past the Web initial objective is to facilitate easy creation and sharing of information among a few scientists using simple Web sites that consisted primarily of hyperlinked text documents, the Web has grown very rapidly in its scope and extent of use, supported by constant advances in Internet and Web technologies and standards. Our dependence on the web based systems has increased dramatically over the years; because web based systems currently deliver very complex functionalities to a large number of diverse groups of users. Hence their performance, reliability and quality have become very critical. Software engineering models and methodologies failed in developing web based systems, due to the nature of web based systems. Therefore Several Web Engineering models and methodologies have been proposed but they are also failed because they are complex, difficult to implement, need training and not covering all web engineering model processes activities. 1. Introduction Due to the quick evolvement of Web-based systems and applications in their scope and extent of use, their performance, reliability and quality have become very important and essential. At the same time, the developmental processes of web based system did not progress at a sufficient rate to meet the challenges and demands of this evolution.

Ad hoc methods are no longer capable of delivering complex web based systems (Rossi, 2008), and in order to develop complex Web-Based systems, Web developers need to use a

disciplined development process and a sound methodology, use better development tools, and follow a set of good guidelines (Brandon, 2008).

Developing Web-based systems is significantly different from traditional software development and poses many additional (Holck, 2003). There are obvious differences in the nature and life cycle of Web-based and software systems and the way in which they�re developed and maintained. It has been found that the conventional software engineering models such as for example Waterfall model, Prototyping, Incremental, Spiral, Rational Unified process (RUP) and Extreme programming (XP) cannot be used directly or not applicable for the development of web based applications (Sandeep Kumar, 2011) because Web applications have unique characteristics make Web development different and more difficult than traditional software development. As a result of failure of software engineering models in developing web based systems and at the same time with the increasing expansion of Web applications in their use, as well as the increase in the complexity of their development, several web engineering models and methodologies have been developed and tried during the first years of 21st century.

Web engineering modeling methods are categorized into four groups (Kappel, 2006):

? Data Oriented Methods: These are originated from the field of database systems, and mainly based on ER model. The primary focus of these methods is the modeling of database-driven web applications. For Examples the Relationship Management Methodology (RMM), HERA, WebMl.

? Hypertext-Oriented Methods: HOM focuses on hypertext character of web applications. These methods include Hypertext Design Model (HDM), later HDM extended to W2000 and WSDM.

? Object Oriented Methods: These methods are based on either OMT or UML. This category includes Object Oriented Hypermedia Design Model (OOHDM), Web-Oriented Conceptual Models (OOWS) and Object-Oriented Hypermedia (OO-H).

? Software Oriented Methods: It uses techniques that strongly follow classical software engineering. An example of

this category is Web Application Extension (WAE).

2. The problem With the evolvement of web based systems in their extent of use and scope, many organizations failed to develop large and high-performance web based systems. The need for a sound, structured and repeatable process is unquestionable � high performance and business critical web based 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 reasons are:

? Most of the proposed methodologies internally are very complex, need specialized training and presented in relatively short academic papers, which in general most developers or software houses do not read or follow (Bolmeson, 2005).

? Methods of Web based systems development are not universally applicable and have not been satisfactorily tested in live situations (Sheridan Jeary 2009).

? There are cruel problems in adapting traditional software approaches to web development.

? Most of the methodologies lack well-defined process or quality control (Brandon, 2008).

? Flawed design and development process (Al-allaf, 2008).

? Most of them do not support all of the Web engineering process model phases (Andr� L.S. Domingues, 2008).

Finally, a sound approach to web development should:

? Supporting all WebE model processes and activities.

? Consist of a phased approach to the development life-cycle in order to make it manageable.

? Consist of the fundamental SE-activities specification, design, implementation, verification and validation.

? Flexible enough in order to be able to respond to rapid changes in requirements.

? Able to encompass other software engineering processes as sub-activities.

? Easy to learn and adapt.

? Using concept of increments and spiral models due to the nature of web applications.

3. The hybrid methodology The new methodology is suited to develop all types of web based systems. The methodology is divided into seven phases:

? Analysis phase

? Development phase

? Test phase

? Integration and Release phase

? Deployment and training phase

? Quality phase

? Evaluation phase

3.1. The hybrid methodology 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 type of the web-based system. 3.2. The different hybrid 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. 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 all the items 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 types 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 and its main purpose is to distribute information among the employees and make work organization more effective. The requirement of an Intranet often differs from that of an 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 its application after a while. Its functionality is more important than look-and-feel and 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 to all of 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 taking loans. The third one is static web application which is small collection of web pages. The last class of web-based-systems is the extranets. The extranets are all the previously mentioned classes working 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 are:

? Identify and collect customer requirements and content needed to be displayed on the web presence.

? Web presence pages, 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 sections.

? Assign development priorities to each web page according to the customer need.

? Web system hosting.

? Review and discuss results with the customer.

Analysis phase for intranet and web application: The main activities on this phase are:

? Collected 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 sections.

? 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, has wide-spread support by the community, well acknowledged, very matures 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 well-supported by Microsoft.

? Hosting.

? Review and converse results with the customer.

Development phase: The main activities on this phase are:

? 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 pages

Test phase: The main activities on this phase are:

? 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/css-validator/.

? 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.

Integration and Release phase: The main activities on this phase are:

? Integrate and link pages together and perform integration test

? Publish the release

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. Evaluation phase: this phase involves two 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. 4. 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. 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. 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 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. But the problem with the HDM model is that it is more a design model than a process model. Hence further development of the process models was needed. The next step was to incorporate the notion of object-orientation 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. 5. 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. 6. Acknowledgment This paper research is a part of my PhD thesis work on web engineering and support from university of medical sciences and technology is gratefully acknowledged. 7. References

Al-allaf, O. (2008). A proposed hybrid web engineering process model for large �scale web-based application development in large web development enterprises. PHd, The Arab Academy for Banking and Financial Sciences, Amman-Jordan.

Andr� L.S. Domingues, S. L. B., Marcella L.S. Costa, Fabiano C. Ferrari, Jos� C. Maldonado. (2008). Web application development methods: a comparison. Paper presented at the Brazilian Symposium on Multimedia and the Web (Webmedia), Brazil.

Bolmeson, J. (2005). Web Development Road Map.

Brandon, D. (2008). Software engineering for modern Web applications : methodologies and technologies. Hershey, PA: Information Science Reference.

Holck, J. (2003, January 6-9). 4 Perspectives on Web Information Systems. Paper presented at the 36th Hawaii International Conference on System Sciences, Big Island, Hawaii, USA.

Kappel, G. (2006). Web engineering : the discipline of systematic development of web applications. Hoboken, NJ: John Wiley & Sons.

Rossi, G. (2008). Web engineering : modelling and implementing web applications. London: Springer.

Sandeep Kumar, S. S. (2011). Adapting the Software Engineering Process to Web Engineering Process. International Journal of Computing and Business Research, 2(1 2011).

Sheridan Jeary , K. P., Jonathan Vincent. (2009). An evaluation of the utility of web development methods. Springer , Software Quality 17(2), 125-150.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now