, , , e.a.

Web Engineering

The Discipline of Systematic Development of Web Applications

Paperback Engels 2006 9780470015544
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

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.

Specificaties

ISBN13:9780470015544
Taal:Engels
Bindwijze:paperback
Aantal pagina's:388

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

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

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Web Engineering