Lade Inhalt...

Zur Programmierung eines Warenkorbs in der Programmiersprache JAVA

Die ökonomische Bedeutung von E-Commerce-Systemen

Akademische Arbeit 2018 20 Seiten

Informatik - Angewandte Informatik

Leseprobe

Gliederung

1. Einleitung
1.1 Problemstellung
1.2 Zielsystem

2. Modellierung eines Warenkorbes

3. Die Programmiersprache Java
3.1 Überblick
3.2 Klassenbildung und Objektorientierung
3.3 Datencontainer und ihre Nutzung

4. Implementierung eines Warenkorbes in Java
4.1 Die Klasse Artikel
4.2 Die Klasse Warenkorb
4.3 Ansatzpunkte für weitere Klassen
4.4 Grenzen des Konzepts

5. Fazit und Ausblick

Literaturverzeichnis

Abbildungsverzeichnis

1. Einleitung

In den letzten 10 Jahren hat ein bestimmter Teil der Ökonomie einen starken Zuwachs erlebt: der Austausch von Waren und Dienstleistungen durch Nutzung elektronsicher Informations- und Kommunikationssysteme. Für diesen Austausch hat sich die Bezeichnung Electronic Business (E-Business) eingebürgert1.

Dieser Bereich umfasst sowohl den Austausch zwischen Unternehmen (B2B) als auch zwischen Unternehmen und privaten Kunden (B2C). Insbesondere für diesen zweiten Bereich werden in den meisten Fällen standardisierte E-Commerce Systeme eingesetzt. Kernstück dieser Systeme ist ein elektronischer Warenkorb.

1.1 Problemstellung

E-Commerce Systeme können auf verschiedenen Ebenen betrachtet werden: diese sogenannten Sichten ermöglichen eine Modellierung komplexer betriebswirtscher Prozesse nach verschiedenen Kriterien. Bei der Modellierung geht es um eine vereinfachte Darstellung, die sich auf die Betrachtung bestimmter Sachverhalte konzentriert2. Dabei kann sowohl die organisatorische Sicht vorherrschen, aber auch die informationstechnische Sicht im Fokus stehen. Ein häufig praktiziertes Vorgehen beginnt mit der Entwicklung eines Fachkonzeptes, aus dem das DV-Konzept abgeleitet wird, das wiederum zur Grundlage der Implementierung gemacht wird3.

Der Kern dieser Ausarbeitung wird die Programmierung eines modellmäßigen Warenkorbes in der Programmiersprache JAVA sein. Dazu gehören die Erörterung der relevanten JAVA-Programmelemente wie auch die Konzeption der notwendigen Klassen und Methoden. Grundlage der Programmierung wird die Skizzierung des DV-Konzeptes sein, das wiederum auf einer standardisierten Beschreibungssprache beruht. Im Anschluss werden Erweiterungen des Konzeptes erörtert, aber auch alternative Vorgehensmodelle skizziert.

1.2 Zielsystem

Ausgangspunkt einer Softwareentwicklung ist die Anforderungsspezifikation. Basis dieser Spezifikation ist die Aufgabenstellung meines Assignments. Da die Umsetzung in der Programmiersprache JAVA erfolgen soll, werden im ersten Schritt die notwendigen Klassen konstruiert. Dafür wird die UML-Notation des Klassendiagramms genutzt. Im zweiten Schritt erfolgt die Implementierung durch die Programmerstellung. Dafür wird eine Integrierte Entwicklungsumgebung (IDE) genutzt. Im letzten Schritt erfolgt ein Test des Programms durch den Einsatz spezifischer Einsatzfälle. Wichtig ist auch die Abgrenzung des Gestaltungsfeldes: die Modellierung des Warenkorbes ist (nur) ein Ausschnitt aus dem Gesamtsystem E-Commerce. Betrachtet wird lediglich ein Teilsystem.

2. Modellierung eines Warenkorbes

Ein Modell ist eine vereinfachte Darstellung eines Ausschnitts der Realität. Die Reduzierung kann dabei den Maßstab umfassen, aber auch den Detailgrad. Moderne Softwareentwicklung wird in den meisten Fällen arbeitsteilig betrieben. Daher ist es sinnvoll, bei der Modellierung eine gemeinsame Sprache zu benutzen. Die Standardisierung kann sich beziehen auf die Notation, die Syntax wie auch die Semantik. Insbesondere durch die Verbreitung der objektorientierten Programmiersprachen ist die Unified Modelling Language (UML) zu einer weitverbreiteten Modellierungssprache geworden. Eine spezielle Organisation, die Object Management Group, verwaltet die Sprachelemente und sorgt auch für die notwendige Weiterentwicklung.

