The art of software architecture: design methods and techniques
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Indianapolis, Ind.
Wiley Pub.
2003
|
Schlagworte: | |
Online-Zugang: | Publisher description Table of contents Inhaltsverzeichnis |
Beschreibung: | Includes bibliographical references (p. 297-300) and index |
Beschreibung: | xxiv, 312 p. ill. : 24 cm |
ISBN: | 0471228869 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV015772566 | ||
003 | DE-604 | ||
005 | 20040413 | ||
007 | t | ||
008 | 021217s2003 xxua||| |||| 00||| eng d | ||
010 | |a 2002155539 | ||
020 | |a 0471228869 |9 0-471-22886-9 | ||
035 | |a (OCoLC)51223696 | ||
035 | |a (DE-599)BVBBV015772566 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-824 |a DE-522 |a DE-525 | ||
050 | 0 | |a QA76.76.D47 | |
082 | 0 | |a 005.1 |2 22 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
100 | 1 | |a Albin, Stephen T. |e Verfasser |4 aut | |
245 | 1 | 0 | |a The art of software architecture |b design methods and techniques |c Stephen T. Albin |
264 | 1 | |a Indianapolis, Ind. |b Wiley Pub. |c 2003 | |
300 | |a xxiv, 312 p. |b ill. : 24 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Includes bibliographical references (p. 297-300) and index | ||
650 | 4 | |a Arquitectura de software | |
650 | 4 | |a Software architecture | |
650 | 0 | 7 | |a Softwareentwicklung |0 (DE-588)4116522-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwarearchitektur |0 (DE-588)4121677-5 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Softwareentwicklung |0 (DE-588)4116522-6 |D s |
689 | 0 | 1 | |a Softwarearchitektur |0 (DE-588)4121677-5 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | |u http://www.loc.gov/catdir/description/wiley037/2002155539.html |3 Publisher description | |
856 | 4 | |u http://www.loc.gov/catdir/toc/wiley031/2002155539.html |3 Table of contents | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010125257&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-010125257 |
Datensatz im Suchindex
_version_ | 1804129722384252928 |
---|---|
adam_text | Titel: The art of software architecture
Autor: Albin, Stephen T
Jahr: 2003
Contents
Acknowledgments xiii
About the Author xv
Introduction xvii
Chapter 1 Introduction to Software Architecture 1
Evolution of Software Development 2
Fundamentals of Software Engineering 5
Reusable Assets 6
General-Purpose Programming Languages 7
Special-Purpose Programming Languages 8
Modeling Languages and Notations 8
Elements of Software Architecture 9
Components, Connectors, and Qualities 9
Architectural Description 12
Software Architecture versus Software Design Methodologies 13
Types of Architecture 14
Summary 16
Chapter 2 The Software Product Life Cycle 17
Management View 18
Inception Phase 20
Elaboration Phase 20
Construction Phase 21
Transition Phase 21
Software Engineering View 21
Requirements Analysis and Specification 24
Design 25
Implementation and Testing 25
Deployment and Maintenance 26
v
vi Contents
Engineering Design View •
Product Planning: Specification of Information 29
Conceptual Design: Specification of Principle 29
Embodiment Design: Specification of Layout 30
Detail Design: Specification of Production 30
Architectural View 31
Predesign Phase 32
Domain Analysis Phase 33
Schematic Design Phase 34
Design Development Phase 34
Building Phases 34
Synthesizing the Views 35
Summary 37
Chapter 3 The Architecture Design Process 39
Understanding the Problem 41
Identifying Design Elements and Their Relationships 42
Defining System Context 47
Identifying Modules 48
Describing Components and Connectors 50
Evaluating the Architecture 51
Transforming the Architecture 52
Summary 53
Chapter 4 Introduction to Software Design 55
Problems in Software Architectural Design 56
Function, Form, and Fabrication: The Vitruvian Triad 57
Function and Product Planning 58
Form and Interaction Design 59
Cognitive Friction and Architectural Design 60
Fabrication 61
Application Architecture 62
Example 52
The Scope of Design 65
Tasks and Activities of Design 65
Origin of the Task 66
Organization 67
Novelty 5g
Production 69
Technology 69
Horizontal Domain 70
Quality Attributes 70
Architecture versus Engineering Design 71
The Psychology and Philosophy of Design 72
Problems, Obstacles, and Solutions 72
Aristotelian Reasoning 72
Contents vii
General Methodology of Design 75
Purposeful Thinking 76
Analysis 77
Abstraction 78
Synthesis 78
General Heuristics 79
The Method of Persistent Questions 79
The Method of Negation 79
The Method of Forward Steps 80
The Method of Backward Steps 80
The Method of Factorization 81
The Method of Systematic Variation 81
Division of Labor and Collaboration 81
Summary 82
Chapter 5 Complexity and Modularity 85
Complexity 89
Understanding Complexity 89
Granularity and Context 90
Modularity 95
Architecture and Modules 96
Importing and Exporting 96
Coupling and Cohesion 97
Design Elements and Design Rules 98
Task Structure Matrix 103
Modular Operators 104
Splitting 106
Substituting 109
Augmenting and Excluding 109
Inversion 110
Porting 110
Summary 111
Chapter 6 Models and Knowledge Representation 113
What Are Models? 114
The Language of Models 115
Models and Human Comprehension 117
What Are Models Used For? 117
Systems Analysis Models 119
Systems Inference Models 119
Systems Design Models 120
What Roles Do Models Play? 120
Communication between Stakeholders and the Architect 121
Design Decisions and Design Assessment 121
Guidelines for Detail Design 122
Reusable Technical Artifacts 122
viii Contents
Modeling the Problem and Solution Domains 122
Problem Domain Models 123
Understanding the Problem 123
Analyzing the Requirements 123
Solution Domain Models 123
Technology-Independent Models 124
Technology-Dependent Models 124
Views 124
Objectives and Purpose Models 126
Behavioral/Functional Models 127
User Interface Prototypes 128
Scenarios and Threads 128
State Transition Diagrams 129
Process Models 129
Information/Data Models 130
Models of Form 131
Scale Models 131
Components and Connectors 132
Source Code 133
Nonfunctional/Performance Models 133
Summary 133
Chapter 7 Architecture Representation 135
Goals of Architecture Representation 136
Foundations of Software Architecture Representation 137
Fundamental Software Design Views 139
Architecture Description Languages 140
Design Language Elements 141
Composition 143
Abstraction 144
Reusability 144
Configuration 145
Heterogeneity 145
Architecture Analysis 145
First-Class Connectors 146
Modules and Components 146
Example: C2 SADL 148
Applying ADLs 149
Summary 45Q
Chapter 8 Quality Models and Quality Attributes 151
Process and Product Quality 153
Specifying Quality Requirements 153
Measuring Quality Attributes 154
Quality Requirements and Architectural Design 155
Systems Knowledge and Quality Attributes 156
Barriers to Achieving Quality 455
Contents ix
Common Quality Attribute Misunderstandings 157
Specifying Quality Requirements 157
Modeling Methods Don t Address Quality Attributes 157
Designing for Quality Attributes 157
Solution Catalogues and Quality Attributes 158
Quality Control Is an Afterthought 158
Understanding Quality Models 159
Benefits of Quality Models 166
Architecting with Quality Attributes 167
Functionality 167
Interoperability 168
Security 168
Performance (Efficiency) 168
Resource Efficiency 169
Modifiability 170
Availability and Reliability 170
Recoverability 170
Usability 171
Portability 171
Architecting and Quality Models 173
Summary 174
Chapter 9 Architectural Design Principles 175
Architectural Level of Design 176
Applying Design Principles 176
Using Systems Thinking 177
Example 178
Architecting with Design Operators 179
Decomposition 180
Identifying Functional Components 181
Composition/Aggregation 182
Component Communication 182
Replication 182
Compression 184
Abstraction 185
Virtual Machines and Adaptability 185
Resource Sharing 186
Functional Design Strategies 187
Self-Monitoring 187
Recovery 188
Instrumenting 188
Summary 188
Chapter 10 Applying Architectural Styles and Patterns 189
Defining Architectural Patterns and Style 190
Activation Model 192
Styles and Quality Attributes 195
X
Contents
Common Architectural Styles
Dataflow Systems ^7
Call-and-Return Systems 200
Independent Components 202
Virtual Machines 203
Repositories 204
Example of Applying Architectural Styles 204
Summary 211
Chapter 11 Understanding Metamodels 213
Understanding Metamodels 214
Three-Layer Model of Knowledge Representation 215
Applying Reference Models 219
Seeheim Model 220
Arch/Slinky Model 223
Enterprise Application Reference Model 225
Technology Stacks and Architectural Layers 227
Fundamental Metamodel for Describing Software
Components 230
Examples: Content Management System Reference Models 231
Domain Model 232
Content Collaboration Reference Model 234
Content Management Reference Model 236
Summary 237
Chapter 12 Creating Architectural Descriptions 239
Standardizing Architectural Descriptions 240
Creating an Architectural Description 241
Identify the Architectural Description 242
Identify Stakeholders 243
Select Viewpoints 244
Specify Viewpoints 245
Viewpoint Rationale 246
Viewpoints and Systems Knowledge 247
Interdependence of Views 247
Traceability 248
Methodologies and Viewpoints 248
Specify Views 250
Record View Inconsistencies 250
Create Architectural Rationale 251
Applying the Architectural Description 251
Creating an Architectural Description for an Existing System 252
Performing an Architectural Assessment 253
Specification Pragmatics 253
Summary 254
Chapter 13 Using Architecture Frameworks 255
Software Architecture Frameworks 256
Philosophies of Architecture Frameworks 257
Contents xi
Architecture Framework Goals 258
Methodologies and Architecture Frameworks 258
The 4+1 View Model of Architecture 259
Relationship to IEEE 1471 260
Logical Viewpoint 260
Stakeholders and Concerns Addressed 261
View Construction 261
Process Viewpoint 261
Stakeholders and Concerns Addressed 261
View Construction 262
Development Viewpoint 263
Stakeholders and Concerns Addressed 263
View Construction 263
Physical Viewpoint 263
Stakeholders and Concerns Addressed 263
View Construction 264
Scenario Viewpoint 264
Stakeholders and Concerns Addressed 264
View Construction 264
Model Overloading 264
Architecting with the Unified Process 265
Reference Model for Open Distributed Processing 266
Enterprise Viewpoint 267
Stakeholders and Concerns Addressed 267
View Construction 267
Information Viewpoint 268
Stakeholders and Concerns Addressed 269
View Construction 269
Computational Viewpoint 269
Stakeholders and Concerns Addressed 270
View Construction 270
Engineering Viewpoint 270
Stakeholders and Concerns Addressed 271
View Construction 271
Technology Viewpoint 271
Stakeholders and Concerns Addressed 271
View Construction 272
Summary 272
Chapter 14 Software Architecture Quality 273
Importance of Assessing Software Architecture 275
Content Publishing System Example 275
Enterprise Application Example 277
How to Improve Quality 277
Systematic Design Process 278
Understand the Right Problem 279
System Level View of Requirements 280
Differentiating Design and Requirements 281
xii Contents
Assessing Software Architectures 281
Scenarios: Reifying Nonfunctional Requirements 283
The Role of the Architectural Description 285
Architecture Evaluation 285
Assessing Modifiability 287
Assessing Performance 291
Summary 294
Appendix: Bibliography 297
Index 301
|
any_adam_object | 1 |
author | Albin, Stephen T. |
author_facet | Albin, Stephen T. |
author_role | aut |
author_sort | Albin, Stephen T. |
author_variant | s t a st sta |
building | Verbundindex |
bvnumber | BV015772566 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.D47 |
callnumber-search | QA76.76.D47 |
callnumber-sort | QA 276.76 D47 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 230 |
ctrlnum | (OCoLC)51223696 (DE-599)BVBBV015772566 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01783nam a2200445zc 4500</leader><controlfield tag="001">BV015772566</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20040413 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">021217s2003 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2002155539</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0471228869</subfield><subfield code="9">0-471-22886-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)51223696</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV015772566</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-824</subfield><subfield code="a">DE-522</subfield><subfield code="a">DE-525</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.D47</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1</subfield><subfield code="2">22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Albin, Stephen T.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">The art of software architecture</subfield><subfield code="b">design methods and techniques</subfield><subfield code="c">Stephen T. Albin</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Indianapolis, Ind.</subfield><subfield code="b">Wiley Pub.</subfield><subfield code="c">2003</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxiv, 312 p.</subfield><subfield code="b">ill. : 24 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references (p. 297-300) and index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Arquitectura de software</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software architecture</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwarearchitektur</subfield><subfield code="0">(DE-588)4121677-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwareentwicklung</subfield><subfield code="0">(DE-588)4116522-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Softwarearchitektur</subfield><subfield code="0">(DE-588)4121677-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/description/wiley037/2002155539.html</subfield><subfield code="3">Publisher description</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/toc/wiley031/2002155539.html</subfield><subfield code="3">Table of contents</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010125257&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-010125257</subfield></datafield></record></collection> |
id | DE-604.BV015772566 |
illustrated | Illustrated |
indexdate | 2024-07-09T19:09:39Z |
institution | BVB |
isbn | 0471228869 |
language | English |
lccn | 2002155539 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-010125257 |
oclc_num | 51223696 |
open_access_boolean | |
owner | DE-824 DE-522 DE-525 |
owner_facet | DE-824 DE-522 DE-525 |
physical | xxiv, 312 p. ill. : 24 cm |
publishDate | 2003 |
publishDateSearch | 2003 |
publishDateSort | 2003 |
publisher | Wiley Pub. |
record_format | marc |
spelling | Albin, Stephen T. Verfasser aut The art of software architecture design methods and techniques Stephen T. Albin Indianapolis, Ind. Wiley Pub. 2003 xxiv, 312 p. ill. : 24 cm txt rdacontent n rdamedia nc rdacarrier Includes bibliographical references (p. 297-300) and index Arquitectura de software Software architecture Softwareentwicklung (DE-588)4116522-6 gnd rswk-swf Softwarearchitektur (DE-588)4121677-5 gnd rswk-swf Softwareentwicklung (DE-588)4116522-6 s Softwarearchitektur (DE-588)4121677-5 s DE-604 http://www.loc.gov/catdir/description/wiley037/2002155539.html Publisher description http://www.loc.gov/catdir/toc/wiley031/2002155539.html Table of contents HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010125257&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Albin, Stephen T. The art of software architecture design methods and techniques Arquitectura de software Software architecture Softwareentwicklung (DE-588)4116522-6 gnd Softwarearchitektur (DE-588)4121677-5 gnd |
subject_GND | (DE-588)4116522-6 (DE-588)4121677-5 |
title | The art of software architecture design methods and techniques |
title_auth | The art of software architecture design methods and techniques |
title_exact_search | The art of software architecture design methods and techniques |
title_full | The art of software architecture design methods and techniques Stephen T. Albin |
title_fullStr | The art of software architecture design methods and techniques Stephen T. Albin |
title_full_unstemmed | The art of software architecture design methods and techniques Stephen T. Albin |
title_short | The art of software architecture |
title_sort | the art of software architecture design methods and techniques |
title_sub | design methods and techniques |
topic | Arquitectura de software Software architecture Softwareentwicklung (DE-588)4116522-6 gnd Softwarearchitektur (DE-588)4121677-5 gnd |
topic_facet | Arquitectura de software Software architecture Softwareentwicklung Softwarearchitektur |
url | http://www.loc.gov/catdir/description/wiley037/2002155539.html http://www.loc.gov/catdir/toc/wiley031/2002155539.html http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010125257&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT albinstephent theartofsoftwarearchitecturedesignmethodsandtechniques |