INTRODUCTION:
Interest in model-driven software development (MDSD) has recently increased, due in part to the Model Driven Architecture (MDA) initiative of the Object Management Group (OMG). Consequently, the industry’s demand for graduates qualified in this field has grown. It is therefore considered crucial to educate students in MDSD concepts, tools, and techniques.
The idea behind MDSD concerns designing a model of the system to be developed (for instance, using UML), which is then transformed into code in a specific target language, such as PHP, C#, or Java. Using this technique, there is a strict distinction between the domain-specific and technological aspects of a system. While domain-specific concepts are represented in the model (as classes, attributes, and methods), technology-specific aspects like the target language are determined in the transformation rules, specified by the programmer. Typically the mundane and repetitive parts of the code can be easily generated using this technique, so the programmer can focus on the more complex and challenging parts of a system. Benefits of this approach include higher quality and consistency of code, easier translation to newer or different technologies, as well as shorter time in development
COURSE CODE: SE-4349
CREDIT HOURS: 03
PREREQUISITES: None
COURSE LEARNING OUTCOMES:
At the end of the course the students will be able to:
TEXTBOOKS:
Model-Driven Software Development: Technology, Engineering, Management by Thomas Stahl, Markus Voelter and Krzysztof Czarnecki, Publisher: Wiley; 1st Edition (May 19, 2006). ISBN-10: 0470025700
Model-Driven Software Engineering in Practice by Marco Brambilla, Jordi Cabot and Manuel Wimmer, Morgan & Claypool Publishers; 1st Edition (September 26, 2012). ISBN-10: 1608458822
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas, Addison-Wesley Professional; 1st Edition (October 30, 1999). ISBN-10: 020161622X
Model-Driven Software Development: Integrating Quality Assurance by JorgRech and Christian Bunse, Information Science Reference; 1st Edition (August 22, 2008). ISBN-10: 160566006X
Model-Driven Software Development with UML and Java by K. Lano, Course Technology (August 15, 2009). ISBN-10: 1844809528
COURSE CONTENT:
MDSD – Basic Ideas & Terminology, An overview of MDA Concepts, Architecture-Centric MDSD. Architecture-Centric Architecture, Generative Programming. Software Factories, Model-Integrated Computing, Language-Oriented Programming, Domain-Specific Modeling.Classification, Meta-modeling,MDSD-Capable Target Architectures, Building Domain Architecture, Code Generation Techniques, Model Transformations with QVT, MDSD Tools, The MDA Standard, MDSD Process Building Block & Best Practices, Testing and Versioning
COURSE ASSESSMENT:
CLASS TIMING: