Advanced Requirements Engineering
Avancerad Kravhantering
About the Syllabus
Course modules
Position
The course is compulsory within the Software
Engineering and Management, Master's Programme (N2SOF).
The course can be part of the following programmes:
- Computer Science, Master's Programme (N2COS),
- Applied Data Science Master's Programme (N2ADS),
- Game Design & Technology Master's Programme (N2GDT)
Entry requirements
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 successfully completed course in programming (e.g., DIT044 Object-oriented Programming, DIT013 Imperative Programming with Basic Object-orientation, DIT143 Functional Programming, or equivalent);
- a successfully completed project course (or bachelor thesis) in applied software development or software engineering (e.g., DIT212 Object-oriented programming project, or DIT543 Software Engineering Project).
Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.
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.
Objectives
On successful completion of the course the student will 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.
Competence and skills
- 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, ...)
Sustainability labelling
Form of teaching
The course is organised as a series of lectures, workshops as well as project assignments.
Language of instruction: English
Examination formats
The student is examined by individual active participation in all workshops, the completion of a group project and a written individual hall exam.
If a student, who has failed the same examined element on two occasions, wishes to change examiner before the next examination session, such a request is to be submitted to the department in writing and granted unless there are special reasons to the contrary (Chapter 6, Section 22 of Higher Education Ordinance).
In the event that a course has ceased or undergone major changes, students are to be guaranteed at least three examination sessions (including the ordinary examination session) over a period of at least one year, though at most two years after the course has ceased/been changed. The same applies to work experience and VFU, although this is restricted to just one additional examination session.
Grades
Sub-courses
- Written hall examination), 4 credits
Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U) - Project, 3,5 credits
Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U)
The grading scale comprises: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U).
To pass the course, all mandatory components must be passed. To earn a higher grade than Pass, a higher weighted average from the grades of the components is required.
Course evaluation
The course is evaluated through meetings both during and after the course between teachers and student representatives. Further, an anonymous questionnaire is used to ensure written information. The outcome of the evaluations serves to improve the course by indication which parts could be added, improved, changed or removed.
Other regulations
The course is a joint course together with Chalmers.
The course replaces the course DIT284, 7.5 credits. The course cannot be included in a degree which contains DIT284. Neither can the course be included in a degree which is based on another degree in which the course DIT284 is included.