Top Banner
WEB ENGINEERING Deniz KILINÇ [email protected]
29
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web Engineering

WEB ENGINEERING

Deniz KILINÇ

[email protected]

Page 2: Web Engineering

WebE 2

What is it?

Web Engineering is the process used to create high-quality WebApps.

Web Engineering is not a perfect clone of software engineering.

It borrows many of software engineering’s fundamental concepts and principles.

Page 3: Web Engineering

WebE 3

What are the steps?

Problem is formulated Project is planned Requirements of the WebApp are analyzed. Architectural, navigational and interface

design are conducted. The system is implemented using specialized

languages. Tested.

Page 4: Web Engineering

WebE 4

The attributes of Web-Based Applications

Network Intensive;Resides on a network(Internet, Intranet, Extranet) and must serve the needs of a diverse community of clients.

Content Driven;Primary function of a WebApp is to use hypermedia to present text, grphics, audio and video content to the end-user.

Continuous Evolution;Unlike convetional application software, Web Applications evolve continuously.

Page 5: Web Engineering

WebE 5

The characteristics of Web-Based Applications(I)

Immediacy; Developers must use methods for planning, analysis, design, implementation and testing that have been adapted to the compressed time schedules required for WebApp development.

Security; Because WebApps are available via network access, it is difficult to limit the population of the end-users who may access the application. Strong security measures must be implemented throughout the infrastructure that supports WebApp like SSL.

Page 6: Web Engineering

WebE 6

The characteristics of Web-Based Applications(II)

Aesthetics; Undeniable part of WebApp is its look and feel. When an application is designed to market or sell products aesthetics becomes much more important.

General characteristics apply to all WebApps with different degrees

Page 7: Web Engineering

WebE 7

Web Application Quality

Usability;Understandability,Aesthetic Functionality;Searching, Navigation, Browsing Reliability;Correct Link, Error Recovery, Input

Validation Efficiency;Response Time Performance, Page and

Graphic Generation Speed Maintainability;Extensibility

Page 8: Web Engineering

WebE 8

The technologies

Component Based Development;Three major infrastructure standards are available for Web engineers:CORBA,COM/DCOM, and Java Beans.

Security;A variety of security measures are provided by the network infrastructure, encryption techniques, firewalls and other measures.

Internet Standards;HTML enables the developer to provide a series tags that describe the appearance of objects(text, graphics, audio/video, forms...).A new standard, XML has been developed.

Page 9: Web Engineering

WebE 9

Framework For WebE

Content Design

Production

Architectural Design

Navigation Design

Interface Design

Formulation

Planning

Analysis

CustomerEvulation

Page Gen.&

Testing

Page 10: Web Engineering

WebE 10

Formulation(I)

Allows the customer and developer to establish a Goals and Objectives for the construction of WebApp.

Identifies the scope of the development effort. Questions at the beginning of the formulation

step;1. What is the main motivation for the WebApp?

2. Why is the WebApp is needed?

3. Who will use the WebApp?

Page 11: Web Engineering

WebE 11

Formulation(II) Example;Manufacturer of home Security System

decided to establish e-commerce Web Site. Answer1: Site will allow customers to purchase

compenents for home/bussiness security. Answer2: Eliminate retailer cost. Increases sales %25

percent. Answer3: Homeowners and Owner of small bussiness.

These answers imply specific goals. Two categories of goals; Informational Goals: Provides content information. Applicative Goals: Ability to perform some task like selling

and buying.

Page 12: Web Engineering

WebE 12

Analysis Technical activity that identifies data,functional

requirement for the WebApp. Four types of anaylsis exists for WebE.

Content Analysis; Content to be provided is identified. Content includes text,graphics,image,video and audio data.

Interaction Analysis;The manner in which the user interacts with the WebApp is described in detail.

Functional Analysis;All operations and functions are described.(Search...)

Configuration Analysis;The environment and infrastructure in which WebApp resides are described in detail.

Page 13: Web Engineering

WebE 13

Design

Problem : Must establish a design that solves the immediate bussiness problem while at the same time defining application architecture that has the ability to evolve rapidly over time.

Three design types focuses; Architectural Design Navigation Design Interface Design

Page 14: Web Engineering

WebE 14

Architectural Design

Focuses on the Definition of hypermedia structure Design patterns Constructive templates

Page 15: Web Engineering

WebE 15

HyperMedia Structures(I) Depends on goals established, the content

to be presented, the users who will visit.1. Linear Structures;Predictable sequence of

interactions.

•Tutorial presentation in which pages of information along with related graphics are generally presented one by one.

•Product order entry sequence in which specific infromation must be entered in specific order.

Page 16: Web Engineering

WebE 16

HyperMedia Structures(II)2. Grid Structures;Applied when content orginized

categorically in two or more dimensions.

