0% found this document useful (0 votes)
5 views29 pages

Lecture 3

Web Engineering is a discipline that extends software engineering principles to the development of web applications, emphasizing control, risk minimization, and enhanced maintainability. It addresses the unique characteristics of web applications, including their continuous evolution and diverse user contexts, while also highlighting the need for systematic methodologies and multidisciplinary approaches. The lecture outlines the importance of standards and infrastructure in supporting the growth and functionality of web-based systems.

Uploaded by

Adel Styles
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views29 pages

Lecture 3

Web Engineering is a discipline that extends software engineering principles to the development of web applications, emphasizing control, risk minimization, and enhanced maintainability. It addresses the unique characteristics of web applications, including their continuous evolution and diverse user contexts, while also highlighting the need for systematic methodologies and multidisciplinary approaches. The lecture outlines the importance of standards and infrastructure in supporting the growth and functionality of web-based systems.

Uploaded by

Adel Styles
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Web Engineering

LECTURE 3

Some Lectures Notes Belongs to Dr. Federico M. Facca

1
Agenda

1. What is Web Engineering?

2. Defining Web Applications.

3. The Case for Web Engineering.

4. Categories of Web Applications.

5. Characteristics of Web Apps.

6. Key Knowledge Areas

2
1- What is Web Engineering?

A science that Extends Software Engineering to


Web applications, but with Web-centric
approaches.

3
1- What is Web Engineering?

A science that brings to Web-based system


development:
◦ Control
◦ Risk minimization
◦ Enhanced maintainability and quality

4
Agenda

1. What is Web Engineering?

2. Defining Web Applications.

3. The Case for Web Engineering.

4. Categories of Web Applications.

5. Characteristics of Web Apps.

6. Key Knowledge Areas

5
2- Defining Web Applications

Unlike traditional software, the Web serves as both


development & user platform.

A Web application is a system that utilizes


standards & technologies to deliver Web-specific
resources to clients (typically) through a browser.

6
2- Defining Web Applications

7
Agenda

1. What is Web Engineering?

2. Defining Web Applications.

3. The Case for Web Engineering.

4. Categories of Web Applications.

5. Characteristics of Web Apps.

6. Key Knowledge Areas

8
3- The Case for Web Engineering

Web-based system is a living system—it grows,


evolves, and changes.

An appropriate infrastructure is necessary to


support the growth of a Web based system in a
flexible and controlled manner

9
3- The Case for Web Engineering

Application development on the Web remains


largely ad hoc.
◦ Individual experience
◦ Little or no documentation for code/design

Short-term savings lead to long-term problems in


operation, maintenance, usability, etc.

10
3- The Case for Web Engineering

Why Now ?
◦ Most projects are now Web-based

◦ More “mission-critical” apps moving to the Web

11
3- The Case for Web Engineering

Top Web project pitfalls

• not meeting functionality and the users’ needs


• poor usability
• poor performance
• security breaches
• not functioning properly, including errors and crashes
• poor maintainability
• poor scalability
• schedule and cost over-runs
• abandoned projects—poor project management

12
Agenda

1. What is Web Engineering?

2. Defining Web Applications.

3. The Case for Web Engineering.

4. Categories of Web Applications.

5. Characteristics of Web Apps.

6. Key Knowledge Areas

13
4- Categories of Web Applications
Semantic
Web
Complexity

Social Web
Collaborative
Workflow Portal
Based Oriented
Transactional

Interactive

Doc-Centric

Development History

14
4.1Portal-Oriented

Single points-of-entry to heterogeneous information


◦ Yahoo!, [Link], [Link]

Specialized portals
◦ Business portals (e.g., employee intranet)
◦ Marketplace portals (horizontal & vertical)
◦ Community portals (targeted groups)

15
4.2 Semantic Web

Berners-Lee: Information on the Web should be readable to machines,


as well as humans.

Using metadata and ontologies to facilitate knowledge management


