Der Baustein Layout


Methode

Moti­vation für den Ein­satz

Die graphische Benutzer­ober­fläche oder allgemein Bedien­ober­fläche (engl. user interface) ist das für die Nutzer sicht­bare Ergeb­nis der Pro­dukt­ent­wick­lung. Indivi­duelle Soft­ware wird in der Regel einge­setzt, um Geschäfts­prozesse im Unter­nehmen besser zu unter­stützen als es mit Soft­ware “von der Stange” mög­lich ist. Nutzer arbei­ten effi­zien­ter und machen weni­ger Feh­ler, weil unter­nehmens­spezi­fische Arbeits­abläufe durch beson­dere Fähig­keiten in der Soft­ware abge­bildet wer­den. Indivi­duelle Soft­ware kann einem Unter­nehmen einen ent­scheiden­den Vor­teil in einem umkämpf­ten Markt­segment ver­schaffen. In der Bedien­ober­fläche eines IT-Systems steckt daher ein enor­mes Wissen. Dieses Wissen gilt es mit dem Bau­stein Layout zu sichern.

Mit dem Wunsch nach einer Ver­änderung einer Bedien­ober­fläche drücken Nutzer ihre Bedürf­nisse in der Regel sehr klar aus. Die Akzep­tanz einer Bedien­ober­fläche muss sich nach Gesichts­punk­ten der Ergo­nomie (objek­tive Kri­terien) und der bevor­zug­ten Arbeits­weise der Nutzer (subjek­tive Kri­terien) rich­ten. Eine früh­zei­tige Abstim­mung mit einer reali­täts­nahen Dar­stel­lung der Fens­ter, Dia­loge und Mas­ken ist ein Erfolgs­faktor. Ein Nutzer kann aber kaum ein­schät­zen, was eine Ver­ände­rung in einem Teil der Bedien­ober­fläche für das IT-System und die Pro­dukt­ent­wick­lung bedeu­tet. Es ist Auf­gabe des Pro­dukt­verant­wort­lichen, früh­zei­tiges Feed­back der Ent­wick­ler zu not­wen­digen Korrek­turen des Ent­wurfes wäh­rend der Reali­sierung zu geben. Er tut das mit dem Bau­stein Layout.

Wissens­­­­­manage­­ment richtig organi­­sieren.
Ziel­gerichtet. Agil. Iterativ.


Pro­zesse

Pro­jekt­manage­ment

Der Pro­dukt­­verant­wort­liche hat mit dem Bau­stein Layout die Mög­lich­keit, jeden mit dem Auf­trag­geber abge­stimm­ten Ent­wurf für die Bedien­ober­fläche zu erfas­sen. Der Ent­wurf (engl. mockup) ist eine reali­täts­nahe Dar­stel­lung eines Elements der Bedien­ober­fläche. Der Ent­wurf ver­mittelt vor­rangig das Aus­sehen (engl. look and feel).

Im Steck­brief des Bau­steins befindet sich eine Liste der geplan­ten Techno­logien für die Implemen­tierung der Bedien­ober­fläche. Das ist eine sehr wert­volle Infor­mation für das Archi­tektur­manage­ment, um Themen wie Lizenz­kosten, tech­nische Unter­stützung vom Her­steller oder unter­nehmens­weite Vor­gaben recht­zeitig zu behan­deln.

 


Pro­zesse

Anfor­derungs­analyse

Der Pro­dukt­­verant­wort­liche hat mit dem Bau­stein Layout die Mög­lich­keit, den Ent­wurf für ein Ele­ment der Bedien­ober­fläche als Ergeb­nis der Ana­lyse zu sichern. Er kann auf Ver­änderungen durch Feed­back der Domä­nen­exper­ten rea­gieren und den Ent­wurf anpas­sen.

