Universität Bremen Fachbereich 3 Studiengang Informatik Karl ...
Universität Bremen Fachbereich 3 Studiengang Informatik Karl ...
Universität Bremen Fachbereich 3 Studiengang Informatik Karl ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Gestaltung soziotechnischer Systeme<br />
3. Semester<br />
Anforderungsspezifikation<br />
Seite 19<br />
6 ABLAUF<br />
6.1 Dozent<br />
6.1.2 Zustandsdiagramm<br />
Das Zustandsdiagramm des Dozenten (Abb. 10 auf der nächsten Seite) zeigt<br />
jetzt die einzelnen Zustände für die von uns geforderten Klassen am Beispiel<br />
des Aktivitätsdiagramms des Dozenten auf.<br />
Hierbei erzeugt der Dozent in der AuthServlet-Klasse eine gültige HttpSession,<br />
mit deren Hilfe dann der weitere Ablauf modelliert wird. Diese Session<br />
wird von javax.servlet verwaltet, wir brauchen uns darum also keine Gedanken<br />
machen. Sie ist immer für eine Sitzung persistent und wir können<br />
an sie Attribute setzen. Wenn eine neue Seite aufgerufen wird, kann sie die<br />
Session von der vorherigen Seite sozusagen übernehmen. Dies geschieht entweder<br />
durch Cookies oder, falls der Browser keine Cookies unterstützt, durch<br />
URL-Codierung. Die Auth-Servlet-Klasse hängt die User-ID an die erzeugte<br />
HttpSession mit an.<br />
Nach erfolgreicher Authentifizierung erzeugt das Choice-Servlet die Auswahlseite<br />
und leitet dann je nach oben erläuterter Aktion (Eigene Daten ändern,<br />
Veranstaltungen ändern, Logout) weiter.<br />
Das ChangeOwnDataServlet dient zur Änderung der eigenen Daten. Es<br />
überprüft die Eingaben und hat als einzigen Ausgang wieder das Choice-<br />
Servlet. Es nutzt die vom AuthServlet generierte User-ID, um auf die Daten<br />
des Benutzers zuzugreifen.<br />
Im ClassesListServlet, das auch über das ChoiceServlet erreichbar ist, werden<br />
dann erst einmal alle Veranstaltungen dargestellt, die der Dozent hält.<br />
Jetzt kann der Dozent sich entscheiden, entweder eine Veranstaltung zu modifizieren<br />
(ModifyClassServlet) oder eine neue anzulegen (NewClassServlet).<br />
Beide Objekte hängen dann das Attribut “selectedClass“ an die HttpSession<br />
an.<br />
Mittels der ausgewählten Veranstaltung (“selectedClass’”), die ja in der Session<br />
gespeichert ist, generiert das ListClassServlet eine Terminliste der Veranstaltung.<br />
Hier hat der Dozent jetzt wieder die Möglichkeit, einzelne Termine<br />
zu ändern oder neue hinzuzufügen. Wenn er einen Termin ändern will, setzt<br />
das ListClassServlet das Attribut “session“ in der HttpSession. Es gibt auch<br />
die Möglichkeit, wieder zur Auswahlseite zurückzugehen.<br />
Das Attribut “session“, das vom ListClassServlet gesetzt wurde, wird jetzt<br />
vom ChangeSessionServlet ausgelesen. Innerhalb dieser Klasse kann der Veranstaltungstermin<br />
verändert werden, es wird auch eine Konsistenzprüfung<br />
der Daten durchgeführt. Wenn der Veranstaltungstermin erfolgreich geändert<br />
wurde, geht es zurück zum ListOfSessionsServlet.<br />
Das Logout-Servlet ist dann der Endzustand, dieser ist auch von der Seite,<br />
die durch das ChoiceServlet generiert wird, zu erreichen. Es sorgt dafür, dass<br />
die HttpSession vernichtet wird.<br />
sopra