IBM SG24-7368-00 Fitness Equipment User Manual


 
10 Model Driven Systems Development with Rational Products
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-1 shows the cost of errors rising
exponentially as they are discovered later in the system development life cycle.
14
See 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.