IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Software Engineering and Software Qualities 
Kursusnavn (engelsk):Software Engineering and Software Qualities 
Semester:Efterår 2014 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:12 
Forventet antal deltagere:20 
Maks. antal deltagere:75 
Formelle forudsætninger:-----
Course restriction!
Please note that there is a course restriction between this course and the SDT course Introduction to Software Testing. That means that if you have already taken Introduction to Software Testing, then you cannot take this course as there is an overlap. 
Læringsmål:Having read the course, a student should be able to

- discuss the organizational context in which professional software development takes place;

- discuss different quality dimensions, and apply the concepts to a project and its stakeholders;

- present and discuss different software development models, and argue how to choose a development approach based on quality requirements, kind of software, project context, and risks;

- present the purpose and activities of project management, quality management, and configuration management; develop and document project management, quality planand configuration management plan for a small project; and motivate the choices made.

- present the purpose and activities of requirements engineering, develop a requirement specification for a small project, devise test strategies and develop test specification for a minor project and motivate the choices made.

- discuss the specificity of use qualities, perform a analysis and cooperative design sessions with potential users, and and motivate the choices made;

- discuss software process quality concepts, and describe the CMMI and software process improvement based on it.

- discuss the purpose of development and usage of software architectures, and design an overall architecture for a small project;

- identify and address communication and cooperation needs of a project (e.g. communication means, sharing of work artefacts, coordination of tasks) and discuss how communication tools and protocols support the cooperation and communication. 
Fagligt indhold:The course introduces the organization of and activities in professional software engineering. As software the majority of software engineering takes place in a distributed manner, the course addresses distributed software development explicitly. It aims at communicating an understanding of how the organization of the software development processes and the selection of methods need to respond to the quality requirements and the circumstances for a specific project.

The course is meant to provide an introduction to professional software engineering, enabling the student to competently act as a project member and to take over management responsibility for minor projects. Special focus is given to different software qualities and how to address them in the development process. The course addresses distributed software development explicitly
The course combines introduction to central themes in software engineering with a focus on software qualities. Specifically, it introduces into:

- a process based perspective on software engineering

- different quality dimensions, such as software use qualities, software product qualities, software process qualities and how to address them

- different ways of organizing the software engineering (development models)

- managing cooperation and communication between distributed team members.

- supporting process areas, such as project management, configuration management, quality management, and process improvement

- software engineering process areas such as requirements engineering and architectural design.

Note that there will be NO coding activities in the course. 
Læringsaktiviteter:

The course will be co-taught between the IT University of Copenhagen and the Indian Institute of Technology in Mandi. This provides a unique opportunity for mixing traditional lectures with web-based learning activities and group work crossing national – and even continental - borders.

The lectures will be a mixture of real-time lectures and web-based lectures. The classroom lectures will be presented in real time as class room lecturers and transmitted to the other side.

Alongside the lectures, the learning activities are centered on groups working as a project team for a chosen software development case. The groups will be formed of both India and Denmark based students, and a supervisor will be assigned to each group. Supervision takes place in form of online meetings once a week.

The course uses the course management system, learnIT, as shared course
platform.

The groups shall develop a number of documents in relation to their product case during the course, including
- a project charter including project management documents and plans
- an initial analysis, including a mock-up of the product to be developed;
- a requirements specification;
- a system test specification;
- an overall architecture specification.
- a reflective discussion about the team's cooperation and communication

The documents constitute the group portfolio to be handed in as the basis for the examination.

Note, that due to the fact that the Indian and the Danish terms are not completely aligned, the course will be slightly compressed in relation to a standard course. The course will start on the August 27th but will end with the Indian term on November 19, 2014. Some of the lectures will therefore be either given as on-line lectures to be downloaded or scheduled at additional times. 

Obligatoriske aktivititer:The participation in at least 80% of the supervision meetings is mandatory. 
Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern prøve

The oral exam will be 20 minutes per student including assessment and feedback.  

Litteratur udover forskningsartikler:Course literature:

Ian Sommerville, Software Engineering, 9th edition, Adisson Wesley 2010.
L. Mathiassen, A. Munk-Madsen, P.A. Nielsen and J. Stage. Object Oriented Analysis and Design. ISBN: 87-7751-150-6. 1st edition. 2000:
pages 26-31 and chapters 3, 4, 6, 9, 10 and 1