1 / 10

Exploring Logical Architecture: Layers, Packages, and Organization

This chapter delves into the organization of classes, packages, and subsystems in software architecture, focusing on the application layer. It discusses the use of UML package diagrams, layer design, and the benefits of separating concerns. Understanding the domain layer versus the application layer is essential.

dsterner
Download Presentation

Exploring Logical Architecture: Layers, Packages, and Organization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 13 Logical Architecture

  2. Logical Architecture • Large-scale organization of classes • Packages - • Subsystems • Layers • Tools - UML package diagrams

  3. Layer • Coarse grained • Cohesive responsibility • E.g. User Interface or common services • Strict or relaxed • What are the pros and cons of each? • This class focuses on one layer – application (or domain) layer.

  4. Software Architecture • Many definitions – fuzzy concept • “a set of significant decision about the organization of a software system.” • The framework or structure. • Key aspect: Large scale, big ideas • Motivation • Constraints • Organization • Patterns • Responsibilities • Connections

  5. Design with Layers • Organize layers using related responsibilities • Collaboration and Coupling • The Layers Pattern

  6. Why? • Separation of concerns • Encapsulate complexity • Eliminate inter-twined code • Features and fixes are contained • Replaceable layer • Reusable function • Team organization Up-front investment reduces maintenance costs.

  7. Domain layer vs. Application Layer • Application layer organization • Create domain objects that encapsulate application logic (Domain Layer) • “Create software objects with names and information similar to the real-world domain and assign application logic responsibilities to them.” • Domain layer != Domain model • “Designing objects this way leads to the application logic layer being more accurately called the domain layer of the architecture – the layer that contains domain objects.” • Lowers the representational gap.”

  8. Terminology • Tier - current usage: physical nodes • Layers • Partitions - parallel division of layers • See Figs 13.6 and 13.7

  9. SSD, System Operations, Layers • When there is a UI layer: • SSD shows operations to the UI Layer • Do not couple UI objects directly to application/domain objects. • Do not put application data into UI objects. • Model (domain) vs UI (view) separation.

  10. Summary • Separation into layers is a common first step • In Architecture centric design, this flows from the software architecture

More Related