Вы находитесь на странице: 1из 8

KANON: A FRAMEWORK TO CHARACTERIZE WEB

APPLICATIONS DEVELOPMENT

Author Name
Affiliation
Address

ABSTRACT
Over the past decade several methodologies have been proposed to improve the quality of Web application development.
There are proposals that provide techniques and mechanisms to specify the product model, but leave apart some aspects
about the process development model for shaping the development and the generation of products based on different
situations. Besides, some industry and academic methods are not flexible enough to react according to the different
situations and conditions of the projects to be. These conditions may include application type and complexity, models to
be created, development team characteristics, technological resources, among others. This paper presents KANON, a
framework to characterize web applications development. With the characteristics of the project to carry out, it is possible
to adapt a methodological approach based on development situation, and in some way the approach can be more flexible
leaving apart the prescriptive guideline. The framework uses the foundations of Web Engineering and the principles of
method creation from Situational Method Engineering.

PALABRAS CLAVES
Web Engineering, Situational Method Engineering, Web application development.

1. INTRODUCTION
The complexity of Web applications has grown significantly: from static systems (Web sites) oriented to
information content dissemination, to dynamic systems like online transactions, e-banking, e-commerce
applications, etc. Over the past decade several methodologies have been proposed to improve the quality of
Web application development, such as OOHDM (Schwabe and Rossi, 1995), OOWS (Pastor et al, 2003),
WebML (Ceri et al, 2000) and UWE (Koch and Kraus, 2002). In fact, considerable attention has been given
to Web Engineering, a discipline that provides a systematic and disciplined approach for developing,
documenting and maintaining Web applications.
Web Engineering is more complex than traditional Software Engineering since it raises new issues such
as rich interface design (for presentation and interaction), navigation modeling support and content modeling.
Methods and models from Software Engineering are not expressive enough for the specific characteristics of
Web applications (Schwinger and Koch, 2006). Also, Web application development is characterized by
(Ziemer, 2009): i) small and multidisciplinary development teams, ii) many small software deployments
(iterative and incremental process); iii) several stakeholders from diverse fields; iv) in multiples cases there
are informal specifications of requirements; and v) short deadlines to delivery the final product.
There are methods that can be considered generic, thus they are used in any kind of Web application,
different domains and in diverse situations. In practice, a rigid or generic method does not fit well for every
Web Application domain (Vlaanderen et al, 2008). There is a common agreement about the steps or phases
that methods in Web Engineering follow, because all of them establish a typical process: from requirements
elicitation to implementation, and for each phase they propose the use of different techniques and procedures.
There is, also, an agreement about the products generated and the process to be followed, but they prescribe
complex tasks rather than broad guidelines (Selmi et al, 2008). For example, a very exhaustive requirement
elicitation phase may be unnecessary in small-size Web applications, or with low level of complexity. Some
proposals leave apart aspects about the process development model for shaping the development and the
generation of products based on different situations. A situation is the combination of circumstances at a
given moment, possibly in a given organization. A situation affects the way of working and the product types
to be delivered, and can be a combination of different factors like domain, specific category of Web
application, complexity level of the application, capabilities of the working team, times and costs related to
the development, and other characteristics. In each new development, the designers have to adapt or extend,
in some way, the method to support the new Web project (Vlaanderen et al, 2008). The discipline to build
project-specific method based on a situation is called Situational Method Engineering. It proposes strategies
to select methods, called method fragments (from a repository), to create a new one based on characteristics
of the development circumstances (Brinkkemper, 1996).
Based on the above observations, there is an interest in the following research issues: Is it possible to set a
web application development methodology based on different situations, using the principles of Situational
Method Engineering and the foundations of Web Engineering? Which indicators or attributes are adequate
enough to characterize a Web application development?
The idea behind this proposal is that Web applications development needs flexible approaches that allow
developers to configure the process and to generate the product models, according to a set of attributes about
the project characteristics and situation. Also the flexible approach has to guide the developers in the creation
of models and artifacts, needed to specify the Web application to be implemented. To achieve the flexible
approach is been designed and developed WEBFDM a methodology for the development of Web applications
(Authors et al, 2007), and a CASE tool, called COHESIÓN which brings full support in the use of the
methodology.
The core contribution of this paper is KANON, a framework that defines an attributes collection to
characterize Web application and development environment, in order to determine and create a new method
based on the development situation. Then WEBFDM will follow the principles of Situational Method
Engineering. This paper is organized as follows: in section 2 it will expose some definitions to introduce the
proposal; related works are presented in section 3. The proposal is described in section 4. Finally,
conclusions and future works are presented in section 5.

