In Zeiten immer schmäler werdender IT-Budgets wir die unabhängige Planung und Prüfung von Software zur Abschätzung entstehender Kosten, Qualität und Produktivität für das Management in Unternehmen und Behörden immer wichtiger, da es nicht immer im Interesse der IT-Dienstleister - im Sinne der Auftragsvergabe ist, die Gesamtkosten bereits zu Projektbeginn genau zu kalkulieren.

Soll Software selbst oder fremd entwickelt, gekauft, gemietet oder durch Standard-Software ersetzt werden das sind Fragen die zu Beginn einer strategischen Entscheidung aber auch am Ende eines Software-Lebenszyklus - Stichwort „Softwaremodernisierung sprich Migration von Altsystemen" gestellt werden.

Guru Harry Sneed und Wolfgang Prentner als Hauptansprechpartner zum Thema Software-Bewertung

Software-Bewertung zielt darauf ab, die Größe, Komplexität und Qualität einzelner Softwareprodukte zu messen. Es kann sich dabei um Spezifikationen, Modelle oder Source-Code handeln. Das Produkt ist auf einem  elektronischen Speichermedium bereitzustellen. Es kann auch im Hause des Kunden auf einem PC-Arbeitsplatz bereitgestellt werden. Das Produkt wird mit automatisierten Messwerkzeugen bearbeitet. Anschließend wird eine Metrikdatenbank aufgebaut woraus diverse Messberichte generiert werden. Die Messberichte werden zusammen mit einer ausführlichen Erklärung der Messergebnisse an den Kunden übergeben.

Schätzprojekte

Schätzprojekte haben als Ziel den Aufwand für ein Kundenvorhaben, bzw. für einen Anwendungsevolutionsprozess zu schätzen. Bei dem Vorhaben kann es sich um ein: 

  • Entwicklungsprojekt
  • Wartungsprojekt
  • Sanierungsprojekt
  • Migrationsprojekt oder
  • Testprojekt handeln.

Die Schätzung erfolgt aufgrund einer Messung, die vorher stattfinden muss. Geschätzt wird nach diversen Schätzmethoden:

  • COCOMO mit Codezeilen oder Anweisungen
  • Function-Points
  • UseCase-Points
  • Data-Points
  • Object-Points oder
  • Test-Points.

Diese Schätzungen werden verglichen und die geeignetsten Methoden gewählt. Dabei werden die Produktivität und die besonderen Projekteinflüsse des jeweiligen Kunden berücksichtigt. Das Ergebnis ist der Aufwand in Personenmonate und die Laufzeit in Kalendermonate.

Beratungsdienstleistungen: 

1.      Prozessaudit: Analyse, Messung und Begutachtung von Software-Entwicklungs-, Wartungs-, Migrations und Testprozesse mit Bezug auf gängige Prozessmodelle und  aktuelle IEEE und ISO Normen mit Unterstützung durch das SoftMess Prozess-Messungswerkzeug. Der Kunde erhält:

·      Ein Prozessgutachten mit Prozessmetrik, Schwachstellenanalyse und Verbesserungsvorschläge sowie einen Aktionsplan für die Umsetzung der Vorschläge

 

Mit dem Tool SoftMess werden folgende Daten erfasst:

  • Sollproduktivitätsdaten für jedes Projekt
  • Ist-Produktivitätsdaten für jedes Projekt
  • Ist-Produktdaten für jedes Produkt
  • Fehlerdaten – Defect Analysis - für jedes Produkt
  • Änderungsdaten – Change Analysis – für jedes Produkt

           

2.      Systemaudit: Analyse, Messung und Begutachtung vorhandener Anwendungssysteme mit Bezug auf die ISO Norm 9126 für Software Product Evaluation mit Unterstützung durch das SofAudit Softwaremessungswerkzeug. Der Kunde erhält:

·    Ein Produktgutachten mit Produktmetrik, Schwachstellenanalyse und Verbesserungsvorschläge sowie einen Aktionsplan für die Nachbesserung der Software

 

Mit dem Tool SofAudit werden folgende Daten erfasst:

·    Konzeptmängel & Konzeptmesswerte für jedes System

·    Architekturmängel & Architekturmesswerte für jedes System

·    Codemängel & Codemesswerte für jedes System

·    Testmängel & Testmesswerte für jedes System

 

Mit dem Tool SoftEval werden die Metrikdaten ausgewertet und diverse statistische Diagramme erzeugt, u.a.:

·    Histogramme der Größe, Qualität und Komplexität

·    Kuchendiagramme derselben

·    Spinnennetzdiagramme der Qualität und Komplexität

·    Kurvendiagramme der Fehler- und Änderungsraten

·    Ranking der Systeme nach Größe, Komplexität und Qualität.

 

