TDT4250
Model-Driven Software Engineering
Autumn
Trondheim
English
About this course
Content
Introduction to variability and software product lines. Techniques for the specification of structured models and metamodels. Model-driven development of software, code generation and domain-specific languages. Overview of UML and its metamodel. Design and implementation of modular software, focusing on variability at design-time and at run-time. Component-based design, component-based architectures and frameworks. Deployment and continuous integration of modular systems.
Learning outcomes
Knowledge: The students shall know generic methods for modeling, designing and implementing modular software and model-driven development of software.
Skills: The student shall have practical skills in modeling, designing and implementing software with variability, using modern frameworks and tools, including model-based techniques.
General competency: The students shall know of and be able to select among different methods and techniques for developing software that includes variability.
Teaching methods
Lectures, exercises and supervised project.