Zentrales Element im objektorientierten Design ist das Klassendiagramm. Klassen sind Templates für Objekte, die aus ihnen abgeleitet werden. Im Klassendiagramm werden neben dem Klassennamen die Eigenschaften (Attribute) festgehalten, sowie die Funktionen (Methoden), die diese ausüben können.

In diesem Beispiel werden die beiden Klassen Artikel und Warenkorb konstruiert. Die Klassennamen werden entsprechend den Namenskonventionen großgeschrieben. Auf den Klassennamen folgen die Attribute der Klasse, die mit ihren Modifikatoren sowie den Variablentypen genannt werden. In Kapitel 3.2 wird darauf weiter eingegangen. Anschließend werden die Methoden genannt, jeweils mit ihren Parametern und ihren Rückgabewerten. Abbildung 1 zeigt die Klasse Artikel, und Abbildung 2 die Klasse Warenkorb.

In vielen Fällen stehen die Klassen in einer Beziehung zueinander: so kann eine Klasse bestimmte Attribute von einer übergeordneten Klasse übernehmen, die sogenannte Vererbung. Ein anderer Beziehungstyp ist die Assoziation: die Objekte dieser Klassen kennen sich, existieren aber unabhängig voneinander. Diese Eigenschaft wird durch eine verbindende Linie ausgedrückt. An den Endpunkten der Linie zeigt eine spezielle Notation die Kardinalität der Beziehung auf: sie gibt an, welches zahlenmäßige Verhältnis zwischen den Objekten besteht. So gehört jede Bestellung zu einem Kunden, aber ein Kunde kann viele Bestellungen aufgeben (1:n Beziehung). Eine besondere Form der Assoziation ist die Aggregation. Sie beschreibt Relationen der Form „besteht aus“. Im Gegensatz zur Komposition bleibt die zugeordnete Klasse erhalten, wenn das „Behälterobjekt“ gelöscht wird: Artikel existieren (als Lagerposition) auch ohne Warenkorb. Die Aggregation wird als Linie mit einer nicht ausgefüllten Raute am Container-Objekt dargestellt.

Klassendiagramme können bei der Analyse wie auch in der Implementierung eingesetzt werden. Allerdings zeigen sie nur eine statische Sicht auf das System. In vielen Fällen werden die Klassendiagramme daher ergänzt um eine dynamische Sicht. Hierfür stellt die UML die Sequenzdiagramme bereit. Kernstück des Sequenzdiagramms ist es, die Methodenaufrufe der Objekte darzustellen. Dies erfolgt in exemplarischer Weise, es wird also keine vollständige Beschreibung aller möglichen Zustände angestrebt4.

3. Die Programmiersprache Java

3.1 Überblick

Die Programmiersprache Java gehört zu den meist verwendeten modernen Programmiersprachen. Sie wurde bei der Firma Sun entwickelt. Nach deren Übernahme durch Oracle liegen die Rechte nun bei diesem Unternehmen. Es gibt verschiedene Versionen (Enterprise Edition, Standard Edition usw.)5. Alle haben sie gemeinsam, dass die Sprache plattformunabhängig ist: nach der Erfassung des Quellcodes erfolgt im Java-Compiler die Kompilierung. Bei der Ausführung wird dieser Code in einer virtuellen Maschine, dem Java Runtime Environment, ausgeführt. Java ist eine strikt objektorientierte Sprache, daher sind die Kernbestandteile eines Programms die Klassen. Mehrere Klassen können zu einem Paket zusammengefasst werden, die Pakete wiederum zu einem Projekt.

3.2 Klassenbildung und Objektorientierung

