Official course description:
Full info last published 3/07-19

Software Engineering

Course info
Language:
English
ECTS points:
7.5
Course code:
KSSOENG1KU
Offered to guest students:
no
Offered to exchange students:
Offered as a single subject:
no
Programme
Level:
MSc. Master
Programme:
MSc in Software Design
Staff
Course manager
Associate Professor
Teacher
Assistant Professor
Teacher
Part-time Lecturer
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Course semester
Semester
Efterår 2019
Start
26 August 2019
End
31 January 2020
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 introduces into software project management, configuration management and software quality management. Further the course introduces into Object Oriented Analysis and Design. Special emphasis is put on how the organisation of the 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.

Description
Software engineering is the branch of computer science that addresses the organisation 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 is not developed by individual programmers, but by teams, sometimes very large teams. Collaboration both within the team and with intended users is therefore at the core of software engineering.

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

The course combines introduction to central themes in software engineering. Specifically, it introduces into:

  • 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, quality management, and process improvement
  • object oriented analysis and design leading up to requirements specification and architectural design.
  • different quality dimensions, such as software use qualities, software product qualities, software process qualities and how to address them

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, test specifications, and architectural design, 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.
Learning activities

The lectures will introduce different approaches, methods and tools for software engineering. Few exercises are considered to complement some of the lecture materials. The learning activities include two main components: 

1. Project Work: You will apply obtained knowledge from the course on a realistic case in groups of 6-8 students (all from SD program) acting as a project team. Your task is to explore the case, perform analysis and 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, including also:
  • a configuration management plan; 
  • a quality assurance plan; 
  • an initial analysis, including a mock-up of the product to be developed; 
  • a requirements specification; 
  • a system test specification; 
  • an overall architecture specification; 

This set of documents is referred to as the portfolio that you have to hand in to be able to take the exam. Partial hand-ins are submitted in two tollgates. The hand-ins are constituting the base for a review and evaluation. 

Each group of students will be assigned a supervisor (one of teaching team members) and provided supervision meetings. 

2. Presentation: Each group is expected to present part of their project at least once. 

Mandatory activities

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

The submissions of partial portfolios after as specified 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. 

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 re-exam.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

Ian Sommerville, Software Engineering, 10th edition, Adisson Wesley 2015.

Selected chapters from: L. Mathiassen, A. Munk-Madsen, P.A. Nielsen and J. Stage. Object Oriented Analysis and Design. 2. edition. 2018.

Ordinary exam
Exam type:
D: Submission of written work with following oral, external (7-trinsskala)
Exam variation:
D2G: Submission of written work for groups with following oral exam supplemented by the work submitted. The group has a shared responsibility for the content of the report.
Exam description:

Group exam

The oral exam will be 20 minutes per student including assessment and feedback. 
Group size: 6-8.

Hand-in: Project work portfolio with documents listed under learning activities. More detailed information about the portfolio in learnIT.

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




reexam
Exam type:
D: Submission of written work with following oral, external (7-trinsskala)
Exam variation:
D2G: Submission of written work for groups with following oral exam supplemented by the work submitted. The group has a shared responsibility for the content of the report.
Exam description:

Group exam

The oral exam will be 20 minutes per student including assessment and feedback. 
Hand-in: Project work portfolio with documents listed under learning activities. More detailed information about the portfolio in learnIT.
The re-exam has the same form as the ordinary exam.