|
Description: The SE 2004 of the ACM/IEEE computing curriculum project recommends software design and architecture as one of its ten essential areas of study. Software Architecture and Design Illuminated is the ideal text for undergraduate and graduate students delving into this critical area of the software development process. This text offers a coherent and integrated approach to the discipline of software architectural design and covers a complete set of important methodologies, architectural styles, design guidelines, and design tools. JavaTM is used throughout the book to explain design principles and present case studies. Review questions, exercises, and design assignments round out most chapters and allow students to test themselves on key material
Key Features Include:
· Provides complete example with pseudocode, comprehensive design guidelines, and detailed diagrams to assist in the learning process.
· Incorporates the architecture and implementation of web-centered systems.
· Follows a complete case study, from architecture to implementation, throughout the text.
· Includes a final chapter titled “Product Line Architectures” written by Jorge L. Diaz-Herrera, Dean of the B. Thomas Golisano College of Computing and Information Science at Rochester Institute of Technology
· End-of-chapter study aids and exercises allow students to test themselves on key material and reinforce important concepts.
Contents: Chapter 1: Introduction to Software Architecture • Overview • Software Architecture: Bridging Requirements and Implementation • Architecture Styles • Quality Attributes • Software Architecture Design Guidelines • Summary • Self- Review Questions • Chapter 2: Software Architecture Design Space • Overview • Types of Software Structures: Software Static Structure • Software Runtime Structure • Software Management Structure • Software Elements • Software Connectors • An Agile Approach to Software Architecture Design • Summary • Self-Review Questions • Exercises • Design Exercises • Chapter 3: Models for Software Architecture • Overview • UML for Software Architecture • Structural Diagrams • Behavioral Diagrams • Architecture View Models: The Scenario View • The Logical or Conceptual View • The Development or Module View • The Process View • The Physical View • The User Interface View • Architecture Description Languages (ADL) • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercises • Chapter 4: Object-Oriented Paradigm • Overview • Introducing the Object-Oriented Paradigm: Classes and Objects • Relationships • OO Analysis: Step 1: Design of a UML Use Case Diagram • Step 2: Develop an Analysis Class Diagram via Noun Extraction • OO Design: Step 1: Identify Classes-CRC Card • Step 2: Construct an Interaction Diagram • Step 3: Build a State Machine Diagram • Step 4: Class Specification • Design Principles: Principle of Decoupling • Ensuring Cohesion • Open-Closed Principle • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercises • Chapter 5: Data Flow Architectures • Overview • Batch Sequential • Pipe and Filter Architecture • Process Control Architecture • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercises • Chapter 6: Data-Centered Software Architecture • Overview • Repository Architecture Style • Blackboard Architecture Style • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercise • Chapter 7: Hierarchical Architecture • Overview • Main-Subroutine • Master-Slave • Layered • Virtual Machine • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercises • Chapter 8: Implicit Asynchronous Communication Software Architecture • Overview • Nonbuffered Event-Based Implicit Invocations • Buffered Message-Based Software Architecture • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercise • Chapter 9: Interaction-Oriented Software Architectures • Overview • Model-View-Controller (MVC) : MVC-I • MVC-II • Presentation-Abstraction-Control (PAC) • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercises • Chapter 10: Distributed Architecture • Overview • Client -Server • Multi-tiers • Broker Architecture Style: Broker Implementation in the Common Objec Request Broker Architecture (CORBA) • Message Broker Architecture • Service-Oriented Architecture (SOA): SOA Implementation in Web Services • SOA Implementation for Grid Service Computing • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercise • Chapter 11: Component-Based Software Architecture • Overview • What Is a Component? • Principles of Component-Based Design: Connections of Components • Component-Level Design Guidelines • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercises • Chapter 12: Heterogeneous Architecture • Overview • Methodology of Architecture Decision • Quality Attributes • Selection of Architecture Styles • Evaluation of Architecture Designs • Case Study: Online Computer Vendor: Overall Architecture Design of OCVS • Architecture Design of Order Processing Component • Architecture Design of Inventory Management • Architecture Design of Manufacture and Shipping Component • Summary • Self-Review Questions • Exercises • Design Exercises • Challenge Exercises • Chapter 13: Architecture of User Interfaces • Overview • Evolution of User Interfaces • Look and Feel (Syntax) of User Interfaces: Static Style of User Interfaces • Dynamic Style of User Interfaces • Customizable Style of User Interfaces • No User Interfaces • Usability (Semantics) of User Interfaces: Design Considerations of User Interfaces • Enabling Technology : Containers • Layout Managers • Major UI Components • Event Listeners • A Case Study • Direct Manipulation • Evaluation of User Interfaces • Summary • Self-Review Questions • Exercises • Challenge Exercises • Chapter 14: Product Line Architectures • Overview • Introduction and Motivation • Software Reuse and Product Lines • Methodologies, Processes, and Tools • Product Line Engineering: Design-for-Reuse • Product Development: Design-with-Reuse: Product Line Analysis: Domain Models • Product Line Design: Design-for-Commonality and Control-of- Variability • Product Line Implementation: Configuration Model and Componentbase • Heuristics • Software Technology for Systematic Reuse • Sample Product Line Analysis: WHY: Mission and Strategic Goals • WHAT: Product Families • HOW: Asset Base • Ultra-Large-Scale Systems • Summary • Self- Review Questions • Exercises • Design Exercises. ISBN - 9789380108513
|
|
Pages : 404
|