Testcase Design != Testcase Design

Tescase Design is not equal Testcase design
Testcase Design ist nicht gleich Testcase Design

In meinem letzen Beitrag habe ich dargestellt, dass die Definition einer Software Architektur auf unterschiedlichen Abstraktions-Ebenen stattfindet und auf jeder Ebene unterschiedliche Ziele, Arbeitsweisen und Fähigkeiten gefordert werden. Ähnlich ist es auch bei der Spezifikation von Testfällen.

Die Abbildung spiegelt die Testfallerstellung anhand der unterschiedlichen Architektur-Ebenen wider. Hierbei sieht man sehr deutlich, dass die Zielsetzung der Testfall-Spezifikation sehr unterschiedlich sein kann.
Auf der Komponenten-Ebene geht es eher um Entwickler-Tests (z.B. mit JUnit) und um entwicklungsbegleitendes Testen.
Auf der Service-Ebene geht es eher um das Testen von Szenarien und Workflow Sequenzen und um Integrationstests.

Darüber hinaus ist auch zu sehen, dass ein Test-Design, Controlling und Test-Automatisierung auf jeder Ebene notwendig ist.

Katgeorie:Methodik, VisualPedia | Kommentare deaktiviert für Testcase Design != Testcase Design

Software Architektur != SW Architektur

Die Abbildung in diesem Beitrag entstand  bei der Frage:  „Was macht eigentlich ein Software Architekt „?. Hieraus ergab sich dann die Frage: „Was ist eine Software Architektur überhaupt“?.

SW arch != SW Arch
Software Architektur ist nicht gleich Software Architektur

Nun die Abbildung zeigt in vereinfachter Darstellung, dass es  die „Software Architektur“ und den „Software Architekten“ so gar nicht gibt.

Die unterschiedlichen Aufgabenfelder verlangen nach Personen mit unterschiedlichen Talenten und Kenntnissen wie

  • Algorithmen-Designer
  • Database Designer
  • User Interface Designer
  • Product-Architekt
  • Service Architekt
  • Enterprise Architekt

Auf der untersten Ebene der Komponenten Ebene (Component Level) werden im wesentlichen die „neuen“ Dinge erschaffen. In den höheren Ebenen steht  mehr das „Integration Engineering“ im Vordergrund.

Für mich stellt sich dabei natürlich auch die Frage: „Berücksichtigt  die IT Ausbildung  diese verschiedenen Ebenen und geforderten Talente in gebührender Weise“?  Ich denke, da gehen die Antworten  bestimmt weit auseinander. 🙂  Ist aber auch ein ganz anderes Thema. Aber vielleicht trägt meine Abbildung zur Klärung dieser Frage etwas bei.

 

 

Katgeorie:Methodik, Technologie | Kommentare deaktiviert für Software Architektur != SW Architektur

5 Skills die ein SW-Architekt haben sollte

 

skills SW arch must have
5 Skills die ein Software Architekt haben sollte ..

In diesem Beitrag möchte ich der Frage nachgehen, welches die 5 wichtigsten Fähigkeiten sind, die ein Software-Architekt haben sollte.  Wobei natürlich die Frage im Raum steht, „Was ist überhaupt ein Software-Architekt?“. Dies Frage stelle ich zunächst einmal zurück. Ich denke ich werde meine Sicht in einem der nächsten Beträge näher darstellen.

Wie aus der Darstellung ersichtlich ist, stehen im Mittelpunkt  die Fähigkeiten  verstehen, visualisieren, erklären und Handlungsoptionen erkennen.

Katgeorie:Methodik, Technologie | Kommentare deaktiviert für 5 Skills die ein SW-Architekt haben sollte

Entwicklungsumgebung Maven&Eclipse

Maven-Eclipse Senario
Maven-Eclipse Senario

