IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Modellering og design 
Kursusnavn (engelsk):Modelling and Design 
Semester:Forår 2008 
Udbydes, softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:15,00 
Min. antal deltagere:
Forventet antal deltagere:40 
Maks. antal deltagere:100 
Formelle forudsætninger:In parallel with the course you are assumed to be introduced to OO concepts and programming in practice, enabling you to write and read small Java programs with GUI and using inheritance and associations. This can for instance be achieved by following Object-Oriented Programming Introduction (SOPI) or similar programming activities. 
Læringsmål:The goal of this course is to teach you to use modelling for the analysis, design, specification and verification of it-systems.

After the course you will be able to:

  • Explain the basic concepts of the OOA&D method described in the lecture book, including: Problem and Application Area, System, Systemdefinition, Objects and object structures, Classes and class structures, Patterns, Events, Attributes, Behaviours and behavioural patterns, Actors and Use cases, Functions, User and System Interfaces, Component and Process Architecture, Architectural Criteria and Conditions, Model and Function Component, Dependency, Coupling and Coherence, Strategy, Analysis and Design Documents, Implementation with respect to the OOA&D, Persistence, Relational and Semistructural Data Modelling and Mapping between these models and OO, Notation for OOA&D and in particular UML.

  • Understand and follow the principles of the OOA&D method described in the lecture book to carry out Object oriented analysis and design, and thereby be able to reach agreement of the requirements for a system, settle the design of a system without major uncertainties, understand a system, its context and the conditions for its realisation, and document this in concise analysis and design documents (readable independently of the lecture book), using UML as a notation where appropriate.

  • Use a tool for creating UML models.

  • Create a model of a given simple Java system following the OOA&D principles.

  • Explain the main software development processes.

  • Explain the purpose of Workflow and Business Process Modelling.

  • Use UML as notation for describing business processes and service oriented architectures.

  • use formal mathematical notations for logic, proofs, relations and functions

  • understand the fundamental formal models of computation (regular languages, finite state machines, communicating concurrent automata with time, context free languages, turing machines).

  • use formal grammars to describe (programming) languages.

  • transform between regular languages and finite state machines.

  • explain how formal models can be used to verify and check properties of critical parts of it systems, and in particular.

  • model concurrent systems with time as communicating concurrent automata with time in the tool UPPAAL and specify and verify simple properties of such.

Fagligt indhold:Modelling plays a central role in any kind of engineering as a means of communicating, specifying and verifying designs. Modelling for software engineering is becoming more and more prominent through the advocation of model-based design and model-driven development, and has become a crucial skill for programmers as well as it-architects, business managers and project leaders.

The course has two main parts, which are carried out in parallel:

  • Object Oriented Analysis and Design, Workflow and Business Process Modelling and Service Orientation, Mapping Objects to Relational Data.

  • Formal Concepts, Models and Notations in Computer Science.

The course includes a 7.5 ECTS project carried out in parallel with the lectures and in groups of 3 persons. The project covers the two parts of the course, demonstrating how to model both for communicating, specifying and formally verifying designs. In the project you will get to use tools for UML modelling and formal verification.


If you have covered one of the parts of the course in your previous studies you may contact the head of the STD programme and the teachers at the course and try to arrange doing a 7.5 project in the part you have not covered previously.

The exam is an individual oral exam lasting 25 minutes.

In the first 15 minutes you are expected to give a 10 minutes presentation (on the blackboard and/or using slides/powerpoint) on what you think is the most important points in the OOA&D method, using your OOA&D project as example. The examiners will ask questions in the curriculum on OOA&D for about 5 minutes during or after your presentation.
In the last 10 minutes of the exam you are expected to give a 5 minutes presentation (on the blackboard and/or using slides/powerpoint) on what you think is the most important points of formal verification of business processes/workflows in UPPAAL, using your formal verification project as example. Again, the examiners will ask questions in the curriculum on business processes/workflows and formal concepts in computer science for about 5 minutes during or after your presentation.
You can not assume the examiners have read your projects.
You will be given a grade based on a joint evaluation of the two parts.

Half way through the course there will be trial oral presentations of projects.

I intro-ugen (uge 5) er der ændrede kursustidspunkter:
Link til skemaoplysninger

During the intro week (week 5) the course time table is changed::
Link to the time table


Om studiestruktur: SDT / About the study structure:SDT
Dette kursus er en del af SDT¿s backbone, som du kan finde beskrevet her:
SDT studiestruktur
For at blive i SDT skal du bestå SDT¿s backbonekurser, og desuden gennemføre en 22,5 ECTS specialisering samt to 7,5 ECTS valgfag.

This course is part of the SDT backbone ¿ find it described here:
SDT study structure
In order to graduate as a MSc in SDT, you need to pass the SDT backbone courses, and also take a 22,5 ECTS specialization and two 7,5 ECTS electives.

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur


Litteratur udover forskningsartikler:Object Oriented Analysis and Design: Lars Mathiassen, Andreas Munk-Madsen,
Peter Axel Nielsen and Jan Stage. ISBN: 87-7751-150-6. Edition: 1st edition. Published: 2000 (English version - the book exists in an almost identical danish version).

Jens Christian Godskesen, Mathematical concepts in computer science, Compendium, 2008.

UML distilled, 3rd edition, Martin Fowler, ISBN 0-321-19368-7, 2004.

Additional material, e.g. on Relational and XML data modelling. 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
Tirsdag 10.00-12.00 Forelæsning ITU 2A12, Multimedielab, 2A40, 2A42, 2A58, 2A60, 3A40, 3A42, 3A58, 3A60
Tirsdag 13.00-15.00 Forelæsning ITU 2A14, Multimedielab
Torsdag 10.00-12.00 Forelæsning ITU 2A12, Multimedielab, 2A40, 2A42, 2A58, 2A60, 3A40, 3A42, 3A58, 3A60
Torsdag 13.00-15.00 Forelæsning ITU 2A14, Multimedielab

Eksamen afholdes på følgende tid og sted:
2008-05-21 No later than 3 PM (kl. 15.00) Skriftlige arbejder ITU The Examination Office, ITU
2008-06-16 Kontakt kursusansvarlig Mundtlig eksamen ITU 4A20
2008-06-17 Kontakt kursusansvarlig Mundtlig eksamen ITU 4A20
2008-06-18 Kontakt kursusansvarlig Mundtlig eksamen ITU 4A20