2. PRELIMINARY DEFINITIONS
In this section is presented some definitions needed for the description of the framework KANON, and some
terms and concepts related to Situational Method Engineering.

2.1 Situational Method Engineering


As stated before, Situational Method Engineering (SME) is the discipline to build project-specific method
based on a situation. It proposes strategies to select method building-blocks (from a repository), to create a
new one based on characteristics of the development circumstances (Brinkkemper, 1996).
The more important vantages of apply SME are the following: i) to build or create a method base that
allows a method definition in a specific domain, reusing validated building-block; ii) to adapt, in a simple
way, methods based on the needs of a specific project, with the constraints and project characteristics
(Vlaanderen et al., 2008); iii) to provide techniques based on reuse of existing building-blocks in the
construction of new methods, more flexible and better adapted to the development situation (Ralyté, 2002).
The SME is not oriented to acquire methods ready to use from a supplier, but the construction in-house
for a specific organization or a specific methodological approach to carry out a project.

2.2 Method building-blocks and method construction approaches


In the literature, different terms and understandings are used to denote method building-blocks that are the
core of situational method creation approaches. It is used the term method fragment as comprising a product
perspective (model, artifact) and a process perspective (activities, techniques). It is used also method chunk
and method component. In this paper we follow the term method fragment, which is characterized by exactly
one result that is created by one or more activities that are supported by one, or more techniques in the
method fragment selected. With regard to the method construction, the approaches founded in literature and
most used by practitioners are summarized in table 1.
Table 1. Approaches in Situational Method Engineering, adapted from (Henderson-Sellers et al, 2010)
APPROACH DESCRIPTION
Assembly- A new method is constructed from fragments of existing methods. Fragments can be categorized into
Based product and process fragments. It follows the reuse strategy.
The required method is created from an existing method and extends through patterns to complement
Extension-
or fill gaps in the existing method. The SME defines strategies and guidelines to carry out the
based
extension.
Paradigm- It is founded on the idea that the new method can be obtained either by abstracting from an existing
based method or by instantiating a meta-model. Is also called evolution-based approach.
An interesting state of the art review about Situational Method Engineering, terminology and approaches
is provided by (Henderson-Sellers et al, 2010).

3. RELATED WORK
Base on the literature review conducted, several proposals were identified that consider adaptation of
methods based on the development situations and to provide some flexibility in the process to carry out.

3.1 About adaptation process and flexibility in Web application development


In the work exposed in (Henderson-Sellers et al, 2004), different projects often demand different degrees of
formality and accuracy, based on their quality requirements, functionality and complexity. In their work they
define two criteria to assess the process’ flexibility, among others: (i) Does the process allow techniques
selection for each task? (ii) Does the process allow the selection of what activities, task and technique are to
be used in a project, depending on the specific characteristics of the project?
In (Engels et al, 2006) is proposed a meta-process that uses and observes some characteristics about the
Web project to be developed, and promotes the transition from an agile method to a disciplined one.
Based on (Díaz et al, 2006) methods have to rely on empirical and flexible process models that can be
easily adapted to fit the process requirements, to be put in practice without disturbing the project goals nor
compromising its success. In their work, they sustain the idea that “web projects require such flexible or
empirical process models that allow developers for shaping the development life cycle according to their
changing needs and the process model is even more important in industrial settings than the model
expressiveness” (Díaz et al, 2006, p. 1376).

3.2 Using Situational Method Engineering in Web Engineering and the


