Entwicklungsmethoden bei der Softwareentwicklung

Continuous Integration

CI, auch kontinuierliche Integration genannt, beschreibt in der Softwareentwicklung das fortlaufende Zusammenfügen von Komponenten zu einer Anwendung. Gerade bei prototypisch und verteilt programmierten Anwendungen spielt CI eine große Rolle. Ziel ist die Steigerung der Softwarequalität, da die beinhalteten Prozesse zu kurzen Testzyklen führen. Es gibt inzwischen zahlreiche Tools zur Umsetzung dieser Strategie.

Git

Git ist eine Software, ein System zur verteilten Versionsverwaltung von Dateien. In den Softwareentwicklung ist eine Versionsverwaltung unverzichtbar. Eines der Besonderheiten von Git ist die dezentrale Struktur und die Möglichkeit die Versionsverwaltung auch ohne Server zu betreiben. Im Wesentlichen stehen Objekte in verschiedenen Beziehungen zu einander.

Model View Control (MVC)

Model View Control (MVC) ist ein Muster zur Strukturierung insbesondere objektorientierter Software. Dabei wird der Code in drei Bestandteile: Datenmodell (Model), Präsentation (View) und Programmsteuerung (Controller) aufgeteilt. Je nach Literatur wird MVC als Architektur oder Entwurfsmuster verstanden. Ein besonderer Vorteil von MVC ist die Ermöglichung des DRY-Prinzips (don’t repeat yourself), da Datenmodelle wiederverwendet werden können. Desweiteren ist die GUI (Graphical User Interface) der Anwendung besser von der Logik getrennt, was die Wartbarkeit erhöht.

Objektorientierte Programmierung

Objektorientiere Programmierung (OOP) ist ein Programmierparadigma. Die Grundidee besteht darin, die Architektur der Software an den Grundstrukturen der Wirklichkeit auszurichten, die mit der Software abgebildet werden sollen.

REST / SOAP

REST ist ein Programmierparadigma für Webservices. REST-Anwendungen sind logisch aufgebaut und verfolgen im wesentlichen die Idee, dass eine URL genau einen Seiteninhalt ausliefert. Diese Inhalte können im Fall vom REST-Webservices im XML-Format erfolgen.

SOAP ist ein Netzwerkprotokoll mit dessen Hilfe meistens XML-Daten zwischen Systemen ausgetauscht werden. SOAP ist industrieller Standard und weit verbreitet.

Subversion (SVN)

SVN ist eine Software, ein System zur verteilten Versionsverwaltung von Dateien. Obwohl Git bei der Datenmenge und Performance einige Vorteile bietet, hat Subversion u.a. den Vorteil, dass die Versionierung mit einfachen Zahlen (statt Hashs) ein besseres Durchforsten durch die Versionen ermöglicht. Desweiteren sind SVN Clients im Allgemeinen besser und man kann im Gegensatz zu Git auch Subtrees der Repository auschecken.

Unit Testing

Unit Testing ist eine Testmethode bei der kleine Module oder Blöcke des Programmcodes auf ihre korrekte Funktionsweise getestet werden. In prozeduraler Programmierung sind das Funktionen. Bei der objektorientierten Programmierung können diese Blöcke Klassen oder konkrete Funktionen sein oder Code-Blöcke, die von Programmieren eigens zu Testzwecken gruppiert/implementiert wurden. Für die Durchführung von Unit Tests gibt es je nach Programmiersprache verschiedene Tools und Frameworks. Bestimmte Softwarearchitekturen wie das Zend Framework 2 unterstützen explizit das Unit-Testing.
Sie haben Fragen? – Kontaktieren Sie uns!