across the WWW.

Content syndication (RSS, Atom) promotes re-use of knowledge

Is the Semantic Web even possible?

Authors devote a chapter to the Semantic Web, but we will not focus on
it in this course.

16
Agenda

1. What is Web Engineering?

2. Defining Web Applications.

3. The Case for Web Engineering.

4. Categories of Web Applications.

5. Characteristics of Web Apps.

6. Key Knowledge Areas

17
5- Characteristics of Web Apps
How do Web applications differ from traditional applications?

Or, another way, what Software Engineering methods & techniques can be adapted
to Web Engineering?

3 dimensions
◦ Product
◦ Usage
◦ Development

To this we can add a 4th dimension peculiar on the web, need for continuous and fast
evolution!

18
5.1 Characteristics - Product
The “building blocks” of a Web application
Content
◦ Document character & multimedia (# of dimensions?)
◦ Quality demands
Navigation Structure (Hypertext)
◦ Non-linearity
◦ Disorientation & cognitive overload
User interface (Presentation)
◦ Aesthetics ‫جماليات‬
◦ Self-explanation

19
5.2 Characteristics - Usage
Much greater diversity compared to traditional non-Web applications
Social Context (Users)
◦ Spontaneity
◦ Heterogeneous groups
Technical Context (Network & Devices)
◦ Quality-of-Service
◦ Multi-platform delivery
Natural Context (Place & Time)
◦ Globality
◦ Availability

20
5.3 Characteristics - Development
The Development Team
◦ Multidisciplinary
◦ Community (including Open Source)

Technical Infrastructure
◦ Lack of control on the client side
◦ Immaturity

Process
◦ Flexibility
◦ Parallelism

Integration
◦ Internal
◦ External

21
5.4 The 4th Dimension: Evolution
All the above previous dimension are governed by the evolution principle
◦ Continuous change
◦ Competitive pressure
◦ Fast pace

Software Engineering: evolution is planned in a constant number of release


version

Web Engineering: evolution is continuous


◦ Nowadays this is becoming true also for SE… it’s a loop, when a discipline
overlaps its ancestor, the ancestor learn something back!

22
A well-engineered Web system
◦ is functionally complete and correct
◦ is usable
◦ is robust and reliable
◦ is maintainable
◦ is secure
◦ performs reasonably even under flash and peak loads
◦ is scalable
◦ is portable, where required (perform across different common platforms), compatible with multiple
browsers
◦ is reusable
◦ is interoperable with other systems
◦ has universal accessibility
◦ is well-documented

23
Agenda

1. What is Web Engineering?

2. Defining Web Applications.

3. The Case for Web Engineering.

4. Categories of Web Applications.

5. Characteristics of Web Apps.

6. Key Knowledge Areas.

24
4 Key Knowledge Areas
Software
Hypermedia
Engineering

•Process • Design & Structure


•Design Information Space
•Implementation Web • Navigation
•Test • Visualization
•Operation Engineering • Usability
•Maintenance • Collaboration

Network Information
Engineering © 1997-2005 Dr. Martin Gaedke
Systems

•Physical Layer •Data Design, ER,...


•Internet Layer Others... •RDBMS
•Transport Layer •Query Languages
•Performance •[Link]: FS,...

25
Summary
THAT ’S ALMOST ALL FOR TODAY…

26
Things to keep in mind

❑Web Engineering is not about HTML and JavaScript and web


technology - Like Software Engineering is not about C or Java!

❑It aims at systematic development of Web applications


according to a specific methodology

❑Web Engineering ask for multidisciplinary approach.

❑Standards are important in Web like in all the other Engineering


fields

27
Extra Resources

Suggested
◦ Google “Web Engineering”

28
Assignment

Pick up two of the categories introduced today and


provide a small essay on it
◦ Max 2 pages Word, Times 11pt – check plagiarism.

◦ Figures do not count for the space.

◦ Blackboard

29

You might also like