•E-commerce site sells golf club.Horizontal dimension of of grid represents the type of club(woods,irons...).Vertical dimension represents offerings provided by various golf club manifacturers.

•Architecture is useful when the content is regular.

Page 17: Web Engineering

WebE 17

HyperMedia Structures(III)3. Hierarchical Structures;Allows rapid navigation. But it

can lead to confusion for user.

Page 18: Web Engineering

WebE 18

HyperMedia Structures(IV)4. Networked Structures;Similar to object-oriented

architecture. Each component(web page) is connected to every other component.Has navigation flexibility but can be confusing to user.

Page 19: Web Engineering

WebE 19

Navigation Design(I) Designer must define navigation pathways that

enable a user to access WebApp content. WebApp have different roles : Visitor, registered,

privileged. Each of these roles associated with different levels

of content access. SNU(Semantic Navigation Unit) : for each user

role’s goal is created. WoN(Way of Navigating) : Set of navigational sub-

structures which describe SNU. WoN represents the best navigation path to achieve goal.

Page 20: Web Engineering

WebE 20

Navigation Design(II)

Mechanics of each navigation link must be identified for appropriate content: Text-based links, icons, buttons, switches...

In addition to mechanics, the designer should establish navigation convention. Icons and graphical links should look “clickable” Color should indicate the navigation link for text-

based navigation.

Page 21: Web Engineering

WebE 21

Interface Design The user interface is “First Impression” Poorly designed interface will disappoint the

potential user. Server errors causes to users to leave sites. Do not force the user to read much text. Avoid “under construction” signs. Users prefer not to scroll. Navigation menus and headbars should be

available on all pages. Navigation options (link to other contents) should

be clear.

Page 22: Web Engineering

WebE 22

Testing(I)1. The content model for the WebApp is reviewed to uncover errors

-Check grammatical mistakes, errors in content, errors in graphical representation.

2. The design model for the WebApp is reviewed to uncover navigation error-Use cases allow to exercise each usage scenario.-These nonexecutable tests help uncover navigation errors.

3. Selected processing components and Web pages are unit tested -The smallest testable unit is generally a Web Page. -Unlike conventional unit testing which focus on algorithmic detail, page-level testing is done by processing content.

4. The architecture is constructed and integration test is made -Thread based testing can be used to integrate the set of Web pages.-Regression testing is applied to ensure that no side effects occur.-Cluster testing integrates a set of collaborating pages.

Page 23: Web Engineering

WebE 23

Testing(II)5. The assembled WebApp is tested for overall functionality.

-Like conventional validation, test focuses on user-visible actions and user-recognizable output from system.

-To assist validation test, the tester should hold use-cases

6. The WebApp is implemented in a variety of different configuration

and is tested for compatibility.

-A cross-reference matrix that defines all probable operating systems, browsers, hardware platforms and communication protocols is created.

-With each possible configuration tests are conducted.

7. The WebApp is tested by monitored population of end-users.

-The WebApp is exercised by the chosen users and the results of their interaction with the system are evulated for all errros.

Page 24: Web Engineering

WebE 24

Management Issues Web Engineering is a complicated activity. Many people are involved often working in

parallel In order to avaoid failure

Planning must occur Risks must be considered A schedule must be established and tracked Controls must be defined

Page 25: Web Engineering

WebE 25

The WebE Team(I) Content developer and provider

Generation and collection of content Marketing or sales staff may provide product information and

graphical images Media producers may provide video and audio Graphic designers may provide layout design and aesthetic

content. Web publisher

Must understand the both content and WebApp technology including HTML, XML, XHTML, database functionality, scripts and general Web-Site navigation.

Page 26: Web Engineering

WebE 26

The WebE Team(II) Web engineer

May have range of activities : architectural, navigational, interface design, implementation, testing

Understanding of component technologies, client/server architectures,HTML/XML and database technologies.

Working knowledge of multimedi-concepts, hardware-software platforms,network security.

Support specialist Responsible for corrections, adaptations and enhancement to

th site, updates to content, implementation of new procedures and forms.

Page 27: Web Engineering

WebE 27

The WebE Team(III) Administrator

Development and implementation of policies for operations. Implementation of security procedures and access rights. Measurement and analysis of Web-site traffic. Coordination with support specialists.

Page 28: Web Engineering

WebE 28

Project Management(I)

Process and project metrics, project planning, risk analysis and management, scheduling and tracking.

In theory most of these activities can be applied to WebE projects.

But in practice, the WebE approach is considerably different.

Page 29: Web Engineering

WebE 29

Project Management(II) First; Most of the WebApps are outsourced to

vendors. How is the capabilities of vendor determined? How does one know whether a price quote is

reasonable. Second; No WebE metrics have been

published in the literature. Estimation is purely based on past experience

with similar projects. Although this estimation is useful,is open to error.