|
|
Das Softwaretechnologie-Praktikum im SS 2002 wird für Studenten
der Diplomstudiengänge Informatik, Medieninformatik,
Informationssystemtechnik und des Ergänzungsstudiengangs
Softwaretechnologie durchgeführt. Es hat zum Ziel, die im Fach
Softwaretechnologie erworbenen Kenntnisse zu festigen und praktisch
anzuwenden. Inhaltlich wird auf die im Wintersemester 01/02
durchgeführte Lehrveranstaltung Softwaretechnologie
(Prof. Dr. H. Hußmann) Bezug genommen. D.h., es ist ein
Softwareprodukt objektorientiert unter Nutzung folgender
Technologien zu entwickeln:
- CRC-Karten-Methode
- Modellierung mit UML
- Java 2 SE 1.3 als Implementierungssprache
- Framework SalesPoint 3.0
Die Projektaufgaben sind im Rahmen studentischer Teams (in der
Regel 6 Studenten/innen) arbeitsteilig zu lösen.
|
|
|
Die möglichst weitgehende Verwendung des Frameworks wird aus
folgenden Gründen bindend vorgeschrieben.
-
Durch das Framework ist eine Grundarchitektur vorgegeben. Das
erleichtert den für Unerfahrene schwierigen OO Entwurf.
-
Die Einarbeitung in bestehende Programmsysteme gehört
zum Arbeitsalltag des Software-Entwicklers. Das Framework ist
durch Beschreibung und Anpassungsschnittstelle vergleichsweise
gut zugänglich.
-
Es soll Wiederverwendung bewußt eingeübt werden.
Hacker neigen dazu, laufend das Rad neu zu erfinden. Auf diese
Weise entstehen unkontrolliert Code-Doubletten, die - weil
nicht zusammenhängend - nicht systematisch gewartet
(verbessert oder an neue Gegebenheiten angepaßt) werden
können. Im Gegensatz dazu erfordert die Wiederverwendung
von Bausteinen deren laufende Anpassung und führt dadurch
zu immer flexibleren und verläßlicheren Komponenten:
die Qualität steigt, die investierte Mühe lohnt sich
mittelfristig.
|
|
|
|
WWW-Seiten zum Softwarepraktikum. Aufgabenstellungen,
Hinweise zum Praktikum sowie zu verfügbaren Tools, aktuelle
Informationen, Lehrmaterialien und Verweise zu weiteren fachlichen
Informationen sind unter der WWW-Adresse
http://www-st.inf.tu-dresden.de/sp/
zu finden.
|
|
|
"Konzepte und Methoden zum Framework".
Am 15.04.02 findet in der 5. DS
im Hörsaal BAR/SCHÖ eine Veranstaltung zum
Framework SalesPoint statt (Thomas Medack).
Dabei sollen ausgewählte Konzepte und Methoden des
Frameworks näher beleuchtet werden.
Zur Vorbereitung für diese Veranstaltung und zur
Durchführung des
Praktikums stehen Lehrmaterialien unter der WWW-Adresse
http://www-st.inf.tu-dresden.de/SalesPoint/v3.0/technical_overview/index.html, sowie http://www-st.inf.tu-dresden.de/SalesPoint/v3.0/sample_video/index.html zur Verfügung.
|
|
|
|
Es werden Projektteams gebildet (Gruppen von i.A. 6 Studenten), die
arbeitsteilig jeweils eine Aufgabenstellung zu bearbeiten und zu
lösen haben. Die Organisation der Projektteams erfolgt nach
dem Prinzip des Chefprogrammiererteams. Einem Studenten wird die
Funktion des Chefprogrammierers übertragen, die anderen
Gruppenmitglieder fungieren als Mitarbeiter. Der Chefprogrammierer
übernimmt die Rolle des Teamleiters und ist in erster Linie
für die Kommunikation mit dem Auftraggeber (Praktikumsbetreuer)
und innerhalb des Teams, die Teamorganisation, für alle
wichtigen Entwurfsentscheidungen sowie die qualitäts- und
termingerechte Erstellung des Gesamtsystems (Softwareprodukt und
Dokumentationen) verantwortlich. Er entwirft und implementiert
zugleich zentrale oder kritische Teile des Gesamtsystems. Die anderen
Teammitglieder teilen sich in folgende Aufgaben bzw. Rollen:
-
Der Assistent kann stellvertretend für
den Chefprogrammierer alle Entscheidungen treffen und
unterstützt den Chefprogrammierer beim Entwurf.
-
Der Sekretär ist für die gesamte
Verwaltungsarbeit zuständig, einschließlich der
Verwaltung der Klassenbibliotheken sowie aller
Entwicklungs-Dokumente.
-
Die Programmierer sind über alle Projektphasen
für das ihnen zugeordnete Teilsystem einschließlich
der Entwicklungs- und Anwenderdokumentation des Teilsystems
zuständig.
|
|
|
In Ergänzung zu diesem allgemeinen Verständnis wird von
jedem Student verlangt, daß er unabhängig von seiner
Rolle im Team einen Teil der Implementation eigenständig
übernimmt. Im Ergebnis des Entwurfes, an dem ebenfalls alle
Studenten beteiligt sein sollen, erfolgt die Festlegung, wer
für die Implementation welcher Klassen bzw. Teilsysteme
(Packages) verantwortlich ist.
|
|
|
Die konkrete Arbeitsteilung in der Gruppe (Teamorganisation) wird
durch die Gruppe festgelegt und im Projektplan festgeschrieben.
|
|
|
Zur Unterstützung der Teamarbeit wird CVS zur Verfügung
gestellt. Die Nutzung dieses Tools wird ausdrücklich
verlangt. Entsprechende
Dokumente zur Einarbeitung, als auch andere Hilfsmittel, sind unter
http://www-st.inf.tu-dresden.de/SalesPoint/v3.0/papers/download.html zu finden.
|
|
|
|
1. Aufgabenstellungen und Praktikumsbetreuung
|
|
|
Im Praktikum sollen auf der Basis des vorhandenen SalesPoint
3.0-Frameworks Verkaufsanwendungen in Java erstellt werden. Jeder
Praktikumsgruppe wird eine konkrete Aufgabenstellung und ein Betreuer
zugeordnet. Die Betreuer führen wöchentliche
Pflichtkonsultationen durch. Die Termine (Uhrzeit und Räume)
werden in Absprache mit den Betreuern festgelegt. Darüberhinaus
sollte regelmäßig ins WWW (Forum, FAQ, SalesPoint, u.a.)
nach aktuellen Informationen geschaut werden.
|
|
|
2. Einschreibung in Projekte
|
|
|
Um einen zügigen Beginn des Praktikums zu gewährleisten,
wird die Gruppeneinteilung und Aufgabenzuordnung durch den Lehrstuhl
am Ende der zweiten Praktikumswoche festgelegt. Es besteht die
Möglichkeit, sich bis spätestens
Freitag, den 12.04.2002,
im Sekretariat des Lehrstuhles Softwaretechnologie (DUE 26/258),
in Listen mit Gruppen und Aufgabenstellung einzutragen. Diese
Einschreibungen werden als Vorschläge betrachtet, die
endgültige Praktikumsgruppeneinteilung, einschließlich
Aufgaben- und Betreuerzuteilung, wird nach Korrektur
des Eingangstests durch Aushang vorm Sekretariat
des Lehrstuhls, sowie im WWW bis spätestens
Montag, den 22.04.2002 12 Uhr bekanntgegeben.
|
|
|
3. Projektphasen
|
|
|
Der Praktikumsablauf wird in fünf Projektphasen
einschließlich notwendiger Iterationen unterteilt. Die
projektbegleitende Dokumentation im WWW ist Pflicht! Es ist
darauf zu achten, daß der Fortschritt von Phase zu Phase
zu erkennen ist.
|
|
|
3.1 Einarbeitung
Ziel der Einarbeitungsphase (2 Wochen) ist es
- sich mit dem Framework SalesPoint 3.0 vertraut
zu machen. Lesen Sie dazu auf der Homepage von
SalesPoint v3.0
besonders gründlich den
Technischen
Überblick zum Framework.
- anhand des einführenden
Beispiels die Beispielanwendung
"Videoautomat" nachzuvollziehen bzw. selbst zu
entwickeln.
|
|
|
Abschließend wird ein Test zu Java, UML und grundsätzlichen
Fragen zum Framework SalesPoint v3.0
durchgeführt. Dieser findet am 18.04.2002
im Hörsaalzentrum
HSZ/AUDI, HSZ/002 und HSZ/003, innerhalb der 7.DS, von 19:00 bis
19:30 Uhr statt. Die Raumaufteilung wird vor Ort bekanntgegeben.
Es wird die Qualifikation eines jeden Studenten für die weiteren
Phasen des Praktikums überprüft. Die
Einschreibung zum Test findet im WWW unter http://www.jExam.de statt.
|
|
|
3.2 Analyse (OOA)
Zweck dieser Phase (2 Wochen) ist es, das gestellte Thema
vollständig zu durchdringen und die Anforderungen des
Auftraggebers zu erkennen. Außerdem soll ein
Projektplan erstellt werden, der die Aufgaben der einzelnen
Gruppenmitglieder festlegt. Bzgl. der Aufgabenstellung gehen Sie
wie folgt vor:
-
Identifizieren Sie anhand der Aufgabenstellung wichtige
Anwendungsfälle!
-
Finden Sie daraus Funktionalitäten, die das Programm
erfüllen soll und diskutieren Sie darüber
mit ihrem Betreuer (in der Kundenrolle!).
-
Spielen Sie konkrete Szenarien zu den so gefundenen
Anwendungsfällen durch (mitprotokollieren!) und stellen
Sie dabei CRC-Karten auf (ebenfalls aufschreiben!).
Hinweis: Die CRC-Karten müssen nicht ins WWW gestellt
werden, sie sind nur ein wichtiger Schritt beim Durchdringen
der Aufgabenstellung. Mit Hilfe der CRC-Karten kann das erste
Klassendiagramm erstellt werden.
-
Suchen Sie nach Aspekten, die in der Aufgabenstellung nur
angedeutet sind oder ganz fehlen können. Behandeln Sie
diese analog.
-
Ordnen Sie diese Funktionalität in einem
Pflichtenheft an, wobei Sie aus Anwendersicht
unterscheiden sollten,
-
was das zu erstellende Programm auf alle Fälle
leisten muß
-
welche Dinge es noch leisten kann, wenn dafür die
Entwicklungszeit reicht;
-
was es darüberhinaus auf keinen Fall
leisten soll.
-
Erstellen Sie auf der Basis der bisherigen Ergebnisse
-
Anwendungsfalldiagramme;
-
ein UML Klassendiagramm, welches die statischen
Zusammenhänge der gefundenen Klassen beschreibt;
-
zu den kompliziertesten Anwendungsfällen
UML-Sequenzdiagramme.
-
Überarbeiten Sie alle ihre Dokumente und zeigen Sie diese
ihrem Betreuer zur Zustimmung bei den Konsultationen.
|
|
|
3.3 Entwurf (OOD)
Ziel dieser Phase (2 Wochen) ist es, die Gesamtstruktur der
Implementierung zu entwerfen sowie mit dem Prototyping zu beginnen.
Dazu ist zunächst ein genauer Abgleich zwischen dem
Analyseergebnis und der Beschreibung des Frameworks erforderlich, um
festzustellen
-
welche der geforderten Funktionen das Framework abdeckt;
-
welche weiteren Funktionen es nach Anpassungen (wie genau
sehen diese aus?) abdeckt;
-
was darüberhinaus zu ergänzen ist.
Die Verantwortlichkeiten der in der Analysephase gefundenen Klassen
müssen dabei solchen Klassen des Frameworks zugeordnet werden,
die eben dies schon leisten, oder solchen anwendungsspezifischen
Unterklassen von Frameworkklassen, die zwecks Anpassung an die
konkrete Problemstellung einzurichten sind. Es entstehen neue
Klassenbeschreibungen und ein neues Klassendiagramm. (An diesem
Diagramm und dem aus der Analysephase werden die Gemeinsamkeiten und
Unterschiede zwischen Analysemodell und zu implementierendem Modell
deutlich.)
|
|
|
Wichtige Anpassungsschritte sind:
-
die Festlegung konkreter Bestands- und
Katalogklassen;
-
die Umsetzung von Anwendungsfällen in
SaleProcesses mit
Hilfe von Zustandsübergangsdiagrammen (die auszuarbeiten
sind);
-
die Darstellung von Katalogen und Beständen in der
grafischen Oberfläche; Bereitstellung von
Operationen über Menüpunkte und Knöpfe (Entwurf der
Benutzeroberfläche).
Im Ergebnis des Entwurfes muß festgelegt werden, welches
Teammitglied für die Implementation welcher Klassen
zuständig ist (und wann; Fertigstellung, Ergänzung des
Projektplanes).
|
|
|
3.4 Implementation und Test
In dieser Phase (3 Wochen) wird die Anwendung durch folgenden
Einzelaktivitäten implementiert:
-
Ausbau des Prototyps aus der Entwurfsphase (mit Java 2 SE 1.3);
-
Realisierung einer funktionsfähigen Anwendung;
-
ausgiebige Klassen- und Integrationstests mit anschaulichen
Testdaten (können dann auch in der Vorführung benutzt
werden);
-
Vervollständigung und Aktualisierung der Ergebnisse aus der
letzten Phase;
-
Erstellung einer javadoc-Dokumentation.
Dabei sind in der Regel die Rubriken Mußkriterien des
Pflichtenhefts vollständig zu erfüllen. Die Wunschkriterien
sollten ebenfalls zu einem gewissen Prozentsatz erfüllt sein.
Abweichungen davon bitte frühzeitig mit dem Betreuer absprechen!
|
|
|
3.5 Wartung und Pflege
In dieser Phase (3 Wochen) sind folgende Aufgaben zu erfüllen:
-
Stabilisierung/Korrektur des Programms
-
ggf. Leistungsverbesserung
-
Anpassung an Ergänzungswünsche des Kunden
(Praktikumsbetreuer)
-
Erstellung der (endgültigen) Anwender- und
Entwicklerdokumentation
Durch das Erfüllen zusätzlicher Anforderungen des Kunden
soll nachgewiesen werden, daß das erstellte Programm so
entworfen und implementiert wurde, daß Änderungen ohne
großen Aufwand möglich sind.
|
|
|
4. Pflichtkonsultationen
|
|
|
Das Team muß sich jede Woche im Rahmen von Pflichtkonsultationen
mit seinem Betreuer treffen, um den Projektfortschritt mit dem
Betreuer zu besprechen.
Jedes Teammitglied sollte an den Pflichtkonsultationen teilnehmen.
Zweimaliges unentschuldigtes Fehlen hat das Ausscheiden aus dem Team
und dem Praktikum zur Folge. Die Teilnahme an der
Abschlußpräsentation kann nur nach allen erfolgreichen
Pflichtkonsultationen eines Teams erfolgen. In Pflichtkonsultationen
erteilte Aufgaben sind spätestens in der nächsten
Pflichtkonsultation abzurechnen.
|
|
|
5. Dokumentation und Abschlußpräsentation
|
|
|
Das Praktikum schließt mit einer Präsentation der
Dokumentation einschließlich der Vorführung des
entwickelten Softwareprodukts ab.
|
|
|
5.1 Dokumentation
Der Softwareentwicklungsprozeß muß im Web ausführlich
dokumentiert werden. Insbesondere ist darauf zu achten, daß
die Ergebnisse der einzelnen Phasen erkennbar sind.
Zusätzlich zur
Entwicklungsdokumentation ist ein Anwenderhandbuch anzufertigen,
welches die Handhabung des Programms beschreibt. Bei der Erstellung
des Beleges ist Wert auf einen guten äußeren Eindruck
(Rechtschreibung/Grammatik/Ausdruck, Gliederung der Dokumentationen)
zu legen. Die Bereitstellung der vollständigen Dokumente
einschließlich Quellcode und Javadoc im WWW ist Pflicht.
Eine Papierversion soll nicht abgegeben werden.
|
|
|
Entwicklungsdokumentation. Die Entwicklungsdokumentation
soll im wesentlichen die Dokumente aus den einzelnen Projektphasen
zusammenfassen.
-
Projektplan
-
Dokumente aus der Analysephase (Pflichtenheft,
Anwendungsfalldiagramm, Sequenzdiagramme für alle wichtigen
Szenarien, statisches Modell)
-
Entwurfsdokumente mit Begründung von Entwurfsentscheidungen
(für SalesPoint 3.0 angepaßtes Klassendiagramm und
Klassenbeschreibungen, Zustandsübergangsdiagramme zu den
Anwendungsfällen)
-
Java-Quellcode
-
API-Dokumentation in HTML-Format (Nutzung von javadoc)
-
Bewertung der Lösung (Erreichtes versus Plan, Qualität)
-
Bewertung des Projektverlaufs (Was haben die einzelnen
Teammitglieder geleistet? Änderungen in der
Organisationsstruktur? Techniken des Projektmanagements?)
Achten Sie dabei darauf, daß
-
Analyse-, Entwurfs- und Implementierungsentscheidungen
begründet sind;
-
bei erfolgten Iterationen im Lebenszyklus des Softwareprodukts
alle Modelle aktualisiert werden;
-
die Übereinstimmung der Implementation mit den
objektorientierten Modellen gegeben ist;
-
die Implementation ausreichend kommentiert ist.
|
|
|
Anwenderdokumentation. Das Handbuch für den
Anwender des erstellten Softwareprodukts soll unter Beachtung
folgender Anforderungen knapp geschrieben sein:
-
Die angebotene Information muß fehlerfrei und
vollständig sein.
-
Was tut die Software?
-
Wie können die Anwender erreichen, daß sie es
tut? (Handlungsweisen)
-
Vor welchen Fehlern müssen Sie den Anwender bewahren?
-
Welches Hintergrundwissen brauchen die Anwender
über die Funktionsweise?
-
Die Anwender müssen die Information gut
finden können.
-
Die Dokumentation muß ansprechend gestaltet sein.
|
|
|
Außerdem ist ein Fragebogen auszufüllen und
(in Papierform) abzugeben.
|
|
|
5.2 Abschlußpräsentation
Die Präsentation der Praktikumsergebnisse jedes Projektteams
findet in der letzten Praktikumswoche (vorletzte Vorlesungswoche)
statt. Eine Verlängerung
der Bearbeitungszeit ist nicht möglich! Es werden Termine
festgelegt, zu denen jeweils drei Projektteams ihr Softwareprodukt
und ihren Beleg im Rahmen von jeweils 30 min zu verteidigen haben
(ca. 10 min zum Projektverlauf, 10 min Vorführung, 10 min
Diskussion). Die Teilnahme aller Teammitglieder ist Pflicht!
|
|
|
6. Rahmenzeitplan
|
|
|
Der Ablauf des Praktikums wird als Rahmenzeitplan vorgegeben. Die
Projektteams können diesen Zeitplan in gewissen Grenzen
entsprechend ihren konkreten Bedingungen in Absprache mit dem
Praktikumsbetreuer modifizieren (Festlegung im Projektplan). Der
späteste Fertigstellungstermin von Dokumentation und
Softwareprodukt ist der 28.06.2002! Der Zeitrahmen für die
Absolvierung des Praktikums ist damit sehr begrenzt. Für die
effektive Bearbeitung der Aufgabenstellung stehen ohne die
Einarbeitungsphase 10 Wochen zur
Verfügung. Eine konzentrierte und gut organisierte Bearbeitung
der Aufgabe ist für den erfolgreichen Abschluß des
Praktikums unbedingt erforderlich!
|
|
|
Semesterwoche | Termin/Zeitraum/Ort | Einzelaktivitäten |
1.-2. Einarbeitung | 08.04.-19.04. | |
| 08.04.; 5.DS; BAR/SCHÖ | Einweisung ins Praktikum und Einschreibung |
| bis 12.04.; Sekr. DUE26/258 | Einschreibung in das Praktikum |
| 15.04.; 5.DS; BAR/SCHÖ | Framework-Tutorial (mit Thomas Medack),
Einschreibung in die CVS-Einführung |
| 18.04.; 7.DS; HSZ/AUDI, HSZ/002 und HSZ/003 | Zwischentest |
3.-4. OOA | 22.04. | Bekanntgabe der Gruppen mit Zuordnung der Aufgabenstellung |
| 22.04.; 5.DS; BAR/SCHÖ | 1. Pflichtkonsultation |
| 22.04.-03.05. | Analyse |
5.-6. OOD | 06.05.-17.05. | Entwurf und Prototyping |
7.-9. Implementierung | 20.05.-07.06. | Implementierung und Test |
10.-12. Wartung | 10.06.-28.06. | Wartung und Pflege |
| 28.06. | Ende des Projekts |
13. Abschluß | 01.07.-5.07. | Abschlußpräsentation |
|
|