Runtime scenarios show (document or specify) the interaction of building blocks or their instances. You should always use elements from your building block view (or their runtime counterparts, like instances of classes) within these scenarios. They describe how the system fulfills certain responsibilities or tasks, what building blocks are involved.

Please contrast those runtime scenarios with required functions: Those describe a required process or sequence of steps that the system somehow needs to execute or perform (but regardless what element of the systems actually does it).

It’s an important architecture task to map from the latter (requirements) to the building blocks. In other words: You need to assign responsibilities to your building blocks.

For this mapping you have several options:

  • UML sequence diagrams, which immediately show the mapping of activities to building blocks (see tip (sequence diagrams)).
  • Activity diagrams or flowcharts with swimlanes showing this mapping.
  • Textual descriptions or numbered lists: There you have to manually care for the mapping…