Programme

Hier finden Sie Beiträge rund um das Thema Programme.
Kategoriesuche

Analyse und Optimierung eines Softwareentwicklungsprozesses bezüglich der Abwärtskompatibilität am Beispiel des Produktes SCOOBOX

Software wird nach einem Release oft umfänglich weiterentwickelt und unterliegt zahlreichen Releases. Insbesondere agile Vorgehensmodelle fördern dieses Vorgehen. In vielen Entwicklungsprojekten ist es eine wichtige Anforderung, trotz dieser laufenden Fortentwicklung eine Abwärtskompatibilität zu bestimmten Systemen bereitzustellen. Genau diese Umstände treffen auf das Produkt SCOOBOX des Unternehmens dotSource GmbH zu, bei der diese Arbeit entstand.
Die SCOOBOX ist eine Sammlung von Softwaremodulen mit denen Online Shops auf Intershop Basis um Social Commerce Inhalte erweitert werden können. Sie wird kontinuierlich weiterentwickelt und in Kundenprojekten der dotSource GmbH eingesetzt. Vor der Erstellung dieser Arbeit war eine Aktualisierung der SCOOBOX innerhalb eines Kundensystems nur mit sehr hohem Aufwand möglich. Ziel dieser Arbeit ist es deshalb diesen Aufwand zu verringern.

Ergebnisse Build Beschleunigung Maßnahmen

Auf Basis von aktuellen Recherchen wird in dieser Arbeit der aktuelle Stand der Technik zu dieser Thematik beschrieben. Für einzelne Methoden wird die praktische Umsetzung betrachtet. Insbesondere wurden Verbesserungen in den Bereichen der statischen Codeanalyse, der automatischen Tests und der agilen Datenbankentwicklungsprozesse umgesetzt. Für eine verbesserte Codeanalyse und die Einführung von automatische Tests wurde der Build Prozess so optimiert, dass er weniger Zeit (etwa 2 min statt 7 min) in Anspruch nimmt Neue Code-Analyse-Regeln wurden für Intershop–Pipelines und ISML Dateien erstellt. Die Prüfung von JavaScript-Dateien und die Ausführung automatischer Oberflächen- und Unit-Tests wurden vorbereitet.
Kostenloser Download der gesamten Bachelorarbeit 

Open Source: Ehemaliger Preisbock auf WordPress – Umfangreiche Liveshopping-Erweiterung des Bloggingtools

Das eigentliche Bloggingtool WordPress wird seit seiner Entwicklung im Jahre 2004 nicht nur zum Bloggen verwendet. Auch als CMS für andere Zwecke kann man es nutzen. Mit seinen derzeit ca. 4,5 Millionen aufgesetzten Seiten ist WordPress eines der am weitest verbreiteten CMS. Bei sovielen verschiedenen Nutzern entstehen auch Seiten, die nicht nur dem reinen Blogging dienen. So basierte das dotSource eigene Liveshoppingportal www.preisbock.de bis 2009 auf WordPress. Es war und ist bis heute eine der am umfangreichsten weiterentwickelten WordPress Plattformen. Wie im folgenden Screenshot des Backends erkenntlich, waren neben den Standardfunktionen viele weitere Tools rund um den Shopbetrieb integriert. Dadurch waren eine Übersicht, die Überwachung und das Management der Presales, der Aftersales und der verschiedenen User möglich. Zusätzlich steht ein umfangreiches Controlling zur Verfügung.

All diese Funktionen sind in einem einzigen Plug-In zusammengefasst. Ein weiteres Payment Plug-In vervollständigt den ehemaligen Funktionsumfang des Preisbocks. Für Interessierte stellen wir das Plug-In auf Sourceforge zur Verfügung. Das Projekt, Erläuterungen und weitere Screenshots findet ihr hier.
Eine Beschreibung zur Einrichtung und den verschiedenen Funktionen liefert eine Projektarbeit. Sie erläutert Einstellungen, den Plug-In-Aufbau und die gesamte Struktur des Preisbock. Außerdem werden verschiedene Hinweise zum Umgang mit WordPress geliefert.
Kostenloser Download der Projektarbeit

Außerdem gibt es zwei weitere Arbeiten zum Refactoring des Preisbock und zur anschließenden Migration von WordPress auf Magento über die in XMLbasierte Importschnittstelle, welche in diesem Artikel genauer beschrieben ist.
Refactoring der Webapplikation Preisbock in Kombination mit der Suche nach einer neuen Basisplattform 
Migration der Daten des aktuellen Preisbocks auf das Shopsystem Magento der Firma Varien 

Externe Suchengines – FACT-Finder und Solr im Vergleich (2011)

