Web Applications and Services Introduction to Web Engineering.

34
Web Applications and Services Introduction to Web Engineering

Transcript of Web Applications and Services Introduction to Web Engineering.

Web Applications and Services

Introduction to Web Engineering

Today’s Topics Software and the World Wide Web Implications and Challenges Application & Technology Types The WebE Process Analysis, Design & Testing Issues Management Issues

The Wild, Wild Web Chaotic growth and application of new

technology “Get it done fast, get it on the web, fix it up later” Little, attention paid to software process (ad hoc

approach) Very rapid software development, strict

performance requirements, high technical risk

Implications Very high cost of software construction and

maintenance Poor software infrastructure for long-term

support Lack of software quality

In the days ahead - as the dot-com revolution slows and investors look for sound business models, planning, and profitability - an engineered approach to web software will grow in importance…

ChallengesHow to adapt SE methods?

WebApps have these attributes:

Network Intensivelarge-scale client-server (Internet)

Content-Driventext, graphics, audio, video, …

Continuous Evolutionsome sites are updated hourly

Challenges [2] Immediacy

time to market = days or weeks Security

difficult to control accessstrong security measures required

Aestheticslook & feel > technical design?

Application Categories Informational

read-only content, simple linking Download

variety of data types downloaded Customizable

user personalizes site content Interaction

supports community of users

Categories [2] User Input

HTML forms-based input data Transaction-Oriented

user requests (e.g. on-line orders) Service-Oriented

searches, advice, brokering, etc. Portal

links a variety of content, services

Database Accessquery & extract information

Data Warehousingaccess collections of databases

Categories [3]

Defining Quality[from SEPA 5/e]

Fundamental Technology Component-Based Development

CORBA, COM/DCOM, EJB:web deployment architectures

Securitypolicy & appropriate design

Internet StandardsHTML, XML, HTTP, CGI, etc.:web communication protocols

The WebE Process Immediacy & continuous evolution

iterative, incremental process User population is diverse

extensive user modeling Architecture is highly specialized

complex design Content emphasizes aesthetics

content designed in parallel

WebE Process Model[from SEPA 5/e]

Formulation General Questions• What is the motivation for the app?

• Why is the app needed?

• Who will use the app?

Specific Goals• Informational Goals

content & information provided

• Applicative Goalsability to perform specified tasks

Statement of Scope (Integration)

Analysis Content Analysisidentify, model content spectrum

Interaction Analysisuse cases, sequence diagrams

Functional Analysisspecify all required operations

Configuration Analysisspecify environment, infrastructure

Accurate estimates of schedule & costdepend on a detailed analysis!

The “Designer’s Dilemma”

“Solve the immediate business problem, while defining an architecture than can evolve over time”

Otherwise, you make compromises that force costly rework or a loss of quality over time

Four Design Elements Design Principles & Methods

modularity & information hiding;UML modeling & O-O design

Golden Rulesdesign heuristics for hypermedia

Design Patternsfunctions, documents, graphics,…

Templatesreusable, skeletal structures

Architecture DesignDefine overall site structure: Linear Structures

predictable sequence of operations Grid Structures

two-dimensional categorization Hierarchical Structures

“convenience vs. confusion” Networked

“flexibility vs. confusion”

Linear Structures [from SEPA 5/e]

GridStructure

[from SEPA 5/e]

Hierarchical Structure [from SEPA 5/e]

[from SEPA 5/e]NetworkedStructure

Hypertext Design Patterns Cycle

return to previously visited node Web Ring

“grand tour” of a subject Contour

intersecting cycles Counterpoint

provide additional narrative

Design Patterns [2] Mirrorworld

provide alternate perspectives Sieve

provide choices which guide user Neighborhood

consistent navigation overlay

Navigation Design

“Defining pathways to content and services”: Identify differing user navigation requirements &

goalswill differ per user type

Define the mechanics of achieving navigationmay differ per user type

Navigation [2] Select from available mechanisms links, buttons,

imagemaps, menus Optimize navigation

minimize user effort Respect other criteria

site aesthetics & content design Adopt conventions

audiovisual cues, feedback, maps

Interface Design “First impression is everything” Server errors are deadly Minimize volumes of text Avoid “under construction” signs Avoid long pages & scrolling Navigation aids everywhere Functionality > Aesthetics

Testing Web Applications Review the content model

like copy-editing written docs Review the design model

identify navigation errors Unit test components & pages

content, links, forms, scripts, etc. Integration testing

build & test the architecture;thread-based testing on use cases

Testing [2] Perform validation testing

test all user-visible actions, output Perform cross-platform testing

hardware, OS, browser, etc. Perform user testing

tester population covers all possible user roles

The WebE Team Content developers & providers

sales, marketing, research, … Web publisher

liaison between technical staff and content developers

Web engineerSE activities, web technologies

WebE Team [2] Support specialist

continuing day-to-day support Administrator (“Webmaster”)

day-to-day operation• Operational policies

• Support & feedback process

• Security policy & procedures

• Traffic analysis

• Change control & support coordination

Management & Outsourcing Many web apps are outsourced to development

specialistsanalyze, specify & plan internally

Little historical data, metricsdefine explicit progress reviews

Accurate estimation, risk planning & scheduling require detailed understanding of scopeconstant communication

Configuration Management Haphazard updates are dangerous:

• Unauthorized posting of new info

• Erroneous or poorly-tested functions

• Security holes

• “Economically unpleasant consequences”

Four issues: content, people, scalability, politics

Questions?