MDSE In Practice - Chapter 1 - Reading Notes

Model-Driven Software Engineering In Practice - Chapter 1 - Reading notes

1. Introduction
  • It is natural for the human mind to form abstractions (generalisations, classifications, aggregation).
  • Informal definition of a model: "a model as a simplified or partial representation of reality, defined in order to accomplish a task or to reach an agreement on a topic."
  • This implies that a "model will never describe reality in its entirety."
  • [Modeling is natural to humans.  We implicitly use models to help us understand the world.  Even computer programs are models, in a sense.]
  • [As useful as models are, we must be cognizant of the inherent constraint that they do not give a 100% representation of reality.  This is particular true of those models which are defined as being references or blueprints in some form.]
1.1 Purpose and Use of Models
  • Ubiquity of models in diverse fields (Maths, Physics, Philosophy of Science, Engineering).
  • Roles for models
    • Reduction feature - representation of a selection (or sub-set) of the original's properties.
    • Mapping feature - Based on the original as a prototype, and then used for abstraction & generalization.
  • Purpose of models
    • Descriptive - describe reality.  [maybe think of as 'as is'.]
    • Prescriptive - used for construction.  [maybe think of as 'to be'.]
  • Models can be used to investigate, verify, document, discuss, product creation (automation).
  • A model always exists, even if it is just in somebody's head.  The decision almost always is as to whether one should create an explicit physical representation or not.
1.2 Modeling for Software Development
  • MDSE Practices - Increase efficiency and effectiveness in software development.  [Anecdotally, diagrams have always been used to clarify potential software engineering solutions].
  • Growing need for MDSE
    • Software artifacts are becoming more complex.
    • Software is more and more pervasive in people's lives.
    • There is a continuous shortage of software development skills.
    • Software development is not a self-standing activity.  Many people are involved & communicated with.
  • Industry moving to greater use of models.
  • Classification Model Use (See Martin Fowler definition).
    • Model as sketches
    • Models as blueprints
    • Models as programs
1.3 How to Read This Book
  • MDSE Curious
  • MDSE User
  • MDSE Developer
  • Student
  • Instructor

Comments

Popular posts from this blog

Creating Items in Sparx EA via Java

Module Management - Part 1 - getModule() Pattern

Traversing a EA Model via Java