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:
- Logical View (class/object hierarchies & relationships)
- Implementation View (Physical - files and "components")
- Process View (Concurrency/Scheduling/Synchronization)
- Deployment View (processors, host/operating platform, runtime environment)
- ("+1"). Scenarios (Use Cases)
Into the following for SCM "Architecture":
- 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)
- Product View (Like the RUP Implementation/Physical View of files/modules, build dependencies/structure and other build/package mgmt concerns)
- Project View (planning/scheduling and integration/coordinating of efforts and changes - which may occur in parallel)
- 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)
- ("+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
Edit •
Attach •
Print version •
History: r4 < r3 < r2 < r1 •
Backlinks •
Raw View •
Raw edit •
More topic actions