Konzept: e-business-Lösungen entwickeln
Beim Erstellen von e-business-Anwendungen werden Internetlösungen für die Implementierung von Geschäftsprozessen definiert. Dazu gehören nicht nur E-Commerce-Anwendungen, sondern auch alle Geschäftsprozesse innerhalb eines Unternehmens.
Hauptbeschreibung
Aktivitäten während eines Produktlebenszyklus:
Konzepte: 
White Paper:

Einführung

Beim Erstellen von e-business-Anwendungen werden Internetlösungen für die Implementierung von Geschäftsprozessen definiert. Dazu gehören nicht nur E-Commerce-Anwendungen, sondern auch alle Geschäftsprozesse innerhalb eines Unternehmens.  

e-business-Systeme können wie folgt unterteilt werden:

  • Systeme der ersten Generation, die das Web nur dazu nutzen, um Informationen zu veröffentlichen.
  • Systeme der zweiten Generation, die e-commerce- und einfache transaktionsorientierte Modelle implementieren.
  • Systeme der dritten Generation, die einen Prozess komplett überarbeiten, um individuell gestaltete Lösungen (Business-to-Consumer oder Business-to-Business) zur Verfügung zu stellen, wobei häufig traditionelle Systeme und Interneteinheiten integriert werden.

Je höher die Generation der Systeme, desto komplexer ihre Entwicklung.

Aktivitäten der Konzeptionsphase

Es wird der Basisablauf für die Konzeptionsphase verwendet, allerdings mit den folgenden Erweiterungen bzw. Änderungen.

Umgebung

Die Wichtigkeit der  Aufgabe: Richtlinien für das Projekt vorbereiten wird erläutert; die Webentwickler konzentrieren sich auf den so genannten "kreativen Designkatalog". Es handelt sich hierbei um Richtlinien, die (auf hoher Ebene) Folgendes beschreiben:

  • Den Charakter der Site; soll sie z. B. Autorität, Verspieltheit oder den Dienstleistungsgedanken vermitteln? Ist sie eher konservativ oder provokativ?
  • Wie und z. B. mit welcher Übertragungsgeschwindigkeit werden die Benutzer vermutlich auf die Site zugreifen? Wird eine Mindestübertragungsgeschwindigkeit definiert bzw. basiert das Design auf einer solchen?
  • Grad der Benutzerinteraktion; soll der Benutzer nur informiert werden oder soll mit den Akteuren kommuniziert werden, also ein Dialog stattfinden? Soll das Design der Anwendung davon abhängen, welcher Benutzer auf sie zugreift?
  • Welche Browser werden die Benutzer verwenden? Verhalten sich die Browser bei verschiedenen Betriebssystemen unterschiedlich?
  • Arbeitet die Site mit Frames?
  • Hat die Site Farbeinschränkungen?
  • Gibt es, falls erforderlich, einen Leitfaden für Grafikstandards (einschl. Standards für Logos und Unternehmensfarben)?
  • Wie sieht es mit dem Einsatz bestimmter Webtechniken (z. B. Mausaktionen, Animation, neue Informationsquellen, Multimedia etc.) aus?

Dieser kreativer Designkatalog entwickelt sich zu einer Richtlinie für Benutzerschnittstellen und wird in die  projektspezifischen Richtlinien integriert; es handelt sich hier im Grunde um eine frühe Version der Richtlinien für die Benutzeroberfläche.

Anforderungen

Es wird davon ausgegangen, dass einige der folgenden Aktivitäten die Ergebnisse einer Geschäftsmodellierung verwenden. Auf sie wird hier aber nicht näher eingegangen, weil dies den Rahmen dieser Richtlinie sprengen würde.

Diese Aktivität hat eine geringe Gewichtung. Die meisten Probleme wurden bereits während der Geschäftsmodellierung gefunden.

Diese Aktivität hat eine geringe Gewichtung. Die meisten Bedürfnisse der Stakeholder wurden bereits während der Geschäftsmodellierung gefunden. Allerdings müssen Sie einige Aktivitäten durchführen, um nicht funktionale Anforderungen des Systems festzustellen.

Diese Aktivität hat eine geringe Gewichtung. Die Systemgrenze wird durch die Grenze des Unternehmens definiert, weil das System die Aktivitäten des Unternehmens wesentlich genauer spiegelt als traditionelle Anwendungen (in einigen Fällen ist das System auch das Unternehmen).

