Software Architecture – Foundations, Theory, and Practice (WSE)
Foundations, Theory, and Practice
Gebonden Engels 2009 9780470167748Samenvatting
Software architecture is foundational to the development of large, practical software–intensive applications. This brand–new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on supporting creation of real implemented systems. Hence the text details not only modeling techniques, but design, implementation, deployment, and system adaptation –– as well as a host of other topics –– putting the elements in context and comparing and contrasting them with one another. Rather than focusing on one method, notation, tool, or process, this new text/reference widely surveys software architecture techniques, enabling the instructor and practitioner to choose the right tool for the job at hand. Software Architecture is intended for upper–division undergraduate and graduate courses in software architecture, software design, component–based software engineering, and distributed systems; the text may also be used in introductory as well as advanced software engineering courses.
Specificaties
Lezersrecensies
Inhoudsopgave
<p>1.1 The Power of Analogy: The Architecture of Buildings 2</p>
<p>1.2 The Power and Necessity of Big Ideas: The Architecture of the Web 7</p>
<p>1.3 The Power of Architecture in the Small: Architecture on the Desktop 12</p>
<p>1.4 The Power of Architecture in Business: Productivity and Product Lines 15</p>
<p>1.5 End Matter 20</p>
<p>1.6 Review Questions 21</p>
<p>1.7 Exercises 21</p>
<p>1.8 Further Reading 21</p>
<p>2 Architectures in Context: The Reorientation of Software Engineering 23</p>
<p>2.1 Fundamental Understandings 24</p>
<p>2.2 Requirements 25</p>
<p>2.3 Design 29</p>
<p>2.4 Implementation 33</p>
<p>2.5 Analysis and Testing 38</p>
<p>2.6 Evolution and Maintenance 40</p>
<p>2.7 Processes 42</p>
<p>2.8 End Matter 52</p>
<p>2.9 Review Questions 53</p>
<p>2.10 Exercises 54</p>
<p>2.11 Further Reading 55</p>
<p>3 Basic Concepts 57</p>
<p>3.1 Terminology 58</p>
<p>3.2 Models 75</p>
<p>3.3 Processes 75</p>
<p>3.4 Stakeholders 79</p>
<p>3.5 End Matter 79</p>
<p>3.6 Review Questions 80</p>
<p>3.7 Exercises 80</p>
<p>3.8 Further Reading 81</p>
<p>4 Designing Architectures 83</p>
<p>4.1 The Design Process 85</p>
<p>4.2 Architectural Conception 87</p>
<p>4.3 Refined Experience in Action: Styles and Architectural Patterns 91</p>
<p>4.4 Architectural Conception in Absence of Experience: Unprecedented Design 144</p>
<p>4.5 Putting it All Together: Design Processes Revisited 149</p>
<p>4.6 End Matter 152</p>
<p>4.7 Review Questions 153</p>
<p>4.8 Exercises 154</p>
<p>4.9 Further Reading 154</p>
<p>5 Connectors 157</p>
<p>5.1 Connectors in Action: A Motivating Example 159</p>
<p>5.2 Connector Foundations 161</p>
<p>5.3 Connector Roles 163</p>
<p>5.4 Connector Types and Their Variation Dimensions 164</p>
<p>5.5 Example Connectors 172</p>
<p>5.6 Using the Connector Framework 176</p>
<p>5.7 End Matter 181</p>
<p>5.8 Review Questions 182</p>
<p>5.9 Exercises 183</p>
<p>5.10 Further Reading 183</p>
<p>6 Modeling 185</p>
<p>6.1 Modeling Concepts 186</p>
<p>6.2 Ambiguity Accuracy and Precision 191</p>
<p>6.3 Complex Modeling: Mixed Content and Multiple Views 194</p>
<p>6.4 Evaluating Modeling Techniques 198</p>
<p>6.5 Specific Modeling Techniques 199</p>
<p>6.6 When Systems Become Too Complex to Model 242</p>
<p>6.7 End Matter 243</p>
<p>6.8 Review Questions 246</p>
<p>6.9 Exercises 246</p>
<p>6.10 Further Reading 246</p>
<p>7 Visualization 249</p>
<p>7.1 Visualization Concepts 250</p>
<p>7.2 Evaluating Visualizations 259</p>
<p>7.3 Common Issues in Visualization 268</p>
<p>7.4 Evaluating Visualization Techniques 272</p>
<p>7.5 Techniques 272</p>
<p>7.6 End Matter 288</p>
<p>7.7 Review Questions 289</p>
<p>7.8 Exercises 290</p>
<p>7.9 Further Reading 290</p>
<p>8 Analysis 291</p>
<p>8.1 Analysis Goals 295</p>
<p>8.2 Scope of Analysis 303</p>
<p>8.3 Architectural Concern being Analyzed 310</p>
<p>8.4 Level of Formality of Architectural Models 312</p>
<p>8.5 Type of Analysis 313</p>
<p>8.6 Level of Automation 314</p>
<p>8.7 System Stakeholders 315</p>
<p>8.8 Analysis Techniques 317</p>
<p>8.9 End Matter 333</p>
<p>8.10 Review Questions 334</p>
<p>8.11 Exercises 335</p>
<p>8.12 Further Reading 336</p>
<p>9 Implementation 337</p>
<p>9.1 Concepts 338</p>
<p>9.2 Existing Frameworks 350</p>
<p>9.3 Examples 360</p>
<p>9.4 End Matter 377</p>
<p>9.5 Review Questions 378</p>
<p>9.6 Exercises 378</p>
<p>9.7 Further Reading 379</p>
<p>10 Deployment and Mobility 381</p>
<p>10.1 Overview of Deployment and Mobility Challenges 385</p>
<p>10.2 Software Architecture and Deployment 387</p>
<p>10.3 Software Architecture and Mobility 405</p>
<p>10.4 End Matter 408</p>
<p>10.5 Review Questions 409</p>
<p>10.6 Exercises 409</p>
<p>10.7 Further Reading 410</p>
<p>11 Applied Architectures and Styles 413</p>
<p>11.1 Distributed and Networked Architectures 414</p>
<p>11.2 Architectures for Network–Based Applications 416</p>
<p>11.3 Decentralized Architectures 424</p>
<p>11.4 Service–Oriented Architectures and Web Services 433</p>
<p>11.5 Architectures from Specific Domains 437</p>
<p>11.6 End Matter 443</p>
<p>11.7 Review Questions 445</p>
<p>11.8 Exercises 445</p>
<p>11.9 Further Reading 446</p>
<p>12 Designing for Non–Functional Properties 447</p>
<p>12.1 Efficiency 450</p>
<p>12.2 Complexity 459</p>
<p>12.3 Scalability and Heterogeneity 467</p>
<p>12.4 Adaptability 475</p>
<p>12.5 Dependability 478</p>
<p>12.6 End Matter 483</p>
<p>12.7 Review Questions 484</p>
<p>12.8 Exercises 484</p>
<p>12.9 Further Reading 485</p>
<p>13 Security and Trust 487</p>
<p>13.1 Security 489</p>
<p>13.2 Design Principles 492</p>
<p>13.3 Architectural Access Control 497</p>
<p>13.4 Trust Management 508</p>
<p>13.5 End Matter 522</p>
<p>13.6 Review Questions 523</p>
<p>13.7 Exercises 523</p>
<p>13.8 Further Reading 524</p>
<p>14 Architectural Adaptation 525</p>
<p>14.1 Concepts of Architecture–Centric Adaptation 526</p>
<p>14.2 A Conceptual Framework for Architectural Adaptation 539</p>
<p>14.3 Techniques for Supporting Architecture–Centric Change 542</p>
<p>14.4 End Matter 561</p>
<p>14.5 Review Questions 562</p>
<p>14.6 Exercises 563</p>
<p>14.7 Further Reading 563</p>
<p>15 Domain–Specific Software Engineering 565</p>
<p>15.1 Domain–Specific Software Engineering in a Nutshell 570</p>
<p>15.2 Domain–Specific Software Architecture 574</p>
<p>15.3 DSSAs Product Lines and Architectural Styles 606</p>
<p>15.4 DSSE Examples 608</p>
<p>15.5 End Matter 616</p>
<p>15.6 Review Questions 618</p>
<p>15.7 Exercises 618</p>
<p>15.8 Further Reading 619</p>
<p>16 Standards 621</p>
<p>16.1 What Are Standards? 622</p>
<p><br />16.2 Specific Standards 627</p>
<p>16.3 Process Standards 648</p>
<p>16.4 End Matter 651</p>
<p>16.5 Review Questions 653</p>
<p>16.6 Exercises 653</p>
<p>16.7 Further Reading 654</p>
<p>17 People Roles and Teams 655</p>
<p>17.1 Who Are Software Architects? 657</p>
<p>17.2 What Do Software Architects Do? 663</p>
<p>17.3 How Do Software Architects Work? 665</p>
<p>17.4 How Do Software Architects Relate to Other Stakeholders? 669</p>
<p>17.5 Remaining Challenges 673</p>
<p>17.6 End Matter 673</p>
<p>17.7 Review Questions 674</p>
<p>17.8 Further Reading 674</p>
<p>Bibliography 675</p>
<p>Index 691</p>
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan