Course - Model-Driven Software Engineering - TDT4250
Model-Driven Software Engineering
About
About the course
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 outcome
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.
Learning methods and activities
Lectures, exercises and supervised project.
Compulsory assignments
- Exercises
Further on evaluation
The portfolio consist of assignments (30%) on specific topics and a semester project (70%) intended to demonstrate competence on the overall content of the course.
Assignments (30%)
Two assignments
To be completed individually.
Semester project (70%)
Group work involving 3-4 students.
Feedback and supervision will be provided throughout the semester.
Compulsory activity: Form a group and define the project topic by a specified deadline, in consultation with the lecturer.
In the case of voluntary repetition, failure (F), or valid absence, the entire portfolio must be retaken during a semester in which teaching is offered.
Recommended previous knowledge
This course assumes solid knowledge of object-oriented programming and software architecture concepts.
As such, having taken the following courses is recommended: TDT4100 Object-oriented programming, or equivalent. TDT4240 Software Architecture, or equivalent. TDT4140 Software Engineering, or equivalent.
Knowledge of Java is recommended.
Course materials
To be announced at the start of the term.
Other pages about the course
Subject areas
- Computer Systems
- Informatics
- Technological subjects