Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Web Engineering

Presented by
Dr. Muhammad Furqan
Assistant Professor, CUST
What is Web
• World Wide Web aka. ‘The Web’ is a way of exchanging information
between computers on the Internet.

• A network of pages containing images, text and sound which can be


viewed using browser software.

• Internet: The global infrastructure which facilitates the data transfer


• Browser: A software application for accessing information on the
World Wide Web.
Web Components
• Web Page: A container to hold texts, images videos and sounds
• Web Site: A collection of related web pages and associated items
• Web Server: A computer that stores web site and delivers web pages
on client’s request
• Universal Resource Locator (URL): aka. Web Address is a pointer
to a web site stored on a web server
Web Application Flow
Web Application Development
• Hypertext Markup Language (HTML)
• Cascading Stylesheet (CSS)
• Client-side Scripting (JavaScript)
• Server-side Programming (.NET/PHP/J2EE)
• Databases (SQL Server / MySQL / Oracle / MongoDB)
Course Aims
• The techniques and the methods used in web based application
development.
• The particle approach to develop web based application.
• The processes involved to develop web based application.
Software Engineering
• Process of analyzing user requirement and then designing, building
and testing S/W application.
• Concern all aspect of Software production
• SE is art of building a good and efficient S/W system that are on time,
on budget , with correct and acceptable operations and good
performance.
Introduction
Study of processes, concepts, methods and techniques to create high quality
web application.
Or
Web Engineering is the application of systematic, disciplined and quantifiable
approaches to development, operation, and maintenance of Web-based
applications.
Or
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.
Introduction
Web Engineering makes it possible
• Plan and iterate development processes
• Cost reduction
• Quality of the results of each phase
The Case for Web Engineering
• Web Engineering is multi-disciplinary, no single discipline (such as
software engineering).
• Web development process is different and unique.
• Individual experience.
• Little or no documentation for code/design
• Short-term saving leads to long-term problem in operation,
maintenance, usability.
The Case for Web Engineering
• Basis cause of bad design
Authoring activity during development
Development is “easy”
Misapplied techniques or ignore techniques

Most of the project is web based and mission-critical application


moving to the Web which is particular alarming
The Case for Web Engineering
Top Project Pitfall (Cutter, 2000)
 84% Fail to meet the objective
 79% Project Schedule delay
 63% Budget Overrun
 53% Lack of functionality
The Case for Web Engineering
The basic principles of Web Engineering can, however, be described
similarly to those of Software Engineering.
• Clearly defined goals and requirements
• Systematic development of a Web application in phases
• Careful planning of these phases
• Continuous audit of the entire development process
Categories of Web Applications
Web applications have varying degrees of complexity.
Categories of Web Applications
Document centric
Document centric Web sites are the precursor to Web applications. Web
pages are stored on a Web server as ready-made, i.e. static, HTML
documents and sent to the Web client in response to a request. These
Web pages are usually updated manually using respective tools.
Interactive
Interactive Web applications emerged, offering a first, simple, form of
interactivity by means of forms, radio buttons and selection menus. Web
pages and links to other pages are generated dynamically according to
user input.
Categories of Web Applications
Transactional
Transactional Web applications were created to provide more
interactivity, giving 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.
Workflow-based
It allow the handling of workflows within or between different
companies, public authorities, and private users.
Categories of Web Applications
Collaborative
Collaborative Web applications are employed especially for cooperation
purposes in unstructured operations (groupware). There the need for
communication between the cooperating users is particularly high.
Collaborative Web applications support shared information and
workspaces.
Social Web
People provide their identity to a (small) community of others with
similar interests.
Categories of Web Applications
Portal-oriented
It provide a single point of access to separate, potentially heterogeneous sources of
information and services.
Ubiquitous
It provides customized services anytime anywhere and for any device, thus facilitating
ubiquitous access. An example of this would be displaying the menu of the day on the mobile
devices of all users entering a restaurant between 11 am and 2 pm.
Semantic
The goal of the Semantic Web is to present information on the Web not merely for humans, but
also in a machine-readable form. This would facilitate knowledge management on
the Web, in particular the linking and reuse of knowledge (content syndication), as well as
locating new relevant knowledge, e.g. by means of recommender systems.
Characteristics of Web Applications
How do Web applications differ from traditional applications?
3 dimensions
– Product-based
– Usage-based
– Development-based
Characteristics of Web Applications

These dimensions are based on the ISO/IEC 9126-1 standard for the evaluation of
software quality characteristics
Product-based Characteristics
Product-related characteristics constitute the “building blocks” of a Web
application
Content
– Document character & multimedia
– Quality demands: current, exact, consistent, reliable
Navigation Structure (Hypertext)
– Non-linearity
– Potential problems: Disorientation & cognitive overload
User interface (Presentation)
– Appearance
– Self-explanation
Usage-based Characteristics
Much greater diversity compared to traditional Non-Web applications
– Users vary in numbers, cultural background, devices, h/w, s/w, location etc
Social Context (Users)
– Spontaneity - scalability
– Heterogeneous groups
Technical Context (Network & Devices)
– Quality-of-Service
Natural Context (Place & Time)
– Globality
– Availability
Development-based Characteristics
The Development Team
– Multidisciplinary – print publishing, s/w development, marketing & computing,
art & technology
Technical Infrastructure
– Lack of control on the client side
Integration
– Internal – with existing legacy systems
– External – with Web services
– Integration issues: correct interaction, guaranteed QoS

You might also like