Systems Analysis II Package and Deployment Diagrams - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Systems Analysis II Package and Deployment Diagrams

Description:

to indicate their purpose fa ade to indicate the fa ade pattern is being implemented with ... Intranet servers. Security servers. File servers, etc. INFO ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 23
Provided by: gle9
Category:

less

Transcript and Presenter's Notes

Title: Systems Analysis II Package and Deployment Diagrams


1
Systems Analysis IIPackage and Deployment
Diagrams
  • INFO 355
  • Glenn Booker

2
Packages
  • Classes are the most basic logical element in an
    OO system
  • We need a way to group related classes into
    larger structures
  • A Package can contain classes, other packages, or
    a combination of the two

3
Packages
  • Packages can therefore have a large scope (e.g.
    entire subsystems)
  • In writing, a double colon separates a package
    name from its contents
  • Packageotherpackageclassname

4
Package Diagram
  • The Package Diagram can be very helpful in
    understanding the architecture of a system
  • What are the big pieces of this system?
  • Defining connections among packages also helps
    encourage higher modularity for each package

5
Packages
  • In a diagram, a package may be just a tabbed
    folder
  • Or a package can list its contents (classes
    and/or packages)

(this was done manually in Visio)
6
Packages
  • The smallest packages can be drawn large enough
    to include the class diagram they contain

(also done manually)
7
Packages
  • If showing a class diagram within a package, can
    show connection to other packages by using the
    fully qualified name of the class in another
    package
  • See also the ltltsystemgtgt stereotype

8
Package Diagram
  • Packages can contain both packages and classes
  • Dashed lines show direction of dependency

9
Package Dependencies
  • For additional refinement, dependencies can be
    labeled with various stereotypes, such as
  • Call
  • Instance
  • Copy
  • Derived
  • Send
  • Import

10
Package Generalization
  • Generalization can be shown with packages, not
    just classes
  • Might be used in implementation to distinguish
    among different kinds of similar interfaces, for
    example

11
Packages
  • It is possible to have classes with identical
    names in different packages
  • CustomerPerson
  • ClientPerson
  • You might want this to reuse non-primitive data
    type classes

12
Package Stereotypes
  • Packages can specify stereotypes to indicate
    their purpose
  • ltltfaçadegtgt to indicate the façade pattern is
    being implemented with this package
  • ltltsystemgtgt to indicate the package represents an
    external system

13
Package Stereotypes
  • ltltstubgtgt could represent a package which isnt
    going to be implemented yet, but is a placeholder
  • ltltframeworkgtgt represents a commercial development
    framework

14
Package Visibility
  • Packages can have the same visibility
    characteristics as any class, method, or
    attribute
  • Public
  • Private
  • Protected
  • This doesnt show on its symbol

15
Deployment Concept
  • Keep the typical 3-tier architecture in mind,
    when trying to define the contents of packages
  • The physical tiered structure of
  • Web server / app server / data server
  • Corresponds nicely to the MVC design pattern
  • M(data) V(web) C(app)

16
Deployment Concept
  • Your system might be simpler, or more complex
    than 3-tier
  • Large systems may have specialized servers for
    each type of application
  • Data mining servers
  • Intranet servers
  • Security servers
  • File servers, etc.

17
Deployment Concept
  • So your systems approach for collecting classes
    into packages, and where those packages become
    executable code, should be consistent
  • Can define the scope of packages so they will
    each be implemented on a single type of server,
    e.g. may group classes into packages by MVC type

18
Deployment Diagram
  • The deployment diagram is the only UML diagram
    specifically for the PHYSICAL implementation of
    a system
  • The deployment diagram shows nodes connected by
    communication paths

19
Nodes
  • A node is some physical environment which can run
    software
  • A device is a piece of hardware which runs
    software
  • An execution environment is software which hosts
    other software, such as an operating system
  • Nodes contain the artifact files (exe, dll, jar,
    scripts, data, HTML)

20
Nodes
  • Nodes can simply list the artifacts within them,
    or show a simple diagram to indicate the
    connections between artifacts
  • Additional properties can be added in brackets
    , though this isnt part of the UML standard
  • vendoraa, OSbb, servercc

21
Nodes
  • Visio allows editing the name, and adding
    comments to a node
  • Can resize the node, and superimpose the artifact
    names manually

22
Communication Paths
  • The communication path between nodes is a plain
    line with a label
  • The label shows the protocol or type of messages
    sent over the path, a front slash /, then the
    type of network connection
  • http/Internet, MILSTRIP/LAN
  • Paths within a node dont need to show the type
    of connection
  • Just the protocol JDBC, ODBC
Write a Comment
User Comments (0)
About PowerShow.com