| |
| |
| |
Introduction--The Art of Architecting | |
| |
| |
A brief review of classical architecting methods | |
| |
| |
Different methods for different phases of architecting | |
| |
| |
| |
Extending the Architecting Paradigm | |
| |
| |
Introduction: the classical architecting paradigm | |
| |
| |
Responding to complexity | |
| |
| |
The high rate of advances in the computer and information sciences | |
| |
| |
The foundations of modern systems architecting | |
| |
| |
A systems approach | |
| |
| |
A purpose orientation | |
| |
| |
A modeling methodology | |
| |
| |
Ultraquality implementation | |
| |
| |
Certification | |
| |
| |
Insights and heuristics | |
| |
| |
The architecture paradigm summarized | |
| |
| |
The waterfall model of systems acquisition | |
| |
| |
Spirals, increments, and collaborative assembly | |
| |
| |
Summary and conclusions | |
| |
| |
Notes and references | |
| |
| |
| |
Heuristics as Tools | |
| |
| |
Introduction: a metaphor | |
| |
| |
Heuristics as abstractions of experience | |
| |
| |
Selecting a personal kit of heuristic tools | |
| |
| |
Using heuristics | |
| |
| |
Heuristics on heuristics | |
| |
| |
Generating useful heuristics | |
| |
| |
Applying heuristics | |
| |
| |
A taxonomy of heuristics | |
| |
| |
New directions | |
| |
| |
Summary | |
| |
| |
Notes and references | |
| |
| |
| |
New Domains, New Insights | |
| |
| |
| |
Builder-Architected Systems | |
| |
| |
Introduction: the form-first paradigm | |
| |
| |
Incremental development for an existing customer | |
| |
| |
New markets for existing products | |
| |
| |
New products, new markets | |
| |
| |
Technological substitutions within existing systems | |
| |
| |
Consequences of uncertainty of end purpose | |
| |
| |
Reducing the risks of uncertainty of end purpose | |
| |
| |
Risk management by intermediate goals | |
| |
| |
The "what next" quandary | |
| |
| |
Controlling the critical features of the architecture | |
| |
| |
Abandonment of an obsolete architecture | |
| |
| |
Creating innovative teams | |
| |
| |
Architecting "revolutionary" systems | |
| |
| |
Systems architecting and basic research | |
| |
| |
Heuristics for architecting technology-driven systems | |
| |
| |
General | |
| |
| |
Specialized | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Manufacturing Systems | |
| |
| |
Introduction: the manufacturing domain | |
| |
| |
Architectural innovations in manufacturing | |
| |
| |
Ultraquality systems | |
| |
| |
Dynamic manufacturing systems | |
| |
| |
Intersecting waterfalls | |
| |
| |
The spiral-to-circle model | |
| |
| |
Concurrent engineering | |
| |
| |
Feedback systems | |
| |
| |
Lean production | |
| |
| |
Flexible manufacturing | |
| |
| |
Heuristics for architecting manufacturing systems | |
| |
| |
In conclusion | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Social Systems | |
| |
| |
Introduction: defining sociotechnical systems | |
| |
| |
Public participation | |
| |
| |
The foundations of sociotechnical systems architecting | |
| |
| |
The separation of client and user | |
| |
| |
Socioeconomic insights | |
| |
| |
The interaction between the public and private sectors | |
| |
| |
Facts vs. perceptions: an added tension | |
| |
| |
Heuristics for social systems | |
| |
| |
In conclusion | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Software and Information Technology Systems | |
| |
| |
Introduction: The status of software architecting | |
| |
| |
Software as a system component | |
| |
| |
Software for modern systems | |
| |
| |
Systems, software, and process models | |
| |
| |
Waterfalls for software? | |
| |
| |
Spirals for hardware? | |
| |
| |
Integration: spirals and circles | |
| |
| |
The problem of hierarchy | |
| |
| |
Object-orientation | |
| |
| |
Layered design | |
| |
| |
Large, autonomous components | |
| |
| |
Reconciling the hierarchies | |
| |
| |
The role of architecture in software-centered systems | |
| |
| |
Programming languages, models, and expressions | |
| |
| |
Architectures, "unifying" models, and visions | |
| |
| |
Directions in software architecting | |
| |
| |
Architectural styles | |
| |
| |
Architecture through composition | |
| |
| |
Heuristics and guidelines in software | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Collaborative Systems | |
| |
| |
Introduction: collaboration as a category | |
| |
| |
Collaborative system examples | |
| |
| |
The Internet | |
| |
| |
Intelligent transportation systems | |
| |
| |
Joint air defense systems | |
| |
| |
Analogies for architecting collaborative systems | |
| |
| |
Collaborative system heuristics | |
| |
| |
Stable intermediate forms | |
| |
| |
Policy triage | |
| |
| |
Leverage at the interfaces | |
| |
| |
Ensuring cooperation | |
| |
| |
Variations on the collaborative theme | |
| |
| |
Misclassification | |
| |
| |
Standards and collaborative systems | |
| |
| |
Conclusions | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
Exercise to Close Part Two | |
| |
| |
| |
Models and Modeling | |
| |
| |
Introduction to Part Three | |
| |
| |
A civil architecture analogy | |
| |
| |
Guide to Part Three | |
| |
| |
| |
Representation Models and System Architecting | |
| |
| |
Introduction: roles, views, and models | |
| |
| |
Roles of models | |
| |
| |
Models, viewpoints, and views | |
| |
| |
Classification of models by view | |
| |
| |
Note to the reader | |
| |
| |
Objectives and purpose models | |
| |
| |
Models of form | |
| |
| |
Scale models | |
| |
| |
Block diagrams | |
| |
| |
Behavioral (functional) models | |
| |
| |
Threads and scenarios | |
| |
| |
Data and event flow networks | |
| |
| |
Mathematical systems theory | |
| |
| |
Autonomous agent, chaotic systems | |
| |
| |
Public choice and behavior models | |
| |
| |
Performance models | |
| |
| |
Formal methods | |
| |
| |
Data models | |
| |
| |
Managerial models | |
| |
| |
Examples of interated models | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Design Progression in System Architecting | |
| |
| |
Introduction: architecting process components | |
| |
| |
Design progression | |
| |
| |
Introduction by examples | |
| |
| |
Design as the evolution of models | |
| |
| |
Evaluation criteria and heuristic refinement | |
| |
| |
Progression of emphasis | |
| |
| |
Concurrent progressions | |
| |
| |
Episodic nature | |
| |
| |
Design concepts for systems architecture | |
| |
| |
Historical approaches to architecting | |
| |
| |
Specialized and formalized heuristics | |
| |
| |
Scoping, aggregation, partitioning, and certification | |
| |
| |
Scoping | |
| |
| |
Aggregation and partitioning | |
| |
| |
Certification | |
| |
| |
Certainty, rationality, and choice | |
| |
| |
Stopping or progressing? | |
| |
| |
Architecture and design disciplines | |
| |
| |
Architecture and patterns | |
| |
| |
Conclusions | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Integrated Modeling Methodologies | |
| |
| |
Introduction | |
| |
| |
General integrated models | |
| |
| |
Hatley/Pirbhai--computer-based reactive systems | |
| |
| |
Example: microsatellite imaging system | |
| |
| |
Quantitative QFD (Q[superscript 2]FD)--performance-driven systems | |
| |
| |
Integrated modeling and software | |
| |
| |
Structured analysis and design | |
| |
| |
ADARTS | |
| |
| |
OMT | |
| |
| |
UML | |
| |
| |
Performance integration: scheduling | |
| |
| |
Integrated models for manufacturing systems | |
| |
| |
Integrated models for sociotechnical systems | |
| |
| |
Conclusions | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Architecture Frameworks | |
| |
| |
Introduction | |
| |
| |
Defining an architecture framework | |
| |
| |
Goals of the framework | |
| |
| |
Understanding "architectural level" | |
| |
| |
Organization of an architecture description framework | |
| |
| |
Current architecture frameworks | |
| |
| |
U.S. DoD C4ISR | |
| |
| |
Summary information | |
| |
| |
Operational view | |
| |
| |
System view | |
| |
| |
Technical view | |
| |
| |
Evaluation of the C4ISR framework | |
| |
| |
ISO RM-ODP | |
| |
| |
Proprietary and semi-open information technology standards | |
| |
| |
IEEE P1471 | |
| |
| |
P1471 concepts | |
| |
| |
P1471 normative requirements | |
| |
| |
Research directions | |
| |
| |
Conclusions | |
| |
| |
Notes and references | |
| |
| |
| |
The Systems Architecting Profession | |
| |
| |
| |
The Political Process and Systems Architecting | |
| |
| |
Introduction: the political challenge | |
| |
| |
Politics as a design factor | |
| |
| |
The first skill to master | |
| |
| |
Heuristics in the political process: "the facts of life" | |
| |
| |
Fact of life #1 | |
| |
| |
Fact of life #2 | |
| |
| |
Fact of life #3 | |
| |
| |
Fact of life #4 | |
| |
| |
Fact of life #5 | |
| |
| |
A few more skills to master | |
| |
| |
Conclusion | |
| |
| |
| |
The Professionalization of Systems Architecting | |
| |
| |
Introduction | |
| |
| |
The profession of systems engineering | |
| |
| |
Systems architecting and systems standards | |
| |
| |
The origins of systems standards | |
| |
| |
The ballistic missile program of the 1950s | |
| |
| |
The beginning of a new era of standards | |
| |
| |
EIA/IS 632, an architectural perspective | |
| |
| |
Commercial standards | |
| |
| |
IEEE 1220, an architectural perspective | |
| |
| |
Company standards | |
| |
| |
A summary of standards developments, 1950-1995 | |
| |
| |
Systems architecting graduate education | |
| |
| |
Systems engineering universities and systems architecting | |
| |
| |
Curriculum design | |
| |
| |
Advanced study in systems architecting | |
| |
| |
Professional societies and publications | |
| |
| |
Conclusion: an assessment of the profession | |
| |
| |
Notes and references | |
| |
| |
Appendices | |
| |
| |
| |
Heuristics for Systems-Level Architecting | |
| |
| |
Introduction: organizing the list | |
| |
| |
Heuristic tool list | |
| |
| |
Multitask heuristics | |
| |
| |
Scoping and planning | |
| |
| |
Modeling | |
| |
| |
Prioritizing (trades, options, and choices) | |
| |
| |
Aggregating ("chunking") | |
| |
| |
Partitioning (decompositioning) | |
| |
| |
Integrating | |
| |
| |
Certifying (system integrity, quality, and vision) | |
| |
| |
Assessing performance, cost, schedule, and risk | |
| |
| |
Rearchitecting, evolving, modifying, and adapting | |
| |
| |
Exercises | |
| |
| |
Notes and references | |
| |
| |
| |
Reference Texts for Suggested for Institutional Libraries | |
| |
| |
Architecting background | |
| |
| |
Management | |
| |
| |
Modeling | |
| |
| |
Specialty areas | |
| |
| |
Software | |
| |
| |
System sciences | |
| |
| |
System thinking | |
| |
| |
| |
On Defining Architecture and Other Terms | |
| |
| |
Defining "Architecture" | |
| |
| |
Webster's Dictionary definition | |
| |
| |
This book | |
| |
| |
IEEE Architecture Working Group (AWG) | |
| |
| |
INCOSE SAWG | |
| |
| |
MIL-STD-498 | |
| |
| |
Perry-Garlan | |
| |
| |
Maier's tongue-in-cheek rule of thumb | |
| |
| |
Internet discussion | |
| |
| |
Summary | |
| |
| |
Models, viewpoints, and views | |
| |
| |
Working definitions | |
| |
| |
Consistency and completeness | |
| |
| |
Notes and references | |
| |
| |
Glossary | |
| |
| |
Indexes | |