4+1 View of Architecture

The creators of UML and Philippe Kruchten, speak of a 4+1view of architecture in terms of:

  • a development/component view
  • a deployment/physical view
  • an implementation/logical view
  • a process/concurrency view
  • and a scenarios/contextual view (+1) that cuts across the other 4.
Tu and Godfrey speak of a build-time view of software architecture. I've often felt that the 4+1 view could be mapped to an SCM architecture (that included people, process and tools) of:
  • product structure+dependencies (e.g. directory+build structure)
  • development environment (infra)structure+dependencies (workspaces and repositories, computing resources, ...)
  • SCM process structure+dependencies (roles, responsibilities, etc.)
  • evolution or change-flow (e.g. project-wide version tree) structure+dependencies
  • and project-mgmt structure+dependencies (the +1) that track issues/requests, status, reports, etc. across the other 4

In other words, I am basically mapping the following from RUP:

  1. Logical View (class/object hierarchies & relationships)
  2. Implementation View (Physical - files and "components")
  3. Process View (Concurrency/Scheduling/Synchronization)
  4. Deployment View (processors, host/operating platform, runtime environment)
  5. ("+1"). Scenarios (Use Cases)

Into the following for SCM "Architecture":

  1. Change-Flow/Evolution View (logical view of change requests/tasks and their workflows [e.g. states and transitions], and relationships to change-sets, baselines, releases, variants)
  2. Product View (Like the RUP Implementation/Physical View of files/modules, build dependencies/structure and other build/package mgmt concerns)
  3. Project View (planning/scheduling and integration/coordinating of efforts and changes - which may occur in parallel)
  4. Environment View (the SCM+engineering environment including repositories and databases and the underlying hardware/network resources and their relationships in supporting the SCM functions of identification, control, accounting, and audit+review)
  5. ("+1"). Process View (here I mean the overall engineering/software process - that ties everything to a process "actor" and process need/use-case)

-- BradAppleton? - 26 Jan 2003 (revised 29 Nov 2003)

Extracted from GenericSemantics by MarcGirod - 30 Jan 2003



EditAttachPrint versionHistory: r4 < r3 < r2 < r1BacklinksRaw ViewRaw editMore topic actions