Analyse und Design

Die Aufgabe: Benutzerschnittstelle entwerfen erzeugt eine Navigationsübersicht. Die Navigationsübersicht ist eine Gesamtübersicht über die Weblösung und zeigt, wie sich die Benutzer auf der Site bewegen werden. Sie wird evtl. als hierarchische Baumstruktur dargestellt. Jede Diagrammebene zeigt, wie oft geklickt werden muss, um zu dieser Anzeige oder Seite zu gelangen. Normalerweise liegen die wichtigen Bereiche der Website so, dass sie nur einen Mausklick von der ersten Seite, oft Homepage genannt, entfernt sind. Die Navigationsübersicht fasst die Storyboards zusammen und beginnt mit den Hauptfenstern oder den Webseiten für die verschiedenen Anwendungsfälle. Die Navigation zwischen den einzelnen Elementen wird ebenfalls berücksichtigt.

Aktivitäten der Ausarbeitungsphase

Es wird der Basisablauf für die Ausarbeitungsphase verwendet, allerdings mit den folgenden Erweiterungen oder Änderungen.

  • Aktivität: Geeignete Architektur definieren

    Die Aufgabe: Architekturanalyse nutzt die Vorteile, die sich aus einer Webanwendung mit gut definierter Architektur ergeben; dazu gehören auch klar strukturierte Mechanismen wie Web-Browser, Java-Applets und -Servlets, ASPs, JSPs etc. Normalerweise genügt eine einfache Schichtenstruktur (wie in Konzept: Schichten beschrieben); es sei denn, das Framework der Webanwendungsentwicklung ist spezifischer. In vielen Fällen gibt es bereits gebrauchsfertige Architekturen, die eingekauft oder aus früheren Webentwicklungsprojekten übernommen werden können. Frameworks von Webanwendungen, wie z. B. IBM WebSphere Microsoft Windows DNA, bieten genau diese Art von architektonischer Vorlage.

    Bei Webanwendungen gibt es normalerweise keine geplanten Ausfallzeiten. Die Architektur wird in den meisten Fällen die Möglichkeit bieten, das System während der Laufzeit aufzurüsten und bei einem Ausfall des primären Servers bzw. seiner Aktualisierung auf Standby-Server umzuschalten. Einige Frameworks für Webanwendungen bieten Tools zur Produktionsunterstützung. Unabhängig davon, ob Ihre Anwendung hochverfügbar sein muss, müssen Sie den Kauf oder die Erstellung der Infrastruktur planen, die für die entsprechende Unterstützung erforderlich ist. Außerdem muss die Unterstützung dieser Funktionalität in die Architektur integriert werden.

  • Aktivität: Verhalten analysieren

    Die Aufgabe: Benutzerschnittstelle entwerfen wird während der Ausarbeitungsphase iterativ ausgeführt. Am Anfang richtet sich das Hauptaugenmerk auf die Erstellung kreativer Designvorlagen, die eine Vorabversion des Webseitendesigns dieser Site darstellen. Diese Vorlagen sind normalerweise zweidimensionale Bilder mit einem Rahmen aus Fenstergrafik. Sie sollen wie ein Browserfenster aussehen. Hauptvorteil dieser Vorlagen ist es, dass erst dann in ausgeklügelte und teure HTML-Prototypen investiert werden muss, wenn über die spezielle grafische Definition der Site Einigkeit besteht.

    Kreative Designvorlagen basieren auf den Schnittstellenvoraussetzungen der wichtigsten Anwendungsfälle; dafür werden dann mehrere Alternativen entwickelt (mindestens zehn). Sie zeigen ihr Aussehen und die mögliche Verwendung. Aus diesen Vorlagen werden die drei besten Optionen ausgewählt und den Stakeholdern vorgestellt. Dies geschieht so oft, bis Einigkeit über das endgültige Web-Design besteht. Jetzt erst entstehen die Storyboards und eine Navigationsübersicht.

    Wenn die entsprechende Vereinbarung getroffen wurde, wird aus der kreativen Designvorlage durch Wiederholung der Aufgabe: Prototyp der Benutzerschnittstelle erstellen ein funktionaler Benutzerschnittstellenprototyp. Dieser Webprototyp unterstützt zunächst nur einzelne Teile des Systems, und zwar die wichtigsten und für die Architektur relevanten Anwendungsfälle. Es ist wichtig, den Ablauf der Anwendungsfälle vor der Entwicklung der Prototypen gut zu strukturieren. Nur so wird sichergestellt, dass die Benutzerschnittstelle von der Funktionalität abhängt und nicht umgekehrt.

    In den nachfolgenden Iterationen wird der Prototyp erweitert; immer mehr Anwendungsfälle werden abgedeckt und die Architektur extensiver getestet.

    Die Aufgabe: Anwendungsfallanalyse bleibt fast unverändert, außer dass sie sich nicht nur auf das Verhalten der GUI bezieht, sondern auch auf die darunter liegende Geschäftslogik; dies ist der Teil, der entweder auf dem Web-Server oder dem Anwendungsserver ausgeführt wird. Wird dieser Aspekt vergessen, lässt man den wichtigsten Teil des Systemverhaltens außer Acht. Webseiten selbst werden als Schnittstellenklassen dargestellt, Datenelemente als Entitätsklassen und serverseitiges Verhaltes (z. B. aktive Serverseiten, Servlets etc.) durch Steuerobjekte.

    Sofort nach der Anwendungsfallanalyse werden in der Aufgabe: Designelemente identifizieren die Analyseklassen präzisiert und bestehenden Mechanismen des Webentwicklungs-Framework zugeordnet. Dabei werden bestehende Designelemente früherer Iterationen oder Projekte erneut verwendet, wenn dies möglich ist. Das bedeutet häufig, dass Umfang und Definition der Analyseklassen angepasst werden müssen, um den gewünschten Grad der Wiederverwendung zu erreichen.

    Der Einsatz von UML für Webanwendungen wird ausführlich im Whitepaper: Modeling Web Application Architectures with UML beschrieben.

  • Aktivität: Umgebung vorbereiten

    Nicht nur Richtlinien für Benutzerschnittstellen werden entwickelt, sondern es werden auch Web-Designelemente, also die einzelnen Grafiken der Webseiten, erstellt. Die Konsistenz der Benutzerschnittstelle über die gesamte Website hinweg ist sehr wichtig für die Benutzerfreundlichkeit; konsistente Websites sind attraktiv für die Benutzer. Konsistenz wird gewährleistet, wenn im Projekt bestimmte grafische Standardelemente auf der gesamten Site verwendet werden.

    Die Entwicklung solcher Elemente ist eine Erweiterung der  Aufgabe: Richtlinien für das Projekt vorbereiten und schließt die Erstellung von Richtlinien zur Verwendung ein. Stellen Sie sicher, dass alle Teammitglieder verstehen, wann und wie diese Elemente verwendet werden sollen. Beispiele für Web-Designelemente sind u. a. Grafikelemente wie Navigationseinheiten und Seitenhintergründe. Die Wiederverwendung von qualitativ hochwertigen Standardgrafikelementen erhöht Konsistenz, reduziert Markteinführungszeit und Entwicklungskosten und verbessert Qualität; es werden weniger, dafür aber qualitativ bessere Elemente implementiert.

    Zusammen mit dem ersten Benutzerschnittstellenprototyp werden Richtlinien vorbereitet, um einen Styleguide zu erstellen. Der Styleguide legt fest, ob und wann Web-Designelemente verwendet werden; er enthält Angaben über Farbschemata, Schriftarten, Cascading Style Sheets und Details zu Funktion und Position von Navigationselementen.

  • Aktivität: Architektur präzisieren

    Die Aufgabe: Designmechanismen identifizieren ordnet die nicht funktionalen Systemanforderungen den Mechanismen zu, die das Webentwicklungs-Framework bereitstellt. Für Mechanismen, die nicht vom Framework (falls eines existiert) zur Verfügung gestellt werden, müssen nach ihrer Identifikation andere Lösungen gefunden werden.

    Die Aufgabe: Laufzeitarchitektur beschreiben bezieht sich hauptsächlich auf den Web-Server, die Anwendungsserverschichten (siehe Konzept: Verteilungsmuster) und die Prozesse und Threads zur Steuerung der Parallelität. Es besteht normalerweise keine oder nur geringe Kontrolle über die Verarbeitung auf den clientseitigen Systemen.

    Die Aufgabe: Verteilung beschreiben wechselt den Fokus von der Entscheidung, welche Serverknoten verwendet werden sollen, zur Anzahl der Serverknoten pro Serverknotentyp. In der Regel bietet das Framework für die Webentwicklung eine festgelegte Anzahl an Servertypen (z. B. Web-Server, Anwendungsserver, Mail-Server, DFV-Gateway-Server) mit relativ klar strukturierten funktionalen Schnittstellen. Der Softwarearchitekt konzentriert sich jetzt also eher darauf, wie mit den verfügbaren Servertypen die Anforderungen an Skalierbarkeit und Fehlertoleranz abgedeckt werden sollen. Häufig wird daher zunächst geprüft, wie viele Server pro Typ benötigt werden. Anhand zusätzlicher Bewertungspläne muss ermittelt werden, wie viele zusätzliche Server erforderlich sind.

  • Aktivität: Bewertungsauftrag definieren

    Für die Planung sind Leistungstests wichtig. So wir sichergestellt, dass die Webanwendung auch schnellen Anstiege in der Anzahl gleichzeitig angemeldeter Benutzer unterstützen kann. Die Aktivitäten Teststrategie prüfenTesten und bewerten, Auftrag "Annehmbarkeit der Testergebnisse prüfen" und Test-Assets verbessern stellen jetzt ebenfalls Leistungstests in den Mittelpunkt, um sicherzustellen, dass die Architektur skalierbar ist.  

    Weitere wichtige Testtypen sind Bedienbarkeitstests und Strukturtests. Um festzustellen, ob die Struktur der Webanwendung auf die Zielgruppe zugeschnitten ist, muss die Interaktion mit dem Benutzer muss getestet werden. In einigen Fällen muss sich die Anwendung auf dem Internet befinden, damit Sie sehen können, wie sie von den Benutzern verwendet wird.

    Eine anderer Testtyp, der sehr viel Zeit benötigt, ist der Browsertest. Die Kompatibilität oder Kompatibilitätskonflikte zwischen Browsern und ihren jeweiligen Versionen grenzen oft die Designmöglichkeiten für die Benutzerschnittstelle ein.

  • Aktivitäten: Komponenten implementieren, Subsysteme integrieren und System integrieren

    Um die bisher für das Projekt getroffenen Entscheidungen bezüglich der Architektur bewerten zu können, wird jetzt mindestens ein Prototyp entwickelt und getestet. Dazu gehört das sukzessive Ausführen der Aktivitäten Komponenten implementieren, Subsysteme integrieren und System integrieren. Wie bereits erwähnt, sollte beim Testen das Hauptaugenmerk auf der Skalierbarkeit liegen; so kann festgestellt werden, wie die Anwendung auf unvorhersehbares Ansteigen der Systembelastung reagiert.

