4+1 Architecture View Model

Our architectural model is the UML model and is well described in:
The UML User Guide by Booch, Rumbaugh, Jacobson
(see pages 32-34 and Chapter 31)

Software Architects should read this quote from Chapter 31 every day:
Understand that you don't ever create a system's architecture in one big-bang event. Rather, a well-structured process involves the successive refinement of a system's architecture in a manner that is use case-driven, architecture-centric and iterative and incremental.
For CSC 402/405/406 projects, the views model these specifics:
  1. Design View
    A model of the major classes, interfaces and 3rd party packages.
    There is a separate model for each program.

  2. Implementation View
    A model of the product packages and the relationships between those packages.

  3. Process View
    A model of the architectural style for the product.

  4. Deployment View
    A model of the physical components in the solution?
    Computers, programs, run-time libraries, external interfaces, ...

  5. Use Case View
    A model of the user's perspective of the system; what will the system do?


4+1 View
CSC 402/405/406 team decisions applicable UML Diagram
Design View
What are the major classes and their relationships?
What are the major 3rd party components in our design?
Class diagram and (possibly) component diagram
Implementation View
What are the packages, and relationships between packages, in our design?
Component diagram showing packages
Process View
Are we building a Web app or a client-server app?
Are any of our programs multi-threaded?
If no multi-threading, the deployment view can suffice.
If multi-threading, see Chapter 22 of The UML User Guide
Deployment View
What DBMS are we using?
What is our architectural style?
What does input data come from? How is it transferred?
What computers will we run on?
How is data transferred between computers? (both physically and logically)
What programs and run-time libraries are we building/using?
Deployment Diagram
Use Case View
What are the user goals? Use Case Diagram or Data Flow Diagram (not UML)

Adapted from Dan Stearns
Last updated on 11/1/06