Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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.