Course syllabus adopted 2026-02-18 by Head of Programme (or corresponding).
Overview
- Swedish nameAvancerad kravhantering
- CodeDAT232
- 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 24118
- Open for exchange studentsYes
- Only students with the course round in the programme overview.
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
|---|---|---|---|---|---|---|---|
| 0125 Project 3.5 c Grading: TH | 3.5 c | ||||||
| 0225 Examination 4 c Grading: TH | 4 c |
In programmes
Examiner
- Eric Knauss
- Head of Division, Interaction Design and Software Engineering, Computer Science and Engineering
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
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
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
- 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
- Soren Lauesen (2002): Software Requirements: Styles and Techniques. Addison-Wesley
- Berander, P., Andrews, A.A. (2005): "Requirements Prioritization", In: Engineering and Managing Software Requirements, Eds. A. Aurum and C. Wohlin, Springer, ISBN 3-540-25043-3.
- Berntsson Svensson, R., Gorschek, T., Regnell, B., Torkar, R., Shahrokni, A., Feldt, R. (2012); "Quality Requirements in Industrial Practice - an extended interview study at eleven companies", IEEE Transaction on Software Engineering, vol.38(4), pp. 923-935.
- Carlshamre, P.; Sandahl, K.; Lindvall, M.; Regnell, B.; Nattoch Dag, J. (2001): "An industrial survey of requirements interdependencies in software product release planning", IEEE Int. Conf. on Requirements Engineering (RE01), Toronto, Canada, pp. 8491
- Davis, A., Dieste, O., Hickey, A., Juristo, N., and Moreno, A. M. (2006). Effectiveness of requirements elicitation techniques: Empirical results derived from a systematic review. In Proc. of 14th IEEE Int. Reqts. Eng. Conf. (RE), pages 179188, Minneapolis/St. Paul, MN, USA.
- Gorschek, T. and Wohlin, C. (2006). Requirements abstraction model. Requirements Engineering, 11:79101.
- Inayat, I.; Salim, S. S.; Marczak, S.; Daneva, M. and Shamshirband, S. (2015): "A systematic literature review on agile requirements engineering practices and challenges", Computers in human behavior, 51:915929
- Knauss, E. (2019). The missing requirements perspective in large-scale agile system development. IEEE Software, 36:913.
- Maiden, Neil; Ncube, Cornelius; Robertson, Suzanne (2007): "Can Requirements Be Creative? Experiences with an Enhanced Air Space Management System", 29th International Conference on Software Engineering (ICSE'07)
- Murugesan, A., Heimdahl, M., and Rayadurgam, S. (2019). Requirements reference models revisited: Accommodating hierarchy in system design. In Proc. of 27th IEEE Int. Requirements Eng. Conf. (RE), Jenju Island, South Korea.
- Regnell, Björn and Brinkkemper, Sjaak (2005): "Market-Driven Requirements Engineering for Software Products", In: Engineering and Managing Software Requirements, Eds. A. Aurum and C. Wohlin, Springer, ISBN 3-540-25043-3
- Ruhe, Günther and Saliu, Moshood Omolade (2005): "The Art and Science of Software Release Planning", IEEE Software, November/December, pp. 47-53
- Glinz, M. (2007). On non-functional requirements. In Proc. of 15th IEEE Int. RE Conf. (RE), pages 2126, New Delhi, India.
- Soren Lauesen, Guide to Requirements SL-07: Problem-oriented requirements v5, 2017, ISBN: 978-1523320240, available online: https://www.itu.dk/~slauesen/Reqs/GuideSL-07-online.pdf
- Links to an external site.
- Cockburn, A. (2001). Writing Effective Use Cases. Addison-Wesley.
- Davis, A. M. (1993). Software Requirements: Objects, Functions and States. Prentice Hall.
- Gause and Weinberg (1982). Are your lights on? Dorset House Publ.
- Leffingwell, D. (2011). Agile Software Requirements. Addison-Wesley.
- Callele, D., Neufeld, E., Schneider, K. (2010): "An Introduction To Experience Requirements", IEEE Int. Conf. on Requirements Engineering (RE10), Sydney, Australia, pp. 395396
The above paper describes how to communicate requirements about the desired user experience in game design
- IEEE (1990). IEEE standard glossary of software engineering terminology. IEEE Std 610.12-1990, pages 184.
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 hall 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 about disability study support.
