More UML Diagrams


Package Diagrams

Relevant for medium to large size systems

Shows how classes are grouped into packages

Shows relationsships between packages (eg. one package imports another)

If one package depends on another, if the parent is changed, the child also needs to be re-compiled


Sequence Diagrams

Created for use case

  • Multiple sequence diagrams for one use case show steps of different paths through the use case

Shows objects involved in the behaviour

Models sequence of events (interaction between objects)

  • wWhich methods are called, arguments that are passed

Organized along time flow - from top to bottom

Flow must be from one object to another - actions are caused by some other action

Besauce there are so many use cases, sequence diagrams should only be modeled when there is confusion in how the system needs to be constructed

AgileModeling.com

Steps to Build a Sequence Diagram

  1. Set the context
  2. Identify which objects will participate
  3. Set the lifeline for each object
  4. Lay out the messages from top to bottom of the diagram based on the order in which they are sent
  5. Add execution occurance to each object's lifeline
  6. Validate teh sequence diagram

Collaboration Diagram

Same information as sequence diagrams, but focused on objects' interaction rather than time sequencing

Time flow represented by numbering of messages

Collaboration diagram can usually be automatically generated from sequence diagram and vice-versa

For example: stackoverflow.com


State Transition Diagram

Is modeled after one object

Created for objects that exhibit non-trivial behaviour

Shows changes of object's states over time

State changes are triggered by events

May also show action that accompany state change

For example: agilemodeling.com

The State Transition Diagram applies to only one object

Only events that significantly change object state are included

Only classes with significant behaviour have states

State is a time-span between 2 events

State variables = properties of the object

Events trigger state transitions

Actions = object's response to transitions


Component Diagram

Component Diagrams show the physical design of software components, interfaces and ports

An example: uml-diagrams.org


Deployment DIagram

Deployment Diagram shows physical nodes and components that run these nodes

For example: agilemodeling.com


Information System Architecture

Client / Server Architecture

Client functions:

  • Formatting and display
  • Data entry and transmission to server
  • Query building

Server functions:

  • Processing requests from many clients
  • Locking, sharing
  • Load balancing (distribute the work - don't overload the server)
  • Transaction processing

Both the client and server will validate the users data.


Multi-Tiered Architecture

Model-View-Controller - MVC

Presentation Layer

  • Thin client
  • Validation

Business Layer

  • Processing logic
  • Validation

Data Layer

  • Data Processing
  • Validation

Additional layers, eg. middleware