Mark As Completed Discussion

One Pager Cheat Sheet

  • This lesson provides an overview of key software architectural patterns and design structures, which has been republished with permission from Nishant Sharma.
  • This article summarizes six Architectural Patterns, including the Layered pattern, Shared-data (or repository) pattern, Microkernel, Client-server pattern, Multi-tier pattern and Microservices, to explain how components and connectors create and access persistent data.
  • Architects design module, component-and-connector, and allocation structures.
  • The module structures useful for breaking down a program's design include Decomposition, Uses, Layer, Class, and Data Model structures.
  • The Service structure enables interoperability through service coordination mechanisms like SOAP, while the Concurrency structure provides opportunities for parallelism and helps identify contention points.
  • The Deployment structure maps software to hardware, the Implementation structure assigns modules to a file structure, and the Work assignment structure assigns teams responsibility for implementing and integrating the modules.
  • Software architecture is the high-level design of a software system, while software design is more focused on implementation details.
  • The key approaches to consider when talking about Architecture in a Project Life-Cycle Context are Waterfall, Iterative, Agile, and Model-driven development.
  • SOAP and its associated WS* standards provide an infrastructure for service composition, transactions, service discovery, and reliability for distributed applications.