Vorlesung Requirements Engineering SS20
Semester: | Sommersemester 2020 |
LP (ECTS): | 3 |
SWS: | 2 |
Studiengang: | Master Informatics |
Dozent: | Prof. Dr.-Ing. Anne Koziolek |
- Ort und Zeit der Lehrveranstaltung
Di, 09:45 - 11:15 | |
Raum 301, Buildung 50.34 or virtually (to be announced) |
- ILIAS-Bereich
https://ilias.studium.kit.edu/goto.php?target=crs 1113414&client id=produktiv
- Seite im Vorlesungsverzeichnis
The slides and the lecture are in English. The slides are based on Martin Glinz' lecture "Requirements Engineering I" at Universität Zürich, Switzerland.
The lecture will held fully virtual in the first weeks of the semester and, depending on how the regulations related to COVID-19 get updated, possibly for the whole semester. The first meeting on April 21st will be a video conference, probably MS Teams or GoToMeeting. Please check the Ilias course for updates and information of how to join the first meeting well in advance. Using a headset will be ideal, but you can even join using a smartphone.
In that first meeting, we will discuss how to do the lecture. The two options are
- You watch last year's recording and we meet in shorter video conferencing sessions to work on the mini-exercises and discuss the material
- I hold the lecture live in a video conference and provide the recordings of these sessions later for those who cannot join or have technical difficulties
In general, all information related to studies during the Corona Virus pandemic can be found here: http://www.kit.edu/kit/english/25911.php
In any case, all lectures will be recorded (slides and audio only). Slides and lecture recordings will be made available over Ilias. During the first weeks of the semester, no password is required. Later, a password might be added. In that case, please ask the instructor for the password by email using your KIT account.
Content
Having a good requirements specification is a critical prerequisite for any successful software project. This lecture gives an introduction to processes, methods and representation forms for specifying and managing requirements.
The topics include
- background and general overview,
- processes and methods for requirements elicitation,
- specification with natural language,
- object-oriented specification, use cases, UML,
- specification of quality requirements and constraints,
- requirements validation and management.
Inhalt (Deutsch)
Eine vernünftige Spezifikation der Anforderungen ist eine entscheidende Voraussetzung für jedes erfolgreiche Softwareprojekt. Die Vorlesung gibt eine Einführung in die Prozesse, Verfahren und Darstellungsformen für das Spezifizieren und Verwalten von Anforderungen. Themen sind u.a.:
- Grundlagen und Überblick
- Prozesse und Methoden der Anforderungsgewinnung
- Spezifikation mit natürlicher Sprache
- Objektorientierte Spezifikation, Anwendungsfälle, UML
- Spezifikation von Qualitätsanforderungen und Randbedingungen
- Prüfung und Verwaltung von Anforderungen
Learning Goals (might be updated)
Students have acquired basic knowledge and skills in the core methods, languages, processes, and practices in Requirements Engineering (RE). In particular, they acquired the following skills
They can
- name and describe the terms and concepts of RE
- identify stakeholders of the RE process and system boundaries
- analyse the context of a system
- differentiate between analysis activities and design activities
- evaluate risk and value of RE efforts
- classify types of requirements
- elicit requirements and document then in different forms (natural language, static models, behaviour models, user interaction models, goal moadels)
- select and instantiate RE processes for a given software project
In addition, they know and understand
- the methods to validate requirements
- the method to manage requirements
Lernziele (Deutsch) (könnten noch aktualisiert werden)
Die Studierenden verfügen über Grundkenntnisse in Methoden, Sprachen, Prozessen, und Techniken des Requirements Engineerings (RE). Sie haben sich insbesondere die folgenden Fertigkeiten angeeignet:
Sie können
- Begrifflichkeiten des RE nennen und beschreiben.
- Beteiligte des RE Prozesses und Systemgrenzen identifizieren.
- den Kontext eines Systems analysieren.
- Anforderungstätigkeiten von Entwurfstätigkeiten unterscheiden
- Risiken und Nutzen von Anforderungsaufwänden bewerten.
- Anforderungen klassifizieren
- Anforderungen ermitteln und in verschiedenen Formen (in natürlicher Sprache, statischen Modellen, Verhaltensmodellen, Modellen der Benutzerinteraktion, Zielmodellen) dokumentieren,
- Requirements Engineering Prozesse für ein Projekt auswählen und instanziieren
Sie kennen und verstehen weiterhin
- die Verfahren zur Überprüfung von Anforderungen
- die Verfahren zum Verwalten von Anforderungen
Literatur
Die Vorlesung basiert auf Folien und Arbeiten von Martin Glinz, daher ist kein direkt begleitendes Buch verfügbar. Abweichungen zwischen in der Vorlesung besprochenen Inhalten und von den Teilnehmern gelesenen Quellen dürfen gern im Kurs diskutiert werden.
Haupthinweis: Pohl, K. (2007). Requirements Engineering: Grundlagen, Prinzipien, Techniken. dpunkt. verlag.
Weitere Literaturhinweise
- I. Alexander, R. Stevens (2002). Writing Better Requirements. London: Addison-Wesley.
- A. Davis (2005). Just Enough Requirements Management. New York: Dorset House.
- D.C. Gause, G.M. Weinberg (1989). Exploring Requirements: Quality before Design. New York: Dorset House.
- M. Glinz (2013). A Glossary of Requirements Engineering Terminology, Version 1.5. International Requirements Engineering Board (IREB). Originally published in 2011. Available at http://www.ireb.org (check-out CPRE Glossary)
- E. Gottesdiener (2002). Requirements by Collaboration: Workshops for Defining Needs. Boston: Addison-Wesley.
- M.A. Jackson (1995). Software Requirements and Specifications: A Lexicon of Practice, Principles and Prejudices. Addison-Wesley (ACM Press books): Wokingham, etc.
- A. van Lamsweerde (2009). Requirements Engineering: From System Goals to UML Models to Software Specifications. Chichester: John Wiley & Sons.
- S. Robertson, J. Robertson (2006). Mastering the Requirements Process. 2nd edition. Boston: Addison-Wesley.
- K. Wiegers (2006). More About Software Requirements: Thorny Issues and Practical Advice. Redmond: Microsoft Press.
For practitioners
If you are a practitioner and interested in requirements engineering, you can attend the lecture as a Gasthörer.
If you are looking for training that is more compatible to learning on job than a 90-minute lecture each week, I recommend the International Requirements Engineering Board, a non-profit organization dedicated to improve requirements engineering practices around the world. They offer trainings and certification. IREB's certification curriculum has been created by leading RE representatives from science, research, industry and consulting. IREBs RE Magazine is an entertaining way of staying up-to-date.
- Lesegruppe
- Praktikum Ingenieursmäßige Software-Entwicklung SS20
- Praktikum Modellgetriebene Software-Entwicklung SS20
- Praktikum Werkzeuge für Agile Modellierung SS20
- Praxis der Software-Entwicklung SS20
- Proseminar Software-Anforderungen und -Entwurf SS20
- Proseminar Software-Katastrophen SS20
- Vorlesung Requirements Engineering SS20
- Vorlesung Software-Architektur und -Qualität SS20
- Übung Programmieren SS20