Menu

Seite365

Anonymous

3.6.5 Iterationsplanung

Allgemein

Auf dieser Seite wird auf Basis der Seiten 3.6.3 Zerlegung des Projektes in Einzelvorgänge und 3.6.4 Funktionsauflistung die Umsetzung des Projektes in mehreren Iterationen geplant.

Im ersten Schritt werden den Funktionen und nichtfunktionalen Anforderungen Umsetzungsprioritäten zugewiesen.

Prioritäten

Es werden folgende Prioritätsstufen unterschieden:

(A) = höchste Priorität - für die Benutzbarkeit der Software unabdingbar (Software funktioniert ohne die Funktionalitäten nicht)
(B) = hohe Priorität - für die Benutzbarkeit der Software wichtig (Software funktioniert ohne die Funktionalitäten nur eingeschränkt
(D) = niedrige Priorität - für die Benuzbarkeit der Software nützlich (Software funktioniert auch ohne die Funktionalitäten)

Die höchste Priorität hat die Umsetzung der im Projektantrag formulierten Softwarefunktionalitäten.

Für den Generator sind das folgende Funktionen:

  • eine 3-Tier-Java-Applikation generieren

Für das Generat sind das folgende Funktionen:

  • Datenobjektinstanz anlegen
  • Datenobjektinstanz löschen
  • Datenobjektinstanzen anzeigen
  • Datenobjektinstanz ändern
  • Datenobjektinstanz suchen
  • zwischen mehreren Datenobjekten navigieren (Referenzen abbilden)

Die vollständige Zuordnung der Prioritäten zu den Funktionen und nichtfunktionalen Anforderungen wird später schriftlich festgehalten. ;)

Iterationen

Das Projekt wird in der Phase Implementierung und Test in 3 Iterationen zerlegt. Im Folgenden wird aufgeführt, was in welcher Iterationsphase implementiert werden soll.

1. Iteration

Vom Generator zu bearbeitendes Datenmodell

  • nur einzelne Datenobjekte mit
    • Attributen
    • den Methoden anlegen, ändern, löschen, suchen

Konfigurator

  • Konfiguration wird fest im Quellcode implementiert
  • keine xml-Property-Datei
  • keine GUI

Plattform

  • Datenbank installieren
  • Datenbank minimal konfigurieren
  • keine Skripte für DB
  • App-Server installierem
  • Appserver minimal konfigurieren

Referenzimplementierung-GUI

  • Darstellung für Objekte
  • Zugriff auf die Methoden der Objekte per Kontextmenü oder normalen Menü oder
    • Instanz anlegen
    • Instanz anzeigen
    • Instanz ändern
    • Instanz löschen
    • Instanz suchen

Referenzimplementierung-Geschäftslogik

  • Sessionbeans mit folgenden Geschäftsmethoden
    • Instanz anlegen
    • Instanz anzeigen
    • Instanz ändern
    • Instanz löschen
    • Instanz suchen

Referenzimplementierung-Persistenz

  • EJB für jedes Datenobjekt
  • OR-Mapping mit Hibernate
  • DAO für jedes Entity-Bean
  • Anlegen des Schemas in der DB

Schnittstellen

  • minimale Schnittstellen, damit die o.g. Funktion an den Daten durchgeführt werden können (= nur das Wesentliche)

Templates

(gemäß des Funktionsstandes der Referenzimplementierung) für

  • GUI-Schicht
  • Geschäftslogik-Schicht
  • Persistenz-Schicht
  • Deskriptoren
  • Build-File
  • keine Modularisierung der Templates

Einfacher Workflow

  • rein auf die Ausführung ausgerichtet
  • keine Modularisierung der Ausführungsebenen

Externe Bezeichner & Client-Property-File

  • in dieser Version noch nicht

Logging

  • beschränken, auf das für unsere Entwicklung notwendige Logging
  • bei Fehler kompletten Stack-Trace ausgeben

Testen

  • Generator: mit Testdatenmodell der 1. Iteration testen
  • Generat: minimal Testklassen generieren
  • Generat: Testklassen minimal dokumentieren

Dokumentation

  • minimal halten (Javadoc an für unsere weitere Entwicklung wichtigen Stellen)
  • keine Anwenderdokumentation
  • keine Entwicklerdokumentation
  • keine Installationsdokumentatuion

2. Iteration

Vom Generator zu bearbeitendes Datenmodell

  • Funktionalität der Iteration 1 +
  • Beziehungen zwischen Datenobjekten
    • 1:1
    • 1:n
    • n:m
    • Kardinalitäten

Konfiguration des Generators

  • über eine externe Property-XML-Datei
  • keine GUI

Plattform

  • Start- und Stop-Skripte für die DB
  • Anpassen der Konfiguration des App-Servers auf unsere Bedürfnisse
  • anpassen der mitgelieferten Start- und Stop-Skripte des App-Servers

Referenzimplementierung-GUI

  • Funktionalität der Iteration 1 +
  • Navigation zwischen den Datenobjekten
  • Minimale Anwenderhilfe über Menüpunkt Hilfe

Referenzimplementierung-Geschäftslogik

  • Funktionalität der Iteration 1 +
  • Funktion zum Navigieren

Referenzimplementierung-Persistenz

  • Funktionalität der Iteration 1 +
  • Mapping für Beziehungen zwischen den Datenobjekten
    • 1:1
    • 1:n
    • n:m
    • Kardinalitäten

