zum Inhalt springen

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

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 RequirementsAxel 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).