characterization of Web applications development
Some works has been done using Situational Method Engineering in conjunction with Web Engineering
approaches to improve developments of Web applications. In (Weerd et al, 2006) and (Sourer et al, 2009) the
authors state that Web application development methods do not cover the specific needs of a method for Web
content management implementations and present WEM (Web Engineering Method) as an assembly-based
Situational Method Engineering approach applied to develop a new design method for the domain of CMS.
The OOWS method metamodel is defined with the purpose of applying Situational Method Engineering,
in order to improve the development of CMS (Content Management System), because OOWS method “lacks
expressiveness to define Web Applications in some domains as CMS” (Vlaanderen et al, 2008, p. 148).
The Method Association approach, proposed by (Luinenburg et al, 2008), selects and constructs methods
from five model-driven Web modeling approaches to fit the project domain.
Based on (Lahajnar, 2007), the most appropriate approach for web application development is a
construction of an organization-specific base method with the use of reusable method fragments
(components) and the adaptation of the base method in order to support specific project characteristics. He
proposes a Method Engineering framework that includes a process for method construction and a repository
for methods, method components, configurations, rules and development situations characteristics storage.
In (Engels et al, 2006) is not used the principles of Situational Method, but they propose some
characteristics (user number of the application, member number of the teamwork, documentation costs,
among others). These indicators are used to dimension and identify the development complexity. In (Bajec et
al, 2007), based on an industry experience in Slovenia, is proposed a practice-driven approach, called Process
Configuration. In the work they explain how to create an effective tailoring approach to create project-
specific method from an existing one, taking into account the project circumstances and situation. In (Kraiem
et al, 2010) is proposed a collection of factors to characterize Web applications and the construction of new
methods based on existing fragment methods, based on Situational Method Engineering. Also provide three
types of guidance for developers: (i) the selection of the most appropriate design process-model; (ii) the
selection of the most appropriate method fragments, and (iii) the application of selected method fragments.
In the work of (Kornyshova et al, 2007) stands that the method fragments selection is a fundamental
process in the creation of new methods. The significant contribution of their work is a typology of
characteristics of software engineering projects, and are considered four dimensions: organization (project
importance, impact, size, innovation level), human (conflict resistance, experience, clarity, stakeholder
number, among others), application domain (accuracy of formalism, relationships, integration with other
systems, complexity, application type), and development strategy (project organization, development
strategies, goals number, etc.). In (Selmi et al, 2008) is proposed the following factors to characterize a Web
application: application type, complexity, similarity with other applications, problem clarification, and
designer experience. In a study about practical application of Web Engineering, conducted by (Escalona et al,
2007), there is an interesting proposal to categorize the complexity of Web applications through requirements
elicitation.
An approach used to characterize Web application is described in (Kappel et al, 2006). Their proposal is
based on the standard ISO/IEC 9126-1 used for the evaluation of software quality characteristics. This
standard considers three dimensions: product, usage and development, with the corresponding attributes. The
authors include also, Evolution, as a characteristic that governs all three dimensions.

4. OVERVIEW OF THE PROPOSAL


One reason associated with the flexibility of a method is the possibility that it has to be adapted to different
development situations. “In Web application development it is impossible to adhere to a rigid, predefined
project plan. It is vital to react flexibly to changing conditions” (Kappel et al, 2006, p 16).
During the process of defining a methodology for Web application development -WEBFDM-, concern
arose that it could incorporate mechanisms to become a flexible method (Author, 2010a). The methodology
has a CASE tool, called COHESIÓN, which provides the necessary support for the development. Considering
the potential benefits of Situational Method Engineering, COHESIÓN was restructured as a collection of
methods (Fig. 1). Currently, WEBFDM with COHESIÓN support, provides various method fragments such as:
Requirements capture, Characterization of web project, Use Cases definition, Identification of actors, CRUD
application modeling, Use Cases generation from the Data Model, Collaborative Work Support, among
others. Each method fragment has a specific purpose. For example, the “CRUD application modeling”
fragment generates the models needed to create a Web application with CRUD functionality (create, read,
update and delete operations).
COHESIÓN CASE tool includes a model-driven engine, which is responsible for generating the Web
application being developed for different deployment platforms (Authors, 2010b). The current version
generates application for Struts, Struts2, Django and Portlet.
Our approach is that COHESIÓN will be configured according to the characteristics identified in the
development situation. The situation is determined by various attributes associated with the final product,
organizational development environment, the usage, involved technology, among others.

