Kursplan för Modelldriven mjukvaruutveckling

Kursplan fastställd 2018-02-28 av programansvarig (eller motsvarande).


  • Engelskt namnModel-driven software development
  • KurskodTDA593
  • Omfattning7,5 Högskolepoäng
  • ÄgareTKITE
  • UtbildningsnivåGrundnivå
  • HuvudområdeDatateknik, Informationsteknik
  • BetygsskalaTH - Fem, Fyra, Tre, Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 52131
  • Blockschema
  • Sökbar för utbytesstudenterJa


0109 Projekt 7,5 hp
Betygsskala: TH
7,5 hp

    I program



    • TDA590 Objektorienterad systemutveckling IT
    • TDA591 Objektorienterad systemutveckling
    • TDA592 Objektorienterad systemutveckling


    Information saknas

    Kursspecifika förkunskaper

    The student must know Java programming and must have taken one course in data structures and a least one of the courses EDA497 Software engineering fundamentals or DAT255 Software engineering project or an equivalent course. Courses which students might benefit from having done are: project courses and Human - computer interaction.


    Model-driven system development (MDSD) has become a popular way of building software systems. The promise of MDSD is to improve the quality of the developed systems, including extensibility, reusability, and maintainability. The purpose of this course is to show how models can be profitably used during the development of software systems. 

    Lärandemål (efter fullgjord kurs ska studenten kunna)

    Understand the benefits and drawbacks of using models during the development of soware systems. Identify and apply the most appropriate types of models during the development of a software system, according to the specific purpose and consumers of a model. Understand the different use of models, including:
    (i) support for communication among different stakeholders,
    (ii) definition of the blueprint and overall system view,
    (iii) early analysis and feedback, and
    (iv) generation of code.

    More precisely, a student will be able to:

    • Define an architecture description,
    • Write component diagrams,
    • Define a class diagram of a system,
    • Produce sequence diagrams to show interactions among various components/classes,
    • Produce an executable software model, and
    • Generate code from models.
    In addition, since students will work in groups, which will be randomly created, an additional learning outcome will understand the dynamics and the management and resolution of conflicts while working in groups.


    In this course we will critically analyse the use of models during system development processes. We will introduce different types of models and we will discuss on the benefits and limitations of using them in practical environments. We will discuss on how to identify the right abstraction level, according to the purpose of the models and to the intended consumers.

    We will introduce both static and behavioural models, we will introduce executable models, and we will explain how to generate code from models.


    Within the course there will be both lectures and supervisions. A project, which will be made in groups, will be carried out during the course. There will be continuous self-evaluations within the groups in order to identify the individual contribution. Moreover, the individual grade will be also assessed through an individual assessment made at the end of the course.


    Information about literature can be found on the course web-page.

    Examination inklusive obligatoriska moment

    The final grade will be based on the individual contribution to the assignments and the final project. The final grade will take into account also the self-evaluations of the various assignments. The final grade will take into account also the final individual assignment.