Friedhold MatzMy Software Life

Mein Oracle Blog

Mein Software Leben

- C# / JavaScript
- 4 GL (Forms-PL/SQL)
- 3 GL (Modula-2)
- Assembler (Z80)
- RealTime 
- Concurrent Progr.

Übersicht

Home

             Gute Software und gute Kommunikation 

    haben meiner Meinung nach sehr viel miteinander zu tun, hier einige Gedanken:

  • Projekte werden mit guter Kommunikation im Projektteam zum Erfolg geführt, dabei ist der Anteil der nonverbalen Kommunikation entscheidend!
  • Erfolgreiche Konzepte werden durch 'Learning by doing' , d.h. mit guter Nachvollziehbarkeit am sichersten eingeführt.
  • Die Webtechnologien publizieren mit dem Web 2.0  bessere Bedienbarkeit und setzen neue Maßstäbe!
  • Software sollte wie ein gutes Buch lesbar und verständlich sein.
  • Gute 'Lehrbücher' sind gut strukturiert, gute Software ebenfalls.
  • Das 'Software-Buch' schreiben mehrere Autoren:  Kapitel werden korrigiert, ausgetauscht, ergänzt - dies könnte mit Softwarekomponenten gut umgesetzt werden. 
  • Softwarekomponenten bestehen aus Software-Objekten, hierbei steht die atomare Einheit von Attributen und Methoden (Datentypen und deren Operatoren - Kapselung) deutlich im Vordergrund.
  • Querverweise sind in Softwarekomponenten möglichst zu vermeiden: Wer liest schon gern ein Buch, in dem ständig hin und her geblättert (gesprungen) werden muss ?
  • Software-Komponenten und -Objekte sind besser lesbar, wenn die Deklaration, Definition und Implementierung sequentiell lesbar sind - 'No Splitting of Knowledge' 
  • Software-Komponenten könnten nach dem Prinzip der 'Reactive Machine' (Smalltalk) implementiert werden: Objekte sind passiv und warten auf die Anregung von aussen, dies kann mittels synchroner oder asynchroner Events erfolgen. (MVP / MVC /MVVP) & Passive Views.
  • Mit den Konzepten der Service Component Architectur (SCA) & Event Driven Architectur (EDA)  könnte die 'Reactive Machine'  praktisch umgesetzt werden.
  • Komponenten und Objekte sollten nach aussen bewußt exportiert werden: Die Trennung von Spezifikation (Definition) und Implementierung hat sich bewährt!
  • In der Praxis werden in komplexen und sicherheitrelevanten Industrieprojekten einige der obigen Punkte angewendet:  Diese Konzepte sind u.a. in ADA und in Oracle PL/SQL umgesetzt; weiterhin in: Modula-2, Turbo Pascal, Object Pascal, Oberon, Component Pascal ..
  • Je mehr Fehler zur Design- und Kompilierungs- Zeit erkannt werden, um so weniger Probleme treten zur Laufzeit auf!
  • Der Wirkungsgrad der Software sollte verbessert werden: Dabei könnte die Minimierung der 'Reibungsverluste' durch bewährter Technologien beitragen.
  • Ich bin gespannt, wann sich ein 'grüne Softwarestack' durchsetzen wird.
  • Ein einfaches Sprachkonzept auf einem flachen Softwarestack ist robust und sicher !
  • Damit könnte deutlich Energie gespart werden .. Green IT eben ..


'Make it as simple as possible, 

but not simpler.'

Albert Einstein

Sign in  |  Recent Site Activity  |  Terms  |  Report Abuse  |  Print page  |  Powered by Google Sites