Web Engineering: The Discipline of Systematic Development of Web Applications

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

The World Wide Web has a massive and permanent influence on our lives. Economy, industry, education, healthcare, public administration, entertainment – there is hardly any part of our daily lives which has not been pervaded by the Internet. Accordingly, modern Web applications are fully-fledged, complex software systems, and in order to be successful their development must be thorough and systematic.This book presents a new discipline called Web Engineering taking a rigorous interdisciplinary approach to the development of Web applications, covering Web development concepts, methods, tools and techniques. It highlights the need to examine and re-use the body of knowledge found within software engineering and demonstrates how to use that knowledge within the Web environment, putting emphasize on current practices, experiences and pitfalls.The book is ideal for undergraduate and graduate students on Web-focused or Software Engineering courses, as well as Web software developers, Web designers and project managers.

Author(s): Gerti Kappel, Birgit Prýýll, Siegfried Reich, Werner Retschitzegger
Edition: Desktop Edition
Year: 2006

Language: English
Pages: 384

Web Engineering......Page 4
Contents......Page 8
Preface......Page 18
Foreword......Page 20
1.1 Motivation......Page 22
1.2 Categories of Web Applications......Page 25
1.3 Characteristics of Web Applications......Page 28
1.3.1 Product-related Characteristics......Page 29
1.3.2 Usage-related Characteristics......Page 33
1.3.3 Development-related Characteristics......Page 35
1.3.4 Evolution......Page 37
1.4 Objectives and Structure of the Book......Page 38
2.1 Introduction......Page 44
2.2.1 Where Do Requirements Come From?......Page 45
2.2.2 Requirements Engineering Activities......Page 46
2.3 RE Specifics in Web Engineering......Page 47
2.4 Principles for RE of Web Applications......Page 51
2.5.1 Requirement Types......Page 53
2.5.2 Notations......Page 55
2.5.3 Tools......Page 57
2.6 Outlook......Page 58
3.1 Introduction......Page 60
3.2 Fundamentals......Page 61
3.3.1 Levels......Page 62
3.3.3 Phases......Page 63
3.4 Modeling Requirements......Page 64
3.5.2 Concepts......Page 66
3.6 Hypertext Modeling......Page 67
3.6.2 Hypertext Structure Modeling Concepts......Page 68
3.6.3 Access Modeling Concepts......Page 70
3.6.4 Relation to Content Modeling......Page 71
3.7.2 Concepts......Page 72
3.7.3 Relation to Hypertext Modeling......Page 73
3.8 Customization Modeling......Page 74
3.8.2 Concepts......Page 75
3.9.1 Modeling Methods: An Overview......Page 79
3.9.3 Tool Support......Page 82
3.10 Outlook......Page 84
4.1 Introduction......Page 86
4.2.1 What is an Architecture?......Page 87
4.2.2 Developing Architectures......Page 88
4.2.3 Categorizing Architectures......Page 90
4.3 Specifics of Web Application Architectures......Page 91
4.4 Components of a Generic Web Application Architecture......Page 92
4.5.1 2-Layer Architectures......Page 93
4.5.2 N-Layer Architectures......Page 94
4.6 Data-aspect Architectures......Page 100
4.6.2 Architectures for Web Document Management......Page 101
4.6.3 Architectures for Multimedia Data......Page 102
4.7 Outlook......Page 105
5 Technology-aware Web Application Design......Page 106
5.1 Introduction......Page 107
5.2.1 Background......Page 110
5.2.2 Information Design: An Authoring Activity......Page 111
5.2.3 Software Design: A Programming Activity......Page 113
5.2.4 Merging Information Design and Software Design......Page 114
5.2.5 Problems and Restrictions in Integrated Web Design......Page 115
5.3 Presentation Design......Page 116
5.3.1 Presentation of Nodes and Meshes......Page 117
5.3.2 Device-independent Development Approaches......Page 118
5.4.1 User Interaction......Page 119
5.4.2 User Interface Organization......Page 121
5.4.4 Designing a Link Representation: The Anchor......Page 122
5.4.6 Navigation and Orientation......Page 123
5.4.7 Structured Dialog for Complex Activities......Page 124
5.4.8 Interplay with Technology and Architecture......Page 125
5.5.2 Communication Paradigms and Middleware......Page 126
5.5.3 Distributed Cross-corporate Web Applications......Page 127
5.6.1 Context-aware Applications......Page 128
5.6.2 Device-independent Applications......Page 129
5.6.3 Reusability......Page 130
5.7 Summary......Page 131
6.1 Introduction......Page 132
6.2.2 Hypertext and Hypermedia......Page 133
6.3.3 HTTP – HyperText Transfer Protocol......Page 134
6.3.4 Session Tracking......Page 135
6.4.3 ActiveX Controls......Page 137
6.5.2 SVG – Scalable Vector Graphics......Page 138
6.5.4 XML – eXtensible Markup Language......Page 139
6.5.5 XSL – eXtensible Stylesheet Language......Page 143
6.6.1 URI Handlers......Page 147
6.6.2 Web Services......Page 150
6.6.3 Middleware Technologies......Page 151
6.7 Outlook......Page 153
7.1 Introduction......Page 154
7.2.1 Terminology......Page 155
7.2.2 Quality Characteristics......Page 156
7.2.4 Test Levels......Page 157
7.2.5 Role of the Tester......Page 158
7.3 Test Specifics in Web Engineering......Page 159
7.4.2 Agile Approaches......Page 161
7.5.1 Three Test Dimensions......Page 163
7.5.2 Applying the Scheme to Web Applications......Page 164
7.6 Test Methods and Techniques......Page 166
7.6.2 Browser Testing......Page 168
7.6.4 Load, Stress, and Continuous Testing......Page 169
7.6.5 Testing Security......Page 170
7.7.1 Benefits and Drawbacks of Automated Tests......Page 171
7.7.2 Test Tools......Page 172
7.8 Outlook......Page 173
8.1 Introduction......Page 176
8.2 Challenges Following the Launch of a Web Application......Page 177
8.3 Promoting a Web Application......Page 178
8.3.2 Affiliate Marketing......Page 179
8.3.3 Search Engine Marketing......Page 180
8.3.5 Domain Management......Page 183
8.4 Content Management......Page 184
8.4.1 Content Update Rate and Demand on Currency......Page 185
8.5.1 Usage Analysis Techniques......Page 186
8.5.2 Statistical Indicators......Page 188
8.5.3 User Behavior Analysis......Page 189
8.6 Outlook......Page 190
9.1.1 Objectives of Software Project Management......Page 192
9.1.2 The Tasks of Software Project Management......Page 193
9.1.4 Specifics of Web Project Management......Page 194
9.2.1 General Challenges in Software Development......Page 196
9.2.2 Development-related Challenges in Web Projects......Page 197
9.2.3 Product-related Challenges in Web Projects......Page 200
9.3.1 Software Development: A Human-centered Task......Page 203
9.3.2 The Web Project Team......Page 204
9.3.3 The Web Project Manager......Page 205
9.4.1 Deploying the Tools......Page 206
9.4.2 Measuring Progress......Page 209
9.4.3 Project Risks......Page 211
9.4.4 Risk Management......Page 214
9.5 Outlook......Page 215
10.1 Motivation......Page 218
10.2 Fundamentals......Page 219
10.3.2 Handling Changing Requirements......Page 222
10.3.4 Parallel Development of Different Releases......Page 224
10.3.6 Adapting to Web Application’s Complexity Level......Page 225
10.4.1 Introduction......Page 226
10.4.2 General Suitability for Web Application Development......Page 229
10.4.3 Does RUP meet the Requirements of Web Applications?......Page 230
10.5.1 Introduction......Page 232
10.5.2 Does XP meet the Requirements of Web Application Development?......Page 235
10.6 Outlook......Page 237
11.1 Motivation......Page 240
11.2 What is Usability?......Page 241
11.3 What Characterizes the Usability of Web Applications?......Page 243
11.4.2 Interaction Efficiency......Page 246
11.4.3 Colors......Page 247
11.4.4 Text Layout......Page 248
11.4.6 Navigation Structure......Page 249
11.4.7 Multiculturality......Page 251
11.4.8 Confidence-generating Measures......Page 252
11.5 Web Usability Engineering Methods......Page 253
11.5.1 Requirements Analysis......Page 255
11.5.2 Design......Page 258
11.5.4 Operation......Page 259
11.6.1 Usability Patterns......Page 260
11.6.2 Mobile Usability......Page 262
11.6.3 Accessibility......Page 264
11.7 Outlook......Page 266
12.1 Introduction......Page 268
12.2 What Is Performance?......Page 269
12.3 What Characterizes the Performance of Web Applications?......Page 271
12.4 System Definition and Indicators......Page 272
12.5 Characterizing the Workload......Page 273
12.6.1 Operational Analysis......Page 275
12.6.2 Queuing Networks and Simulation Models......Page 276
12.6.3 Measuring Approaches......Page 278
12.7 Representing and Interpreting Results......Page 279
12.8 Performance Optimization Methods......Page 280
12.8.1 Acceleration Within a Web Application......Page 281
12.8.2 Reducing Transmission Time......Page 282
12.9 Outlook......Page 284
13.1 Introduction......Page 286
13.2 Aspects of Security......Page 287
13.3.1 Symmetric Cryptography......Page 289
13.3.2 Asymmetric Cryptography......Page 291
13.3.3 Digital Signatures......Page 292
13.4.1 Point-to-Point Security......Page 293
13.4.2 End-to-End Security......Page 295
13.4.3 User Authentication and Authorization......Page 297
13.4.4 Electronic Payment Systems......Page 299
13.5.1 Preserving Privacy......Page 300
13.5.2 Mobile Code Security......Page 302
13.5.3 Phishing and Web Spoofing......Page 303
13.5.4 Desktop Security......Page 304
13.6.1 Cross-Site Scripting......Page 306
13.6.2 SQL Injection......Page 308
13.6.3 Security of CGI Programs......Page 310
13.6.4 Service Availability......Page 311
13.6.5 Host Security......Page 312
13.7 Outlook......Page 313
14.1 Fundamentals of the Semantic Web......Page 314
14.1.1 The Role of Software Agents......Page 315
14.1.2 The Role of Semantic Markup......Page 317
14.1.3 The Role of Ontologies......Page 318
14.2.1 Agents According to the FIPA Standard......Page 319
14.2.2 Ontologies......Page 321
14.2.3 Semantic Markup on the Web......Page 324
14.3.1 Semantic Markup......Page 329
14.3.3 Ontologies......Page 330
14.3.4 Semantic Web Services......Page 331
14.3.5 Integration into Web Engineering......Page 334
14.4 Tools......Page 335
14.5 Outlook......Page 336
Glossary......Page 338
Author Biographies......Page 350
Bibliography......Page 358
Credits......Page 378
Index......Page 380