Official course description, subject to change:

Basic info last published 15/03-24
Course info
Language:
English
ECTS points:
7.5
Course code:
KSSOENG1KU
Participants max:
130
Offered to guest students:
no
Offered to exchange students:
no
Offered as a single subject:
no
Programme
Level:
MSc. Master
Programme:
MSc in Software Design
Staff
Course manager
Associate Professor
Teacher
Part-time Lecturer
Course semester
Semester
EfterÄr 2024
Start
26 August 2024
End
24 January 2025
Exam
Abstract

The course introduces the organization of and activities in professional software engineering. Starting with the introduction of different life cycle models, the course then delves into software project management, delving in particular into agile development. Further, the course introduces the students to Requirements Engineering, Object-Oriented Analysis and Design, configuration management and software quality management. Special emphasis is put on how the choice and organization of the software development process influences software product qualities and the software quality-in-use.

The course is taught as a project course: In lieu of exercises, the students will apply the methods, techniques and tools in a small project working in teams

Description

Software engineering is the branch of computer science that addresses the organization of and the methods, tools and techniques used in the whole software lifecycle: how do we get from an idea for some IT support to a piece of software used by the intended beneficiaries.

Modern software products are not developed by individual programmers, but by entire teams, which sometimes are very large. Collaboration both within the team and with the potential intended users is therefore at the core of software engineering.

The course introduces students to professional software engineering, enabling them to competently act as a project member as well as to take over management responsibility for minor projects. Special emphasis is put on how the choice and organization of the software development process influences software product qualities and the software quality-in-use.

The course brings together a combination of central themes in software engineering. Specifically, it introduces students to:

  • a process-based perspective on software engineering
  • different ways of organizing the software engineering (development models)
  • supporting process areas, such as project management, configuration management, and product quality management
  • object-oriented analysis and design, leading up to requirements specification and low-fidelity prototypes
  • different quality dimensions, such as software in use qualities, software product qualities, and how to address them through different testing techniques.
Note that there will be NO coding activities in the course.

Formal prerequisites

The student must always meet the admission requirements of the IT University. 

Intended learning outcomes

After the course, the student should be able to:

  • Characterise the organizational context in which professional software development takes place.
  • Discuss major software process models and motivate the choice of a development approach based on project context.
  • Discuss and apply major activities of project management, quality assurance and configuration management.
  • Recognize the purpose of software analysis and design and develop basic models in UML to this end for a given case project..
  • Account for the purpose requirements specifications, design and test specifications, and develop such specifications in the context of a given case project.
  • Argue the importance of different quality dimensions in professional software development and reflect how they influence the choice of software processes, methods and tools.
Ordinary exam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.