Suchtechnologien werden heutzutage in allen Bereichen des Internets eingesetzt. Das bekannteste und erfolgreichste Beispiel ist Google. Das Hauptaugenmerk wird oft auf die Genauigkeit und Strukturierung der umfangreichen Informationen gesetzt.
Für Onlineshops ist eine Suchfunktion elementar. Viele Shopbesucher wissen schon vorher welches Produkt sie kaufen bzw. anschauen möchten und nutzen so die Suchfunktion. Hier muss also eine effiziente und genaue Suche erfolgen, um eine hohe Konversion zu gewährleisten. Eine eigene Entwicklung der Suchfunktion ist für viele Betreiber und Entwickler ein ressourcenaufwändiger Prozess. Deswegen greifen Onlineshopbetreiber oft auf externe Lösungen zurück.
Zwei sehr erfolgreiche Vertreter dieser Branche sind FACT-Finder und Solr, welche auf dem Gebiet der Suche in Online-Shops bzw. im E-Commerce sehr breite Anwendung finden, sodass an einem Vergleich dieser Produkte ein öffentliches Interesse besteht.
Der FACT-Finder basiert auf dem patentierten Algorithmus FACT und ist in der Programmiersprache C geschrieben. Die Suchergebnisse werden mit Hilfe eines mathematisch-linguistischen Verfahrens, welches auf dem Fuzzy-Set-Modell beruht, und einem phonetischen Vergleich, basierend auf der Omikron Phonetik, ermittelt. Für den Import stellt FACT-Finder vier Schnittstellen bereit, sodass die Ergebnisse entweder als HTML, XML, Webservice oder JavaScript Object Notation (JSON) empfangen werden. Im Vergleich zu Solr stellt der FACT-Finder eine kommerzielle Standardlösung dar.
Solr ist somit in seiner Standardversion eine von Apache kostenfrei zur Verfügung gestellte Suchfunktion. Es basiert auf dem Suchkern Lucene und erweitert diesen mit zusätzlichen Funktionen und Webkomponenten zu einem Suchserver. Lucene basiert auf Java und arbeitet basierend auf dem Booleschen und dem Vektorraummodell. Für den Import von Suchergebnissen bietet Solr unterschiedliche Methoden (XML, JSON, PHP, Java) an, die intern durch den entsprechenden ResponseWriter realisiert sind.

Die Arbeit im Gesamten stellt zunächst allgemeine Suchalgorithmen vor, danach folgt eine Festlegung der verschiedenen Bewertungskriterien aus Sicht der Shopbetreiber sowie aus Sicht der Shopnutzer. Aufbauend auf diesen Kriterien wird nach einer Erklärung der beiden Suchfunktionen Solr und FACT-Finder ein Vergleich gezogen. Um die Kriterien der Performance und des Integrationsaufwandes einzuschätzen, wurden beide Programme in die von dotSource entwickelte Social Commerce Komplettlösung SCOOBOX integriert.
Kostenloser Download der gesamten Diplomarbeit 

Flashwerbemittel – Betrachtung des Nutzens aus dem Jahre 2008

Erst vor kurzem brachte Adobe mit seinem Flashplayer 11 die neueste Version der Flashsoftware raus. Die neue Version unterstützt 3D, ist für fast alle 32-und 64bit Betriebssysteme geeignet und wird immer mehr mit AIR verknüpft. Die Flashsoftware hat eine enorme Verbreitung erfahren und ohne Sie wären viele Inhalte vor allem Online nicht vorhanden.

In der Arbeit „Dokumentation: Einsatz von Flashwerbemitteln in der dotSource GmbH“ findet sich eine Betrachtung des erfolgreichen Weges der Software wieder. Diese reicht allerdings nur bis 2008. Neben der Historie liegen die Funktionsweise, die verschiedenen genutzten Dateiformate und die Einsatzbereiche von Flash im Web 2.0 im Vordergrund. Abschließend erfolgt noch eine Betrachtung der Anwendungs- und Erweiterungsmöglichkeiten für die dotSource-eigene Plattform Preisbock.de.
Kostenloser Download der ganzen Projektarbeit

Open Source: Das „Workflow Tool“ als Eclipse Extension

