 |
Contents
(Download)
1 An Introduction to Web Engineering
Gerti Kappel,
Birgit Pröll,
Siegfried Reich,
Werner Retschitzegger
1.1 Motivation
1.2 Categories of Web Applications
1.3 Characteristics of Web Applications
1.3.1 Product-related Characteristics
1.3.2 Usage-related Characteristics
1.3.3 Development-related Characteristics
1.3.4 Evolution
1.4 Objectives and Structure of the Book
2 Requirements Engineering for Web Applications
Paul Grünbacher
2.1 Introduction
2.2 Fundamentals
2.2.1 Where Do Requirements Come From?
2.2.2 Requirements Engineering Activities
2.3 RE Specifics in Web Engineering
2.4 Principles for RE of Web Applications
2.5 Adapting RE Methods to Web Application Development
2.5.1 Requirement Types
2.5.2 Notations
2.5.3 Tools
2.6 Outlook
3 Modeling Web Applications
Wieland Schwinger,
Nora Koch
3.1 Introduction
3.2 Fundamentals
3.3 Modeling Specifics in Web Engineering
3.3.1 Levels
3.3.2 Aspects
3.3.3 Phases
3.3.4 Customization
3.4 Modeling Requirements
3.5 Content Modeling
3.5.1 Objectives
3.5.2 Concepts
3.6 Hypertext Modeling
3.6.1 Objectives
3.6.2 Hypertext Structure Modeling Concepts
3.6.3 Access Modeling Concepts
3.6.4 Relation to Content Modeling
3.7 Presentation Modeling
3.7.1 Objectives
3.7.2 Concepts
3.7.3 Relation to Hypertext Modeling
3.8 Customization Modeling
3.8.1 Objectives
3.8.2 Concepts
3.8.3 Relation to Content, Hypertext, and Presentation Modeling
3.9 Methods and Tools
3.9.1 Modeling Methods: An Overview
3.9.2 Model-Driven Development
3.9.3 Tool Support
3.10 Customization Modeling
4 Web Application Architectures
Christian Eichinger
4.1 Introduction
4.2 Fundamentals
4.2.1 What is an Architecture?
4.2.2 Developing Architectures
4.2.3 Categorizing Architectures
4.3 Specifics of Web Application Architectures
4.4 Components of a Generic Web Application Architecture
4.5 Layered Architectures
4.5.1 2-Layer Architectures
4.5.2 N-Layer Architectures
4.6 Data-aspect Architectures
4.6.1 Database-centric Architectures
4.6.2 Architectures for Web Document Management
4.6.3 Architectures for Multimedia Data
4.7 Outlook
5 Technology-aware Web Application Design
Gerhard Austaller,
Andreas Hartl,
Markus Lauff,
Fernando Lyardet,
Max Mühlhäuser
5.1 Introduction
5.2 Web Design from an Evolutionary Perspective
5.2.1 Background
5.2.2 Information Design: An Authoring Activity
5.2.3 Software Design: A Programming Activity
5.2.4 Merging Information Design and Software Design
5.2.5 Problems and Restrictions in Integrated Web Design
5.2.6 A Proposed Structural Approach
5.3 Presentation Design
5.3.1 Presentation of Nodes and Meshes
5.3.2 Device-independent Development Approaches
5.4 Interaction Design
5.4.1 User Interaction
5.4.2 User Interface Organization
5.4.3 Navigation Design
5.4.4 Designing a Link Representation: The Anchor
5.4.5 Designing Link Internals: The URL
5.4.6 Navigation and Orientation
5.4.7 Structured Dialog for Complex Activities
5.4.8 Interplay with Technology and Architecture
5.5 Functional Design
5.5.1 Integration
5.5.2 Communication Paradigms and Middleware
5.5.3 Distributed Cross-corporate Web Applications
5.6 Outlook
5.6.1 Context-aware Applications
5.6.2 Device-independent Applications
5.6.3 Reusability
5.7 Summary
6 Technologies for Web Applications
Martin Nussbaumer,
Martin Gaedke
6.1 Introduction
6.2 Fundamentals
6.2.1 Markup
6.2.2 Hypertext and Hypermedia
6.3 Client/Server Communication on the Web
6.3.1 SMTP-Simple Mail Transfer Protocol
6.3.2 RTSP-Real Time Streaming Protocol
6.3.3 HTTP-HyperText Transfer Protocol
6.3.4 Session Tracking
6.4 Client-side Technologies
6.4.1 Helpers and Plug-ins
6.4.2 Java Applets
6.4.3 ActiveX Controls
6.5 Document-specific Technologies
6.5.1 HTML-Hypertext Markup Language
6.5.2 SVG-Scalable Vector Graphics
6.5.3 SMIL-Synchronized Multimedia Integration Language
6.5.4 XML-eXtensible Markup Language
6.5.5 XSL-eXtensible Stylesheet Language
6.6 Server-side Technologies
6.6.1 URI Handlers
6.6.2 Web Services
6.6.3 Middleware Technologies
6.7 Outlook
7 Testing Web Applications
Christoph Steindl,
Rudolf Ramler,
Josef Altmann
7.1 Introduction
7.2 Fundamentals
7.2.1 Terminology
7.2.2 Quality Characteristics
7.2.3 Test Objectives
7.2.4 Test Levels
7.2.5 Role of the Tester
7.3 Test Specifics in Web Engineering
7.4 Test Approaches
7.4.1 Conventional Approaches
7.4.2 Agile Approaches
7.5 Test Scheme
7.5.1 Three Test Dimensions
7.5.2 Applying the Scheme to Web Applications
7.5.3 Examples of Using the Test Scheme
7.6 Test Methods and Techniques
7.6.1 Link Testing
7.6.2 Browser Testing
7.6.3 Usability Testing
7.6.4 Load, Stress, and Continuous Testing
7.6.5 Testing Security
7.6.6 Test-driven Development
7.7 Test Automation
7.7.1 Benefits and Drawbacks of Automated Tests
7.7.2 Test Tools
7.7.3 Selecting Test Tools
7.8 Outlook
8 Operation and Maintenance of Web Applications
Arno Ebner,
Birgit Pröll,
Hannes Werthner
8.1 Introduction
8.2 Challenges Following the Launch of a Web Application
8.3 Promoting a Web Application
8.3.1 Newsletters
8.3.2 Affiliate Marketing
8.3.3 Search Engine Marketing
8.3.4 Content-related Marketing
8.3.5 Domain Management
8.4 Content Management
8.4.1 Content Update Rate and Demand on Currency
8.4.2 Content Syndication
8.5 Usage Analysis
8.5.1 Usage Analysis Techniques
8.5.2 Statistical Indicators
8.5.3 User Behavior Analysis
8.6 Outlook
9 Web Project Management
Herwig Mayr
9.1 From Software Project Management to Web Project Management
9.1.1 Objectives of Software Project Management
9.1.2 The Tasks of Software Project Management
9.1.3 Conflicting Areas in Projects
9.1.4 Specifics of Web Project Management
9.2 Challenges in Web Project Management
9.2.1 General Challenges in Software Development
9.2.2 Development-related Challenges in Web Projects
9.2.3 Product-related Challenges in Web Projects
9.3 Managing Web Teams
9.3.1 Software Development: A Human-centered Task
9.3.2 The Web Project Team
9.3.3 The Web Project Manager
9.4 Managing the Development Process of a Web Application
9.4.1 Deploying the Tools
9.4.2 Measuring Progress
9.4.3 Project Risks
9.4.4 Risk Management
9.5 Outlook
10 The Web Application Development Process
Gregor Engels,
Marc Lohmann,
Annika Wagner
10.1 Motivation
10.2 Fundamentals
10.3 Requirements for a Web Application Development Process
10.3.1 Handling Short Development Cycles
10.3.2 Handling changing requirements
10.3.3 Releases with Fixed Deadlines and Flexible Contents
10.3.4 Parallel Development of Different Releases
10.3.5 Reuse and Integration
10.3.6 Adapting to Web Application's Complexity Level
10.3.7 Summary
10.4 Analysis of the Rational Unified Process
10.4.1 Introduction
10.4.2 General Suitability for Web Application Development
10.4.3 Does RUP meet the Requirements of Web Applications?
10.5 Analysis of Extreme Programming
10.5.1 Introduction
10.5.2 Does XP meet the Requirements of Web Application Development?
10.6 Outlook
11 Usability of Web Applications
Martin Hitz,
Gerhard Leitner,
Rudolf Melcher
11.1 Motivation
11.2 What is Usability?
11.3 What characterizes the Usability of Web Applications?
11.4 Design Guidelines
11.4.1 Response Times
11.4.2 Interaction Efficiency
11.4.3 Colors
11.4.4 Text Layout
11.4.5 Page Structure
11.4.6 Navigation Structure
11.4.7 Multiculturality
11.4.8 Confidence-generating Measures
11.4.9 Other Design Criteria
11.5 Web Usability Engineering Methods
11.5.1 Requirements Analysis
11.5.2 Design
11.5.3 Implementation
11.5.4 Operation
11.6 Web Usability Engineering Trends
11.6.1 Usability Patterns
11.6.2 Mobile Usability
11.6.3 Accessibility
11.7 Outlook
12 Performance of Web Applications
Gabriele Kotsis
12.1 Introduction
12.2 What Is Performance?
12.3 What Characterizes the Performance of Web Applications?
12.4 System Definition and Indicators
12.5 Characterizing the Workload
12.6 Analytical Techniques
12.6.1 Operational Analysis
12.6.2 Queuing Networks and Simulation Models
12.6.3 Measuring Approaches
12.7 Representing and Interpreting Results
12.8 Performance Optimization Methods
12.8.1 Acceleration Within a Web Application
12.8.2 Reducing Transmission Time
12.8.3 Server Tuning
12.9 Outlook
13 Security for Web Applications
Martin Wimmer,
Alfons Kemper,
Stefan Seltzsam
13.1 Introduction
13.2 Aspects of Security
13.3 Encryption, Digital Signatures and Certificates
13.3.1 Symmetric Cryptography
13.3.2 Asymmetric Cryptography
13.3.3 Digital Signatures
13.3.4 Certificates and Public Key Infrastructure
13.4 Secure Client/Server-Interaction
13.4.1 Point-to-Point Security
13.4.2 End-to-End Security
13.4.3 User Authentication and Authorization
13.4.4 Electronic Payment Systems
13.5 Client Security Issues
13.5.1 Preserving Privacy
13.5.2 Mobile Code Security
13.5.3 Phishing and Web Spoofing
13.5.4 Desktop Security
13.6 Service Provider Security Issues
13.6.1 Cross-Site Scripting
13.6.2 SQL Injection
13.6.3 Security of CGI Programs
13.6.4 Service Availability
13.6.5 Host Security
13.7 Outlook
14 The Semantic Web-The Network of Meanings in the Network of Documents
Wernher Behrendt,
Nitin Arora
14.1 Fundamentals of the Semantic Web
14.1.1 The Role of Software Agents
14.1.2 The Role of Semantic Markup
14.1.3 The Role of Ontologies
14.2 Technological Concepts
14.2.1 Agents according to the FIPA Standard
14.2.2 Ontologies
14.2.3 Semantic Markup on the Web
14.3 Specifics of Semantic Web Applications
14.3.1 Semantic Markup
14.3.2 Agents
14.3.3 Ontologies
14.3.4 Semantic Web Services
14.3.5 Integration into Web Engineering
14.4 Tools
14.5 Outlook
Glossary
Author's Bios
Bibliography
Credits
Index
|
|