Software architecture and design illuminated için kapak resmi
Software architecture and design illuminated
Başlık:
Software architecture and design illuminated
ISBN:
9780763754204
Yayım Bilgisi:
Sudbury, Mass. : Jones and Bartlett Publishers, 2010.
Fiziksel Açıklamalar:
xiv, 387 s. : şkl. ; 24 cm
Dizi Bildirim:
Jones and Bartlett illuminated series
Genel Not:
Kaynakça var.

Table of Contents Preface 1 Introduction to Software Architecture 1.1 Overview 1.2 Software Architecture: Bridging Software Requirement and Software Implementation 1.3 Architectural Styles 1.4 Quality Attributes 1.5 Guidelines for Software Architectural Design 1.6 Summary 1.7 Self-Review Questions 2 Software Architecture Design Space 2.1 Overview 2.2 Types of Software Structures 2.2.1 Software Code Structure 2.2.2 Software Runtime Structure 2.2.3 Software Management Structure 2.3 Software Elements 2.4 Software Connectors 2.5 An Agile Approach to Software Architecture Design 2.6 Summary 2.7 Self-Review Questions 3 Models for Software Architecture 3.1 Overview 3.2 UML for Software Architecture 3.2.1 Structural Diagrams 3.2.2 Behavioral Diagrams 3.3 Architecture Views 3.4 Architectural Description Languages (ADL) 3.5 Summary 3.6 Self-Review Questions 3.7 Exercises 3.8 Design Exercises 4 Object Oriented Paradigm 4.1 Overview 4.2 Introducing Object Oriented Paradigm 4.2.1 Classes and Objects 4.2.2 Relationships 4.3 OO Analysis 4.3.1 Step 1: Design of UML Use Case Diagram 4.3.2 Step 2: Develop Analysis Class Diagram via Noun Extraction 4.4 OO Design 4.4.1 Step 1: Identify Classes - CRC Card 4.4.2 Step 2: Construct Interaction Diagram 4.4.3 Step 3: Build State Machine Diagram 4.4.4 Step 4: Class Specification 4.5 Design Principles 4.5.1 Principle of Decoupling 4.5.2 Ensuring Cohesion 4.5.3 Open-Closed Principle 4.6 Summary 4.7 Self-Review Questions 4.8 Exercises 4.9 Design Exercises 4.10 Challenging Exercises 5 Data Flow Architecture 5.1 Overview 5.2 Batch Sequential 5.3 Pipe & Filter Architecture 5.4 Process-Control Architecture 5.5 Summary 5.6 Self-Review Questions 5.7 Exercises 5.8 Design Exercises 6 Data Centered Software Architecture 6.1 Overview 6.2 Repository Architecture Style 6.3 Blackboard Architecture Style 6.4 Summary 6.5 Self-Review Questions 6.6 Exercises 6.7 Design Exercises 7 Hierarchy Architecture 7.1 Overview 7.2 Main/Subroutine 7.3 Master/Slave 7.4 Layered 7.5 Virtual Machine 7.6 Summary 7.7 Self-Review Questions 7.8 Exercises 7.9 Design and Exercises 8 Implicit Asynchronous Communication Software Architecture 8.1 Overview 8.2 Non-Buffered Event-Based Implicit Invocations 8.3 Buffered Message-Based Software Architecture 8.4 Summary 8.5 Self-Review Questions 8.6 Exercises 8.7 Design and Exercises 9 Interaction Oriented Software Architecture 9.1 Overview 9.2 Model-View-Controller(MVC) 9.2.1 MVC-I 9.2.2 MVC-II 9.3 Presentation-Abstraction-Control (PAC) 9.4 Summary 9.5 Self-Review Questions 9.6 Exercises 9.7 Design Exercises 10 Distributed Architecture 10.1 Introduction 10.2 Client/Server 10.3 Multi-tiers 10.4 Broker Architectural Style 10.4.1 Broker Implementation in Common Object Request Broker Architecture (CORBA) 10.4.2 Message Broker Architecture 10.5 Service-Oriented Architecture (SOA) 10.5.1 SOA Implementation in Web Services 10.5.2 SOA Implementation for Grid Service Computing 10.6 Summary 10.7 Self-Review Questions 10.8 Exercises 10.9 Design Exercises 11 Component-Based Software Architecture 11.1 Overview 11.2 What is a Component 11.3 Principles of Component-Based Design 11.3.1 Connections of Components 11.3.2 Component-Level Design Guidelines 11.4 Summary 11.5 Self-Review Questions 11.6 Exercises 11.7 Design Exercises 12 Heterogeneous Architecture 12.1 Overview 12.2 Methodology of Architecture Decision 12.3 Quality Attributes 12.4 Selection of Architectural Styles 12.5 Evaluation of Architecture Designs 12.6 Case Study: Online Computer Vendor 12.6.1 Overall Architecture Design of OCVS 12.6.2 Architecture Design of Order Processing Component 12.6.3 Architecture Design of Inventory Management 12.6.4 Architecture Design of Manufacture & Shipping Component 12.7 Summary 12.8 Self-Review Questions 12.9 Exercises 12.10 Design Exercises 12.11 Challenging Exercises 13 Architecture of Graphical User Interfaces 13.1 Overview 13.2 Evolution of User Interfaces 13.3 Look-and-Feel (Syntax) of User Interfaces 13.3.1 Static Style of User Interfaces 13.3.2 Dynamic Style of User Interfaces 13.3.3 Tailorable Style of User Interfaces 13.3.4 No User Interfaces 13.4 Usability (Semantics) of User Interfaces 13.5 Design Considerations of User Interfaces 13.6 Enabling Technology 13.6.1 Containers 13.6.2 Layout Managers 13.6.3 Major UI Components 13.6.4 Event Listeners 13.6.5 A Case Study 13.7 Direct Manipulation 13.8 Evaluation of User Interfaces 13.9 Summary 13.10 Self-Review Questions 13.11 Exercises 13.12 Design Exercises 14 Product Line Architectures 14.1 Overview 14.2 Introduction and Motivation 14.2.1 Software reuse and product lines 14.2.2 Methodologies, processes, and tools 14.3 Domain Engineering: Institutionalizing Software Reuse 14.3.1 Domain Analysis: Reference Requirements And Architectures 14.3.2 Domain Design: Design-For-Commonality And Control-Of-Variability 14.3.3 Domain Implementation: Configuration Model, Component Base. 14.3.4 Types of components 14.3.5 Heuristics 14.3.6 Software Technology for Systematic Reuse 14.3.7 Applications Engineering 14.4 Product Line Architectures (PLA) 14.4.1 Elements of a PLA 14.4.2 Costs and Benefits of Producing a PLA 14.4.3 Attribute-Driven Design Method 14.4.4 Process for Producing a PLA 14.5 A Product Line Analysis Example 14.5.1 WHY: mission and strategic goals 14.5.2 WHAT: Product Families 14.5.3 HOW: asset base 14.6 Summary 14.7 Self-Review Questions 14.8 Exercises 14.9 Design exercises Bibliography Index
Özet:
Table of Contents Preface 1 Introduction to Software Architecture 1.1 Overview 1.2 Software Architecture: Bridging Software Requirement and Software Implementation 1.3 Architectural Styles 1.4 Quality Attributes 1.5 Guidelines for Software Architectural Design 1.6 Summary 1.7 Self-Review Questions 2 Software Architecture Design Space 2.1 Overview 2.2 Types of Software Structures 2.2.1 Software Code Structure 2.2.2 Software Runtime Structure 2.2.3 Software Management Structure 2.3 Software Elements 2.4 Software Connectors 2.5 An Agile Approach to Software Architecture Design 2.6 Summary 2.7 Self-Review Questions 3 Models for Software Architecture 3.1 Overview 3.2 UML for Software Architecture 3.2.1 Structural Diagrams 3.2.2 Behavioral Diagrams 3.3 Architecture Views 3.4 Architectural Description Languages (ADL) 3.5 Summary 3.6 Self-Review Questions 3.7 Exercises 3.8 Design Exercises 4 Object Oriented Paradigm 4.1 Overview 4.2 Introducing Object Oriented Paradigm 4.2.1 Classes and Objects 4.2.2 Relationships 4.3 OO Analysis 4.3.1 Step 1: Design of UML Use Case Diagram 4.3.2 Step 2: Develop Analysis Class Diagram via Noun Extraction 4.4 OO Design 4.4.1 Step 1: Identify Classes - CRC Card 4.4.2 Step 2: Construct Interaction Diagram 4.4.3 Step 3: Build State Machine Diagram 4.4.4 Step 4: Class Specification 4.5 Design Principles 4.5.1 Principle of Decoupling 4.5.2 Ensuring Cohesion 4.5.3 Open-Closed Principle 4.6 Summary 4.7 Self-Review Questions 4.8 Exercises 4.9 Design Exercises 4.10 Challenging Exercises 5 Data Flow Architecture 5.1 Overview 5.2 Batch Sequential 5.3 Pipe & Filter Architecture 5.4 Process-Control Architecture 5.5 Summary 5.6 Self-Review Questions 5.7 Exercises 5.8 Design Exercises 6 Data Centered Software Architecture 6.1 Overview 6.2 Repository Architecture Style 6.3 Blackboard Architecture Style 6.4 Summary 6.5 Self-Review Questions 6.6 Exercises 6.7 Design Exercises 7 Hierarchy Architecture 7.1 Overview 7.2 Main/Subroutine 7.3 Master/Slave 7.4 Layered 7.5 Virtual Machine 7.6 Summary 7.7 Self-Review Questions 7.8 Exercises 7.9 Design and Exercises 8 Implicit Asynchronous Communication Software Architecture 8.1 Overview 8.2 Non-Buffered Event-Based Implicit Invocations 8.3 Buffered Message-Based Software Architecture 8.4 Summary 8.5 Self-Review Questions 8.6 Exercises 8.7 Design and Exercises 9 Interaction Oriented Software Architecture 9.1 Overview 9.2 Model-View-Controller(MVC) 9.2.1 MVC-I 9.2.2 MVC-II 9.3 Presentation-Abstraction-Control (PAC) 9.4 Summary 9.5 Self-Review Questions 9.6 Exercises 9.7 Design Exercises 10 Distributed Architecture 10.1 Introduction 10.2 Client/Server 10.3 Multi-tiers 10.4 Broker Architectural Style 10.4.1 Broker Implementation in Common Object Request Broker Architecture (CORBA) 10.4.2 Message Broker Architecture 10.5 Service-Oriented Architecture (SOA) 10.5.1 SOA Implementation in Web Services 10.5.2 SOA Implementation for Grid Service Computing 10.6 Summary 10.7 Self-Review Questions 10.8 Exercises 10.9 Design Exercises 11 Component-Based Software Architecture 11.1 Overview 11.2 What is a Component 11.3 Principles of Component-Based Design 11.3.1 Connections of Components 11.3.2 Component-Level Design Guidelines 11.4 Summary 11.5 Self-Review Questions 11.6 Exercises 11.7 Design Exercises 12 Heterogeneous Architecture 12.1 Overview 12.2 Methodology of Architecture Decision 12.3 Quality Attributes 12.4 Selection of Architectural Styles 12.5 Evaluation of Architecture Designs 12.6 Case Study: Online Computer Vendor 12.6.1 Overall Architecture Design of OCVS 12.6.2 Architecture Design of Order Processing Component 12.6.3 Architecture Design of Inventory Management 12.6.4 Architecture Design of Manufacture & Shipping Component 12.7 Summary 12.8 Self-Review Questions 12.9 Exercises 12.10 Design Exercises 12.11 Challenging Exercises 13 Architecture of Graphical User Interfaces 13.1 Overview 13.2 Evolution of User Interfaces 13.3 Look-and-Feel (Syntax) of User Interfaces 13.3.1 Static Style of User Interfaces 13.3.2 Dynamic Style of User Interfaces 13.3.3 Tailorable Style of User Interfaces 13.3.4 No User Interfaces 13.4 Usability (Semantics) of User Interfaces 13.5 Design Considerations of User Interfaces 13.6 Enabling Technology 13.6.1 Containers 13.6.2 Layout Managers 13.6.3 Major UI Components 13.6.4 Event Listeners 13.6.5 A Case Study 13.7 Direct Manipulation 13.8 Evaluation of User Interfaces 13.9 Summary 13.10 Self-Review Questions 13.11 Exercises 13.12 Design Exercises 14 Product Line Architectures 14.1 Overview 14.2 Introduction and Motivation 14.2.1 Software reuse and product lines 14.2.2 Methodologies, processes, and tools 14.3 Domain Engineering: Institutionalizing Software Reuse 14.3.1 Domain Analysis: Reference Requirements And Architectures 14.3.2 Domain Design: Design-For-Commonality And Control-Of-Variability 14.3.3 Domain Implementation: Configuration Model, Component Base. 14.3.4 Types of components 14.3.5 Heuristics 14.3.6 Software Technology for Systematic Reuse 14.3.7 Applications Engineering 14.4 Product Line Architectures (PLA) 14.4.1 Elements of a PLA 14.4.2 Costs and Benefits of Producing a PLA 14.4.3 Attribute-Driven Design Method 14.4.4 Process for Producing a PLA 14.5 A Product Line Analysis Example 14.5.1 WHY: mission and strategic goals 14.5.2 WHAT: Product Families 14.5.3 HOW: asset base 14.6 Summary 14.7 Self-Review Questions 14.8 Exercises 14.9 Design exercises Bibliography Index
Ek Yazar: