Course syllabus for Advanced requirements engineering

Course syllabus adopted 2022-02-01 by Head of Programme (or corresponding).

Overview

  • Swedish nameAvancerad kravhantering
  • CodeDAT231
  • Credits7.5 Credits
  • OwnerMPSOF
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Industrial Engineering and Management, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 24112
  • Maximum participants80 (at least 10% of the seats are reserved for exchange students)
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0114 Project 3.5 c
Grading: TH
3.5 c
0214 Take-home examination 4 c
Grading: TH
4 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for this course the student should have
  • a bachelor degree in Software Engineering, Computer Science, Information Technology, Information Systems, or equivalent;
  • a completed course in programming (e.g., TDA548 Introductory software development, DAT043/DAT050 Object-oriented Programming, TDA452 Functional Programming, or equivalent);
  • a completed project course (or bachelor thesis) in applied software development or software engineering (e.g., TDA367 Object-oriented programming project, or DAT257 - Agile software project management).

Aim

One of the main challenges in software development is to make sure one is developing the right system, i.e. to understand the requirements that need to be fulfilled. The purpose of this course is how to learn how to find and collect requirements from relevant sources, both at the start and during a software development project, following established principles and formats for documenting and maintaining requirements..

Learning outcomes (after completion of the course the student should be able to)

After completion of the course the student must to be able to

Knowledge and understanding

  • Identify a common RE challenge in a given software development context.
  • Choose an appropriate RE practice in a given software development context.
  • Compare suitability as well as advantages and disadvantages of given RE practices in a given software development context.
  • Explain the current state of practice and research in requirements engineering.


Skills and abilities

  • Plan suitable RE practices in a team with respect to a given software development context.
  • Effectively apply a suitable RE practice in a team in a given software development context.
  • Analyze the effect and quality of the outcome of a set of or individual RE practices in a given software development context.

Judgement and approach

  • Assess new requirements engineering knowledge (challenge, principle, practice) and relate them to the framework in this course.
  • Suggest suitable actions to overcome a lack of requirements knowledge in a software development context.
  • Consider inter-team, program level and social/ethical implications of a set of RE practices in a given software development context.
  • Critically assess the effectivity of a set of RE practices from the perspective of the student's master program (e.g. Software Engineering & Technology/Management, Interaction Design, Game Design, Data Science, ...)

Content

Understanding requirements is key to successful software engineering: Building software that is fit for its purpose relies on understanding the exact problem that must be solved. The purpose of this course is to learn challenges, principles, and practices to identify, analyse and manage requirements from relevant sources, both at the start and during a software development project. The course regards these issues in specific development contexts, i.e. specific constellations of customers and suppliers as well as constraints related to the domain and development lifecycle that characterise developing a piece of software.

This course is on advanced level and takes a holistic view on the state of the art of requirements engineering as part of successful software engineering, technology, and management. Students are expected to familiarize themselves with recent, relevant research in the field, to critically reflect on the implications of new findings, and to develop their abilities and expertise as software professionals.

The course teaches challenges, principles, and concrete practices related to the following subfields of requirements engineering (RE):
  • Requirements analysis
    • Elicitation
    • Analysis 
    • Documentation
    • Negotiation
    • Verification and validation
  • Requirements management
    • Change management
    • Traceability
Beyond a brief introduction into concrete notations of requirements, the course focuses on holistically managing requirements-related knowledge on relevant scopes, including:
  • Team level: knowledge within a software development team and accross several teams working in the same area.
  • Program level: knowledge within a particular product team or across a set of related product teams (e.g. agile release trains)
  • Enterprise level: knowledge related to managing a portfolio of products.

Organisation

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

Literature

Course literature will be announced at the latest 8 weeks prior to the start of the course.

Examination including compulsory elements

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

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.