Common languages promote common understanding. Unified Modeling Language (UML) and Systems Modeling Language (SysML) derive from the same meta object framework; products in one or the other are likely to be understandable across diverse disciplines. By focusing on usage, collaboration, and distribution, better cross-organizational discussions can take place. Use cases, or common system threads, can unify stakeholders, developers, and users. Beyond systems and software engineering MDSD also provides the framework for reasoning about the integration of concerns across all of the engineering disciplines (for example, thermal, structure, electrical, and navigation).

Explicit processes for reasoning about system issues

Often, many of our design decisions are implicit, the result of many years of experience. While this can be valuable (we do value experience), it can also lead to premature design decisions, or decisions that have not been adequately reasoned through, communicated, tested, or verified.

Complexity also demands explicit processes. A commercial pilot would not think of taking off with a plane full of passengers without a checklist of tasks and safety checks. We follow a repeatable process to improve quality and consistency. By designing the process to address specific issues and risks, we increase our chances for success.

MDSD has been designed to address a specific set of issues in the development of complex systems. Explicit processes also improve communications. Design decisions are taken out of the heads of engineers, documented through models, and progressively refined. In MDSD, process is not just the checking off of steps, but performing repeatable tasks to produce quality artifacts—the quality of the process is judged by the quality of the results—where possible by executable results, that is, a running system or piece of a system.14

Early detection of errors

One of the benefits of a well designed process for designing systems is the early detection and resolution of errors. Figure 1-1shows the cost of errors rising exponentially as they are discovered later in the system development life cycle.

14See Walker Royce, Software Project Management: A Unified Framework, Addison-Wesley, 1998. Also Kurt Bittner and Ian Spence, Managing Iterative Software Development Projects, Addison-Wesley, 2006.

10Model Driven Systems Development with Rational Products

Page 26
Image 26
IBM SG24-7368-00 manual Explicit processes for reasoning about system issues, Early detection of errors