A proven, start-to-finish software development methodology that finally delivers on the promise of modelbased approaches
Reflects all facets of application development, including crucial distinctions between customer and computer environments.
Emphasizes abstraction, disciplined partitioning, modeling invariants, state machines, and effective communication between program units.
Teaches readers to think in a contemporary, object-oriented manner, and create better software designs.
Note: This was originally presented in the Nov, 2009 NAMs list with a coauthor, who is no longer associated with the project. That ISBN was 032150920X / 9780321509208, and it has been canceled. Model-Based Software Engineering (MBSE) explicitly recognizes that the customer's environment is quite different than the computing environment. The concepts, paradigms, structure, and nature of complexity vary by domain, so MBSE carefully separates all of a project's concerns. This built-in separation allows optimally efficient specialization. When developing abstract problem solution models, MBSE employs a highly-disciplined methodology for effective object-oriented analysis, emphasizing abstraction, disciplined partitioning, modeling invariants, state machines, and specific techniques for handling communications among program units. Lahman shows how to use MBSE to achieve robust software structure, promote large-scale reuse, and deliver highly-maintainable solutions. He shows how to create solid, fundamental software designs by thinking in a contemporary, object-oriented manner, and applying the core principles of object-oriented development to their unique challenges.