0% found this document useful (0 votes)
731 views27 pages

Logical Architecture Diagram and UML Package Diagram

The document discusses logical architecture and UML package diagrams. It covers topics like logical architecture, software architecture, layers, and designing objects using static and dynamic modeling. It provides examples of using package diagrams to illustrate logical architecture and layering. Benefits of using layers in architecture like lower coupling, higher cohesion and reusability are also covered.

Uploaded by

Bk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
731 views27 pages

Logical Architecture Diagram and UML Package Diagram

The document discusses logical architecture and UML package diagrams. It covers topics like logical architecture, software architecture, layers, and designing objects using static and dynamic modeling. It provides examples of using package diagrams to illustrate logical architecture and layering. Benefits of using layers in architecture like lower coupling, higher cohesion and reusability are also covered.

Uploaded by

Bk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

LOGICAL ARCHITECTURE AND


UML PACKAGE DIAGRAM

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

TOPICS COVERED

 Logical Architecture
 UML Package Diagram

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 2
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

SOFTWARE ARCHITECTURE
 An architecture is the set of significant decisions
about the
 organization of a software system,
 the selection of the structural elements and their
interfaces by which the system is composed together
with their behavior as specified in the collaborations
among those elements.
 The composition of these structural and behavioral
elements into progressively larger subsystems and the
architectural style that guides this organization –these
elements and their interfaces their collaborations and
their composition

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 3
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

LOGICAL ARCHITECTURE

 Logical architecture:
 the large-scale organization of software classes into
packages, subsystems, and layers.
 “Logical” because no decisions about how these
elements are deployed across different operating
system processes or across physical computers in a
network
.

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 4
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

LAYERS
 A layer is a very coarse-grained grouping of
classes, packages, or subsystems that has
cohesive responsibility for a major aspect of the
system.
 Layers are organized such that "higher" layers
(such as the UI layer) call upon services of
"lower" layers, but not normally vice versa.
Typically layers in an OO system include:

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 5
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

CONTD..
 User Interface.
 Application Logic and Domain Objects software
objects representing domain concepts (for
example, a software class Sale) that fulfill
application requirements, such as calculating a
sale total.
 Technical Services general purpose objects and
subsystems that provide supporting technical
services, such as interfacing with a database
or error logging. These services are usually
application-independent and reusable across
several systems.

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 6
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


7 Design and iterative development”, Third Edition, Pearson Education, 2005
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

Example of logical architecture using a UML package diagram.

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


8 Design and iterative development”, Third Edition, Pearson Education, 2005
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

CONTD..
 Strict layered architecture
 Relaxed layered architecture

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 9
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy
CONNECTION BETWEEN SSDS, SYSTEM OPERATIONS
AND LAYERS
 In a well-designed layered architecture that supports high
cohesion and a separation of concerns, the UI layer objects
will then forward the request from the UI layer onto the
domain layer for handling.

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 10
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy
DESIGNING OBJECTS:
STATIC AND DYNAMIC MODELING.
 Two kinds of object models:
 Static models :
 Class diagrams / Package diagram / Deployment
diagram
Helps design definition of packages, class name, attributtes
and method signature
 Dynamic models:
 Interaction Diagrams/ (Sequence / communication).

State machine diagrams/activity diagram

Illustrate how objects collaborate via messages and


methods . They help design the logic and method
bodies

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 11
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

Agile modeling practice


Create Models in parallel!
Modeling with others

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 12
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

APPLYING UML PACKAGE DIAGRAMS


 These diagrams are used to illustrate the logical
architecture of a system
 A layer is UML package Ex:UI is a package

 It provides a way to group elements such as classes


other packages, usecases and so on.
 Packages can also be nested.

 Dependency between the packages are represented


with the help of dependency lines.

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 13
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

REVERSE ENGINEER PACKAGE DIAGRAMS FROM


CODE
 From the package diagram we can generate code..
Similarly we can do reverse engineering to generate
package diagram from the code.

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 14
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

DESIGN WITH LAYERS


 Why to use layers? Logical architecture has discrete
layers .Each layer has its own functions and
responsibilities.
 Lower layers are for general services and higher
layers are more application specific.
 coupling and collaboration is from higher layer to
lower layer

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 15
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

BENEFITS OF USING LAYERS


 Lower layer contains reusable services
 Separation between the layers reduces coupling
and dependencies, improves cohesion, increases
reuse potential and increases clarity.
 Except the technical layer other layers can be
replaced .Some layers can be distributed. It
supports logical segmentation

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 16
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

CONTD..
 The objects have to be assigned with its
responsibilities.
 The responsibilities of objects in one particular
layer should not be mixed with other layer.
 Package diagram will generate code

 From the code we can revert package diagram

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 17
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

RELATIONSHIP BETWEEN DOMAIN MODEL AND


DOMAIN LAYER

 Domain model is a visualization of domain


concepts.
 Domain layer is part of the software and the
domain model is part of the conceptual perspective
analysis.
 The domain layer helps as to achieve lower
representational gap between the real world
domain and the software design

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 18
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

TIERS LAYERS AND PARTITIONS


 Tier is layer
 Its not a physical node

 Layers are vertical slices

 Partition horizontal division

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 19
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

MODEL VIEW SEPARATION PRINCIPLE


 Model is the synonym for the domain layer of
objects
 View is a synonym for UI objects

 Model view principal states that model objects


should not have direct knowledge of view objects.
 The domain classes encapsulates the information
related to application logic.
 Window classes are thin, they are used for input
and output

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 20
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

MOTIVATION FOR MODEL VIEW SEPARATION

 To allow easy porting of the model layer to another


user interface
 To allow execution of a model layer independent of
user interface.
 To allow new views to be easily connected

 To allow multiple simultaneous views

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 21
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

UML PACKAGE DIAGRAMS


 UML packages for higher level structure than classes
 Denoted by box with smaller box on top

 Packages can be grouped in higher-order packages


 Packages may include packages
 Common package as <<global>> means all packages in system
have dependency to this one
 General package marked {abstract} means this package is
an interface, with subtypes

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

HIGHER ORDER PACKAGE FOR POS DOMAIN


Domain

Core/Misc Payments Products Sales

Authorization
Transactions

What does this higher order package contain?

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

CORE/MISC PACKAGE

Core/Misc

Store
Houses
Register Manager
address 1 1..*
name
1..*
1
Employs

Why call this package Core for the POS domain?

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy
A RICH PACKAGE
Payments

1 Authorizes-payments-of
1..*

Payment Core::Store AuthorizationService


ServiceContract
amount address
merchantID name
phoneNumber

Paid-by
Check
1
1
Check Credit
CashPayment Credit Check Authorized-by Authorization Authorization
Payment Payment 1
amountTendered
* Service Service
* * * * 1
Authorized-by
Logs 
Establishes- Establishes-
credit-for  identity-for 
Authorization Transactions::
1 1 1
PaymentAuthorizationReply
Accounts CreditCard DriversLicense
Receivable
expiryDate number
number - CheckPayments have
1
Identifies CheckPaymentReplies
1 1
Abused-by - CreditPayments have
Sales::Customer
1 CreditPaymentReplies

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Fig.
Design and iterative development”, Third 31.31Pearson Education, 2005
Edition,
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

PACKAGE DIAGRAM

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005
CS 6502 – Object Oriented Analysis and Design Sakthivel Velusamy

Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and


Design and iterative development”, Third Edition, Pearson Education, 2005 27

You might also like