Unsere Mission

Dinge sollen so einfach wie möglich gemacht werden, aber nicht einfacher (A.Einstein)

Architektur im Software-Engineering

Mit Know-How und Begeisterung konzipieren und entwickeln wir große, verteilte Softwaresysteme. Wir wissen, dass der Erfolg jedes Softwareprojektes mit der Architektur des Systems untrennbar verbunden ist. Die Architektur, als Begriff dessen, was „vor dem Bauen“ (αρχώσ τεχνή) stattfindet, im weiteren Sinne als Struktur des umspannten Raumes verstanden, liefert das Tragwerk dafür, was geschaffen werden soll. Mit der Größe des überspannten Raumes, also der Größe des Systems wächst der Zwang zum tragfähigen Design. Für IT-Lösungen muss nicht nur das Konzept für die Projektgröße stimmen, sondern auch für die zeitliche Dimension, nämlich die Fähigkeit des Konzeptes zur Einbindung neuer Anforderungen in der Zukunft berücksichtigt werden. Denn bleibend ist nur die Veränderung! Die Realisierung des „mehrdimensionalen“ Architektur-Konzeptes verlangt dann noch das technologische Know-How, um die Systeme auf den  jeweiligen Stand der Technik zu erstellen.

Unser Ziel ist die „Kontrollierte Architektur“, ein von den Mitarbeitern akzeptiertes Regelwerk zur Erstellung von Softwaresystemen. Die Frage, was ist „Architektur“ in der Softwaretechnik, beantworten wir damit, dass ein System einen Anspruch auf Orthogonalität der Strukturen, Einfachheit, Praktikabilität und letztendlich auf Gefälligkeit erhebt. Die Architektur beschreibt den Aufbau der Elemente, also Teilsysteme und Komponenten etc. und deren Bezüge untereinander. Die Elemente sind die Bausteine, die ebenso wie im Bauwesen definierte Eigenschaften haben. Ein Ansatz hierzu ist z.B. das Modell „JWAM“ (Werkzeuge, Automat, Material, Service), das Elemente definiert, die genaue Positionen und definierte Bezüge im Aufbau des Systems haben.

Diese Eigenschaften des Architekturelementes „Werkzeug“ werden etwa daraus definiert, ob es sich um eine GUI, ein Tool oder einen Service handelt. Die Eigenschaft „Material“ trifft im Wesentlichen auf Daten zu. Hinlänglich bekannt ist hierzu, dass der Zugriff auf Daten über ein eigenes Architekturelement, dem „Zugriffslayer“, geregelt wird. Damit hat dieses Element auch eine übergreifende Querschnittsfunktion.

Die Einhaltung der Architekturvorgaben gilt es auch während der Erstellung des Systems zu prüfen. Im weiteren Projektverlauf, wenn das System im Betrieb mehreren Erweiterungen ausgeliefert war, muss darauf geachtet werden, dass es nicht über einen „Architekturverfall“ in den Zusammenbruch geführt wird. Das System muss während des gesamten „Life-Cycles“ durch „Refactoring“ immer wieder auf die Soll-Architektur zurückgeführt werden.

Integrationserfahrung

Integration bedeutet das Zusammenfügen mehrerer Komponenten zu einem einheitlichen System. Wir sorgen dafür, dass durch unsere Integrationstechnik die Systemanforderungen „One Face to the User“ und „One Face to the Customer“ stimmen. Durch Enterprise Application Integration (EAI) Plattformen wird die nahtlose Integration in die vorhandene IT-Struktur garantiert.

Heute werden nur mehr in seltenen Fällen Projekte völlig neu und ohne bestehendes IT-Umfeld begonnen. In der Regel werden selbst neue Business-Cases in ein bereits bestehendes Umfeld integriert, da sinnvollerweise zugekaufte Komponenten meistens im Spiel sind.
Wir integrieren auch mit zeitgemäßen Mitteln (SOA) Business-Prozesse über mehrere Unternehmen.

Reengineering

Software altert, nicht aus physikalischen Gründen, sondern weil sich die Paradigmen erneuern, was aufgrund von Technologieschüben der Fall ist. Den Unternehmen beschert dieser Umstand nicht unerhebliche Kosten. Diese haben große Summen in Software investiert, und auch wenn diese Systeme die Unternehmen in Ihren Kompetenzen gut unterstützen, müssen sich diese früher oder später davon aus vielfältigen Gründen trennen. Wenn inzwischen keine Standardsysteme als Ersatz zur Verfügung stehen, müssen die Altsysteme erneuert werden. Auch bei komplettem Verständnis des Systems ist eine quasi „zeilenweise“ Umsetzung von alt nach neu kein gangbarer Weg mehr.

Neue Anforderungen, wie „one face to the customer“, Zugangs- und Scalierungs-Techniken, durch Application-Servertechnik bereitgestellt, stellen gänzlich neue Realisierungsanforderungen. Da sich im Unternehmen auch die Prozesse verändert haben, sind oft auch nicht einmal die zentralen Algorithmen für eine Migration zu gebrauchen. Worauf soll sich dann der Begriff „Reengineering“ noch beziehen? Es sind die Datenbestände, die es weiterzuverwenden gilt. Diese stellen meist einen größeren Wert dar, als die Programme selbst. Die Techniken, die Daten sinnvoll zu überführen, ist Gegenstand vieler Projekte bei INTERVISTA.

Qualitätsmanagement

Qualität von Software ist kein „add-on“-Feature. Qualitätsmanagement beginnt bereits in der Planung eines Projekts. Es beginnt schon bei der Anforderungsliste an ein System, bei der Kommunikation zwischen dem Kunden und den Projektmitarbeitern. Wir unterstützen diesen Prozess mit einer Technik aus dem Hause „Hasso-Plattner-Institut“, genannt FMC, und der entsprechenden Software des HPI-Spin-off ARCWAY AG. Ein System wird bereits vor der Implementierung transparent graphisch im Aufbau und Ablauf dargestellt und allen Anforderungen entsprechend verknüpft.

Ausgehend von diesem Verständnis eines Projekts wird dann das Fein-Konzept erstellt, in dem die Belange der Systemarchitektur einfließen. Dabei bedienen wir uns der üblichen Mittel der Unified Modeling Language etc.

Mit diesen Projektphasen sind dann bereits ca. 50% der Projektlaufzeit verstrichen und nun erst wird mit der Implementierung in der gewählten Technologie begonnen.
Eine Testphase, die ebenfalls bereits in der Anforderungsphase definiert wurde, schließt den Prozess der Systementwicklung nach Fertigstellung der Installationsprozeduren ab.

Ein Lieferverfahren, das in langjähriger Zusammenarbeit mit Großkunden entstanden ist, regelt die Übergabe des Systems an den Auftraggeber.

Wir Unterstützen