Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 4 " Requirements Engineering " Am IAS soll der Prozess zur Durchführung von Kursen grundlegend erneuert werden. U.a. soll die Anmeldung zu einem Kurs nicht mehr über eine Liste erfolgen, die im Sekretariat des Instituts ausliegt, sondern elektronisch vorgenommen werden können. Um dieses Kursmanagementsystem zu verwirklichen, wurde das Pflichtenheft soeben fertig gestellt. Sie finden darin die folgenden Anforderungen: Allgemeines: /A1/ Am IAS werden regelmäßig Kurse unterschiedlicher Art angeboten. Beispielsweise findet jedes Jahr am Ende des Wintersemesters ein C/C++ Kurs statt. /A2/ Alle Kurse werden als Blockveranstaltung abgehalten und sind unterteilt in Seminare am Vormittag und praktische Übungen am Nachmittag. /A3/ Das Kursprogramm richtet sich an Studierende und Mitarbeiter der Universität Stuttgart, die Teilnahme ist kostenlos. /A4/ Um Interessenten auf das Kursangebot des IAS aufmerksam zu machen, muss jeder Kurs auf den Web-Seiten des Instituts angekündigt werden. Außerdem sollen sämtliche Kurse als Programmbeitrag in der Broschüre Weiterbildung an der Universität Stuttgart erscheinen. Darüber hinaus sollen die Studenten des IAS auch per E-Mail auf bevorstehende Kurse hingewiesen werden. Planung eines Kurses: /A5/ Wenn die Durchführung eines neuen Kurses beschlossen wird, soll der Verantwortliche für die Kursorganisation sämtliche Eckdaten des Kursangebots in das System eingeben können. Dies sind im Einzelnen der Titel, der Inhalt und die Zielgruppe des Kurses, sowie auch der Ort, der Anfangs- und Endtermin und die Uhrzeiten, zu denen der Kurs stattfinden soll. Ankündigung eines Kurses: /A6/ Rechtzeitig vor dem Erscheinen einer neuen Ausgabe des Weiterbildungsprogramms der Universität Stuttgart soll das System automatisch eine E-Mail mit einem vorformulierten Text an die Redaktion des Weiterbildungsprogramms senden. Der E-Mail soll im Anhang die Eckdaten aller neuen Kursangebote, jeweils in Form eines Microsoft Word-Dokuments, beigefügt sein. /A7/ 1 Woche vor dem Anmeldebeginn eines Kurses soll das System den IAS- Webmaster per E-Mail daran erinnern, das Kursangebot im Internet bekannt zu machen. Diese E-Mail enthält einen vorformulierten Text sowie Hyperlinks auf die Kursankündigung und auf ein Online-Anmeldeformular.
Softwaretechnik I Übung 4: Requirements Engineering 2 /A8/ /A9/ Bis spätestens einen Tag vor dem Anmeldebeginn werden diese Hyperlinks vom IAS-Webmaster an den dafür vorgesehenen Stellen in die IAS-Web- Seiten eingetragen. Am Tag des Anmeldebeginns soll das System automatisch eine E-Mail an den Studenten-E-Mail-Verteiler des IAS senden, um auf das Kursangebot hinzuweisen. Es soll ebenfalls einen vorformulierten Text sowie Hyperlinks auf die Kursankündigung und auf das Online-Anmeldeformular im Internet enthalten. Anmeldung zum Kurs /A10/ Das System soll in der Lage sein, für jeden Kurs automatisch eine Web-Seite mit der Kursankündigung zu generieren und ein Online-Anmeldeformular und ein Online-Abmeldeformular bereitstellen. Diese sollen ab Anmeldebeginn mit Hilfe eines Web-Browsers über das Internet abrufbar sein. /A11/ Auf der Web-Seite mit der Kursankündigung soll ein vorformulierter Text erscheinen, in dem die wichtigsten Eckdaten des Kursangebots genannt werden. Außerdem soll die Anzahl der noch freien Plätze eingeblendet sein. /A12/ Im Online-Anmeldeformular sollen sich Interessenten zum Kurs anmelden können. Bei Studenten müssen dazu Vorname, Nachname, Matrikelnummer und E-Mail-Adresse erfasst und gespeichert werden. Im Falle von Mitarbeitern ist an Stelle der Matrikelnummer der Name des Instituts einzugeben, an dem sie beschäftigt sind. Nach erfolgreicher Anmeldung wird ein vorformulierter Bestätigungstext im Web-Browser des neuen Teilnehmers eingeblendet. Andernfalls soll ein vorformulierter Fehlermeldungstext erscheinen. /A13/ Das Online-Anmeldeformular darf nur dann zugänglich sein, wenn noch nicht alle verfügbaren Plätze vergeben wurden. Andernfalls soll ein vorformulierter Hinweis erscheinen, dass der Kurs bereits ausgebucht ist. /A14/ Teilnehmer, die sich bereits zu einem Kurs angemeldet haben, sollen ihre Anmeldung bei Bedarf über das Online-Abmeldeformular wieder rückgängig machen können. Dazu müssen stets Vorname, Nachname und Matrikelnummer angegeben werden. Um Missbrauch auszuschließen, muss zusätzlich auch ein Zugangscode zur Authentifizierung des Teilnehmers abgefragt werden. Nur bei korrektem Zugangscode dürfen die Teilnehmerdaten im System gelöscht und der Platz wieder freigegeben werden. Im einen wie im anderen Fall ist anschließend im Web-Browser des Teilnehmers ein vorformulierter Bestätigungs- bzw. Fehlermeldungstext einzublenden. Durchführung des Kurses: /A15/ 1 Woche vor Kursbeginn soll das System automatisch eine E-Mail an alle angemeldeten Teilnehmer senden, um sie an den bevorstehenden Beginn ihres Kurses zu erinnern. Inhalt dieser E-Mails ist ein vorformulierter Text, mit dem auf Ort, Datum und Uhrzeit des Kursbeginns hingewiesen wird. /A16/ Der Verantwortliche für die Kursorganisation soll jederzeit vom Web-Browser aus eine aktuelle Teilnehmerliste aus dem System abrufen können. Dazu soll er über ein entsprechendes Online-Formular den Titel und den Anfangstermin des betreffenden Kurses selektieren können. Anschließend soll die Teilnehmerliste in Form eines Microsoft Word-Dokuments generiert und im Web-Browser angezeigt werden.
Softwaretechnik I Übung 4: Requirements Engineering 3 /A17/ Am Tag des Kurstermins soll das System den IAS-Web-Master durch ein vorformuliertes E-Mail daran erinnern, die Bekanntmachung des Kurses im Internet wieder zu entfernen. Zum selben Zeitpunkt soll auch vom System aus der Zugriff auf die Web-Seite mit der Kursankündigung sowie auf das Online-An- und Abmeldeformular gesperrt werden. Sonstige Anforderungen: /A18/ Aus Sicherheitsgründen sollen alle Beteiligten nur lokal über das Intranet auf das System zugreifen können. /A19/ Das System muss von den am häufigsten benutzten Web-Browsern ohne Einschränkung der Funktionalität nutzbar sein. /A20/ Das System muss stabil laufen und eine hohe Verfügbarkeit aufweisen. /A21/ Alle unzulässigen Benutzereingaben müssen abgefangen werden. Frage 4.1 Welche 7 Eigenschaften kennzeichnen eine gute Anforderungsspezifikation? Frage 4.2 Ordnen Sie den Anforderungen eine oder mehrere der folgenden Kategorien zu. Verwenden Sie zur Beantwortung der Frage das zugehörige Lösungsblatt im Anhang. F N I Q X Funktionale Anforderung Nichtfunktionale Anforderung Implementierungsanforderung Qualitätsanforderung Keine Anforderung an das zu realisierende System Hinweis: Beachten Sie, dass es sich bei o.g. Anforderungen lediglich um Anforderungen an das Kursmanagementsystem selbst handelt. Frage 4.3 Beurteilen Sie, ob die Anforderungen eindeutig sind. Nennen Sie Gründe, falls dem nicht so ist. Hinweis: Anforderungen, in denen von einem vorformulierten Text die Rede ist, ohne dass dessen Wortlaut näher spezifiziert wird, dürfen als eindeutig erachtet werden. Gleiches gilt für Anforderungen, die durch nachfolgende Anforderungen präzisiert werden. Frage 4.4 Prüfen Sie, ob die Anforderungen konsistent, d.h. widerspruchsfrei sind. Falls nicht, nennen Sie für jede widersprüchliche Anforderung jeweils diejenige(n) andere(n) Anforderung(en), zu der oder denen sie in Konflikt steht. Frage 4.5 Prüfen Sie, ob die Anforderungen erfüllt werden kann.
Softwaretechnik I Übung 4: Requirements Engineering 4 Frage 4.6 Prüfen Sie, ob die Erfüllung der Anforderungen durch das zu entwickelnde System nachprüfbar ist. Frage 4.7 Stellen Sie fest, ob die Anforderungsbeschreibung vollständig ist und machen Sie Vorschläge für evtl. fehlende Anforderungen.
Softwaretechnik I Übung 4: Requirements Engineering 5 Lösungsblatt: Nr. Frage 4.2 Frage 4.3 Frage 4.4 Frage 4.5 Frage 4.6 Klassifikation Eindeutig? Konsistent? Erfüllbar Nachprüfbar /A1/ /A2/ /A3/ /A4/ /A5/ /A6/ /A7/ /A8/ /A9/ /A10/
Softwaretechnik I Übung 4: Requirements Engineering 6 /A11/ /A12/ /A13/ /A14/ /A15/ /A16/ /A17/ /A18/ /A19/ /A20/ /A21/