| |
| |
Preface | |
| |
| |
Foreword | |
| |
| |
| |
An Introduction to Web Engineering | |
| |
| |
| |
| |
Motivation | |
| |
| |
| |
Categories of Web Applications | |
| |
| |
| |
Characteristics of Web Applications | |
| |
| |
| |
Product-related Characteristics | |
| |
| |
| |
Usage-related Characteristics | |
| |
| |
| |
Development-related Characteristics | |
| |
| |
| |
Evolution | |
| |
| |
| |
Objectives and Structure of the Book | |
| |
| |
| |
Requirements Engineering for Web Applications | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
Where Do Requirements Come From? | |
| |
| |
| |
Requirements Engineering Activities | |
| |
| |
| |
RE Specifics in Web Engineering | |
| |
| |
| |
Principles for RE of Web Applications | |
| |
| |
| |
Adapting RE Methods to Web Application Development | |
| |
| |
| |
Requirement Types | |
| |
| |
| |
Notations | |
| |
| |
| |
Tools | |
| |
| |
| |
Outlook | |
| |
| |
| |
Modeling Web Applications | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
Modeling Specifics in Web Engineering | |
| |
| |
| |
Levels | |
| |
| |
| |
Aspects | |
| |
| |
| |
Phases | |
| |
| |
| |
Customization | |
| |
| |
| |
Modeling Requirements | |
| |
| |
| |
Content Modeling | |
| |
| |
| |
Objectives | |
| |
| |
| |
Concepts | |
| |
| |
| |
Hypertext Modeling | |
| |
| |
| |
Objectives | |
| |
| |
| |
Hypertext Structure Modeling Concepts | |
| |
| |
| |
Access Modeling Concepts | |
| |
| |
| |
Relation to Content Modeling | |
| |
| |
| |
Presentation Modeling | |
| |
| |
| |
Objectives | |
| |
| |
| |
Concepts | |
| |
| |
| |
Relation to Hypertext Modeling | |
| |
| |
| |
Customization Modeling | |
| |
| |
| |
Objectives | |
| |
| |
| |
Concepts | |
| |
| |
| |
Relation to Content, Hypertext, and Presentation Modeling | |
| |
| |
| |
Methods and Tools | |
| |
| |
| |
Modeling Methods: An Overview | |
| |
| |
| |
Model-Driven Development | |
| |
| |
| |
Tool Support | |
| |
| |
| |
Outlook | |
| |
| |
| |
Web Application Architectures | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
What is an Architecture? | |
| |
| |
| |
Developing Architectures | |
| |
| |
| |
Categorizing Architectures | |
| |
| |
| |
Specifics of Web Application Architectures | |
| |
| |
| |
Components of a Generic Web Application Architecture | |
| |
| |
| |
Layered Architectures | |
| |
| |
| |
2-Layer Architectures | |
| |
| |
| |
N-Layer Architectures | |
| |
| |
| |
Data-aspect Architectures | |
| |
| |
| |
Database-centric Architectures | |
| |
| |
| |
Architectures for Web Document Management | |
| |
| |
| |
Architectures for Multimedia Data | |
| |
| |
| |
Outlook | |
| |
| |
| |
Technology-aware Web Application Design | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Web Design from an Evolutionary Perspective | |
| |
| |
| |
Background | |
| |
| |
| |
Information Design: An Authoring Activity | |
| |
| |
| |
Software Design: A Programming Activity | |
| |
| |
| |
Merging Information Design and Software Design | |
| |
| |
| |
Problems and Restrictions in Integrated Web Design | |
| |
| |
| |
A Proposed Structural Approach | |
| |
| |
| |
Presentation Design | |
| |
| |
| |
Presentation of Nodes and Meshes | |
| |
| |
| |
Device-independent Development Approaches | |
| |
| |
| |
Interaction Design | |
| |
| |
| |
User Interaction | |
| |
| |
| |
User Interface Organization | |
| |
| |
| |
Navigation Design | |
| |
| |
| |
Designing a Link Representation: The Anchor | |
| |
| |
| |
Designing Link Internals: The URL | |
| |
| |
| |
Navigation and Orientation | |
| |
| |
| |
Structured Dialog for Complex Activities | |
| |
| |
| |
Interplay with Technology and Architecture | |
| |
| |
| |
Functional Design | |
| |
| |
| |
Integration | |
| |
| |
| |
Communication Paradigms and Middleware | |
| |
| |
| |
Distributed Cross-corporate Web Applications | |
| |
| |
| |
Outlook | |
| |
| |
| |
Context-aware Applications | |
| |
| |
| |
Device-independent Applications | |
| |
| |
| |
Reusability | |
| |
| |
| |
Summary | |
| |
| |
| |
Technologies for Web Applications | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
Markup | |
| |
| |
| |
Hypertext and Hypermedia | |
| |
| |
| |
Client/Server Communication on the Web | |
| |
| |
| |
SMTP - Simple Mail Transfer Protocol | |
| |
| |
| |
RTSP - Real Time Streaming Protocol | |
| |
| |
| |
HTTP - HyperText Transfer Protocol | |
| |
| |
| |
Session Tracking | |
| |
| |
| |
Client-side Technologies | |
| |
| |
| |
Helpers and Plug-ins | |
| |
| |
| |
Java Applets | |
| |
| |
| |
ActiveX Controls | |
| |
| |
| |
Document-specific Technologies | |
| |
| |
| |
HTML - Hypertext Markup Language | |
| |
| |
| |
SVG - Scalable Vector Graphics | |
| |
| |
| |
SMIL - Synchronized Multimedia Integration Language | |
| |
| |
| |
XML - eXtensible Markup Language | |
| |
| |
| |
XSL - eXtensible Stylesheet Language | |
| |
| |
| |
Server-side Technologies | |
| |
| |
| |
URI Handlers | |
| |
| |
| |
Web Services | |
| |
| |
| |
Middleware Technologies | |
| |
| |
| |
Outlook | |
| |
| |
| |
Testing Web Applications | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
Terminology | |
| |
| |
| |
Quality Characteristics | |
| |
| |
| |
Test Objectives | |
| |
| |
| |
Test Levels | |
| |
| |
| |
Role of the Tester | |
| |
| |
| |
Test Specifics in Web Engineering | |
| |
| |
| |
Test Approaches | |
| |
| |
| |
Conventional Approaches | |
| |
| |
| |
Agile Approaches | |
| |
| |
| |
Test Scheme | |
| |
| |
| |
Three Test Dimensions | |
| |
| |
| |
Applying the Scheme to Web Applications | |
| |
| |
| |
Examples of Using the Test Scheme | |
| |
| |
| |
Test Methods and Techniques | |
| |
| |
| |
Link Testing | |
| |
| |
| |
Browser Testing | |
| |
| |
| |
Usability Testing | |
| |
| |
| |
Load, Stress, and Continuous Testing | |
| |
| |
| |
Testing Security | |
| |
| |
| |
Test-driven Development | |
| |
| |
| |
Test Automation | |
| |
| |
| |
Benefits and Drawbacks of Automated Tests | |
| |
| |
| |
Test Tools | |
| |
| |
| |
Selecting Test Tools | |
| |
| |
| |
Outlook | |
| |
| |
| |
Operation and Maintenance of Web Applications | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Challenges Following the Launch of a Web Application | |
| |
| |
| |
Promoting a Web Application | |
| |
| |
| |
Newsletters | |
| |
| |
| |
Affiliate Marketing | |
| |
| |
| |
Search Engine Marketing | |
| |
| |
| |
Content-related Marketing | |
| |
| |
| |
Domain Management | |
| |
| |
| |
Content Management | |
| |
| |
| |
Content Update Rate and Demand on Currency | |
| |
| |
| |
Content Syndication | |
| |
| |
| |
Usage Analysis | |
| |
| |
| |
Usage Analysis Techniques | |
| |
| |
| |
Statistical Indicators | |
| |
| |
| |
User Behavior Analysis | |
| |
| |
| |
Outlook | |
| |
| |
| |
Web Project Management | |
| |
| |
| |
| |
From Software Project Management to Web Project Management | |
| |
| |
| |
Objectives of Software Project Management | |
| |
| |
| |
The Tasks of Software Project Management | |
| |
| |
| |
Conflicting Areas in Projects | |
| |
| |
| |
Specifics of Web Project Management | |
| |
| |
| |
Challenges in Web Project Management | |
| |
| |
| |
General Challenges in Software Development | |
| |
| |
| |
Development-related Challenges in Web Projects | |
| |
| |
| |
Product-related Challenges in Web Projects | |
| |
| |
| |
Managing Web Teams | |
| |
| |
| |
Software Development: A Human-centered Task | |
| |
| |
| |
The Web Project Team | |
| |
| |
| |
The Web Project Manager | |
| |
| |
| |
Managing the Development Process of a Web Application | |
| |
| |
| |
Deploying the Tools | |
| |
| |
| |
Measuring Progress | |
| |
| |
| |
Project Risks | |
| |
| |
| |
Risk Management | |
| |
| |
| |
Outlook | |
| |
| |
| |
The Web Application Development Process | |
| |
| |
| |
| |
Motivation | |
| |
| |
| |
Fundamentals | |
| |
| |
| |
Requirements for a Web Application Development Process | |
| |
| |
| |
Handling Short Development Cycles | |
| |
| |
| |
Handling Changing Requirements | |
| |
| |
| |
Releases with Fixed Deadlines and Flexible Contents | |
| |
| |
| |
Parallel Development of Different Releases | |
| |
| |
| |
Reuse and Integration | |
| |
| |
| |
Adapting to Web Application's Complexity Level | |
| |
| |
| |
Summary | |
| |
| |
| |
Analysis of the Rational Unified Process | |
| |
| |
| |
Introduction | |
| |
| |
| |
General Suitability for Web Application Development | |
| |
| |
| |
Does RUP meet the Requirements of Web Applications? | |
| |
| |
| |
Analysis of Extreme Programming | |
| |
| |
| |
Introduction | |
| |
| |
| |
Does XP meet the Requirements of Web Application Development? | |
| |
| |
| |
Outlook | |
| |
| |
| |
Usability of Web Applications | |
| |
| |
| |
| |
Motivation | |
| |
| |
| |
What is Usability? | |
| |
| |
| |
What Characterizes the Usability of Web Applications? | |
| |
| |
| |
Design Guidelines | |
| |
| |
| |
Response Times | |
| |
| |
| |
Interaction Efficiency | |
| |
| |
| |
Colors | |
| |
| |
| |
Text Layout | |
| |
| |
| |
Page Structure | |
| |
| |
| |
Navigation Structure | |
| |
| |
| |
Multiculturality | |
| |
| |
| |
Confidence-generating Measures | |
| |
| |
| |
Other Design Criteria | |
| |
| |
| |
Web Usability Engineering Methods | |
| |
| |
| |
Requirements Analysis | |
| |
| |
| |
Design | |
| |
| |
| |
Implementation | |
| |
| |
| |
Operation | |
| |
| |
| |
Web Usability Engineering Trends | |
| |
| |
| |
Usability Patterns | |
| |
| |
| |
Mobile Usability | |
| |
| |
| |
Accessibility | |
| |
| |
| |
Outlook | |
| |
| |
| |
Performance of Web Applications | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
What Is Performance? | |
| |
| |
| |
What Characterizes the Performance of Web Applications? | |
| |
| |
| |
System Definition and Indicators | |
| |
| |
| |
Characterizing the Workload | |
| |
| |
| |
Analytical Techniques | |
| |
| |
| |
Operational Analysis | |
| |
| |
| |
Queuing Networks and Simulation Models | |
| |
| |
| |
Measuring Approaches | |
| |
| |
| |
Representing and Interpreting Results | |
| |
| |
| |
Performance Optimization Methods | |
| |
| |
| |
Acceleration Within a Web Application | |
| |
| |
| |
Reducing Transmission Time | |
| |
| |
| |
Server Tuning | |
| |
| |
| |
Outlook | |
| |
| |
| |
Security for Web Applications | |
| |
| |
| |
| |
Introduction | |
| |
| |
| |
Aspects of Security | |
| |
| |
| |
Encryption, Digital Signatures and Certificates | |
| |
| |
| |
Symmetric Cryptography | |
| |
| |
| |
Asymmetric Cryptography | |
| |
| |
| |
Digital Signatures | |
| |
| |
| |
Certificates and Public Key Infrastructure | |
| |
| |
| |
Secure Client/Server-Interaction | |
| |
| |
| |
Point-to-Point Security | |
| |
| |
| |
End-to-End Security | |
| |
| |
| |
User Authentication and Authorization | |
| |
| |
| |
Electronic Payment Systems | |
| |
| |
| |
Client Security Issues | |
| |
| |
| |
Preserving Privacy | |
| |
| |
| |
Mobile Code Security | |
| |
| |
| |
Phishing and Web Spoofing | |
| |
| |
| |
Desktop Security | |
| |
| |
| |
Service Provider Security Issues | |
| |
| |
| |
Cross-Site Scripting | |
| |
| |
| |
SQL Injection | |
| |
| |
| |
Security of CGI Programs | |
| |
| |
| |
Service Availability | |
| |
| |
| |
Host Security | |
| |
| |
| |
Outlook | |
| |
| |
| |
The Semantic Web - The Network of Meanings in the Network of Documents | |
| |
| |
| |
| |
Fundamentals of the Semantic Web | |
| |
| |
| |
The Role of Software Agents | |
| |
| |
| |
The Role of Semantic Markup | |
| |
| |
| |
The Role of Ontologies | |
| |
| |
| |
Technological Concepts | |
| |
| |
| |
Agents According to the FIPA Standard | |
| |
| |
| |
Ontologies | |
| |
| |
| |
Semantic Markup on the Web | |
| |
| |
| |
Specifics of Semantic Web Applications | |
| |
| |
| |
Semantic Markup | |
| |
| |
| |
Agents | |
| |
| |
| |
Ontologies | |
| |
| |
| |
Semantic Web Services | |
| |
| |
| |
Integration into Web Engineering | |
| |
| |
| |
Tools | |
| |
| |
| |
Outlook | |
| |
| |
Glossary | |
| |
| |
Author Biographies | |
| |
| |
Bibliography | |
| |
| |
Credits | |
| |
| |
Index | |