+49 6196 - 20 48 020 info@esop.de

Anwendungs-Entwicklung

Überblick

Mehr als 300 Mannjahre gebündelte Erfahrung haben unsere Mitarbeiter in der Entwicklung von Softwaresystemen und -produkten. Die besten Ansätze, die im Laufe der Zeit aus eigenen Projekten und aus den Erkenntnissen international führender Firmen entstanden sind, haben wir in unserem Vorgehensmodell als methodologische Basis für die Anwendungsentwicklung zusammengefasst.

Dieses Vorgehensmodell ist evolutionär und inkrementell. Die Schnelligkeit der Ergebnisse steht im Vordergrund. Kernfunktionalität wird in kürzester Zeit zur Verfügung gestellt, in nachfolgenden Zyklen ausgebaut und iterativ der dynamischen Wunschvorstellung des Kunden nähergebracht.

Den gesamten Entwicklungsprozess teilen wir in fünf Phasen:

  • Projektspezifikation
  • Makro-Design
  • Mikro-Design
  • Konstruktion
  • Deployment

e-prozess

Jede Phase liefert eine Menge von Output-Dokumenten, die sowohl dem Auftraggeber als auch dem Entwicklungsteam eine durchgängige Verfolgung und Nachvollziehbarkeit des Projektfortschritts ermöglichen. Die Abnahme der Output-Dokumente findet im Rahmen von Inspektionen statt.

Download:

Artikel über Agiles Vorgehen in der Softwareentwicklung (243,2 kB)

Projektspezifikation

In dieser Phase wird die Entscheidung getroffen, das Projekt zu initiieren. Bewährter Rahmen für diese Phase ist das „Business Content Management Framework“. Dieses besteht aus vier Komponenten, die grundlegende Projektfragen beantworten:

Das Business-Modell (Fragestellung: Warum soll die Anwendung entwickelt werden?) enthält:

  • Zielsetzung (Vision/Motivation)
  • Erfolgskriterien
  • Zielpublikum
  • Anforderungen
  • Partnerschaften
  • Finanzen
  • Projektplan

Das Content-Modell (Fragestellung: Was sind die Inhalte und Funktionen?) enthält:

  • Definitionen
  • Datenquellen
  • Hierarchie
  • Präsentation
  • Navigation

Das Management-Modell (Fragestellung: Wie ist die Anwendung zu entwickeln?) enthält:

  • Prozesse
  • Geschäftsgrundsätze
  • Richtlinien
  • Rollen
  • Verantwortlichkeiten

Das Technologie-Modell (Fragestellung: Womit soll die Zielstellung erreicht werden?) beinhaltet:

  • Architektur
  • Plattform
  • Werkzeuge
Makro-Design

Inhalt dieser Phase ist die Verfeinerung der Ergebnisse der Projektspezifikationsphase. Die wichtigsten Aufgaben hierbei sind:

  • Verfeinern der Anforderungen und Erarbeiten der Key-Anwendungsfälle
  • Evaluieren verschiedener technologischer Ansätze für die Implementierung
  • Planen des Einsatzmodells
  • Abbilden der logischen Operationsstruktur auf physikalische Komponenten
  • Planen der Tests
  • Entscheidung über die Entwicklungsplattform
  • Konkretisieren des Projektplanes für die weitere Vorgehensweise
Micro-Design

Inhalt dieser Phase ist die Transformation des Business-Modells in ein Design-Modell auf der Basis der UML-Notation und unserer Methodik, die von dem Rational Unified Process abgeleitet ist. Die zwei Hauptbestandteile dabei sind:

  • Geschäftsprozess-Analyse
  • Design der Anwendung

Die Workflows werden analysiert und in typischen Szenarien (use cases) beschrieben, Technologie und Sprache der Anwendungswelt werden erschlossen und dokumentiert. Parallel zur Analyse der Geschäftsprozesse werden die Businessobjekte modelliert. Sie werden identifiziert, analysiert und in Fundamentalklassen untergliedert.

Das zu entwickelnde Modell enthält:

  • Basiselemente (Klassen, Objekte, Attribute, Operationen, Zusicherungen (constraint))
  • Statische Elemente (Assoziationen, Aggregationen, Generalisierungen/Spezialisierungen, Rollen)
  • Dynamische Modellelemente (Aktivitäts- und Zustandsdiagramme, Sequenz- und Kollaborationsdiagramme)

Die Vorgehensweise dabei ist evolutionär und inkrementell:

  • Auf der Architekturebene wird die Grundstruktur des Klassenmodells erarbeitet (Key-Klassen und ihre Beziehungen untereinander).
  • Auf der Businessklassenebene werden ausgewählte und abgegrenzte Businessklassenpakete entwickelt.
  • Auf der Fundamentalklassenebene wird die detaillierte Struktur einzelner Klassen erarbeitet.

In dieser Phase sind die nachfolgenden Output-Dokumente zu erarbeiten:

  • Anwendungsfälle (und Testszenarien) (use cases)
  • Klassendiagramme (class diagrams)
  • Interaktionsdiagramme (interaction diagrams)
  • Aktivitätsdiagramme (action diagrams)
  • Zustandsdiagramme (state diagrams)
  • Komponentendiagramme (component diagrams)
  • Einsatzdiagramme (deployment diagrams)

Wird für die persistente Objekthaltung eine relationale Datenbank eingesetzt (Oracle, Sybase, DB2), so gehört das Entity Relationship-Diagramm ebenfalls zu den Output-Dokumenten.

Konstruktion

In dieser Phase finden statt:

  • Programmierung,
  • Test und
  • Integration

der einzelnen Software-Komponenten.

Wir konstruieren Softwaresysteme in allen OO-Umgebungen (J2EE, CORBA, DCOM). Die Welt der verteilt untereinander kommunizierenden Objekte ist unser bevorzugtes Terrain.

Deployment

Die Halbwertzeiten moderner Informationstechnologien sind sehr gering. Zur Vermeidung von Wettbewerbsnachteilen sind Unternehmen daher in der heutigen Zeit gezwungen, regelmäßig ihre IT-Strategie zu überdenken und gegebenenfalls neue Systeme und Applikationen einzuführen.

Wir unterstützen Sie bei allen Aufgabenstellungen, die sich im Rahmen der Integration neuer Hard- und Softwarekomponenten in Ihre bestehende IT-Infrastruktur ergeben:

Wir beraten Sie im Vorfeld bei der Auswahl der Technologien, erarbeiten die für Sie optimale, individuelle Lösung zur reibungslosen Integration in die bestehenden Arbeitsabläufe und Geschäftsprozesse und setzen diese termingerecht um.

So leisten wir einen wertvollen Beitrag zum Schutz Ihrer bisher getätigter Investitionen.