Course syllabus

Welcome to Requirements Engineering 2019

First lecture: Tuesday, Sep-3, 10:15 - 12:00, room Beta - You have to participate to get a project group!

Course-PM

DAT231 / DIT284 Requirements engineering lp1 HT19 (7.5 hp), course facts:

Course purpose

One of the main challenges in software development is to make sure you are developing the right system, i.e. to understand the requirements that need to be fulfilled. The focus of this course is how to find and collect requirements from relevant sources both at the start and during a software development project. Different methods for this as well as different underlying principles and formats for documenting and maintaining requirements are covered.


In particular the course covers the problems that arise when requirements engineering is conducted in a fast-paced, cost-sensitive industrial reality. The following topics are included in the course:

  • Stakeholder Identification and Management
  • Requirements Elicitation
  • Writing Requirements and Requirements Specifications
  • Quality Assurance of Requirements
  • Prioritising Requirements
  • Connections and Alignment between Requirements Engineering and other Software Engineering activities
  • Requirements Engineering in In-Project vs. Market-driven Development
  • Requirements Engineering in Agile and Iterative/Incremental Development

Course literature

Please note that we have changed the course book! In previous years, we used Soren Lauesen - Software Requirements; ISBN 9780201745702. Instead, we now use the commented version of Soren Lauesen's specification template and complement it with additional literature.

Soren Lauesen, Guide to Requirements SL-07: Problem-oriented requirements v5, 2017, ISBN: 978-1523320240, available online:http://www.itu.dk/~slauesen/Papers/RequirementsGuideSL-07v5-online.pdf

 

Course design

The course is organised as a series of lectures, workshops as well as project assignments.

 

Changes made since the last occasion

We have switched from a hall exam to a take-home exam.

Learning objectives

Knowledge and understanding - after completion of the course the student must to be able to

  • explain why requirements engineering is a key to successful software engineering,
  • describe the challenges involved in requirements engineering,
  • explain the importance of identifying stakeholders and their knowledge, context and goals,
  • explain the difference between functional and quality requirements,
  • describe how to conduct bespoke (in-project/single-customer) requirements engineering in terms of common processes and techniques,
  • explain how market-driven differs from bespoke (in-project/single-customer) requirements engineering,
  • describe how requirements engineering in agile projects differ from traditional requirements engineering.


Skills and abilities - after completion of the course the student must to be able to

  • skillfully elicit software requirements,
  • clearly document software requirements according to industry standards and state-of-the-art,
  • prioritise requirements,
  • assure the quality of requirements and requirements specifications,
  • be able to assess current requirements engineering practices in a software project or a software development company.

 

Judgement and approach - after completion of the course the student must to be able to

  • suggest relevant improvements on requirements engineering processes in a convincing way,
  • trade-off the choice of requirements engineering methods and processes given a certain project context.

Examination form

The student is examined by individual active participation in all workshops, the completion of a group project and a written individual take-home exam.

 

Course summary:

Date Details Due