4.1 The framework KANON


The method fragment in charge to identify and detect the Web application characteristics and
development situation is the "Web Development Characterization Engine - KANON". The method
construction approach followed by KANON is paradigm-based.
The framework proposed in this paper are based on the foundations of Web Engineering, which considers
the following concern about the development of Web application: levels (content, hypertext and
presentation), aspects (structure and behavior of each element on levels), the development phases and the
possibilities of customization in each concern.

Fig. 1 Method fragments collection of WEBFDM, with COHESIÓN support


In the KANON framework, a Development Situation determines a new instance of the method to be
created using the method fragments collection provided by COHESIÓN.
As showed in the meta-model (Fig. 2), a new method is determined by a combination of the Web
application characteristics, represented by the attributes present in Product and Usage, and the Development
Environment. The concept of Evolution in Web application is considered as another development situation.
In Table 2 is summarized the dimensions and some attributes considered by KANON.

Fig. 2 Meta-model of “Web Development Characterization Engine – KANON”


The framework considers the Web application Category as an attribute in the dimension “Product”. This
is because depending on the Web application category, different resources and techniques are required to
develop it, and different models have to be created. Also the categorization of web application has implicit
the level of complexity, because each new advanced category is related to the evolution of functionality, new
technology use, team experience, among others. The framework uses a Category-Models relationship in order
to guide the designer in the models creation and about the model process to be carried out. All method
fragments in COHESIÓN are at the same level of granularity.
Table 2. KANON dimensions and attributes for characterizing Web application development situation

DIMENSIONS ATTRIBUTES DESCRIPTION


• Category (content driven, interactive, transactional, collaborative, portal, ubiquitous, semantic
web, etc.)
PRODUCT
• Models (Content, Hypertext, Presentation, Adaptation, Requirements, Use Case)
• Complexity (Requirements, Documentation, Criticality, Size/Scale)
• Domain
• Social context (users, stakeholders, personalization)
USAGE • Technical context (network, devices, deployment platform)
• Natural context (availability, physical context: intranet, extranet, internet)
• Development team (experience, multidisciplinary, knowledge about domain, environment, tool
support)
DEVELOPMENT
• Technical infrastructure (innovative, novelty)
ENVIRONMENT
• Process (model: agile, disciplined; planning, resources, commitments, quality standard)
• Integration with other systems (internal, external)
EVOLUTION Considered as a new development situation
Each method fragment in COHESIÓN has a selection rules and preconditions. It also includes a descriptor
associated with each attribute in the different dimensions. The descriptor specifies the presence/absence (and
in some cases values) of each attribute considered by KANON. If the selection conditions already specified are
satisfied, the fragment is a candidate for incorporation in the new method.

4.2 Using KANON


The following describes an example of how work the framework KANON. The example is a Web application
to be developed for a Consultant Firm. In table 3 is listed some significant requirements about the Web
application. The result of the application of KANON is summarized in Table 4. The method fragments
selected by KANON in order to create a new method for the example is shown in Fig. 3.
Table 3. “Consultant Firm Web application” example

General The Consultant firm needs a Web application so that its consultants can record the hours worked on
Purpose each project in which them are involved, worldwide.
Requirements
a) Each consultant has a user and password to login the Web application.
Data b) The data to be recorded are: project number, date, hours spent, and working detail (activities carried
Requirements out).
c) Al input data has to be validated
a) Each consultant can create and edit new records, and has access only to his corresponding projects.
Transactional b) Each consultant can print a report of his recording activities in each project.
Requirements c) Each transaction due by each consultant in the Web application has to update the Payroll System
(consultant) and the Account Management System (project customers) of the firm.
a) The interaction style is text based, including standard text form for data capture.
Interface
b) The consultant can use the Web application through his computer and/or Smartphone, anywhere,
Requirements
anytime.
a) The application has to be online in one week.
Non
b) The customer (consultants) are directly involved in the design.
Functional
c) Security (projects and consultants information) and availability (24/7) issues have to be considered.
Requirements
d) Only 4 members of the teamwork are available and are located in the same site.
Table 4. Using KANON Framework
Dimensions Results from KANON
PRODUCT Category: Transactional; Models to be created: Data Model, Presentation Model, Use Case
Model through Behavior Diagrams, Actors definition; Complexity: Low, No critical.
USAGE Social context: Users and stakeholders known; Technical context: dual deployment
platform (Smartphone and PC); Natural context: availability (24/7), intranet
Teamwork: experienced, small group (4 members); Location: same location; Tool
DEVELOPMENT
support: available for Struts2; Technical infrastructure: DC (don’t care); Process: agile;
ENVIRONMENT
Integration: with legacy systems.