Schnittstellen

  • Schnittstellen optimieren (in Bezug auf die lose Kopplung der Schichten)
  • Schnittstellen um die zusätzliche Funktionalität erweitern
  • Schnittstellendokumentation erweitern

Workflow

  • Workflow verallgemeinern (= Grundlage für die Möglichkeit alternative Technologien und Datenmodelle in den Workflow einzubinden)
  • Workflow minimal dokumentieren

Templates

  • für Property-Datei
  • T_1 optimieren
  • Templates modularisieren

Externe Bezeichner & Client-Property-File

  • externe Bezeichner in Property-XML-Datei auslagern
  • Konfigurationsdatei für den Client (um z.B. die Möglichkeit zu haben verschiedene Sprachdateien einzubinden)

Logging

  • logging ausführlicher machen, damit es externe Entwickler und Anwender verstehen

Benennung der Pakete

  • Name des Oberpaketes (Namensraum) ist frei wählbar

Testen

  • Generator: mit Testdatenmodell der 2. Iteration testen
  • Generat: erweiterte Testklassen generieren
  • Generat: Testklassen dokumentieren

Dokumentation

  • Dokumentation der ersten Iteration anpassen und erweitern
  • minimale Instalationsanleitung für den Generator
    • textuell
  • minimale Anwenderdokumentation für den Generator
    • textuell
  • minimale Anwenderdokumentation für das Generat
    • minimales Hilfsmenü in der GUI
  • minimale Entwicklerdokumentation für den Generator
    • Generatorschaubild
    • API des Generators (=3DSchnittstellendokumentation)
    • Klassen-Diagramme des Generators
  • minimale Entwicklerdokumentation für das Generat
    • API des Generates (=3DSchnittstellendokumentation)
    • Klassen-Diagramme des Generates

3. Iteration

Vom Generator zu bearbeitendes Datenmodell

  • Funktionalität der Iteration 2 +
  • Löschregeln zwischen den Datenobjekten
    • Aggregation
    • Komposition
  • Vererbung / Spezialisierung

Konfiguration des Generators

  • über eine Konfigurator-GUI, welche die Property-XML-Datei manipuliert
  • Auswahl über drop-down-felder
  • wenn viel Zeit ist, können die Wizards eingebaut werden

Plattform

  • Automatisieren des Deployen (mit ant)

Referenzimplementierung-GUI

  • Funktionalität der Iteration 2 +
  • Löschregeln unterstützen
  • Nutzer/Rollenverwaltung unterstützen
  • Fehlermeldungen unterstützen
  • gute Anwenderdoku über Menü Hilfe

Referenzimplementierung-Geschäftslogik

  • Funktionalität der Iteration 2 +
  • Löschregeln unterstützen
  • Nutzer/Rollenverwaltung unterstützen
  • aussagekräftige Fehlermeldungen erstellen

Referenzimplementierung-Persistenz

  • Funktionalität der Iteration 2 +
  • Löschregeln umsetzen
  • Nutzer/Rollenverwaltung unterstützen

Externe Bezeichner

  • Möglichkeit in der GUI, wenn mehrer Sprchdateien vorhanden sind, die Sprache zu wechseln

Workflow

  • Einbindepunkte für alternative Technologien / Daten (= Templates) festlegen
  • Workflow und Einbindepunkt so dokumentieren, dass externe entwickler den Workflow ändern bzw. erweitern können

Templates

  • T_2 optimieren

Schnittstellen

  • Schnittstellen optimieren (in Bezug auf die lose Kopplung der Schichten)
  • Schnittstellen um die zusätzliche Funktionalität erweitern
  • Schnittstelle für das Einbinden alternativer Technologien festlegen
  • Schnittstelle für das Einbinden alternativer Datenmodelle festlegen
  • Schnittstelle für das Einbinden zusätzlicher Technologien festlegen
  • Schnittstellendokumentation erweitern

Logging

  • das Generierungs-Log im Konfigurator anzeigen
  • das Generat loggen
    • Start-Up und Stop
    • durchgeführte Aktionen

Dokumentation

  • Dokumentation der zweiten Iteration anpassen und erweitern
  • Instalationsanleitung für den Generator
    • textuell
  • Anwenderdokumentation für den Generator
    • welche Technologien und Datenmodelle unterstützt der Generator
    • wie wird der Generator konfiguriert
    • Fehlerbehebung
  • Anwenderdokumentation für das Generat
    • textuell
    • als Menü in der GUI
  • Entwicklerdokumentation für den Generator
    • Vorgehensmodell für die Integration alternativer Technologien
    • Vorgehensmodell für die Integration alternativer Datenmodelle
    • kleine dokumentierte Implementierungsbeispiele (Quellcode) für
    • Integration einer alternativer Technologie
    • Integration eines alternativen Datenmodells

weiter zu 3.6.6 Ressourcen-Planung
weiter zu 3.7 Oberfächenprototyp
zurück zu 3.6.4 Funktionsauflistung
zurück zu 3.6 Zeit- und Ressourcenplanung
zurück zu 3 Entwurf
zurück zu [FrontPage]


Related

Documentation: FrontPage
Documentation: Seite000
Documentation: Seite300
Documentation: Seite360
Documentation: Seite363
Documentation: Seite364
Documentation: Seite366
Documentation: Seite370