3.   Projektkalkulation: Anforderungsanalyse, Risikoanalyse und Aufwandsschätzung mit diversen Schätzmethoden – COCOMO, Function-Point, Object-Point, UseCase-Point und Test-Point - mit Hilfe des SoftCalc Softwareschätz Werkzeugs. Der Kunde erhält:

·      Ein Projektkalkulationsbericht mit dem niedrigsten, höchsten und wahrscheinlichsten Aufwand, kürzester, längster und wahrscheinlichster Dauer, sowie den Hauptrisiken.

 

Mit dem Tool SoftCalc werden die Risiken, die Einflüsse, die Ressourcen und die Produktivitätsdaten ausgewertet um Schätzungen mit folgenden Schätzwerten zu generieren:

  • Geschätzter Risikofaktor
  • Geschätzter Einflussfaktor
  • Geschätzter Qualitätsfaktor
  • Geschätzter Aufwand
  • Geschätzte Laufzeit
  • Geschätzte Kosten

 

4.   Projektplanung: Definition der Anwendungsfälle, der Datenentitäten, der Systemschnittstellen und der Softwarekomponente  sowie der entsprechenden Aufgaben um sie zu entwickeln, zu sanieren oder zu konvertieren. Ausgehend von der Projektkalkulation werden Ergebnisse festgelegt und die Aufgaben sie zu liefern vorgegeben. Die Planungsmethodik ist ergebnis-orientiert. Eine Projektstruktur wird  aus der Produktstruktur mit dem tool SoftPlan abgeleitet.

Der Kunde erhält:

·      einen Produktaufbauplan 

·      einen Projektaufbauorganisation und

·      einen Projektablaufplan.

 

Mit dem Tool SoftPlan werden folgende Planungsdokumente erstellt:

  • Ziel/Ergebnis Tabelle
  • Ergebnis/Aufgabe Tabelle
  • Aufgabe/Ressourcen Tabelle
  • Gantt Diagramm der Aufgaben
  • Kritische Pfadanalyse.

              

Projektdienstleistungen:

 

5.   Software-Systemanalyse: Maschinelle Analyse der Source Programme, Datenbankschemen, Masken und Schnittstellen durch eigene Werkzeuge für IBM-Assembler, PL/I, COBOL, Natural, APS, C, C++, Java, IMS-DLI, ADABAS, SQL, IMS-MFS, CICS-BMS, Natural Maps, HTML und XML. Manuelle Analyse der Fachkonzepte und Entwurfsdokumente. Sie erhalten:

  • Für jede Komponente, Datenbank und Schnittstelle ein Metrikbericht, ein Mängelbericht und eine Reihe Spezifikationsdokumente sowie für die Teilsysteme und Systeme aggregierte Metrikberichte mit Größen-, Komplexitäts- und Qualitätsmetriken.

 

6.   Software-Systemdokumentation: Maschinelle Nachdokumentation der Programme, Datenbanken und Schnittstellen mit dem Tool SofRedoc sowie der Aufbau einer Software Repository in einer  relationalen Datenbank mit dem Tool SoftRepo. Der Kunde erhält:

  • Eine umfangreiche system-technische Nachdokumentation mit Klassenspezifikationen,  Modulstrukturen, Datenflussdiagrammen, Pseudo-Code und Querverweise. Die dokumentierten Beziehungen sind in CSV-Dateien die sich in die SoftRepo Repository importieren lassen.

 

Mit dem Tool SoftRepo bekommt der Benutzer eine graphische Sicht der Systemarchitektur mit:

  • Funktions- und Datenbäumen.

·      Funktions- und Datenverwendungsnachweise,

·      Komponentenquerverweise und

·      Impaktanalysen der Änderungsanträge

 

7.   Software-Anforderungssanierung: Werkzeuggestützte Reengineering der Anfoderungsdokumente – Lastenhefte und Pflichtenhefte in Deutsch oder Englisch mit Hilde der Werkzeuge TextAudit, TextRedoc und TestSpec. Der Kunde erhält:

·      Bereinigte, restrukturierte und markierte Anforderungsdokument plus

·      Eine Anforderungstabelle in CSV Format

·      Eine Anwendungsfalltabelle

·      Ein Objektquerverweisverzeichnis

·      Eine logische Testfalltabelle

 

Mit dem Tool TextAudit wird das vorhandene Anforderungsdokument vermessen und bewertet.

Mit dem Tool TextRedoc werden auf das vorhandene Anforderungsdokument verschiedene Sichten generiert, eine Sicht auf das Datenmodell, eine Sicht auf das Funktionsmodel und eine Sicht auf das Anwendungsmodell.

