Sei sulla pagina 1di 22

Architectural Documentation

• Graphical (views) and textual


• Kruchten's 4+1 Views
– Philippe B. Kruchten. "The 4+1 View Model of
Architecture." IEEE Software, 12(6):42-50, November
1995
– Logical, developmental, process, physical,
use case
• Other useful information
– Features, non-functional requirements, bug
reporting, context, utility

5/18/2007  2007, Spencer Rugaber 1


Logical View
• Structural breakdown of computational,
communicational and behavioral
responsibilities
• Diagrams:
– Box and arrow
– Components and connectors (ADLs)
– UML Class model diagram
– UML Interaction Overview diagram
– UML Collaboration diagram
5/18/2007  2007, Spencer Rugaber 2
Developmental View
• Units of source code
– Packages, classes, subsystems, libraries, files
• Diagrams
– UML Package diagram
– UML Component diagram
– CVS modules

5/18/2007  2007, Spencer Rugaber 3


Class Diagram with Packages

5/18/2007  2007, Spencer Rugaber 4


Package Diagram

5/18/2007  2007, Spencer Rugaber 5


Component
Diagram

5/18/2007  2007, Spencer Rugaber 6


Process View
• Processes and threads into which
execution is divided
• Diagrams
– UML Deployment diagram

5/18/2007  2007, Spencer Rugaber 7


Example
Deployment
Diagram

5/18/2007  2007, Spencer Rugaber 8


Physical View
• Machines used for system execution and
how processes are allocated to them
• Diagrams
– UML Deployment diagram
– UML Sequence diagram

5/18/2007  2007, Spencer Rugaber 9


Example
Sequence
Diagram

5/18/2007  2007, Spencer Rugaber 10


Use Case View
• Important execution sequences from the
external actors' points of view
• Diagrams
– UML Use Case diagram
– UML Communication (Collaboration) diagram
– UML Sequence diagram
– UML Activity diagram
– Structured text

5/18/2007  2007, Spencer Rugaber 11


Example Use Case Diagram
Update
Set Limits
Accounts

Accounting
System
Analyze Risk
Trading Manager
<<
us
es
>>

Price Deal <<uses>> Valuation

Trader

Capture Deal
<<extends>>

Limits Exceeded Salesperson

5/18/2007  2007, Spencer Rugaber 12


Equivalent
Collaboration
Diagram

5/18/2007  2007, Spencer Rugaber 13


Example
Activity
Diagram

5/18/2007  2007, Spencer Rugaber 14


Feature View
• Conceptual units from the user's point of
view
• Diagrams
– Feature diagram
– Inter-feature constraints

5/18/2007  2007, Spencer Rugaber 15


Example
Car

Car Body Transmission Engine Pulls Trailer

Automatic Manual Electric Gasoline

5/18/2007  2007, Spencer Rugaber 16


Notation
• Mandatory features:

• Optional features:

• Alternative features:
– Choose exactly one

• Or features:
– Choose a subset
5/18/2007  2007, Spencer Rugaber 17
Non-Functional View
• How non-functional requirements affect
the software architecture
– Explicit tradeoffs
• Tabular text

5/18/2007  2007, Spencer Rugaber 18


Bug Reporting
• Units to which bugs are allocated
– Consequences with respect to Developmental
view
– Consequences with respect to Feature view
• Bugzilla components

5/18/2007  2007, Spencer Rugaber 19


Context View
• Relationship of a system to its
environment
– External actors, events and percepts
• (Data flow) Context diagram

5/18/2007  2007, Spencer Rugaber 20


Context Diagrams
• The top level data flow diagram is called the
context diagram
• It contains exactly one process node denoting the
overall function of the system

Human
Moves

Human Play
Opponent Chess
Machine
Moves

Board
Drawings

5/18/2007  2007, Spencer Rugaber 21


Utility View
• Supporting software
– Installation scripts
– Log file analysis
– Statistical processing
• Tabular text

5/18/2007  2007, Spencer Rugaber 22

Potrebbero piacerti anche