![]() |
![]() |
![]() |
|
![]() |
|||
| RE 1.4: Technische Durchführbarkeit untersuchen |
RE1.4 - Investigation of Technical Feasibility
Inhalt
|
|
|---|
Produktfluß
| von | Produkt | nach | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Aktivität | Zustand | Kapitel | Titel | Aktivität | Zustand | ||||||||||||||||||||||||||||||
| Extern (1) | - | Alle | vorhandener Quellcode | - | -
| Extern (1) |
- |
Alle |
weitere Informationen (2) |
- |
-
| RE1.1 |
in Bearb. |
2 |
Anwenderbedarf.Ist-Aufnahme |
- |
-
| RE1.2 |
in Bearb. |
3 |
Anwenderbedarf.Ist-Analyse |
- |
-
| RE1.3 |
in Bearb. |
4 |
Anwenderbedarf.Lösungsvorschläge |
- |
-
| - |
- |
5 |
Anwenderbedarf.Technische Durchführbarkeit |
RE1.5 |
in Bearb.
| |
Abwicklung
Die Forderung nach der Vollständigkeit des Quellcodes ist darin begründet, daß aus dem erfaßten Quellcode lauffähige Software erzeugbar sein muß, die das gleiche Verhalten zeigt wie die ursprünglich vorhandene lauffähige Software.
Wenn es sich bei der zu bearbeitenden Software um Assembler-Programme handelt, dann wird der Nachweis der Vollständigkeit des Quellcodes am einfachsten geführt, indem aus der vorhandenen lauffähigen Software durch Disassemblierung der Quellcode zurückgewonnen wird. Handelt es sich um Quellcode in einer höheren Programmiersprache, kann der Nachweis der Vollständigkeit und der Aktualität des Quellcodes geführt werden, indem die Konfigurationsdokumente ausgewertet werden oder indem aus dem erfaßten Quellcode lauffähige Software erzeugt und der Inhalt der erzeugten ausführbaren Dateien byteweise mit dem Inhalt der ursprünglich vorhandenen ausführbaren Dateien verglichen wird. Es gilt allerdings nicht in jedem Fall der Schluß, daß der Quellcode unvollständig erfaßt wurde, wenn die verglichenen Dateiinhalte voneinander abweichen, weil solche Unterschiede nicht notwendigerweise zu Unterschieden im Verhalten der ausführbaren Software führen müssen.
Andere Möglichkeiten zur Prüfung des Quellcodes können allenfalls zu Hinweisen auf Unvollständigkeit, nicht aber zum Nachweis der Vollständigkeit führen. So kann beispielsweise anhand der Fehlermeldungen beim Übersetzen und Binden auf Unvollständigkeit des Quellcodes geschlossen werden. Auch können bei wenig komplexen Anwendungen durch Beobachtung des Ablaufs Unterschiede im Verhalten der erzeugten und der ursprünglich vorhandenen Software ermittelt werden, die auf Unvollständigkeit des Quellcodes schließen lassen. Hinweise auf Unvollständigkeit können darüber hinaus statisch ermittelt werden, indem die Aufrufbeziehungen im Quellcode und die verwendeten Datenobjekte untersucht werden. Wird eine Prozedur aufgerufen, die nicht zu der Menge des erfaßten Quellcodes gehört, ist der Quellcode vermutlich unvollständig. Gleiches gilt, wenn Datenobjekte referenziert werden, die im erfaßten Quellcode nicht deklariert worden sind. Bei dieser Art der Untersuchung muß allerdings berücksichtigt werden, daß Bezeichner in unterschiedlichen Teilen des Quellcodes mehrfach belegt sein können, daß rufende Prozeduren auch auf nicht zu erreichenden Programmpfaden liegen können und daß nicht in allen Programmiersprachen die explizite Deklaration von Datenobjekten vorgesehen ist.
Die Forderung nach der Erzeugbarkeit lauffähiger Software aus dem vorhandenen Quellcode ist darin begründet, daß aus der Beobachtung deren Verhaltens (in Zusammenarbeit mit Trägern fachlichen Wissens) wesentliche Rückschlüsse auf die Beziehungen zwischen den fachlichen Aufgaben, die die Software realisiert, und der technischen Struktur der Software gezogen werden können. Auch für die Prüfung der überarbeiteten Software ist es erforderlich, daß aus dem geänderten Quellcode lauffähige Software erzeugt werden kann.
Voraussetzung für die Erzeugung lauffähiger Software aus dem Quellcode ist, daß die ursprüngliche oder eine geeignete, zur ursprünglichen kompatible Entwicklungsumgebung (Übersetzer, Binder, Lader, Bibliothekssoftware usw.) zur Verfügung steht. Außerdem müssen Anweisungen für das Übersetzen, Binden, Laden und Installieren bekannt sein.
Die Forderung nach der Verfügbarkeit einer hinreichenden Menge an fachlichen Informationen ist darin begründet, daß fachliche Informationen unverzichtbare Voraussetzung für die Wiedergewinnung der Anwenderforderungen sind, die die zu bearbeitende Software realisiert. Ohne fachliche Informationen kann Reverse Engineering nur zur Wiedergewinnung der technischen Sicht auf die zu bearbeitende Software führen.
Da auf dieser Stufe des Reverse-Engineering-Prozesses noch keine Aussage über die Qualität der zur Verfügung stehenden fachlichen Informationen möglich ist, muß deren Quantität als Indiz für die technische Durchführbarkeit genommen werden.
Der vollständige Quellcode und die Entwicklungsumgebung müssen verfügbar sein, weil keine Änderung am Quellcode ohne nachfolgende Prüfung vorgenommen werden darf. Fachliche Informationen sind nicht erforderlich, weil bei dieser Aufgabe ausschließlich die technische Sicht auf die Software betroffen ist.
Wenn die zu bearbeitende Software Prozesse realisiert, dann sollte die Remodularisierung nicht beim Reverse Engineering, sondern im Zusammenhang mit der Durchführung von Forward-Engineering-Maßnahmen vorgenommen werden.
Der vollständige Quellcode, die Entwicklungsumgebung und fachliche Informationen müssen verfügbar sein, weil auch Änderungen an den Kommentaren des Quellcodes nicht ohne nachfolgende Prüfung vorgenommen werden dürfen und der Quellcode ohne fachliche Informationen nicht auf sinnvolle Weise, d. h. unter fachlichen Gesichtspunkten, kommentiert werden kann.
Für die Wiedergewinnung der technischen Sicht auf die Software ist die Verfügbarkeit des Quellcodes hinreichend, weil die Dokumentation der technischen Sicht unmittelbar aus dem Quellcode extrahiert werden kann.
Für die Wiedergewinnung der Anwenderforderungen kann die Verfügbarkeit des Quellcodes nur dann ausreichen, wenn auf Grund einer sehr guten Kommentierung alle erforderlichen fachlichen Informationen aus dem Quellcode entnommen werden können oder wenn als Informationsquelle der ursprüngliche Entwickler der Software zur Verfügung steht und dieser auf der Grundlage des Quellcodes die Anwenderforderungen benennen kann. Im allgemeinen ist jedoch die Wiedergewinnung der fachlichen Sicht auf die Software von der Verfügbarkeit quellcodeexterner fachlicher Informationen abhängig.
(2) sonstige System- und Softwaredokumentation und alle weiteren verfügbaren Informationen.
![]() |
![]() |
GDPA Online
Last Updated 01.Jan.2002
Updated by Webmaster
Last Revised 01.Jan.2002
Revised by Webmaster
![]() |