IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Modellering og design 
Kursusnavn (engelsk):Modelling and Design 
Semester:Forår 2009 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:15,00 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
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 apply 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.

• Create a analysis and design models for a simple software program following the OOA&D principles.

• Analyse and evaluate different alternatives in analysis and design.

• Explain the main software development processes.

• Explain the purpose of Workflow and Business Process Modelling.

• Use UML as notation for describing business processes.

• 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 introduces into modelling as a topic and examplifies the importance by introducing two areas

• Object Oriented Analysis and Design, Workflow and Business Process Modelling, 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.
 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

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 cand.it. 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

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.  

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:
UgedagTidspunktForelæsning/ØvelserStedLokale
Tirsdag 10.00-12.00 Forelæsning ITU 2A12, 2A52, 2A40, 2A42, 2A58, 2A60, 3A40, 3A42, 3A58, 3A60
Tirsdag 13.00-15.00 Øvelser ITU 2A14, 2A52
Torsdag 10.00-12.00 Forelæsning ITU 2A12, 2A52, 2A40, 2A42, 2A58, 2A60, 3A40, 3A42, 3A58, 3A60
Torsdag 13.00-15.00 Øvelser ITU 2A14, 2A52

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2009-05-20 No later than 3 PM Skriftlige arbejder ITU The Examination Office
2009-06-15 Tidsrum oplyses senere Mundtlig eksamen ITU 4A22
2009-06-16 Tidsrum oplyses senere Mundtlig eksamen ITU 4A22
2009-06-17 Tidsrum oplyses senere Mundtlig eksamen ITU 4A22
2009-06-18 Tidsrum oplyses senere Mundtlig eksamen ITU 4A22