Title: An Introduction to Web Engineering
1An Introduction to Web Engineering
- Jumana Ali Hbahbeh 20050171035
- Mohammad Al-Masri 20050171021
- Dr.Natheer Khasawneh
- Eng.Ahmad Shatnawi
2Head Lines
- Introduction.
- Motivation
- Categories of Web Application.
- Characteristics of Web Application
- Product - related Characteristic.
- Usage related Characteristic.
- Development related Characteristic.
- Evolution.
- 4. Questions !
3Introduction
- Web Engineering comprises the use of
systematic and quantifiable approaches in order
to accomplish the specification, implementation,
operation, and maintenance of high quality Web
applications.
4Why Web Applications?
- The World Wide Web has a massive and permanent
influence on our lives(education,
healthcare.etc) and this is because of the
nature of the Web itself. - While originally the Web was designed as a purely
informational medium, it is now increasingly
evolving into an application medium. - Web applications today are full-?edged, complex
software systems providing interactive, data
intensive, and customizable services accessible
through different devices.
5Nature of the Web
- global and permanent availability.
- Comfortable.
- uniform access to often widely distributed
information producible by anyone in the form of
Web pages.
6What is the WA?
- A Web application is a software system based on
technologies and standards of the World Wide Web
Consortium (W3C) that provides Web specific
resources such as content and services through a
user interface, the Web browser. - So the main components of the WA are
- Software(tech.), user interface, the web
itself.
7How WAs are developed now?
- The development of Web applications is often seen
as a one-time event. - it is often spontaneous.
- usually based on the knowledge, experiences, and
development practices of individual developers. - limited to reuse in the sense of the Copy
Paste paradigm. - ultimately characterized by inadequate
documentation of design decisions.
8What are the problems with this way of developing
WAs?
- Massive quality problems and consequently in
great problems in operation and maintenance. - Applications developed are often heavily
technology dependent and error-prone. - characterized by a lack of performance,
reliability, and scalability, user-friendliness,
and therefore also acceptance. - The strong interlinking of Web applications
- additionally increases the danger of problems
spreading from one application to the other.
9What are the reasons for these problems?
- Document-centric approach.
- The development of Web applications is often
still considered to be document centric. - The assumed simplicity of Web applications
development. two main reasons - The broad availability of different tools editors
or form generators(dont need specialized
knowledge). - emphasis is on visual design rather than internal
structuring and programming. This results in
inconsistencies and redundancy. - Know-how from relevant disciplines cannot be
applied or is not used.
10Are there Differences between the WA and the
traditional software ?
- It is a common misconception that the development
of Web applications is analogous to the
development of traditional applications. - And there is also a misconception that the
methods of Software Engineering can be used in
the sense of a systematic, disciplined approach
with adequate quality control measures. - This appears inadequate in many cases due to the
special characteristics of Web applications. - Development standards for high-quality Web
applications are nonexistent this is in part
due to the relatively short history of the Web.
11Web Crisis
- A survey by the Cutter Consortium (Cutter
Consortium 2000) found that the top problem areas
of large-scale WA projects were - he failure to meet business needs (84)
- Project schedule delays (79)
- budget overrun (63)
- lack of functionality (53)
- poor quality of deliverables (52)
- Due to the omnipresence of WAs and their strong
cross-dependency, this Web crisis could be
considerably more serious and widespread than the
software crisis of the 1960s.
12Web Application Engineering
- What is Engineering?
- What is Software Engineering?
- And so, What is the WAE?
13Web Application Engineering
- Engineering means the practical application of
science to commerce or industry with the goal of
designing applications in a better, i.e. faster /
cheaper / more secure / etc. - SE is an engineering discipline that is concerned
with all aspects of software production from the
early stages of system specification to
maintaining the system.
14Web Application Engineering
- Web Engineering is the application of systematic
and quantifiable approaches (concepts, methods,
techniques, tools) to cost-effective requirements
analysis, design, implementation, testing,
operation, and maintenance of high-quality Web
applications. - Web Engineering is also the scientific discipline
concerned with the study of these approaches.
15Categories of WAs
- We will identify the WAs depending on their
development history and complexity.
16 Categories of WAs
- Document centric Web sites, the precursor to Web
applications, static, HTML, benefits are the
simplicity and stability of such Web sites and
the short response time. - interactive Web applications, CGI and HTML forms,
Ex. news sites, or timetable information. - Transactional Web applications, gives the user
the possibility of not only interacting with the
application in a read-only manner, but also by
performing updates on the underlying content,
there must be a data base system, EX. Online
banking, online shopping, and booking
17Categories of WAs
- 4. Work?ow-based Web applications, handling of
work?ows within or between different companies,
public authorities, and private users, use Web
services to guarantee interoperability, EX. B2B
solutions in e-commerce. - 5. Collaborative Web applications, cooperation
- purposes in unstructured operations (groupware),
While originally the Web was characterized by
anonymity, there is an increasing trend towards a
social Web, EX. Weblogs.
18Categories of WAs
- 6. Portal-oriented Web applications, provide a
single point of access to separate, potentially - heterogeneous sources of information and
services, there are various specialized portals
such as business portals, marketplace portals. - 7. Ubiquitous Web applications, provides
customized services anytime anywhere and for any
device, thus facilitating ubiquitous access. Ex.
Using mobile devices and location-aware services. - 8. Semantic Web present information on the Web
not merely for humans, but also in a machine
readable form, This would facilitate knowledge
management on the Web and increase the
possibility to automating tasks.
19Characteristics of Web Applications
- WA characteristics fall within three dimensions
- Product
- Usage
- Development
- Along with their ? Evolution
20Characteristics of Web Applications
- Product-related Characteristics
- a. Content
- Generating content, making it available,
integrating, and updating. - Web application developers must therefore not
only act as programmers but also as authors. - Depending on the structuring, content is provided
as tables, text, graphics, animations, audio, or
video. - Content is in part also generated and updated
dynamically. - Web application is not only subject to differing
update frequencies, but also to different quality
metrics regarding its being up to date, exact,
consistent and reliable.
21Characteristics of Web Applications
- 1. Product-related Characteristics
- b. Hypertext
- The hypertext paradigm as a basis for the
structuring and presentation of information. - Basic elements of hypertext models are nodes,
links and anchors. - Non-linearity Hypertexts imply stereotypes of
relatively systematic reading, We can distinguish
among others between browsing, e.g. in online
shopping applications, queries, e.g. in virtual
exhibitions, and guided tours, e.g. in e-learning
applications.
22Characteristics of Web Applications
- Problems
- Disorientation is the tendency to lose ones
bearings in a non-linear document. - Cognitive overload is caused by the additional
concentration required to keep in mind several
paths or tasks simultaneously. - Solutions
- Sitemaps, key word searches, Meaningful linking
and intelligent link naming reduce cognitive
overload and disorientation.
23Characteristics of Web Applications
- Product-related Characteristics
- c. Presentation
- Aesthetics, look and feel of the user interface
plus the high competitive pressure on the Web. - Self-explanation, it should be possible to use
aWeb application without documentation.
24Characteristics of Web Applications
- 2. Usage-related Characteristics
- The usage of Web applications is extremely
heterogeneous. Users vary in numbers and cultural
background, devices have differing hardware and
software characteristics. - And the time and location from where the
application is accessed cannot be predicted. - Usage has three main contexts social context,
technical context, and natural context.
25Characteristics of Web Applications
- 2. Usage-related Characteristics
- a. Social Context ? Users
- Spontaneity
- Multi- culturality
- b. Technical Context ? Network and Devices
- Quality of service, The characteristics of the
transmission medium, such as bandwidth,
reliability, and varying stability of the
connection are independent factors that must be
considered when developing a Web application to
guarantee appropriate quality of service. - Multi-platform delivery, Web applications usually
offer services not only to a speci?c type of
device, but rather any, such as different mobile
types, different browsers
26Characteristics of Web Applications
- 2. Usage-related Characteristics
- c. Natural Context ? Location and Time
- Globality, The location from which a Web
application is accessed, is important for the
internationalization. - Global availability also increases the demands on
security of Web applications to prevent users
from accessing deliberately or by accident
private or con?dential areas. - Location-awareness imposes further difficulties
for the testing of Web applications. - Availability, available all the time and stable.
27Characteristics of Web Applications
- 3. Development-related Characteristics
- a. The Development Team
- Multidisciplinarity , a combination of print
publishing and software development, marketing
and computing, and art and technology. - Young average age , Web application developers
are on average signi?cantly younger and thus
less experienced. - Community development , The development of open
source software freely available on the Web and
its integration in real applications is a very
recent phenomenon.
28Characteristics of Web Applications
- 3. Development-related Characteristics
- b. Technical Infrastructure
- Inhomogeneity, between the server and the
browsers - Immaturity, Because of the increasing
time-to-market pressure, components used in Web
applications are often immature, i.e. they either
have bugs or lack the desired functionality.
29Characteristics of Web Applications
- 3. Development-related Characteristics
- c. Process, The development process is the
framework for all development-related
characteristics. - Flexibility, It is vital to react ?exibly to
changing conditions, you cant only have a rigid
plan. - Parallelism, Due to the necessity for short
development times and the fact that Web
applications can often be split up into
autonomous components - design, implementation and quality assurance are
often carried out simultaneously for different
versions
30Characteristics of Web Applications
- 3. Development-related Characteristics
- d. Integration
- Internal integration
- Web applications have to be integrated with
existing - legacy systems when existing content
- External integration
- the integration of content and services of
external Web applications is a special
characteristic of Web applications. - integration on the Web
- 1. there are a very large number of sources
- 2. frequently changing
- 3. usually only few details are known about the
properties of these sources. - 4. the different sources are often very
heterogeneous at various levels, be it at the
data level, the schema level, or the data model
level.
31Characteristics of Web Applications
- Evolution, evolution is a characteristic that
governs all three dimensions of product, usage
and development. - a. Continuous change, Web applications change
rapidly due to constantly changing requirements
or conditions, and this has two reasons users
want the newest Web hype, and the used tools are
also technology-driven.
32Characteristics of Web Applications
- Evolution
- b. Competitive pressure, this due to
- The extremely high competitive pressure.
- the time-to market pressure .
- the necessity for a Web presence .
- And this leads to
- The shorter product lifecycles
- extremely short development cycles
33Characteristics of Web Applications
- Evolution
- c. Fast pace
- time pressure on Web application development
is due to the rapid change on the Web and the
accordingly short life spans of Web applications
or their frequency of updates.
34 Questions ?
- Q1) Mention the top problem areas of large-scale
WA projects . - Q2) Talk about 3 of Web application Categories
briefly . - Q3) The basic elements of hypertext models are
? - Q4) Disorientation and Cognitive overload are the
main problems caused by the Non-linearity of the
Hypertext model . How to solve THEM ? - Q5) What are the main Characteristics of the web
application ?