ESA 2012.A9: Webshop-Entwicklung "from Scratch" Wie? Wieviel?

In einer Informationsgesellschaft ist "eBusiness" in gewisser Weise "Trend-ig". Für kleine, mittlere und große Unternehmen bietet ein webbasierter, virtueller Marktplatz mit Elektronischen Handel Chancen/Risiken. Im engeren Sinn meint das Wort "Shopsystem" die Softwaregrundlagen von Onlineshops.

Was ist bei dieser Aufgabe konkret zu tun? Wie?
  1. "From Scratch" soll ein Webshop-Prototyp entwickelt und getestet werden, der auf MDI -Frameset-Technologie basiert.
  2. Es ist eine Bibliothek mit dem Namen "shop" zu schreiben, die nur in der einen index.htm-Seite ( = "Eltern-Seite" = Parent-Seite = frameset-Seite ) "beheimatet ist" und die Daten von (beliebigen Cross-Origin Resource Sharing) - Shop-Seiten übernehmen, verwalten und verarbeiten kann. Jede Kind-Seite (= Seite in einem beliebigen Frame) kann die Eltern-Bibliothek (= parent-Bibliothek = shop-Bibliothek) nutzen, um Aktionen (auch in jedem anderen Frame zu bewirken.
  3. Die Eltern-Bibliothek soll etwa (die nicht getestet) Funktionen von index-mobile.htm enthalten
      return {
        data_objekte: data_objekte, my_debug: my_debug, /*Testweise public */
    
        set_data: set_data,
        get_data: get_data,
        delete_data_key: delete_data_key,
        push_arr_data: push_arr_data,
        pop_arr_data: pop_arr_data,
    
        get_viewport: get_viewport,
    
        get_href: get_href,
        get_frame_nr: get_frame_nr, get_frame_win:
        get_frame_win, get_frame_doc: get_frame_doc,
    
        set_frame_rows: set_frame_rows,
        set_frame_cols: set_frame_cols,
        push_frame_sizes: push_frame_sizes,
        pop_frame_sizes: pop_frame_sizes,
    
        str_to_frame: str_to_frame,
        url_to_frame: url_to_frame,
    
        save_page_forms: save_page_forms, load_page_forms: load_page_forms,
        load_xml_page: load_xml_page
      };
  4. Wie können in einer Frame-Seite die window.parent.shop-Bibliotheksfunktionsaufrufe übersichtlich gestaltet werden?
    Werden in einer Frame-Seite mehrere window.parent.shop-Funktions-Aufrufe benötigt, so ist eine für window.parent.shop eine abkürzende Schreibweise, wie z.B. $ sinnvoll. Im Header etwa:
    var $ = null; 
    if (window.parent && window.parent.shop) {$ = window.parent.shop;} 
    if (!$){alert('ERR: window.parent.shop ?');}
    
  5. Wie kann ein Frame mit einer HTML-Seite geladen werden?
    a) Auf einfache Weise etwa:
    <a target='FRAME_MENU'
       href='menu-teste-debug.htm'>
    teste-debug
    </a>
    
    b) Auf komplexere Weise etwa:
    <a href='javascript:void(0);'
       onclick="$.url_to_frame('FRAME_MENU','menu-teste-debug.htm');...fortsetzungszeile
                $.set_frame_rows({frameset_nr:0,sub_idx:0,px:300});return false;">
    teste-debug
    </a>
    
  6. HTTP ist ein zustandsloses Protokoll. Wie können mit Hilfe der Eltern-Seite die Formulardaten einer Frame-Seite bei einem erneuten Laden der Seite in einen (neuen-anderen oder alten-vorhergehenden) Frame restauriert werden? Hierzu dienen die Funktionen $.save_page_forms(document), die bei dem unload-Ereignis alle Formulare der Seite durchläuft und die Formulardaten mit Hilfe von .set_data(get_href(win), obj) in der Eltern-Seite speichert. Bei einem load-Ereignis werden die gespeicherten Formulardaten der Seite mit Hilfe von $.load_page_forms(document) in die Formulare der Seite zurück geschrieben.
    window.onload = function () { 
      if ($) { $.load_page_forms(document); }
    };
    
    window.onunload = function () { 
      if ($) { $.save_page_forms(document); }
    };
    
  7. Wie kann beim Laden von Frame's auf die Größe geändert (z.B. 'unsichtbar') gesetzt werden und bei unload dieser Seite der alte Zustand der Frame-Größen restauriert werden? Etwa:
    window.onload = function () { 
      if ($) { $.set_frame_rows({frameset_nr:0,sub_idx:1,px:0}); }
    };
    
    window.onunload = function () { 
      if ($) { $.toggle_all_frame_sizes(); }
    };
    
  8. Kann im Hintergrund mit einer zielURL-String-Liste ein Vorrat an HTML-Quelltexten in die frameset-Seite geladen werden, wenn die Funktion
    $.load_xml_page({url:'zielURL', data_key:'key', load_once:true/false(default)}
    
    verwendet wird?
Zu den Projekt-Leitlinien (allgemeines) Was soll etwa gemacht werden?

Webshop's haben unterschiedliche und vielschichtige Anforderungen. Für einen zuverlässigen Zugriff auf Daten-Ressourcen sind eindeutige, standortunabhängige Identifikatoren für digitale Objekte, d.h. persistent Identifier, wesentlich (siehe z.B. Deutsche Nationalbibliothek Persistent Identifier und Liste von GND-Codierungen ).

Ambrose Bierce: "Wissen nennen wir jenen kleinen Teil der Ungewissheit, den wir geordnet und klassifiziert haben."

Balzer (zu Softwaretechnik): "Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresystemen."

Bei wiederholten Abarbeitungen von bekannten, "statischen" Entwicklungsaufgaben, kann ein Vorgehensmodell (Projekt-Plane) aufgestellt werden, das den Entwicklungsprozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen teilt.

Hier bei diesem Projekt sind die Gewichtungen anders. Was?

Viele Webshop's weisen eine "schwergewichtigen Server" und einen "leichgewichtigen Client" auf. Bei einem Wechsel der Software-Strategien und Software-Technologien hin zu mehr Client-Beteiligungen bei weniger Server-Anteilen, steht oft zuerste die Prüfung der Machbarkeit an, bevor ein tragfähiges Vorgehensmodell aufgestellt werden kann, das den Entwicklungsprozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen teilt.

Eine Waren-Artikel-Systematik können eine verbale Sacherschließung, Synonyme, Homonyme, Terminologiekontrolle, Thesaurus, Ordnungshilfen bedingen. Hier soll für die Waren-Klassifikationen "unique URL" verwenden werden. Zu jedem Produkt gehört dann eine Produkt-Seite (HTML) mit einem eindeutigen Produkt-Identifikator (persistente Identifikatoren).

"From Scratch" soll ein Webshop-Prototyp entwickelt und getestet werden, der auf MDI -Frameset-Technologie basiert.

Zu Webshop's (allgemeines) Einführendes zu Webshop's

Das Entwickeln eines Webshops "from Scratch" als Übungsaufgabe kann zu eigenen Erkenntnissen beitragen, wird aber (infolge der begrenzten Projektzeit) nicht alle technischen, funktionalen, rechtlichen, ästetischen, Erfordernisse berücksichtigen können. Bei dieser Aufgabe geht es um den technischen Einstieg und die Programmierung eines Web-Shop-Prototypen "from Scratch". Die konkrete Entwicklung eines Webshop-Prototypen "from Scratch" soll grundlegende Zusammenhänge vermitteln und erfolgreiches Lernen am Projekt und den Lernzuwachs dokumentieren.

Als vorgegebene Entwicklungsleitlinie (Software-Basis-Idee) eines Webshop "from Scratch"

Darstellung eines Einkauf-Warenkorbes

Zu den technische Grundlagen eines internet-basierten Web-Shop's gehören dessen Struktur, Funktionalitäten, Webusability, Design, erwartete Angebot- und Nachfrage-Quantitäten, Skalierbarkeit, Artikelstamm, Datenbankanbindung, Modularisierung, usw. "Der Kunde soll schauen, kaufen, zahlen" reicht für den Onlineverkauf nicht aus. Beim Onlineverkauf sind weitere Grundlagen zu beachten, wie Geschäftsmodell, Corporate Design, Internetrecht, usw.

Natürlich sind beim Onlineverkauf die Web-Shop-Pflege, Web-Shop-Weiterentwicklung, die aktuellen gesetzlichen Regularien zum Onlineverkauf (Business to Business/Consumer, Consumer to Consumer) und zahlreiche weitere Gesichtspunkte zu beachten. Berücksichtigt werden müssen u.a. die Rechtssicherheit, Widerrufsbelehrungen, allgemeine Geschäftsbedingungen, Datenschutzinformation. Der Onlineverkauf (business-to-consumer) unterliegt nationalen/internationalen gesetzlichen Regularien. Es gibt weitere Informationspflichten beim elektronischen Geschäftsverkehr die von der E-Mail gestützten Bestellung bis zum internationalen Online-Massenversand reichen.

Einkommen, das aus webbasierten Onlinverkauf mit Hilfe einer Website generiert wird, kann auf eine komerziellen Nutzung der Website deuten. Komerzielle Webseiten und der webbasierten Onlinverkauf unterliefen besonderen gesetzlichen Regularien. Zu beachten sind z.B.: Zahlungsmöglichkeiten, Nachnahme, Vorkasse. Kreditkartenzahlungen; Versandkosten, Zustellgebühren, Größe, Gewicht und Versandart; kostenpflichtige Sonderleistungen, usw.

Weitere Stichworte: Transparenz der allgemeine Geschäftsbedingugen, Abmahnungen, Gattungsschuld, Unternehmer, Verbraucher, Verbrauchsgüterkauf, Versendungskauf, Fernabsatzkauf von bewegliche Sachen, Business to Business/Consumer, Consumer to Consumer, E-Commerce-Strategien von Familienunternehmen, Dialogmarketing, Direktmarketing und Kundendialog, Kundenbindung, Internetrecht, Fernkommunikationsmittel, vorgeschrieben Textformen, E-Commerce, grenzüberschreitende Internetdelikte, usw.

In de.wikipedia: Softwaretechnik stehen Hinweise zu
Planung (Lastenheft, Anforderungsdefinition, Pflichtenheft für eBusiness-Projekte , Aufwandsschätzung, Vorgehensmodell),
Analyse (Auswertungen, Prozessmodell, Prozessanalyse/Systemanalyse, Strukturierte/Objektorientierte),
Entwurf (Softwarearchitektur, Strukturiertes/Objektorientiertes Design, Fundamental Modeling Concepts, Unified Modeling Language),
Programmierung (Normierte/Funktionale/Strukturierte/Objektorientierte Programmierung),
Validierung und Verifikation (Modultests, Integrationstests, Systemtests, Akzeptanztests, Unterstützungsprozesse),
Anforderungsmanagement (Kunden-Betreuung),
Projektmanagement (Projekt-Planung, Projekt-Verfolgung und Projekt-Steuerung, Lieferanten-Vereinbarungen, Risiko-Management),
Qualitätsmanagement (Problem-Management, Softwareergonomie, Capability Determination, Analyse von Schwachstellen),
Konfigurationsmanagement (Versionsverwaltung/Änderungsverwaltung/Releaseverwaltung/ Applicationsmanagement),
Softwareeinführung (Bedienungsanleitung, User-Kurse),
Dokumentation (Technische Software-Dokumentationen, Sytem-Dokumentationen, Fehler-Reports, Bedienungshinweise, Geschäftsprozessen)

Einige Stichworte zur Qualität sind

Produktqualität: Funktionalität, Angemessenheit, Richtigkeit, Interoperabilität, Ordnungsmäßigkeit, Güte Web-Mining, Güte Recommender, Sicherheit (Cross-Site Scripting, "Brute Force"-Angriffe, "SQL Injection", usw.)
Zuverlässigkeit: Reife, Fehlertoleranz, Wiederherstellbarkeit
Benutzbarkeit:: Verständlichkeit, Erlernbarkeit, Bedienbarkeit, Grafische Gestaltung
Effizienz: Zeitverhalten / Geschwindigkeit, Verbrauchsverhalten
Änderbarkeit: Code-Qualität, Analysierbarkeit, Modifizierbarkeit, Stabilität, Prüfbarkeit
Übertragbarkeit: Anpassbarkeit, Installierbarkeit, Konformität, Austauschbarkeit
Dokumentation: ...

Webshop-Software-Systeme können für die Cloud gemietet, gekauft, käuflich erweitert und auch (weiter-) entwickelt werden. Das "Application Lifecycle Management" setzt hinreichende Kenntnisse des Software- und Hardware-Systems und des Umfeldes voraus. Heute können auch von kleineren Webshop-Betreibern, die bei großen Versand-Plattformen verfügbaren Software-Module kostengünstig angemietet und mitverwendet werden.

Seiten-gestütztes Bestellsystem Was soll etwa gemacht werden?

Neue Software-Basis-Ideen können durch Erstellen eines Webshop-Prototypen "from Scratch" (Machbarkeitsstudie) verwirklicht werden. Die Entwicklung eines Webshop-Prototypen "from Scratch" kann grundlegende Zusammenhänge vermitteln und erfolgreiches Lernen sichtbar machen. Hier bei dieser Aufgabe geht es um den technischen Einstieg und die Programmierung eines Web-Shop-Prototypen "from Scratch".

Viel Freude bei der Ausarbeitung!
Letzter Abgabetermine Mo 12.00 Uhr