| Architectural Design Resources
 Architectural design represents the structure of data and program components that are required to build a computer-based system. It considers the architectural style that the system will take, the structure and properties of the components that comprise the system, and the interrelationships that occur among all architectural components of a system. The following topic categories are presented:
 
														Concepts Architecture Resources Tutorials, Articles, and Papers Patterns Books Concepts Software architectureA worthwhile discussion at Wikipedia
 
 An Introduction to Software Architecture
 A downloadable version of one of Garlan and Shaw's seminal papers.
 
 On Systems Architecture
 A worthwhile article by Tom DeMarco.
 
 Software Architecture: a Roadmap
 A roadmap by David Garlan.
 
 Agile Architectural ModelingGuidelines for the agile architectural designer by Scott Ambler.
 Architecture-Centric Software DevelopmentA brief paper describing architecture-centric software engineering. Software Architecture and Related ConcernsA brief discussion that addresses what software architecture is and is not
 
 pdf: The Software Architecture Process
 This paper explores not another architectural style, notation or analysis technique, but rather we present a generic view of the process of software "architecting", and the role software architecture plays within the software development organization.
 
 Handbook of Software Architecture Blog
 Worthwhile discussion of and commentary about resources, events and many other topics, some which are unrelated to SA.
 
 Video: Architectural Design
 Lecture series on software design. (59:27)
 
 Architecture Resources The SEI Software Architecture Home PageLinks to a wide array of software architecture resources.
 
 Software Architecture Resources
 Useful links to a variety of resources.
 
 The Software Architecture Portal
 Useful links to a variety of resources.
 
 Software Architecture Links-I
 Brad Appleton has assembled an extensive list of links on software architecture.
 
 Software Architecture Links-II
 A large collection of resources at Cetus links.
 
 Software Architecture Links-III
 Useful collect of SA links by Bredemeyer Consulting.
 
 IBM developerWorks - ArchitectureIBM has created a useful resource that explores a broad array of architectural design issues and tools. Recommended.
 Software Architecture Resource SitesA useful list of resource sites for software architecture.
 Tutorials, Articles, and Papers 
																	
																	Articles on Software ArchitectureArticle on Software Architecture from IBM
 "Architecture Paradox"Dr. Subrahmanyam describes his paper in the following manner: "The purpose of this article is to discuss "Architecture Paradox" and bring out the conflicting forces that influence the architecture over the life-time of software products and applications."
 The Technical Architecture Framework for Information ManagementTAFIM is a voluminous document that describes an architecture that "emphasizes integration, interoperability, flexibility, and efficiency through the development of a common, multi-purpose, standards-based technical infrastructure."
 Software Architectural Trade-Off AnalysisA method developed by the SEI. To quote: "Most complex software systems are required to be modifiable and have good performance. They may also need to be secure, interoperable, portable, and reliable. But for any particular system, what precisely do these quality attributes - modifiability, security, performance, reliability - mean? Can a system be analyzed to determine these desired qualities? How soon can such an analysis occur? How do you know if a software architecture for a system is suitable without having to build the system first? "
 Architecture AssessmentGuidelines developed by Grady Booch of Rational Corporation.
 pdf: Software Architecture Design DomainThis paper presents "a common set of key constructs [classes] that are present across widely varying domains, their placement in the architecture design domain and shows how they may be used to classify, select, and analyze proclaimed architectural design languages (ADLs).
 
 The Aspect-Oriented Software Architecture Design Portal
 Resources that are AOSD and SA specific.
 
 pdf: Architectural Blueprints-The "4+1" View Model of Software Architecture
 This article presents a model for describing the architecture of software-intensive systems, based on the use of multiple, concurrent views.
 
 Architectural Risk Analysis - References
 A paper bibliography (circa 2005) developed by DHS on risks associated with software architecture including heavy emphasis on security issues.
 
 Software Architecture Design Quality
 Pointers to a collection of downloadable papers by Jan Bosch.
 
 Software Architecture Quality Attributes
 Discussion and commentary (with useful pointers) at Brad Appleton's blog.
 
 Patterns(See also our Pattern-Based Design page for a more complete list)
 Design Patterns BibliographyBibliography (73 refs) of software design patterns.
 "The Elements of Pattern Style"A downloadable paper and related tutorial and resources.
 Domain Specific Architectural StylesDetailed discussion of domain specific architectural styles with a variety of useful examples.
 Books  The literature on software architecture has exploded over the past decade. Among the books that provide in-depth treatment of the subject are: Essential Software Architecture A Software Architecture Primer
  Software Systems Architecture
 Documenting Software Architecture: View and Beyond
 Pattern-Oriented Software Architectures, 2 volumes
 Design & Use of Software Architectures
 Software Architecture: Organizational Principles and Patterns
 Applied Software Architecture
 Software Architecture in Practice
 Software Architecture
 Software Product Lines: Practices and Patterns addresses the design of architectures that support software product lines.Evaluating Software Architectures considers the issues associate with the assessment of architectural alternatives and the selection of the best architecture for a given problem domain.
 
 Other books that consider architectural design issues from a patterns perspective are:
 
 Pattern-Oriented Software Architecture (2 volumes)
 Software Architecture Design Patterns in Java
 Patterns of Enterprise Application Architecture
 
 Implementation specific books on architecture address architectural design within a specific development environment or technology:
 
 Service-Oriented Architecture discusses a design approach that links business and computational resources with requirements defined by customers.
 Model-Driven Software Development
 discusses architecture within the context of domain-specific modeling approaches.
 Building Systems from Commercial Components presents methods for constructing component-based architectures.
 Architecture of Reliable Web Applications Software
  consider architectures that are appropriate for WebApps. 
 The following books provide detailed design guidelines for the CORBA distributed application support framework.
 
 COM and CORBA Side-by-Side
 CORBA Design Patterns
 Object Management Architecture Guide
 
 Protected Mode Software Architecture presents architectural design guidance for anyone designing PC-based real-time operating systems, multi-task operating systems, or device drivers.
 
 Data modeling is a prerequisite to good data design. The following books contain detailed presentations of data modeling notation, heuristics, and database design approaches:
 
 Database Modeling and Design
 Data Modeling for Information Professionals
 Data Modeling and Design for Today's Architectures
 The Data Model Resource Book
 An Introduction to Database Systems, 7/e
 The Data Modeling Handbook
 
 The design of data warehouses has become increasingly important in recent years and is discussed in the following books:
 
 Data Warehousing: Architecture and Implementation
 The Data Warehouse Lifecycle Toolkit
 
 General treatment of software design with discussion of architectural and data design issues can be found in most books dedicated to software engineering. More rigorous treatments of the subject can be found in:
 
 A Formalization of Design Methods
 Software Architecture and Design: Principles, Models and Methods
 Software Design
 
 Complete presentations of data flow-oriented design may be found in:
 
 Composite Structured Design
 Structured Design
 The Practical Guide to Structured Systems Design,
 
 
 |