Mit dem Tool TestSpec werden aus dem Anforderungstext logische Testfälle abgeleitet und in eine Testfalltabelle übergeleitet.  

 

 

8.   Software-Codesanierung: Werkzeuggestützte Reengineering alter Programme in Assembler, PL/I, C, COBOL, C++, C#  und Java mit dem Tool CodeRedo. Der Kunde erhält:

·      Bereinigte, reformatierte, restrukturierte und refaktorierte Source Programme.

 

Mit dem Tool CodeRedo werden alte Programme total saniert. Folgende Transformationen können wahlweise durchgeführt:

  • Source Code wird reformatiert
  • Ausgewählte Datennamen werden umgeändert
  • IO-Operationen und DB-Zugriffe werden ausgelagert

·      Hard-coded Daten werden entfernt

·      Redundanter Code wird entfernt

·      Ablauflogik wird restrukturiert

·      Prozeduraler Code wird modularisiert

  • Prozeduren und Methoden werden refaktoriert

·      Sicherheitskontrollen werden eingebaut

·      Kommentare werden eingebaut

 

9.   Software-Systemmigration: Automatisierte Transformation von PLI und COBOL Programme in Java mit dem Tool CodeTran sowie die Transformation von Datenbanken von einer Datenbankart in die Andere mit dem Tool DataTran. Der Kunde erhält:

·      Bereinigte, reformatierte, restrukturierte und refaktorierte Source Programme.

 

Mit dem Tool CodeTran werden alte prozedurale Programme in Assembler, PLI oder Cobol in objektorientierte Java Komponente umgesetzt. Folgende Transformationen werden durchgeführt:

  • Datenstrukturen – Records und Tabellen – werden in Java Klassen umgesetzt
  • Prozeduren und Paragraphen werden in Java Methoden umgewandelt
  • Java Methoden werden den Klassen zugewiesen
  • Eine zentrale Steuerungsklasse wird generiert

·      JavaDoc Kommentare werden in den neuen Klassen eingebaut.

 

10.   Software-Komponentenkapselung: Werkzeuggestützte Kapselung und Einbindung alter Mainframe Komponente in eine neue webbasierte Systemarchitektur mit Hilfe des Tools CodeWrap. Der Kunde erhält:

·      Gekapselte COBOL, C oder PL/I Programme, die sich als Services in eine neue Webarchitektur  einbinden lassen, zusammen mit den entsprechenden WSDL oder REST Schnittstellen.

 

Mit dem Tool CodeWrap werden alte prozedurale Programme in PLI oder Cobol, sowie

einzelne Programmteile in Web Services umgesetzt. Es werden folgende Kapselungsaktionen ausgeführt:

  • Programmkapselung
  • Modulkapselung
  • Prozedurkapselung
  • Datenkapselung.

               

Dokumentationsprojekte

Dokumentationsprojekte haben das Ziel die Ableitung einer technischen Dokumentation aus dem vorhandenen Source-Code. Mit Hilfe automatisierter Werkzeugen werden die wesentlichen Entitäten und Beziehungen eines Software Systems in dem Source-Code erkannt und in einer Beziehungstabelle gesammelt, wo sie nach Quelle, Typ und Name geordnet werden. Anschließend werden sie in eine System-Repository abgelegt und dort nach Bedarf ausgewertet. Es werden verschiedene graphische Sichten auf das System generiert sowie eine Impaktanalyse ausgewählter Änderungen durchgeführt. Der Kunde erhält außer den graphischen Dokumenten, die Repository selbst mit der er eigene Inpaktanalysen durchführen kann.

Sanierungsprojekte

Sanierungsprojekte haben das Ziel die Qualität des Source-Codes zu verbessern. Je nach Programmiersprache werden Änderungen zum Code vorgenommen um deren Qualität zu steigern und die technischen Schulden abzubauen. Der Code wird u.a. bereinigt, restrukturiert, refaktoriert und kommentiert. Nach Wunsch können auch eigebaute Konstante entfernt, IO-Operationen ausgelagert und Sicherheitsprüfungen eingebaut werden. All dies wird voll automatisch durchgeführt. Nach der automatisierten Bearbeitung erfolgt eine manuelle Bearbeitung um den Code auszurichten und zu kompilieren. Der Kunde erhält einen neuen, kompilierbaren Source-Code zurück frei von technischen Schulden.

Haben Sie Fragen?

Zögern Sie nicht uns zu kontaktieren. Wir helfen Ihnen gerne weiter.

 

Presseberichte

Videos

Referenzen

Kontakt

 

 

Wir vermessen Programmiersprachen wie JAVA, C#, C, C++, Fortran, Cobol, PL/I, PHP, Javascipt, u.dgl.

Gesundheit für Ihre IT

Internet-Sicherheitsgurt

SoftwareTreuhandschaft