Requirements Engineering
Overview
Requirements Engineering (RE), as first phase of the software development cycle, is crucial for the success of a project since all other activities heaviy depend on it. In this phase, stakeholders and goals are determined, conflicts are resolved and requirements of the system to be build are formulated. These requirements are used as basis for contract negotiations as well as criteria for the acceptance of deliverables.
In this lecture, we will cover the most important topics with regards to requirements engineering, especially tasks in RE, types of requirements and the elicitation, negotiation, documentation and management of requirements. We will learn how we go from first, informal requirements to formal specification that are ready to be used in system design and implementation. At the end of the lecture, students are able to work in industry RE, as well as in research in RE. Within lectures and exercises, real world applications are presented.
Organisation
The lecture takes place Tuesdays and Fridays, 14:00 - 15:30 in HS2 of the institute of physics (321 Hörsaal II (265/159 Sitzpl.), Zülpicher Str., 77(321), Erdgeschoß).
The lecture is accompanied by 3 exercise sessions. They start in the first week already (3.4. - 7.4.).
Gruppe 1: Tuesdays, 16:00 - 17:30 Uhr, (Adrian) Gebäude 106 (Seminargebäude), Seminarraum S01
Gruppe 2: Wednesdays, 10:00 - 11:30 Uhr, (Mersedeh) Gebäude 106 (Seminargebäude), Seminarraum S01
Gruppe 3: Fridays, 10:00 - 11:30 Uhr, (Adrian) Gebäude 106 (Seminargebäude), Seminarraum S16
Instructors
Time table
Date | Topic of the lecture | Live/recorded | Topic of exercises |
---|---|---|---|
Di, 04.04.23 | Introduction, Motivation, Overview | Live | No class |
Fr, 07.04.23 | No class | ||
Di, 11.04.23 | Terminology, Goals of RE, Role of the Requirements Engineer | Live | W1: Introduction to the Exercise sessions, RE and Origami, Projects introduction |
Fr, 14.04.23 | Requirements Documentation: Work Products | Recorded | |
Di, 18.04.23 | Requirements Documentation: Models | Recorded | W2: Exercise on World and Machine Model |
Fr, 21.04.23 | Introduction to UML | Live | |
Di, 25.04.23 | Requirements Documentation: Natural Language | Recorded | W3: Exercise on Requirements Models 1 |
Fr, 28.04.23 | User Stories | Live | |
Di, 02.05.23 | Requirements Documentation: Quality Reqs. & Constraints | Recorded | W4: Exercise on Writing 'Good' Requirements (Requirement analysis and NL, good requirements) |
Fr, 05.05.23 | Communication | Live | |
Di, 09.05.23 | Requirements Elaboration: System Vision | Recorded | W5: Exercise on Requirements Models 2 |
Fr, 12.05.23 | Digital Design | Live | |
Di, 16.05.23 | Requirements Elaboration: User, Stakeholder, Elicitation | Recorded | W6: Exercise on Functional and non-functional(Quality) Requirements |
Fr, 19.05.23 | Requirements Elaboration: Conflicts and Negotiation | Recorded | |
Di, 23.05.23 | Elicitation and Analysis | Live | W7: Exercise on Requirement Elaboration: User, Stakeholder, Elicitation and System Vision |
Fr, 26.05.23 | Questions and Exercises | Live | |
Di, 30.05.23 | Pentecost holidays | No exercises | |
Fr, 02.06.23 | Pentecost holidays | ||
Di, 06.06.23 | Requirements Elicitation beyond Interviews | Live | W9: Exercise on Requirements Elaboration: Conflicts and Negotiation |
Fr, 09.06.23 | Requirements Elaboration: Validation & Verification | Recorded | |
Di, 13.06.23 | Requirements Management & Evolution | Recorded | W10: Exercise on Requirements Validation & Verification (EARS Validation) |
Fr, 16.06.23 | Change Management | Live | |
Di, 20.06.23 | Requirements Engineering Processes and Tools | Recorded | W11: Exercise on Requirement Management and Evoluation + Requirement Information model and Requirement Attribues + Kano Model |
Fr, 23.06.23 | ChatGPT for RE | Live | |
Di, 27.06.23 | Agile RE | Recorded | W12: Exercise on Requirements Engineering Process and Tools |
Fr, 30.06.23 | Guest Lecture by Dr. Jannik Fischbach (netlight consulting) | Live | |
Di, 04.07.23 | Agile RE | Live | W13: Q&A |
Fr, 07.07.23 | Ommited | ||
Di, 11.07.23 | Q & A, Exam Preparation, Current Research Trends | Live | Ommited |
Fr, 14.07.23 | Ommited | ||
Mi, 19.07.23, 9:30 - 10:30 | First Exam | ||
Mo, 25.09.23, 9:30 - 10:30 | Second Exam |
Additional Information
This module has an ILIAS course for slides, recordings, assignements and additional material. We will use Discord for communication. The link will be provided in ILIAS.
Waitinglist: This module is not restricted in number of attendees.
Language: All written material (slides, assignements, exams) will be in english. The lecture and exercises will be given in english.
Prerequisites: No formal prerequisites, but you are best prepared when you have own experience in bigger/collaborative software development (labs, open-source projects,...). We also recommend that you have attended all of the following modules: programming course (Programmierkurs), computer science I and II (Informatik I und II), software engineering (Softwaretechnik) and at best also the programming lab (Programmierpraktikum).
Book: There is no single book that covers all topics of the lecture. We take material from different sources.
Three optional recommended books: Klaus Pohl: “Requirements Engineering”, Karl Wiegers and Joy Beatty: “Software Requirements”, Axel van Lamsweerde: “Requirements Engineering”.
Grading: The grading for the module is determined by the results of the exam. Bonus points can be earned through working on homework sheets (more details will be described in the lecture).