In diesem Beitrag habe ich einmal dargestellt, wie eine Entwicklungsumgebung aussehen könnte, bei der folgende Aspekte im Vordergrund stehen:

  1. Entwickler sollen nur 3rd Party Komponenten verwenden dürfen, die für die Firma/das Projekt freigegeben sind.
  2. Entwickler sollen bei der Eclipse RCP Plugin Entwicklung nur Abhängigkeiten zu freigegebenen/zugelassenen Plugins haben dürfen.  Bestehen Abhängigkeiten zu anderen Plugins, so soll es nicht notwendig sein diese selbst zu erstellen. Ein Entwickler/rin braucht nur sein/ihr eigenes Plugin zu „builden“. Firmen-eigene Plugin sind ebenfalls in einem „Enterprise Eclipse Plugin“ Depot abgelegt.
  3. Eigener Source Code liegt wie üblich in einem Source Code Depot.
  4. Ein „Daily Build“ eines Produktes wird automatisch auf einem „Continious Integration Build Server“ gebaut.
  5. Nach einer „Release QA“ Phase werden  offizielle Produkte in einem firmen-eignen App-Store/Marketplace zu Verfügung gestellt.

Um die Darstellung möglichst übersichtlich zu halten, wurde auf einige Querverweise/Verbindungen verzichtet. Der Focus liegt auf der Verdeutlichung der Idee. Detailfragen können in einer eigenen Detailansicht  geklärt und beschrieben werden.

 

 

Katgeorie:Idee, Methodik, VisualPedia | Kommentare deaktiviert für Entwicklungsumgebung Maven&Eclipse

Technologie-Schwerpunkte 2012-13

In nachfolgender Abbildung sind die Technologie-Schwerpunkte als Inseln dargestellt, die mich in 2012 und 2013 am meisten interessiert haben.

Technology-Cluster 2012/13
Technology-Cluster 2012/13
Katgeorie:Technologie, VisualPedia | Kommentare deaktiviert für Technologie-Schwerpunkte 2012-13

Herausforderung: Internationalisierung

I18N Kontext
I18N Kontext

Internationalisierung & Lokalisierung

Mehrsprachige Anwendungen werden durch die Globalisierung immer wichtiger. In diesem Beitrag habe ich deshalb die wichtigsten Punkte zusammengefasst, die bei der Erstellung von mehrsprachigen Anwendungen zu beachten sind.

Es soll dazudienen einen ersten Einstieg in das Thema „Internationalisierung“ (I18N) zu finden.

Katgeorie:Technologie, VisualPedia | Kommentare deaktiviert für Herausforderung: Internationalisierung

Test Driven Development

Test Driven Development im Überblick
Test Driven Development im Überblick

Test Driven Development im Überblick

In dem nebenstehenden Bild habe ich einmal zusammengefasst, was Test Driven Development  ausmacht. Es gibt einen Überblick über die wichtigsten Elemente und Arbeitsschritte.

Das wichtigste meiner Meinung nach ist das Erstellen der Testfälle  auf  Basis der Anforderungen.  Ein weiterer wichtiger Aspekt ist das Refactoring.  Dies führt zu einem „sauberen“ Source Code. Dadurch läuft man nicht in die Gefahr, dass man zu einem späteren Zeitpunkt sagen muss: „Wir müssen erst einmal in einem eigenen Release das Design gerade ziehen“.

 

Katgeorie:Methodik | Kommentare deaktiviert für Test Driven Development

Scrum – Überblick und Herausforderungen

Inzwischen ist SCRUM als Vorgehensmodell in der Softwareentwicklung weit verbreitet. Doch wird SCRUM auch richtig verstanden und gelebt? In den beiden nachfolgenden Abbildungen habe ich  dargestellt, was die wesentlichen Aspekte von SCRUM sind und welche  Herausforderungen sich in der Praxis stellen.

Scrum im Überblick:

Scrum-Überblick
Scrum-Überblick

Scrum Herausforderungen:

Scrum Herausforderungen
Scrum Herausforderungen

Bei umfangreichen Produkten stellen sich meist folgende Fragen:

  1. Kann ein Product Owner alles abhandeln oder brauche ich mehrere Product Owner?
  2. Komme ich mit einem SCRUM Team aus oder brauche ich mehrere Teams?
  3. Wohin mit dem Quellcode? Alle Teams arbeiten auf dem selben Source-Branche oder brauche ich  team-spezifische Branches? Oder sollte ich lieber mit Feature-Branches arbeiten?
Katgeorie:Methodik | Kommentare deaktiviert für Scrum – Überblick und Herausforderungen