Klassen sind Schablonen (Templates), aus denen die Objekte abgeleitet werden, die sogenannte Instanziierung. Damit kann die Realität in einer abstrahierten Form beschrieben werden. Technisch erfolgt die Objekterzeugung durch Konstruktoren, die für eine Klassen erstellt werden. Klassen werden Attribute zugeordnet, die die Eigenschaften von Objekten abbilden. Über Modifikatoren wird die Sichtbarkeit von Attributen festgelegt. Durch den Modifikator private wird die Sichtbarkeit auf die eigene Klasse beschränkt, und damit dem Prinzip der Kapselung (Geheimnisprinzip) Rechnung getragen: damit werden die Zugriffsmöglichkeiten auf ein Minimum eingeschränkt und kontrollierbar gestaltet6. Die eigentliche Verarbeitung der Daten erfolgt in Java durch die Methoden. Sie bestehen aus einem Kopf, der Rückgabetyp, den Namen und die Parameter enthält, sowie dem Rumpf, der die auszuführenden Methoden definiert. Eine spezielle Gruppe von Methoden wird als Klassen methode definiert, kann also ohne Objektbildung aufgerufen werden; es erfolgt eine Deklaration durch den Modifikator static (der auch für Klassen variablen benutzt wird).

3.3 Datencontainer und ihre Nutzung

Die von einem Programm zu verarbeitenden Daten werden in Variablen gespeichert. Java kennt neben den primitiven Typen (zu denen u.a. ganze Zahlen oder Fliesskommazahlen gehören) Referenztypen7, zu denen Arrays und Interfaces gehören. Damit ist es möglich, für die jeweilige Anwendung einen passenden Datentyp zu konstruieren oder aber sich bereits definierter Typen zu bedienen. In einem Warenkorb muss eine Vielzahl von Artikel gespeichert werden können. Hierfür kann z.B. ein Array verwendet werden: diese Struktur speichert Daten eines bestimmten Typs, die über einen Index erreicht werden können. Arrays sind statische Strukturen, d.h. bei ihrer Konstruktion muss die Größe festgelegt werden. Bei einem Warenkorb ist dies aber im Vorfeld der Kaufentscheidung nicht absehbar. Damit eignet sich diese Struktur nur sehr bedingt. Es empfiehlt sich daher, auf eine spezielle Java-Bibliothek zuzugreifen. Das Collections Framework 8 stellt verschiedene Datencontainer bereit, die beispielsweise nur jeweils ein gleiches Element enthalten könne oder eine Sortierung vornehmen. Technisch wird dies durch verschiedene Interfaces wie Map oder Set realisiert, aus denen dann die zur Anwendung kommenden Klassen abgeleitet werden. Für das Anwendungsbeispiel relevant ist das List-Interface, aus dem u.a. die Klasse ArrayList gebildet werden kann. Diese Klasse erlaubt eine dynamische Skalierung der Array-Größe und zudem einen schnellen Zugriff auf die Elemente. Nachteilig ist die vergleichsweise zeitaufwendige Änderung, d.h. wenn große Warenkörbe z.B. im B2B-Bereich vorliegen, kann die Klasse LinkedList vorteilhaft sein. Diese Erörterungen zeigen, dass bei der Implementierung einer Programms der Programmierer ein umfassendes Verständnis der zugrundeliegenden betriebswirtschaftlichen Sachverhalte haben muss (hierfür hat sich der Ausdruck Domain Driven Design eingebürgert).

[...]


1 Abts, Dietmar/ Mülder, Wilhelm (2017), Kapitel 10.1.1

2 Hansen, Hans Robert/ Mendling, Jan/ Neumann, Gustaf (2015), Kapitel 3.1

3 Hansen, Hans Robert/ Mendling, Jan/ Neumann, Gustaf (2015), Kapitel 3.3

4 Rumpe, Bernhard (2011), Kapitel 6

5 Hölzl, Matthias/ Raed, Allaithy/ Wirsing, Martin (2013), Kapitel 1.1.1

6 Hölzl, Matthias/ Raed, Allaithy/ Wirsing, Martin (2013), Kapitel 3.6

7 Hölzl, Matthias/ Raed, Allaithy/ Wirsing, Martin (2013), Kapitel 6

8 Hölzl, Matthias/ Raed, Allaithy/ Wirsing, Martin (2013), Kapitel 10

Details

Seiten
20
Jahr
2018
ISBN (eBook)
9783668875166
ISBN (Buch)
9783668875173
Sprache
Deutsch
Katalognummer
v452468
Note
1,0
Schlagworte
Java Codierung Warenkorb E-Commerce

Autor

Zurück

Titel: Zur Programmierung eines Warenkorbs in der Programmiersprache JAVA