27-08-2012, 11:02 AM
ANALYZING AND IMPROVING WEB APPLICATION QUALITY USING DESIGN PATTERNS
ANALYZING AND IMPROVING.pdf (Size: 319.13 KB / Downloads: 45)
ABSTRACT
With the mounting demand of web applications, a number of issues allied to its quality have came in existence. In the meadow of web applications, it is very thorny to develop high quality web applications. A design pattern is a general repeatable solution to a generally stirring problem in software design. It should be noted that design pattern is not a finished product that can be directly transformed into source code. Rather design pattern is a depiction or template that describes how to find solution of a problem that can be used in many different situations. Past research has shown that design patterns greatly improved the execution speed of a software application. Design pattern are classified as creational design patterns, structural design pattern, behavioral design pattern, etc. MVC design pattern is very productive for architecting interactive software systems and web applications. This design pattern is partition-independent, because it is expressed in terms of an interactive application running in a single address space. We will design and analyze an algorithm by using MVC approach to improve the performance of web based application. The objective of our study will be to reduce one of the major object oriented features i.e. coupling between model and view segments of web based application. The implementation for the same will be done in by using .NET framework.
INTRODUCTION
Design pattern is one of the important concepts in the field of software engineering. In general the design pattern is a repeatable solution to a commonly occurring problem in software design. It should be noted that design pattern is an intermediate product and is not a final design that can be transformed directly into code. Technically design pattern is a description or templates that helps in find a solution to the problem that can be used in different situations.
Design patterns [1] are one of the emerging concepts in software engineering. Design pattern evolves from civil engineering. In general one can say that design pattern is a blueprint for solving a specific problem, allowing the benefits of an optimal solution to be carried forward to new implementations.
RELATED WORK
One of the most famous and most used is surely MVC [5, 6], which divides each application (or part of it) into three different fundamental elements and states the rules for linking them together. While MVC provides a highly organized and uniform decomposition of the tasks performed by an interactive desktop application, the components prescribed by the MVC are not agnostic of the web development environment. However, most of the web based descriptions give their own interpretation while implementing MVC for web based application. This often results in the misapplication of the pattern.
In the MVC pattern, due to the layered system, [7] each subsystem in accordance with the hierarchy to organize themselves to achieve the allocation and cooperation of development and developers can work in parallel. Such a system enables to loose coupling between layers, reduce workload of development and maintenance, but also lay a solid foundation for the future upgrade.
Disadvantages of MVC
Although the MVC pattern well allocates the task, but there are some problems, mainly include:
1. The tight coupling between view, controller and model. View and Controller components are direct call model. It shows that the changing data of model need to be consistent with the view, thus increase coupling degree of data information and displayed pages.
2. In the model tier, tightly coupled with the business components that interact with the different roles
PROPOSED ALGORITHM
We have designed and implemented an MVC algorithm that will improve the performance of web application by separating model, view and control portion of web application. The following algorithm implements the concept of model/view/ controller. In the following algorithm there are three modules.
The first modal module read the web application then manages the data. It also Send request for reading state, process instruction and change the status of application state that means it generates an appropriate user interface.
The second view module display the information on the screen. It gets its own data from the model. The view is automatically notified by the model of changes in state that require a screen update.
The third controller module controls the mouse and keyboard event that means input that is given by the user and then converts the event into an appropriate user action, understandable for the model. The controller notifies the model of the user action, possibly resulting in a change in the model's state.
CONCLUSIONS
One of the foremost causes of using design patterns is essentially parallel to those for using any object oriented techniques. Design patterns prop up reuse, without constraining implementations to a specific platform or language, and promote efficient use of design time. They can be seen as the design equivalent of modular or object oriented programming. Their strengths, however, can also be seen as their weakness. By not being implementations, the programmer is still required to actually code them, and as such any errors in the elucidation will be translated into the final source code. This means that different programmers may end up with different implementations of the same pattern, possibly even with different behaviors. The above study shows that use of MVC in web based application is explicit than the traditional one. One of the major advantages of adopting this pattern that the coupling between Model and View is looser than the original one. In general MVC-web will increase the flexibility, maintainability and scalability in web application.