Klicken Sie zur Navigation:
Home
Zielgruppen
DLG-Prinzip
Formalismen
Lieferumfang
Weiterführende Information, Email-Kontakt
speziell für Manager:
Hintergrund von DLG
applik.-spezifische Features
Schlüsselwort-Parameter
Produktivitätssteigerung
speziell für Programmierer:
DLG ist ein "Preprocessor" für C/C++
DLG in der Applik.-Programmierung
DLG entspricht menschlichem Denken
Codefragment-Technik


DLG Einführung:

Software aus Fertigteilen "zusammenbauen"
statt neu programmieren


DLG ist eine neue Software-Technologie, bei der eine Applikation aus vorprogrammierten Modulen zusammengestellt wird. Sie ist für alle Zielgruppen geeignet: Professionelle Anwender, Semi-professionelle Anwender und auch 'Casual Users'.

Zielgruppen

DLG ist für alle in Frage kommenden Zielgruppen geeignet:

































DLG - Prinzip

  1. Aufbau eines Grundgerüsts der Ziel-Applikation ("Application Framework") aus den DLG-Bausteinen.

    Dabei werden vom DLG-System erledigt:

    • Erzeugung der Benutzeroberfläche ("User Interface", UIF)
    • Routine-Operationen zur Abwicklung der Benutzereingriffe ("User Interactivity")

  2. Feinabstimmung von UIF-Elementen und ihrem Verhalten über Option-Strings.

    In der Codierung sind das ganz normale Strings ("…"), bestehend aus einer beliebigen Zahl von Schlüsselwort-Parametern der Form:

     "Schlüsselwort=%format[,%format,…;]", argument[,argument,…;] 

    Das ist es, was DLG so besonders macht: Vorprogrammierte Module (sog. "Komponenten") gab es schon vor 1990. Aber sie hatten noch keine Feinabstimmung - sie "passten" entweder, oder eben nicht. Und deswegen waren sie in der Praxis ziemlich unbrauchbar.

  1. Implementierung von applikations-spezifischen Operationen durch einfaches Programmieren (in sog. "Callback-Prozeduren"). Meist sind das nur wenige Zeilen Code in einfachem C/C++.

    Tatsächlich hat sich aus ersten praktischen Erfahrungen bereits eine Faustregel ergeben: "Wenn eine Callback-Prozedur einmal zu kompliziert wird, dann sollte man sich das 'Application Framework' noch einmal genauer anschauen. Wahrscheinlich findet man dann eine Möglichkeit, einen Teil der Funktionalität auf das DLG-System abzuschieben."
































Bei DLG sind folgende Formalismen zu beachten:

































Lieferumfang

Geliefert wird DLG in einem Paket, bestehend aus

































Weiterführende Information, Email-Kontakt

Wer Genaueres wissen will (und kein Problem damit hat, einen englischen Text zu lesen), für den ist sehr empfehlenswert: http://www.Itspecial.org/1cd_dlg.htm

Oder senden Sie ein Email an: g.gerdenitsch@ITspecial.org

































Hintergrund von DLG

Die vom DLG-System zur Verfügung gestellten Funktionen sind gewissermaßen die "Komponenten" einer Klasse von Applikationen.

Die Idee ist eigentlich recht einfach:

Man stellt sein Programm aus vorgefertigten Modulen zusammen ("Application Framework").
Und hat dadurch eine schöne Produktivitätssteigerung !

Allerdings ist das Konzept der "Komponenten", vor über 10 Jahren aufgebracht, inzwischen schon etwas in Misskredit geraten.

Inzwischen zeigte sich nämlich, dass Komponenten nur innerhalb eines sehr schmalen Bereichs von Anwendungen brauchbar sind. Liegt die Applikation nur ein wenig außerhalb dieses Bereichs, gibt es kaum mehr eine Chance zur Feinabstimmung der Komponenten. Ganz einfach deshalb, weil es mit den bisher üblichen Positionsparametern bei einer größeren Zahl von Parametern - mehr als 6 bis 8 - schon sehr leicht ist, die Übersicht zu verlieren. Für praktisch anwendbare Komponenten aber sind selbst in einfachen Fällen schon gut 20-50, bei größeren Komponenten sogar über 100 Parameter nötig.

Da kann man vom Programmierer kaum mehr erwarten, dass er sich z.B. bei Parameter 87 nicht verzählt und statt dessen Parameter 86 codiert - worauf sich die Komponente vielleicht ganz anders verhält!]

































In praktisch jeder Applikation kommen irgendwelche applikations-spezifische Features vor - für die es natürlich keine DLG-Bausteine gibt. Man kann sie also nur selber programmieren, um dieses  Custom Programming  dann irgendwie ins Application Framework einbinden. Aber wie? In reinen Komponenten-Systemen gibt es keine Möglichkeit dafür. - In DLG hingegen kann man beliebig viele "Callback-Prozeduren" einbauen. DLG kann also beliebig mit konventioneller Programmierung kombiniert werden.

