Applying Model-Based Software Engineering
Model-based software engineering has acquired massive popularity over the years. We have touched on the modeling aspects in Chapter 9, Architecting for Quality with Quality Attributes, and examined a couple of models, including the transaction and workload models. We have also explored Domain-Driven Design (DDD) in Chapter 7, Technical Agility with Patterns and Techniques. Modeling is one of the most critical activities for architects as it helps eliminate wastage by detecting defects early in the flow. All scaling Agile frameworks mention the importance of modeling before development to determine the design's potential shortcomings.
The International Council on Systems Engineering (INCOSE) defines Model-Based Systems Engineering (MBSE) as a formalized application of modeling to support system requirements, design, analysis, verification, and validation activities, beginning with the conceptual design phase and continuing throughout...