Das Wachstum und die ständige Anpassung von Prozessen und Strukturen von Unternehmen wie der dotSource GmbH machen es nötig eine geeignete Steuerung vorzunehmen. Es entstehen immer neue verbesserte und optimiertere Abläufe und Standards. Diese Abläufe werden auch als Workflows bezeichnet.
Workflows sind IT-gestützte Prozesse mit einem definierten Anfang und Ende. In ihm enthalten sind einzelne Aktivitäten, welche entweder parallel oder sequentiell ausgeführt werden. In einen Workflow sind sowohl menschliche Arbeiten als auch vollautomatisierte Vorgänge integriert. Die grafische Darstellung erfolgt in einer festgelegten Reihenfolge. Die Grundbestandteile sind ein Start-Knoten, eine Sequenz von mit Pfeilen verbundenen Aktivitäten und ein Ende-Knoten. Um Workflows automatisiert ablaufen zu lassen, können Management Systeme verwendet werden.
Auf Grundlage der Funktionen der grafischen Editiersoftware JaWE ( Java Workflow Editor )  und der notwendigen Interpretation eines individuellen XML Dialektes, welcher von Eclipse nicht interpretiert werden konnte, enstand in der dotSource ein eigenes Workflow Tool. Dieses ermöglicht eine Zeiteinsparung, eine einfachere Anwendung und somit Kosteneinsparungen, denn vorher konnten interne XML Pakete, welche im XPDL Format  abgespeichert wurden, nur durch JaWe dargestellt werden.
Das Workflow Tool ist eine Extension für das quelloffene Programmierungstool Eclipse von IBM. Dieses Workflow Tool wurde in das dotSource Studio integriert. Es besteht aus 8 einzelnen Java Projekten, welche zusammen das WorkFlow Tool bilden und zur Logik in Kernkomponenten  und grafische Elemente unterteilt werden können. Über dotSource Labs stellen wir Interessierten den offenen Quellcode zur Verfügung.
Für nähere Informationen zum Entwicklungsprozess und den verschiedenen Funktionen und Möglichkeiten des Tools stellen wir eine Facharbeit zur Verfügung.
Kostenloser Download der gesamten Diplomarbeit 
Für alle die sich an dem Tool direkt interessieren, stellen wir über die dotSource Labs Plattform auf Sourceforge den Quellcode (Open Source) unter einer Lizenz zur Verfügung. Für die Übersetzung wird mindestens Java 5,  Eclipse ab Version 3.3 und das Graphical Editing Framework (GEF) Draw2d benötigt.
Hier gehts zum Workflow Tool auf Sourceforge.net (English description included)

 

Modultest Frameworks – PHPUnit Nutzung am Beispiel Preisbock (2010)

Das Testen von Software ist ein wichtiger Bestandteil jedes Entwicklungsprozesses. Mit Hilfe von Tests können Fehler in der Programmierung aufgedeckt und die Software auf ihre Funktionalität geprüft werden. Regelmäßige Tests tragen somit zur Sicherung der Qualität der Software bei. Eine fehlerlose Software ist zwar nie garantiert, jedoch sollte ein intensives Testing die Möglichkeiten geben viele und vor allem grobe Fehler zu identifizieren.
Für ein gutes Testing sind, wie auch beim Programmieren, ein strukturierter Aufbau, eine gute Übersichtlichkeit sowie eine Dokumentation wichtig. Grob werden Sie in dynamische Testverfahren und analytische Quellcodebetrachtungen unterteilt.
Die in diesem Beitrag vorgestellte Arbeit stellt darauf aufbauend zunächst die verschiedenen Arten von Tests dar. Außerdem wird eine Übersicht von verschiedenen PHP Modultest Framework s gegeben, um anschließend den Einsatz von PHPUnit (kurzes Nutzungsmanual) im Testing und der Entwicklung der Sctwitter-Schnittstelle für die dotSource eigene Liveshoppingplattform Preisbock darzulegen.
Kostenloser Download der gesamten Projektarbeit 

Design Patterns in der Softwareentwicklung – Theorie und Praxis am Beispiel Magento (2011)

Im Bereich des E-Commerce gibt es verschiedenste Design Patterns (Entwurfsmuster). Sie dienen als Hilfen die aus vergangenen Projekten in neue Projekte umgemünzt werden können. Die hier einsehbare Arbeit stellt dabei die Vor- und Nachteile solcher Unterstützungen im Bezug auf die Entwicklungen in Magento dar. Außerdem werden verschiedene in Magento verwendete Entwurfsmuster beleuchtet und die Verwendungen aufgeführt. Das Ganze wird durch einzelne Programmierabschnitte und UML Diagramme grafisch unterstützt und mit der Darstellung einer Magento Request abgeschlossen.

Kostenloser Download der gesamten Projektarbeit 

Integrierte Entwicklungsumgebungen – Effizientere PHP-Entwicklung mit Zend Studio (2010)

Im Prozess verschiedener Softwareentwicklungen entstehen neben dem eigentlichen Projekt immer wieder Tools und Hilfsmittel die den Entwicklungsprozess an sich unterstützen. Durch integrierte Entwicklungsumgebungen (IDE), wie das in dieser Arbeit diskutierte Zend Studio, können bei richtiger Anwendung viele Erleichterungen und Verbesserungen geschaffen und für die Zukunft genutzt werden. Zend Studio, im Speziellen, ist auf PHP-Programmierungen ausgelegt. Die charakteristisch wichtigen Merkmale von Zend Studio, wie auch bei allen anderen IDEs, sind die Funktionalität und die Benutzerschnittstelle. Es ist neben dem PHP Development Tool und Aptana einer der wichtigsten Vertreter verschiedener Weiterentwicklungen aus Eclipse. Die aktuelle Version 8.0 finden sie hier.
Die Arbeit, aus dem Jahr 2010, befasst sich mit einer allgemeinen Betrachtung von IDEs, den Funktionalitäten und Vorteilen von Zend Studio sowie verschiedenen Empfehlungen im Umgang mit diesen.
Kostenloser Download der gesamten Projektarbeit