Mit DLG ist eine Qualität der Benutzeroberfläche weit jenseits der von konventioneller Programmierung möglich. Jedes UIF-Element kann in beliebiger Hintergrund-Farbe, -Brush oder -Pattern gemalt werden. Die Beschriftung (= Vordergrund) kann in beliebiger Farbe und je nach Betriebssystem auch in beliebiger Font, Größe und Stil erfolgen.

Der Unterschied von DLG zu den konventionellen Komponenten ist also:

  1. Strings von Schlüsselwort-Optionen zur Feinabstimmung der Komponenten
  2. beliebig viele Callback-Prozeduren für applikations-spezifische Features
  3. Im UIF-Design bietet DLG weit mehr Möglichkeiten als konventionelle Programmierung.

Je nach Betriebssystem können auch multimediale Präsentationen eingebaut werden. Zum Beispiel kann jedes Mal, wenn eine Ihrer Applikation aufgerufen wird, oder wenn ein bestimmter Button geklickt wird, ein bestimmter Sound. eine Tonfolge oder sogar eine Video-Sequenz abgespielt werden

Das können Sie z.B. benutzen, um Ihre Corporate Identity auf den Bildschirm des Benutzers zu bringen. So könnte etwa der Standard-Hintergrund mit dem Logo Ihrer Firma bemalt sein. Mit etwas mehr Aufwand können Sie sich sogar eine "akustische Corporate Identity" zulegen. (Mit etwas Phantasie könnte man hier auf die Idee eines eigenen "Firmen-Jingles" oder eines "Firmen-Videos" kommen …)

Die meisten heutigen Software-Entwickler (selbst die "Global Players") haben heute noch die langweilige graue Benutzeroberfläche. Bei Ihrer Software aber wäre auf den ersten Blick klar, aus welchem Haus sie kommt!

































Schlüsselwort-Parameter

Erst mit den Schlüsselwort-Parametern von DLG ist es möglich, mit wenig Codieraufwand eine große Zahl von Parametern in einer dem Menschen leicht verständlichen Form an eine Komponente zu übergeben:

































Produktivitätssteigerung

Genaue Maßzahlen dazu gibt es bisher natürlich nicht - dafür ist DLG einfach noch zu neu. Nach ersten Erfahrungen aber lässt sich grob abschätzen, dass die Produktivität der Software-Entwicklung mit DLG auf das 2- bis 8-fache steigt. Je nachdem, wie viel Neu- und Wartungs-Programmierung bei einem Anwender gemacht wird, und wie groß der Anteil der Software-Entwicklung ist.

Es ist mit DLG eben wie bei jeder Innovation: Solange sie noch neu ist, weiß man nicht so genau, was sie wirklich bringt. Und wenn man's erst mal genau weiß - ist es eigentlich nicht mehr so wichtig. Dann ist es ohnehin schon zu spät, noch etwas damit anzufangen …

































DLG ist ein "Preprocessor" für C/C++

Programmiertechnisch gesprochen, ist das DLG-System einfach ein Preprocessor zum konventionellen C/C++. Derzeit ist erst eine Version für MS-Visual C/C++ verfügbar, die heute wohl am weitesten verbreitete Entwicklungsumgebung.

Das DLG-Prinzip ist jedoch sprachunabhängig.

Sollte sich Bedarf an weiteren Versionen ergeben, dann wird es kein Problem sein, auch diese zu produzieren.

Ursprünglich war DLG für die Programmierung von Windows-Applikationen gedacht. Inzwischen jedoch erwies es sich als universell anwendbar. Bei Bedarf sollte es daher keine Schwierigkeit sein, ein DLG-System für eine neue Klasse von Applikationen herzustellen.

































DLG in der Applikations-Programmierung

Der Programmierer muss dann einfach nur

  1. die Entwicklungseingebung so einstellen, dass neben den diversen Standard-Laufzeitbibliotheken von C/C++ auch  Dlg.lib  automatisch nach Externals durchsucht wird

  2. am Beginn des Source-Codes eine Zeile einfügen:

    #include <dlg.h>

  3. Nun können die verschiedenen DLG-Prozeduren aufgerufen werden, genau so wie die üblichen Laufzeit-Funktionen von C/C++. Im Unterschied zu diesen aber sind 1 oder 2 Parameter Option-Strings (siehe Einleitung)
































DLG entspricht dem menschlichen Denken

Die Ansteuerung der DLG-Prozeduren entspricht eigentlich sehr gut dem menschlichen Denken: