Distributing responsibilities
Perhaps the greatest challenge in developing any system, but most especially in developing large, complex, systems of systems, is to ensure that all constraints on the system are met while still delivering the desired functionality. How we distribute functional responsibilities across both the logical and distribution entities is the third major theme of MDSD.
Two concepts are used in MDSD to facilitate this. The first is the use of what is called a joint realization table. The second is the use of localities.
Joint realization tables help us reason about functionality across a set of system
Localities help us reason about quality of service measures at a level of abstraction that promotes flexibility in eventual implementation. One of the temptations of Systems Engineering is to jump ahead to an implementation based on experience rather than explicit reasoning and design. Localities are intended to encourage explicit documentation of design decisions and
Essential list of artifacts:
Locality diagrams
Joint Realization tables
Deployment diagrams (design level and lower)
Prerequisites/required foundational concepts/languages
Basic familiarity with the Rational Unified Process is assumed, but is not strictly necessary to understand this book.
Iterative development is at the core of the Rational Unified Process. We assume that in any innovative,
The Rational Unified Process, and MDSD as an extension of it, are both use case driven. We discuss use cases in Chapter 3,
Defining the system context” on page 35, as a core part of MDSD, but we do not cover in detail how they can serve as the basis for effective iterative development; nor how to manage an iterative development project based on use cases.
20We do not discuss program or project management as such in this document. For the important role of iterative development, see Walker Royce, Software Project Management: A Unified Framework, and Kurt Bittner and Ian Spence, Managing Iterative Software Development Projects, (both cited in footnote 14).
Chapter 1. Introduction | 15 |