Presentation is loading. Please wait.

Presentation is loading. Please wait.

Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,

Similar presentations


Presentation on theme: "Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,"— Presentation transcript:

1 Logical Architecture and UML Package Diagrams

2 The logical architecture is the large-scale organization of the software classes into packages, subsystems, and layers. It will not represents how the elements are deployed across different operating system processes or across physical computers in a network.

3 Logical Architecture and UML Package Diagrams Layer A layer is a method of grouping of classes, packages, or subsystems of the system. Layers in an OO system which include: 1) User Interface. 2) Application Logic and Domain Objects – software objects representing domain concepts that fulfill application requirements, such as calculating a sale total 3) Technical Services – General purpose objects and subsystems that provide supporting technical services, such as interfacing with a database or error logging.

4 UML Package Diagrams UML package diagrams are used to illustrate the logical architecture of a system. A layer can be modeled using UML package; for example, the UI layer modeled as a package named UI. A UML package diagram provides a way to group elements. A UML package can group anything: classes, other packages, use cases, and so on.

5 UML Package Diagrams The package name may be placed on the tab The package shows inner members, Dependency line communicate coupling between packages or types in packages. The UML dependency line is used for this, A dashed arrowed line with the arrow pointing towards the depended-on package. The UML provides alternate notations to illustrate outer and inner nested packages

6 UML Package Diagrams Another common use of a package diagram is to hide the specific types, and focus on illustrating the package-package coupling, as in the partial diagram

7 UML Package Diagrams

8 Package diagrams show only static information. To understand the dynamics of how objects across the layers connect and communicate, an interaction diagram is used. Interaction diagram collaborations cross layer and package boundaries. For example, illustrates part of a Process Sale scenario that represents the connection points across the layers and packages.

9 UML Package Diagrams

10 Problems of Layering Systems Source code changes are reflect throughout the system. Many parts of the systems are highly coupled. Application logic is interconnected with the user interface, so it cannot be reused with a different interface. General technical services or business logic is interconnected with more application-specific logic, so it cannot be reused, distributed to another node, or easily replaced with a different implementation. There is high coupling across different areas. It is thus difficult to divide the work along clear boundaries for different developers.

11 Domain Layer vs. Application Logic Layer in Domain Object A typical software system has UI logic and application logic, such as GUI and tax calculations. Now, here's a key question: How do to design the application logic with objects? We could create one class called XYZ and put all the methods, for all the required logic, in that one class. It could technically work but it is not the recommended approach in the of OO thinking. So, what is the recommended approach?

12 Domain Layer vs. Application Logic Layer in Domain Object Answer: To create software objects with names and information similar to the real-world domain, and assign application logic responsibilities to them. For example, in the real world of POS, there are sales and payments. So, in software, we create a Sale and Payment class, and give them application logic responsibilities. This kind of software object is called a domain object. It represents a thing in the problem domain space, and has related application or business logic, for example, a Sale object being able to calculate its total.

13 Domain Layer vs. Application Logic Layer in Domain Object 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 to handle application logic work

14 Definition: Tiers, Layers, and Partitions The original notion of a tier in architecture was a logical layer, not a physical node, But it is widely used to mean a physical processing node, such as the "client tier" (the client computer). The layers of an architecture are said to represent the vertical slices. partitions represent a horizontal division of parallel subsystems of a layer.

15 Connection between SSDs, System Operations, and Layers During analysis work, some SSDs are created. To Identify input events from external actors into the system, calling upon system operations such as makeNewSale and enterItem. The SSDs illustrate these system operations, but hide the specific UI objects. Normally it will be objects in the UI layer of the system that capture these system operation requests, usually with a client GUI or Web page. UI layer objects will forward the request from the UI layer to the domain layer for handling.

16 Object Design Three ways to develop object design Code. Design-while-coding. From mental model to code Draw, then code. Drawing some UML on a whiteboard or UML CASE tool, then switching to a text-strong IDE (e.g., Eclipse or Visual Studio). Only draw. Somehow, the tool generates everything from diagrams.

17 Object Design There are two kinds of object models: Dynamic and Static. Dynamic models, such as UML interaction diagrams help design the logic, the behavior of the code or the method bodies. Static models, such as UML class diagrams, help design the definition of packages, class names, attributes, and method signatures (but not method bodies).


Download ppt "Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,"

Similar presentations


Ads by Google