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.
Les mer
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.
Les mer
Preface xv Foreword xvii 1 An Introduction to Web Engineering 1Gerti Kappel, Birgit Pröll, Siegfried Reich, Werner Retschitzegger 1.1 Motivation 1 1.2 Categories of Web Applications 4 1.3 Characteristics of Web Applications 7 1.3.1 Product-related Characteristics 8 1.3.2 Usage-related Characteristics 12 1.3.3 Development-related Characteristics 14 1.3.4 Evolution 16 1.4 Objectives and Structure of the Book 17 2 Requirements Engineering for Web Applications 23Paul Grünbacher 2.1 Introduction 23 2.2 Fundamentals 24 2.2.1 Where Do Requirements Come From? 24 2.2.2 Requirements Engineering Activities 25 2.3 RE Specifics in Web Engineering 26 2.4 Principles for RE of Web Applications 30 2.5 Adapting RE Methods to Web Application Development 32 2.5.1 Requirement Types 32 2.5.2 Notations 34 2.5.3 Tools 36 2.6 Outlook 37 3 Modeling Web Applications 39Wieland Schwinger, Nora Koch 3.1 Introduction 39 3.2 Fundamentals 40 3.3 Modeling Specifics in Web Engineering 41 3.3.1 Levels 41 3.3.2 Aspects 42 3.3.3 Phases 42 3.3.4 Customization 43 3.4 Modeling Requirements 43 3.5 Content Modeling 45 3.5.1 Objectives 45 3.5.2 Concepts 45 3.6 Hypertext Modeling 46 3.6.1 Objectives 47 3.6.2 Hypertext Structure Modeling Concepts 47 3.6.3 Access Modeling Concepts 49 3.6.4 Relation to Content Modeling 50 3.7 Presentation Modeling 51 3.7.1 Objectives 51 3.7.2 Concepts 51 3.7.3 Relation to Hypertext Modeling 52 3.8 Customization Modeling 53 3.8.1 Objectives 54 3.8.2 Concepts 54 3.8.3 Relation to Content, Hypertext, and Presentation Modeling 58 3.9 Methods and Tools 58 3.9.1 Modeling Methods: An Overview 58 3.9.2 Model-Driven Development 61 3.9.3 Tool Support 61 3.10 Outlook 63 4 Web Application Architectures 65Christian Eichinger 4.1 Introduction 65 4.2 Fundamentals 66 4.2.1 What is an Architecture? 66 4.2.2 Developing Architectures 67 4.2.3 Categorizing Architectures 69 4.3 Specifics of Web Application Architectures 70 4.4 Components of a Generic Web Application Architecture 71 4.5 Layered Architectures 72 4.5.1 2-Layer Architectures 72 4.5.2 N-Layer Architectures 73 4.6 Data-aspect Architectures 79 4.6.1 Database-centric Architectures 80 4.6.2 Architectures for Web Document Management 80 4.6.3 Architectures for Multimedia Data 81 4.7 Outlook 84 5 Technology-aware Web Application Design 85Gerhard Austaller, Andreas Hartl, Markus Lauff, Fernando Lyardet, Max Mühlhaüser 5.1 Introduction 86 5.2 Web Design from an Evolutionary Perspective 89 5.2.1 Background 89 5.2.2 Information Design: An Authoring Activity 90 5.2.3 Software Design: A Programming Activity 92 5.2.4 Merging Information Design and Software Design 93 5.2.5 Problems and Restrictions in Integrated Web Design 94 5.2.6 A Proposed Structural Approach 95 5.3 Presentation Design 95 5.3.1 Presentation of Nodes and Meshes 96 5.3.2 Device-independent Development Approaches 97 5.4 Interaction Design 98 5.4.1 User Interaction 98 5.4.2 User Interface Organization 100 5.4.3 Navigation Design 101 5.4.4 Designing a Link Representation: The Anchor 101 5.4.5 Designing Link Internals: The URL 102 5.4.6 Navigation and Orientation 102 5.4.7 Structured Dialog for Complex Activities 103 5.4.8 Interplay with Technology and Architecture 104 5.5 Functional Design 105 5.5.1 Integration 105 5.5.2 Communication Paradigms and Middleware 105 5.5.3 Distributed Cross-corporate Web Applications 106 5.6 Outlook 107 5.6.1 Context-aware Applications 107 5.6.2 Device-independent Applications 108 5.6.3 Reusability 109 5.7 Summary 110 6 Technologies for Web Applications 111Martin Nussbaumer, Martin Gaedke 6.1 Introduction 111 6.2 Fundamentals 112 6.2.1 Markup 112 6.2.2 Hypertext and Hypermedia 112 6.3 Client/Server Communication on the Web 113 6.3.1 SMTP – Simple Mail Transfer Protocol. 113 6.3.2 RTSP – Real Time Streaming Protocol 113 6.3.3 HTTP – HyperText Transfer Protocol 113 6.3.4 Session Tracking 114 6.4 Client-side Technologies 116 6.4.1 Helpers and Plug-ins 116 6.4.2 Java Applets 116 6.4.3 ActiveX Controls 116 6.5 Document-specific Technologies 117 6.5.1 HTML – Hypertext Markup Language 117 6.5.2 SVG – Scalable Vector Graphics 117 6.5.3 SMIL – Synchronized Multimedia Integration Language 118 6.5.4 XML – eXtensible Markup Language 118 6.5.5 XSL – eXtensible Stylesheet Language 122 6.6 Server-side Technologies 126 6.6.1 URI Handlers 126 6.6.2 Web Services 129 6.6.3 Middleware Technologies 130 6.7 Outlook 132 7 Testing Web Applications 133Christoph Steindl, Rudolf Ramler, Josef Altmann 7.1 Introduction 133 7.2 Fundamentals 134 7.2.1 Terminology 134 7.2.2 Quality Characteristics 135 7.2.3 Test Objectives 136 7.2.4 Test Levels 136 7.2.5 Role of the Tester 137 7.3 Test Specifics in Web Engineering 138 7.4 Test Approaches 140 7.4.1 Conventional Approaches 140 7.4.2 Agile Approaches 140 7.5 Test Scheme 142 7.5.1 Three Test Dimensions 142 7.5.2 Applying the Scheme to Web Applications 143 7.5.3 Examples of Using the Test Scheme 145 7.6 Test Methods and Techniques 145 7.6.1 Link Testing 147 7.6.2 Browser Testing 147 7.6.3 Usability Testing 148 7.6.4 Load, Stress, and Continuous Testing 148 7.6.5 Testing Security 149 7.6.6 Test-driven Development 150 7.7 Test Automation 150 7.7.1 Benefits and Drawbacks of Automated Tests 150 7.7.2 Test Tools 151 7.7.3 Selecting Test Tools 152 7.8 Outlook 152 8 Operation and Maintenance of Web Applications 155Arno Ebner, Birgit Pröll, Hannes Werthner 8.1 Introduction 155 8.2 Challenges Following the Launch of a Web Application 156 8.3 Promoting a Web Application 157 8.3.1 Newsletters 158 8.3.2 Affiliate Marketing 158 8.3.3 Search Engine Marketing 159 8.3.4 Content-related Marketing 162 8.3.5 Domain Management 162 8.4 Content Management 163 8.4.1 Content Update Rate and Demand on Currency 164 8.4.2 Content Syndication 165 8.5 Usage Analysis 165 8.5.1 Usage Analysis Techniques 165 8.5.2 Statistical Indicators 167 8.5.3 User Behavior Analysis 168 8.6 Outlook 169 9 Web Project Management 171Herwig Mayr 9.1 From Software Project Management to Web Project Management 171 9.1.1 Objectives of Software Project Management 171 9.1.2 The Tasks of Software Project Management 172 9.1.3 Conflicting Areas in Projects 173 9.1.4 Specifics of Web Project Management 173 9.2 Challenges in Web Project Management 175 9.2.1 General Challenges in Software Development 175 9.2.2 Development-related Challenges in Web Projects 176 9.2.3 Product-related Challenges in Web Projects 179 9.3 Managing Web Teams 182 9.3.1 Software Development: A Human-centered Task 182 9.3.2 The Web Project Team 183 9.3.3 The Web Project Manager 184 9.4 Managing the Development Process of a Web Application 185 9.4.1 Deploying the Tools 185 9.4.2 Measuring Progress 188 9.4.3 Project Risks 190 9.4.4 Risk Management 193 9.5 Outlook 194 10 The Web Application Development Process 197Gregor Engels, Marc Lohmann, Annika Wagner 10.1 Motivation 197 10.2 Fundamentals 198 10.3 Requirements for a Web Application Development Process 201 10.3.1 Handling Short Development Cycles 201 10.3.2 Handling Changing Requirements 201 10.3.3 Releases with Fixed Deadlines and Flexible Contents 203 10.3.4 Parallel Development of Different Releases 203 10.3.5 Reuse and Integration 204 10.3.6 Adapting to Web Application’s Complexity Level 204 10.3.7 Summary 205 10.4 Analysis of the Rational Unified Process 205 10.4.1 Introduction 205 10.4.2 General Suitability for Web Application Development 208 10.4.3 Does RUP meet the Requirements of Web Applications? 209 10.5 Analysis of Extreme Programming 211 10.5.1 Introduction 211 10.5.2 Does XP meet the Requirements of Web Application Development? 214 10.6 Outlook 216 11 Usability of Web Applications 219Martin Hitz, Gerhard Leitner, Rudolf Melcher 11.1 Motivation 219 11.2 What is Usability? 220 11.3 What Characterizes the Usability of Web Applications? 222 11.4 Design Guidelines 225 11.4.1 Response Times 225 11.4.2 Interaction Efficiency 225 11.4.3 Colors 226 11.4.4 Text Layout 227 11.4.5 Page Structure 228 11.4.6 Navigation Structure 228 11.4.7 Multiculturality 230 11.4.8 Confidence-generating Measures 231 11.4.9 Other Design Criteria 232 11.5 Web Usability Engineering Methods 232 11.5.1 Requirements Analysis 234 11.5.2 Design 237 11.5.3 Implementation 238 11.5.4 Operation 238 11.6 Web Usability Engineering Trends 239 11.6.1 Usability Patterns 239 11.6.2 Mobile Usability 241 11.6.3 Accessibility 243 11.7 Outlook 245 12 Performance of Web Applications 247Gabriele Kotsis 12.1 Introduction 247 12.2 What Is Performance?  248 12.3 What Characterizes the Performance of Web Applications? 250 12.4 System Definition and Indicators 251 12.5 Characterizing the Workload 252 12.6 Analytical Techniques 254 12.6.1 Operational Analysis 254 12.6.2 Queuing Networks and Simulation Models 255 12.6.3 Measuring Approaches 257 12.7 Representing and Interpreting Results 258 12.8 Performance Optimization Methods 259 12.8.1 Acceleration Within a Web Application 260 12.8.2 Reducing Transmission Time 261 12.8.3 Server Tuning 263 12.9 Outlook 263 13 Security for Web Applications 265Martin Wimmer, Alfons Kemper, Stefan Seltzsam 13.1 Introduction 265 13.2 Aspects of Security 266 13.3 Encryption, Digital Signatures and Certificates 268 13.3.1 Symmetric Cryptography 268 13.3.2 Asymmetric Cryptography 270 13.3.3 Digital Signatures 271 13.3.4 Certificates and Public Key Infrastructure 272 13.4 Secure Client/Server-Interaction 272 13.4.1 Point-to-Point Security 272 13.4.2 End-to-End Security 274 13.4.3 User Authentication and Authorization 276 13.4.4 Electronic Payment Systems 278 13.5 Client Security Issues 279 13.5.1 Preserving Privacy 279 13.5.2 Mobile Code Security 281 13.5.3 Phishing and Web Spoofing 282 13.5.4 Desktop Security 283 13.6 Service Provider Security Issues 285 13.6.1 Cross-Site Scripting 285 13.6.2 SQL Injection 287 13.6.3 Security of CGI Programs 289 13.6.4 Service Availability 290 13.6.5 Host Security 291 13.7 Outlook 292 14 The Semantic Web – The Network of Meanings in the Network of Documents 293Wernher Behrendt, Nitin Arora 14.1 Fundamentals of the Semantic Web  293 14.1.1 The Role of Software Agents 294 14.1.2 The Role of Semantic Markup 296 14.1.3 The Role of Ontologies 297 14.2 Technological Concepts 298 14.2.1 Agents According to the FIPA Standard 298 14.2.2 Ontologies 300 14.2.3 Semantic Markup on the Web 303 14.3 Specifics of Semantic Web Applications 308 14.3.1 Semantic Markup 308 14.3.2 Agents 309 14.3.3 Ontologies 309 14.3.4 Semantic Web Services 310 14.3.5 Integration into Web Engineering  313 14.4 Tools 314 14.5 Outlook 315 Glossary 317 Author Biographies 329 Bibliography 337 Credits 357 Index 359
Les mer
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. Web Engineering is the application of quantifiable approaches to the cost-effective requirements analysis, design, implementation, testing, operation and maintenance of high quality Web applications. Web Engineers face the same traditional concerns as Software Engineers: the risks of failure to meet business needs, project schedule delays, budget overruns and poor quality of deliverables. But in the Web environment new and complicated issues demand attention, too. Web Engineering addresses the problems associated with shorter lead times which require rapid prototyping and agile methods, the interactivity and visual nature of the medium which make HCI aspects highly significant, and multimedia features of Web applications. This well-organized guide takes a rigorous interdisciplinary approach to Web Engineering, covering Web development concepts, methods, tools and techniques, and 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.
Les mer

Produktdetaljer

ISBN
9780470015544
Publisert
2006-05-12
Utgiver
Vendor
John Wiley & Sons Inc
Vekt
652 gr
Høyde
239 mm
Bredde
191 mm
Dybde
20 mm
Aldersnivå
P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
384

Biographical note

Gerti Kappel is full professor of Business Informatics at Vienna University of Technology.

Birgit Pröll teaches and researches at Johannes Kepler University (JKU), Linz, Austria.

Siegfried Reich is director of Salzburg Research, the non-profit research organization owned by the County of Salzburg.

Werner Retschitzegger is head of Department of Information Systems at JKU.