Heutiger Termin Heutiger Termin
letzte Woche letzte Woche
Aufgaben des Projektleiters, der Arbeitspaketleiter und Software-Entwickler
kurze Einführung in die Problemstellung heute
heute
ausführliche Vorstellung der Problemstellung
erfolgreiche Durchführung von Projekten
AG Projektmanagement bestimmen
Projektleiter bestimmen
Beachte: ohne Projektleiter kein Projekt
Integriertes Integriertes
Content-Management Content-Management
mit XML
mit XML
Content-Management Content-Management
Inhalte unabhängig von Präsentation (Layout) repräsentieren
Inhalte erst dann mit Layout versehen, wenn tatsächlich nötig
Präsentation an Kontext anpassen Vorteile:
Vorteile:
+ einfacheres Erstellen, Auffinden, Pflegen und Wiederverwendung von Inhalten
+ unterschiedliche Präsentation von Inhalten möglich + strukturell unterschiedliche Sichtweisen von
Inhalten möglich
Content-Management mit XML Content-Management mit XML
Trennung von Inhalt und Präsentation ist Grundgedanke von XML
Inhalte: XMLInhalte
generelle Struktur der Inhalte: XML-Schemagenerelle Struktur der Inhalte
unterschiedliche Präsentationen: Transformation unterschiedliche Präsentationen XML HTML/PDF/… mit XSLT
strukturell unterschiedliche Sichtweisen: strukturell unterschiedliche Sichtweisen Transformation XML XML mit XSLT
Entwicklung von XML-Schemata Entwicklung von XML-Schemata
Zu bestimmten Zeitpunkt wird für vorhandene Inhalte ein XML- Schema S entworfen.
Schema S beschreibt für die Zukunft alle zulässigen Inhalte.
XML-Schemata eher statischstatisch, verändern sich nicht zusammen mit Inhalten.
für Content- Management unpraktikabel!
für Content- Management unpraktikabel!
Ko-Entwicklung von Inhalten und Schema Ko-Entwicklung von Inhalten und Schema
Generelle Struktur (Schema) entwickelt sich parallel zu Inhalten.
Schema schränkt zwar zulässige Inhalte ein, kann zu realisierende
Anforderung zu realisierende
Anforderung
Inhalt und Schema integrieren Inhalt und Schema integrieren
<addressBook xmlns:s="http://relaxng.org/ns/vocabulary">
<s:zeroOrMore>
<card>
<name>
<s:mixedContent>Erika Musterfrau</s:mixedContent>
</name>
<email>
<s:anyURI>mfrau@inf.fu-berlin.,de</s:anyURI>
</email>
<s:optional>
<note>
<s:text/>
</note>
</s:optional>
</card>
<addressBook xmlns:s="http://relaxng.org/ns/vocabulary">
<s:zeroOrMore>
<card>
<name>
<s:mixedContent>Erika Musterfrau</s:mixedContent>
</name>
<email>
<s:anyURI>mfrau@inf.fu-berlin.,de</s:anyURI>
</email>
<s:optional>
<note>
<s:text/>
</note>
</s:optional>
</card>
Inhalt und Schema bilden Einheit.
Schema-Informationen
abstrahieren konkrete Inhalte.
Schema-Informationen ähnlich
Inhalt und Schema bilden Einheit.
Schema-Informationen
abstrahieren konkrete Inhalte.
Problemstellung Problemstellung
Realisierung eines Content-Management-Systems Realisierung eines Content-Management-Systems
Verwendung von XML-Technologien
dynamische Ko-Entwicklung von Inhalt und Schema
Integration von Inhalt und Schema
einfache Syntax und Handhabung
externe Schnittstelle: etablierte XML-Technologien wie XML, Namensräume und XML-Schema
persistente Speicherung in Datenbank möglich, aber auch ohne Datenbank funktionsfähig
möglichst Verwendung frei verfügbarer Software (XML-Editor, Relax- NG-Transformator)
Problemstellung Problemstellung
Realisierung eines Content-Management-Systems Realisierung eines Content-Management-Systems
Verwendung von XML-Technologien
dynamische Ko-Entwicklung von Inhalt und Schema
Integration von Inhalt und Schema
einfache Syntax und Handhabung
externe Schnittstelle: ausnahmslos etablierte XML-Technologien wie XML, Namensräume, XML-Schema und XSLT
persistente Speicherung in Datenbank möglich, aber auch ohne Datenbank funktionsfähig
möglichst Verwendung frei verfügbarer Software (XML-Editor, Relax- NG-Transformator)
typischer Kundenauftrag (F&E) nicht spezifischer!
typischer Kundenauftrag (F&E) nicht spezifischer!
Mögliche Architektur
Mögliche Architektur
Extraktion des Inhalts und Schemas Extraktion des Inhalts und Schemas
InstanzXML-XML- Instanz
Relax-NG- Schema Relax-NG-
Schema SchemaXML-XML- Schema
XSLT XSLT
gültig? äquivalent
integrierte Eingabesyntax:
Inhalte + Schema
Wie Gültigkeit überprüfen?
Persistente Speicherung Persistente Speicherung
DB
Oder besser extrahierte Instanz und Schema
speichern?
Problem dann:
Rekonstruktion der Eingabesyntax
Ko-Entwicklung von Inhalt und Schema Ko-Entwicklung von Inhalt und Schema
Schema wird zusammen mit Inhalten schrittweise entwickelt.
integrierte Eingabesyntax: gleichzeitig Inhalt und Schema- Informationen entwickeln
Beispiel Beispiel
<addressBook xmlns:s="http://relaxng.org/ns/vocabulary">
<s:oneOrMore> s:oneOrMore <card>
<name>
<s:mixedContent>
<s:optional><firstname>Erika</firstname></s:optional s:optional> s:optional <s:optional><surname>Musterfrau</surname></s:optionals:optional s:optional>
</s:mixedContent>
</name>
<email>
<s:anyURI>mfrau@inf.fu-berlin.,de</s:anyURI>
</email>
…
</card>
</s:oneOrMores:oneOrMore>
<addressBook xmlns:s="http://relaxng.org/ns/vocabulary">
<s:oneOrMores:oneOrMore>
<card>
<name>
<s:mixedContent>
<s:optional><firstname>Erika</firstname></s:optional s:optional> s:optional <s:optional><surname>Musterfrau</surname></s:optionals:optional s:optional>
</s:mixedContent>
</name>
<email>
<s:anyURI>mfrau@inf.fu-berlin.,de</s:anyURI>
</email>
…
</card>
</s:oneOrMores:oneOrMore>
Eingabehilfe für Ko-Entwicklung Eingabehilfe für Ko-Entwicklung
Schema n
Eingabehilfe für n+1: Schablone für integrierte Eingabe mit n-1
n
n+1
Konsistente Ko-Entwicklung Konsistente Ko-Entwicklung
neues Schema n+i nicht immer Spezialisierung (Teilmenge) von altem Schema n
Instanz n nicht immer gültig bzgl. Schema n+i
gültig?
n
n+i
Ich erwarte gespannt Ich erwarte gespannt
Ihr Angebot!
Ihr Angebot!
Mögliche Arbeitspakete Mögliche Arbeitspakete
1. Projektmanagement
2. Definition der integrierten Eingebesyntax ( S. 7) 3. Benutzeroberfläche einschl. Eingabehilfe ( S. 15)
und Auflösung von Inkonsistenzen ( S. 16) 4. Extraktion von Inhalt und Schema ( S. 11) 5. Persistente Speicherung ( S. 12)
6. Integration der einzelnen Komponenten, einschl.
Testen und Benutzerdokumentation
Zeitliche Abhängigkeiten Zeitliche Abhängigkeiten
AP 2AP 2
AP 3AP 3
AP 4AP 4 AP 6AP 6
Durchführung von Durchführung von
Projekten
Projekten
Durchführung von Projekten Durchführung von Projekten
Literatur
Das allerwichtigste: Qualität
Projektablauf
Anforderungsanalyse
Kosten- und Aufwandsabschätzung
Angebot
Projektplanung
Literatur Literatur
Pascal Mangold, IT-Projektmanagement kompakt, Elesevier, 2004. (10€)
einige hilfreiche Vorlagen unter
www.it-projektmanagement-kompakt.de
Das allerwichtigste: Qualität Das allerwichtigste: Qualität
Automobilbranche vor über 30 Jahren Automobilbranche vor über 30 Jahren
Es wurde als unnötig und zu teuer angesehen, es gleich von Anfang an richtig zu machen:
„Wenn es nicht passt, lässt es sich ja reparieren…“
Schließlich hat man erkannt, dass Korrekturen
wesentlich mehr kosten, als eigentliche Produktion.
Nicht Qualität kostet, sondern ihre Abwesenheit!Nicht Qualität kostet, sondern ihre Abwesenheit!
Das allerwichtigste: Qualität Das allerwichtigste: Qualität
Software-Branche heute Software-Branche heute
„Wir kompilieren das mal schnell. Wenn es nicht geht, können wir es ja debuggen…“
Kosten für Behebung eines Fehlers verzehnfachen sich in jeder Phase eines Projektes
Beispiel: zusätzliches Feld „Erstkontakt“ in Adresse
Analysephase: 5€
Designphase: 50€
Implementierung: 500€
Betrieb: 5000€
Qualität von Software Qualität von Software
erfüllt wesentlichen Anforderungen des Kunden
durchdachter, wiederverwendbarer Entwurf
solide, lesbar und veränderungsfreundlich implementiert
intensiv getestet
ausführlich dokumentiert: Anforderungen, Entwurf, Software, Tests, Anwenderdokumentation
Lieber nur 50% der Funktionalität ausliefern, aber dafür in guter Qualität!
Lieber nur 50% der Funktionalität ausliefern, aber dafür in guter Qualität!
Projekte Projekte
Ein Projekt ist ein kontinuierlicher Dialog kontinuierlicher Dialog zwischen Auftragnehmer und Auftraggeber,
der zur Erreichung des gewünschten Ergebnisses führt. (Mangold 2004)
Ein Projekt ist ein kontinuierlicher Dialogkontinuierlicher Dialog zwischen Auftragnehmer und Auftraggeber,
der zur Erreichung des gewünschten Ergebnisses führt. (Mangold 2004)
Ablauf eines Projektes Ablauf eines Projektes
Projektleiter
Projektleiter AuftraggeberAuftraggeber Anforderungsanalyse
Angebot Kosten- und
Aufwands- schätzung
Auftrag Projektplan Software-Entwurf
Reviewprotokoll Software, Dokumentation
Projektstart
Bei Behörden und Großindustrie Bei Behörden und Großindustrie
Projektleiter
Projektleiter AuftraggeberAuftraggeber Anforderungsanalyse
Pflichtenheft Pflichtenheft Kosten- und
Aufwands- schätzung
Auftrag Angebot
Bei Komplexen Software-Projekten Bei Komplexen Software-Projekten
Anforderungsspezifikation Anforderungsspezifikation
Reviewprotokoll Reviewprotokoll
Projektstart
Software-Entwurf
Reviewprotokoll Testspezifikation
Testspezifikation
Reviewprotokoll Reviewprotokoll Software, Dokumentation
Anforderungsanalyse Anforderungsanalyse
Was ist das Problem?
Gar nicht einfach, das herauszufinden!
Nicht davon ausgehen, dass Auftraggeber sein Problem kennt: Interviewen reicht nicht!
Stattdessen gemeinsame Sprache und gemeinsames Verständnis des Problems entwickeln.
zum großen Teil vor Projektbeginn: Ergebnis fließt in Angebot ein
nach Projektbeginn: Anforderungsspezifikation
Kosten- und Aufwandsabschätzung Kosten- und Aufwandsabschätzung
Teilaufgaben identifizieren
Dabei Aufgaben wie Angebot erstellen, Testen und Dokumentieren nicht vergessen.
Aufwand jeder Teilaufgabe schätzen.
Dabei später zuständige Projektmitarbeiter mit einbeziehen.
Auch unterschiedliche Kenntnisse von Projektmitarbeitern berücksichtigen.
Puffer statt Überstunden einkalkulieren.
Festpreis Festpreis
Normalerweise bestimmt der geschätzte Aufwand den Angebotspreis.
In unserem Fall können Sie allerdings kein Angebot über z.B. 12 Scheine á 3,2 SWS abgeben.
Festpreis: für jeden Teilnehmer einen Schein über 2 SWS.
Daher zuerst zur Verfügung stehenden Ressourcen schätzen:
Wie viel Zeit sind die einzelnen Teilnehmer bereit für einen Schein über 2 SWS zu investieren?
Dann überprüfen, ob angebotene Funktionalität auch
Angebot Angebot
1.1. AngebotsumfangAngebotsumfang
a. Beschreibung der Aufgabe b. Bezugsdokumente
c. Welche Leistung wird erbracht
d. Welche Ergebnisse werden am Ende ausgeliefert 2.2. RahmenbedingungenRahmenbedingungen
a. Was umfasst das Angebot nicht
b. Mitwirkungspflicht des Auftraggebers c. Zusammenarbeit und Projektablauf
d. verbindlicher Zeitplan 3.3. Kommerzielle RegelungenKommerzielle Regelungen
a. Preis, Zahlungsweise
Häufigsten Fehler der Angebotsphase Häufigsten Fehler der Angebotsphase
1. Projektziel nicht eindeutig formuliert oder nicht mit Auftraggeber abgestimmt
2. zu gering geschätzter Aufwand
3. tatsächlich anfallende Aufgaben vergessen 4. Lieferbestandteile nicht genau definiert 5. Ansprechpartner nicht klar definiert
6. Mitwirkungspflicht des Auftraggebers nicht genau festgelegt
7. Abnahme nicht genau geregelt
8. Angebotspreis ermäßigt, ohne Funktionsumfang zu reduzieren
Projektplanung Projektplanung
Definition von ArbeitspaketenArbeitspaketen
Wer ist für was verantwortlichverantwortlich
Ressourcenplanung: Verteilung der zur Verfügung Ressourcenplanung stehenden Arbeitskräfte auf Teilaufgaben
Festlegung eines ZeitplanesZeitplanes
Identifizierung von RisikenRisiken
Wie kann jeweiligen Risken begegnet werden?
Protokolle als Steuerungsinstrument
Protokolle als Steuerungsinstrument
Unterschiedliche Protokollpunkte Unterschiedliche Protokollpunkte
AAufforderung (ufforderung (AAktion)ktion)
verpflichtet Verantwortlichen zum Handeln
erfordert Zustimmung des Betroffenen
eindeutiger Endtermin BBeschlusseschluss
für alle verbindlich
erfordert Einigung aller
Unterschiedliche Protokollpunkte Unterschiedliche Protokollpunkte
EEmpfehlungmpfehlung
wird ausgesprochen, wenn Betroffener nicht anwesend ist oder wenn keine Einigung möglich
darf einseitig ausgesprochen werden
erfordert keine Einigung und ist nicht verpflichtend FFeststellungeststellung
gibt persönliche Sichtweise Einzelner wieder
darf einseitig ausgesprochen werden
erfordert keine Einigung und ist nicht verpflichtend
Komplexität beherrschen Komplexität beherrschen
Wie koordiniere ich 30 Mitarbeiter?
Wie finde ich einen Termin für 30 Mitarbeiter?
Antwort: erst gar nicht versuchen!
stattdessen besser nur Arbeitspaketleiter koordinieren:
PLPL
APLAPL APLAPL APLAPL APLAPL
PMPM
APLAPL
PMPM PMPM
PMPM PMPM
PMPM PMPM PMPM PMPM PMPM PMPM PMPM PMPM PMPM PMPM PMPM PMPM
Projektmanagement Projektmanagement
AG Projektmanagement AG Projektmanagement
erste Aufgabe: Angebot erstellen
5 Studierende + Projektleiter
aus diesem Kreis werden Arbeitspaketleiter gestellt
AG wird von TH beraten beraten Projektleitung
Projektleitung
Wer möchte Projektleitung übernehmen?
Aufgabe bis nächste Woche Aufgabe bis nächste Woche
Folien über Problemstellung durcharbeiten
Wie geht es weiter?
Wie geht es weiter?
heute heute
ausführliche Vorstellung der Problemstellung
erfolgreiche Durchführung von Projekten
AG Projektmanagement bestimmen
Projektleiter bestimmen 3.11.
3.11.
Anforderungsanalyse 10.11.
10.11.
Präsentation des Angebots
Erteilung des Auftrages, Kickoff