Software Development and Methodology
Software Development and Methodology
Roll Number 77
PRN Number 12320137
Name Shivani Kshirsagar
Experiment 3
1. Introduction
MDD is an approach where software models play a central role in the software development
lifecycle. Instead of focusing solely on code, MDD encourages the use of models to define
system functionality, structure, and behavior.
● Represents the business logic and system requirements without technological details.
● Example: Business process diagrams, requirement specifications.
4. Model Transformation
Model transformation refers to the process of converting one model into another while
preserving its meaning and functionality. It is a critical step in MDD and MDA.
1. Horizontal Transformation – Converts models at the same abstraction level (e.g.,
refining a CIM).
2. Vertical Transformation – Converts higher abstraction models to lower abstraction ones
(e.g., PIM to PSM).
3. Exogenous Transformation – Converts models between different modeling languages.
4. Endogenous Transformation – Converts models within the same modeling language.
1. CIM (Computational Independent Model): Defines the problem statement and
requirements, such as estimating solar energy potential based on rooftop selection.
2. PIM (Platform Independent Model): Uses UML diagrams to model system logic,
including user interactions and data flow.
3. PSM (Platform Specific Model): Implements the system using React (Frontend UI),
OpenCV (Image Processing), and NASA POWER API (Solar Radiation Data).
8. Conclusion
MDD and MDA offer structured, model-centric approaches to software development, ensuring
efficiency, automation, and consistency. Model transformation plays a crucial role in
transitioning from conceptual models to practical implementations, as demonstrated in the
BrightBox project. By leveraging tools and methodologies like UML, OpenCV, and API
integrations, software developers can build scalable, adaptable, and maintainable systems
efficiently.