Eine Bedien­ober­fläche ver­folgt immer ein bestimm­tes Bedien­kon­zept. Die Größe des Bild­schirmes (z.B. Watch, Smart­phone, Tablet, Moni­tor, UHD-TV) und die Mög­lich­keiten der Ein­gabe (z.B. Maus, Tasta­tur, Stift, Berüh­rung) beein­flus­sen die Gestal­tung der Bedien­ober­fläche. Ein Bedien­kon­zept ver­folgt auch das Ziel einer Stan­dardi­sierung der Ele­mente der Bedien­ober­fläche durch eine Gestal­tungs­richt­linie (engl. style guide). Jedes abge­stimmte Bedien­kon­zept liegt als Bau­stein Spec vor und wird mit dem Bau­stein Layout ver­knüpft.

 


Pro­zesse

Pro­dukt­entwick­lung

Der Bau­stein Layout ist für Leser (z.B. Ent­wick­ler oder Tester) der zen­trale Ein­stieg, um sich über die Bedien­ober­fläche zu infor­mieren. Der Begriff Layout ist als Sammel­begriff für eine Reihe von Elemen­ten einer Bedien­ober­fläche zu ver­ste­hen. Welche Ele­mente das sind, wird weitest­gehend durch die Wahl der Client-Techno­logie bestimmt. Eine Desk­top-Anwen­dung hat Elem­ente wie Fenster, Dialog oder Maske. Hin­gegen sprechen wir in einer Smart­phone-Anwen­dung eher von einem Screen. Der Über­blick im Bau­stein muss jeden Leser in die Lage ver­setzen, einen Teil der Bedien­ober­fläche fach­lich einzu­ordnen. Über die Ver­knüpfung der ein- und aus­gehenden Daten mit den Bau­steinen Entity oder Event bekommt ein Leser Infor­mationen zu Objekten, die eine wich­tige Rolle in der Ver­arbei­tung und Dar­stel­lung der Daten spielen. In der im Bau­stein ver­öffent­lichten Spezifi­kation finden Leser alle Details zur Imple­mentierung.

Gemäß Prinzip COD gilt der Titel des Bau­steins als Vor­gabe für den Namen der Imple­mentierungs­klasse. Mit dieser ein­­fach umzu­­setzen­den Regel muss kein Autor mehr eine spezi­elle Doku­­mentation im Wiki schrei­ben, um ein Ele­ment der Bedien­ober­fläche mit der tech­­nischen Lösung zu ver­­knüpfen. Der Titel des Bau­steins reicht als Ein­­stieg in die Imple­­mentierung.

Seiten­vorlagen für alle Bau­steine und hilf­reiche Makros für die Ver­wendung in Con­fluence.


Quali­tät

Seiten­vor­lage des Bau­steins

Confluence unter­stützt mit Seiten­vor­lagen die Idee der Bau­steine optimal. Das fol­gende Bei­spiel kann direkt als HTML im Editor der Seiten­vor­lagen ein­gefügt werden.