Fig. 3 Method Fragments Collection for the “Consultant Firm Web Application” example

If a new requirement appears during the development, for example “the members of the teamwork are
located in different sites”, then the attributes of Development Environment dimension and the overall
Development Situation change. In this case KANON will select also the method fragment “Collaborative
Environment Support” (see Fig. 1) to bring all support to the teamwork in order to use this facility.

5. CONCLUSION AND FUTURE WORK


The core contribution of this paper is KANON, a framework to characterize the situation development of
Web applications. This framework defines an attributes collection related to Product and Usage of the Web
application to be developed, and the Development Environment in order to understand and define the
development situation. The dimension and attributes collection identified determine the combination of
method fragments to create the method adjusted to the current development situation. KANON is been
implemented in COHESIÓN as a method fragments. The framework also helps the designers in the use of
WEBFDM with the COHESIÓN support. If a change occurs in the method fragments collection available in
COHESIÓN, then the framework can manage the change in an already created method.
WEBFDM with the COHESIÓN support incorporates the features and configuration mechanisms necessary
to make the methodology more flexible, model-driven development, and able to shape the development
process, the models creation and product implementation based on a proper situation. Currently we are
validating the framework through the characterization of different Web applications that we have developed
in our university.
The framework proposed in this paper includes new attributes and a different organization of the
dimensions used by (Kappel et al, 2006). The new attributes are related to Domain and Category-Models
relationship. Compared with the proposal of (Kornyshova et al, 2007), KANON extends the characteristics of
the project because includes factors associated to Web Engineering requirements like hypertext and
presentation model consideration. Our proposal extends also the factors identified by (Selmi et al, 2008) and
by (Kraiem et al, 2010). Both considered only the following application types: kiosque, i.e content driven,
Web Information Systems, adaptive application and e-commerce applications. In KANON is considered a
more wide variety of Web application, from content driven to ubiquitous, semantic Web and portals.
The next step in this research is to extend KANON in order to include new attributes and mechanisms to
characterize Web application development, since technology, usage and platform deployment are in
continuous change and evolution.
REFERENCES
Authors. 2007. Diseño de una herramienta para el desarrollo de aplicaciones Web basadas en Struts. Proceedings CIAWI
IADIS Iberoamericana. Vila Real, Portugal.
Authors. 2010a. COHESIÓN: A Model-Driven Development Tool for Web Applications. Internal Report. Computer
Science and Information Technology Department. Universidad Simón Bolívar. Caracas.
Authors. 2010b. WEBFDM: a Web application Flexible Development Methodology. Proceedings ICWI 2010. Timisoara,
Rumania, pp. 427-431. October.
Bajec, M., Vavpotic, D. and Krisper, M. 2007. Practice-driven approach for creating project-specific software
development methods. Journal of Information and Software Technology. Vol. 49, Issue 4, pp. 345-365.
Brinkkemper S. 1996. Method engineering: engineering of information systems development methods and tools.
Information & Software Technology, 38(4), pp. 275-280.
Ceri, S., Fraternali, P. and Bongio, A. 2000. Web modeling language (WebML): a modeling language for designing web
sites. WWW9/Computer Networks, 33, (1–6), pp. 137–157.
Engels, G., Lohmann, M., and Wagner, A. 2006. The Web Application Development Process. In Kappel G., Pröll B.,
Reich S., Retschitzegger W. (Editors): Web Engineering - The Discipline of Systematic Development of Web
Applications, pp. 197-218. John Wiley and Sons Ltd.
Escalona M. J., Gutierrez, J. J., Villadiego, D., León, A. and Torres, J. 2007. Practical Experiences in Web Engineering.
Advances in Information Systems Development, pp. 421-433. 2007.
Henderson-Sellers, B., Serour, M., McBride, T., Gonzalez-Perez, C. and Dagher, L. 2004. Process Construction and
Customization. Journal of Universal Computer Science, Vol. 10, Nº. 4 (2004), pp. 326-358.
Henderson-Selleres, B. and Ralyté, J. 2010. Situational Method Engineering: State-of-the-Art Review. Journal of
Universal Computer Science, Vol. 16, Nº. 3, pp. 424-478.
Kappel. G., Pröll, B., Reich, S. and Retschitzegger, W. 2006. An Introduction to Web Engineering. In Kappel, G., Pröll,
B., Reich, S. and Retschitzegger, W. (Eds), Web Engineering: The Discipline of Systematic development of Web
Application. John Wiley and Sons, NY, pp. 1-17.
Koch, N. and Kraus, A. 2002. The Expressive Power of UML-based Web Engineering. Proceedings of 2nd International
Worskhop on Web-oriented Software Technology (IWWOST 02).
Kornyshova, E., Deneckere, R., and Salinesi, C. 2007. Method Chunks Selection by Multicriteria Techniques: an
Extension o f the Assembly- based Approach. In IFIP Vol. 244, Situational Method Engineering: Fundamentals and
Experiences, Eds. Ralyte, J., Brinkkemper, S., Henderson- Sellers B., pp. 64-78.
Kraiem, N., Selmi, S. and Ben Ghezala H. 2010. A Situational Approach for Web Applications Design. IJCSI
International Journal of Computer Science Issues. Vol. 7, Issue 3, No. 1, May 2010, pp. 37-51.
Lahajnar, S. 2007. A Framework for Situational Web Methods Engineering. Proceeding of the 7th International
Conference on Web Engineering ICWE 2007. Springer-Verlag Berlin, pp. 569-574.
Pastor, O., Fons, J. and Pelechano, V. 2003. OOWS: A method to develop web applications from web-oriented
conceptual models. Proceedings of 3rd International Workshop on Web Oriented Software Technology. Oviedo: Luis
Olsina, Oscar Pastor, Gustavo Rossi, Daniel Schwabe Editors.
Selmi, S., Kraiem, N. and Ben Ghezala, H. 2008. Guidance in Web Applications Design. Proceedings of Model Driven
Information Systems Engineering: Enterprise, User and System Models MoDISE-EUS 2008, pp. 114-125.
Montpellier, France.
Schwabe, D. and Rossi, G. 1995. The Object Oriented Hypermedia Design Model. Communications of the ACM, Vol. 38,
#8, pp 45-46, August 1995.
Schwinger, W. and Koch, N. 2006. “Modeling web applications”, in Kappel, G., Pröll, B., Reich, S. and Retschitzegger,
W. (Eds), Web Engineering – Systematic Development of web Applications, John Wiley and Sons, NY, pp. 39-64.
Sourer, J., Kupers, T., Helms, R. and Brinkkemper, S. 2009. Model-Driven Web Engineering for the Automated
Configuration of Web Content Management Systems. Proceeding of International Conference of Web Engineering
ICWE 2009. Spain. Springer Verlag, pp. 121-135. June 2009.
Vlaanderen, K., Valverde, F. and Pastor, O. 2008. Improvement of a Web Engineering Method Applying Situational
Method Engineering. In J. Cordeiro & J. Filipe (Eds.), Proceedings of the 10th International Conference on
Enterprise Information Systems (ICEIS 2008) (Vol. ISAS-1, p. 147-154). Barcelona, Spain.
Weerd van de, I., Brinkkemper, S., Sourer, J., and Versendaal, J. 2006. A situational implementation method for web-
based content management system-applications: Method Engineering and Validation in Practice. Software Process:
Improvement and Practice 11(5), pp. 521-538.
Ziemer S. 2009. Trade-offs for Web Application Development: Understanding and Improving Current Industrial
Practices. Doctoral theses. Norwegian University of Science and Technology.