IBM SG24-7368-00 manual Prerequisites/required foundational concepts/languages

Models: SG24-7368-00

1 224
Download 224 pages 36.08 Kb
Page 31
Image 31

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 viewpoints—logical, distribution, data, process, and worker, for example.

￿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 trade-offs. They can form the basis for trade studies in the trade space.

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, high-risk project (and what new systems development project is not, in one way or another?) some form of iterative development will be used because it is a major risk reducer.20

The Rational Unified Process, and MDSD as an extension of it, are both use case driven. We discuss use cases in Chapter 3, “Black-box thinking:

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

Page 31
Image 31
IBM SG24-7368-00 manual Prerequisites/required foundational concepts/languages, Distributing responsibilities