IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Software Engineering and Software Qualities, DIT 
Kursusnavn (engelsk):Software Engineering and Software Qualities, DIT 
Semester:Efterår 2016 
Udbydes under:Diplom i it, Diplom (dit) 
Omfang i ECTS:7,50 
Min. antal deltagere:
Forventet antal deltagere:
Maks. antal deltagere:20 
Formelle forudsætninger:
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 plan and 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. 

The work with the cases will take place in groups of 6 or 8 students acting as a project team. The lectures will introduce different approaches, methods and tools for software engineering. Instead of working with independent exercise tasks you will apply this knowledge on a realistic case. Part of the learning will be to plan your activities, work with the different tasks, and quality-assure your results. The team's task is to develop a set of documents that would typically be subject to a pre-study or - when applying an iterative or evolutionary process - the early iteration cycles or sprints. The set of documents should contain:
· a project charter;
· an initial analysis, including a mock-up of the product to be developed;
· a requirements specification;
· a configuration management plan;
· a quality assurance plan;
· a system test specification;
· an overall architecture specification; and
· a reflective discussion about the team's cooperation and communication.
This set of documents is referred to as the portfolio you have to hand in to be able to take the exam.

After 4 and after 8 weeks, partial hand-ins are due. The hand-ins are constituting the base for a review and evaluation. 

Obligatoriske aktivititer:The participation in at least 80% of the supervision meetings is mandatory.

The submissions of partial portfolios after week 4 and week 8 as specified in on learnIT teaching platform constitute another mandatory course element. If the increment of the portfolio handed in is not of acceptable quality, the group has 1 week to complement it.

Be aware: Students that don´t participate in the group work can´t take the exam and will be registered with a NA (not attended). 
Eksamensform og -beskrivelse:D2G Aflevering med mundtlig eksamen der supplerer projekt. Delt ansvar for projekt., (7-scale, external exam)

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

The re-exam has the same form as the ordinary exam.

Students who didn´t participate in the group work can´t take the ordinary exam. To gain access to the re-exam those students must submit a portfolio. The case for the portfolio will be send to the students by the course responsible by the end of the course. The portfolio must be submitted 2½ weeks after. The requirements for this portfolio are the same as for the ordinary portfolio, but it must be handed in as one. No supervision will be offered during this period. The portfolio must be made in groups assigned by the course responsible. If only one student is assigned to the portfolio work, he/she works alone. If the portfolio can´t be approved by the course responsible the students have one week to complement it. Once the portfolio is approved the student can take the reexam.  

Litteratur udover forskningsartikler:Course literature:

Ian Sommerville, Software Engineering, 10th edition, Adisson Wesley 2015.
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