Bitte hier Klicken, um den Quelltext anzuzeigen
<ac:layout>
<ac:layout-section ac:type="single">
    <ac:layout-cell>
    <h1>Steckbrief</h1>
    <ac:structured-macro ac:macro-id="602764ad-f953-4c2a-9ee5-db2568da1960" ac:name="details" ac:schema-version="1">
        <ac:rich-text-body>
        <table class="wrapped relative-table" style="width: 100.0%;">
            <colgroup> <col style="width: 25.0%;"/> <col style="width: 75.0%;"/> </colgroup>
            <tbody>
            <tr>
                <th>Kurzbeschreibung</th>
                <td>
                <div class="content-wrapper">
                    <ac:structured-macro ac:macro-id="9dbebc75-1732-49f9-8bf9-fbbfe2848c00" ac:name="excerpt" ac:schema-version="1">
                    <ac:parameter ac:name="atlassian-macro-output-type">BLOCK</ac:parameter>
                    <ac:rich-text-body>
                        <p>
                        <ac:placeholder>Kurzbeschreibung der Ansicht (management summary).</ac:placeholder>
                        </p>
                    </ac:rich-text-body>
                    </ac:structured-macro>
                </div>
                </td>
            </tr>
            <tr>
                <th colspan="1">Technologie</th>
                <td colspan="1">
                <ac:placeholder>Komma-separierte Liste der verwendeten Technologien.</ac:placeholder>
                </td>
            </tr>
            </tbody>
        </table>
        </ac:rich-text-body>
    </ac:structured-macro>
    <h1 class="auto-cursor-target">Entwurf</h1>
    <ac:structured-macro ac:macro-id="6a6f974b-bd94-4fe6-8064-5461375b1643" ac:name="section" ac:schema-version="1">
        <ac:rich-text-body>
        <table class="wrapped relative-table" style="width: 100.0%;">
            <colgroup> <col style="width: 50.0%;"/> <col style="width: 50.0%;"/> </colgroup>
            <tbody>
            <tr>
                <th colspan="2">Schematische Darstellung</th>
            </tr>
            <tr>
                <td colspan="2">
                <div class="content-wrapper">
                    <p>
                    <ac:placeholder>Hier bitte ein Drawio mit dem schematischen Aufbau des Layouts einfügen.</ac:placeholder>
                    </p>
                </div>
                </td>
            </tr>
            <tr>
                <th colspan="2">Untergeordnete Layouts</th>
            </tr>
            <tr>
                <td colspan="1">
                <ac:placeholder>Hier bitte den Link auf ein untergeordnetes Layout einfügen.</ac:placeholder>
                </td>
                <td colspan="1">
                <ac:placeholder>Hier bitte eine kurze Beschreibung der Verwendung des untergeordneten Layouts einfügen.</ac:placeholder>
                </td>
            </tr>
            </tbody>
        </table>
        </ac:rich-text-body>
    </ac:structured-macro>
    </ac:layout-cell>
</ac:layout-section>
<ac:layout-section ac:type="single">
    <ac:layout-cell>
    <p>
        <br/>
    </p>
    </ac:layout-cell>
</ac:layout-section>
<ac:layout-section ac:type="single">
    <ac:layout-cell>
    <h1>Spezifikation</h1>
    <ac:structured-macro ac:macro-id="49d82410-90c8-4321-b5b7-015f6d3e3e48" ac:name="panel" ac:schema-version="1">
        <ac:parameter ac:name="borderWidth">0</ac:parameter>
        <ac:rich-text-body>
        <p>
            <ac:placeholder>Bitte hier das Markdown-Dokument aus dem Git-Repository mit dem Markdown-Editor einfügen.</ac:placeholder>
        </p>
        </ac:rich-text-body>
    </ac:structured-macro>
    </ac:layout-cell>
</ac:layout-section>
</ac:layout>

 


Struk­tur

Eigen­schaf­ten des Bau­steins

Der Bau­stein Layout repräsen­tiert ein Ele­ment der Bedien­ober­fläche (engl. user interface) des IT-Systems. Er hat einen Steck­brief mit einer Kurz­beschrei­bung und einer Liste der einge­setz­ten Techno­logien. Er beschreibt den Auf­bau und das Ver­halten von Ele­menten der Bedien­ober­fläche. Ein Bedien­konzept legt nicht funktio­nale Aspekte fest. Der Seiten­titel beginnt immer mit Layout oder einer pro­dukt­spezifi­schen Speziali­sierung, z.B. Window, Dialog, Panel, etc. Durch die Seiten­vor­lage hat jede Seite das Stich­wort layout. Sie kann aber um weitere Schlag­worte ergänzt wer­den. Dadurch wird die Seite leich­ter auf­find­bar.

Der Bau­stein Layout hat einen Zustand. Er ist in Arbeit, wenn keine Spezifi­kation vor­handen ist. Er ist fertig, wenn eine Spezifi­kation vor­handen ist und die Implemen­tierung Teil eines Pro­dukt­inkre­mentes ist.

Der Bau­stein Layout hat durch die Spezifi­kation einen Bezug zu einem Pro­dukt­inkre­ment.

Der Bau­stein Layout wird in der Sprache der Ent­wick­ler geschrie­ben.