Aktivitäten der Konstruktionsphase

Es wird der Basisablauf für die Konstruktionsphase verwendet, allerdings mit den folgenden Erweiterungen oder Variationen.

Aktivitäten der Übergangsphase

  • Produktreleases in der Webumgebung sind eher inkrementell und fortlaufend und nicht unbedingt auf die traditionelle Verteilung der Datenträger fokussiert. Daher muss die Releaseplanung entsprechend angepasst werden.
  • Benutzerschulungen in der Webumgebung sind in der Regel in das Design der Website selbst integriert, so dass die Verwendung der Site intuitiv ist. Das Erstellen traditioneller Schulungsmaterialien und Benutzerhandbücher verliert an Bedeutung, die Gestaltung von Grafik und Inhalt am Front-End der Prozesse wird wichtiger.
  • Anwendungsunterstützung für die Produktion in Webumgebungen muss sich darauf konzentrieren, hohe Verfügbarkeit bei nicht vorhersagbarer Arbeitslast zu gewährleisten. Dazu kann auch gehören, dass die Anwendung weiterläuft, wenn die primären Server abstürzen bzw. das aktive System aktualisiert wird.
  • Wissenstransfer vom Entwicklerteam zum Produktionsunterstützungsteam ist notwendig, damit das Unterstützungsteam das System ausführen und die Routinemaßnahmen zu Wartung ausführen kann.
  • Überprüfen, wie Benutzer die Anwendung verwenden. Diese Informationen sind wertvoll, wenn man erfahren möchte, wer die Anwendung wie nutzt. Diese Beobachtungen helfen Ihnen dabei, bei den Folgereleases die Benutzerinteraktion zu verbessern.
Teile dieser Seite wurden in Zusammenarbeit mit Context Integration erstellt. Context Logo Link