Zwyssig Informatik GmbH Logo
 

Kompetenzen

Erfahren Sie mehr über die Leistungen und Kompetenzen der Zwyssig Informatik GmbH und überzeugen Sie sich von unseren Kompetenzen in der Software Entwicklung.
Lösungen

Intelligence Lifecyle (BigData)

Mit dem richtigen und wichtigen Wissen in Ihrer Organisation, gewinnen Sie einen entscheidenden Vorteil gegenüber Ihrer Konkurrenz und Sie haben die Informationen zur Hand, um wichtige Entscheidungen zu treffen. Dazu müssen Sie jedoch eine Vielzahl von Informationsquellen auf Muster und Merkmalen analysieren und verarbeiten. Die Anforderungen an die anfallende Datenmenge sind hoch und benötigen neue und moderne Konzepte.

Seit mehreren Jahren befassen wir uns mit dem Sammeln, Verarbeiten, Analysieren, Produzieren und Verbreiten von Daten, womit aus den Rohdatendaten wertvolles Wissen aufbereitet werden kann.

Wir bieten Ihnen Lösungen für folgende Ausgabenstellungen:

  • Ablegen von grossen Datenmengen
  • Erkennen von Mustern
  • Verarbeiten und Aggregieren von vergangenen oder aktuellen Ereignissen, um Prognosen und Trends ableiten zu können
  • Zeit- und geoorientierte Analysen und Visualisierungen

Falls Sie Lösungen oder ähnliche Aufgabestellung benötigen, können wir Ihnen gerne fachkräftig bei der Konzeption und Realisierung Unterstützung anbieten.

Software Praktiken

Continuous Integration und Delivery

Das frühzeitige Erkennen und Beheben von Fehlern während der Softwareentwicklung ist ein wichtiger Bestandteil in einem produktiven Entwicklungsumfeld. Mit Continuous Integration wird diese wichtige Eigenschaft erfüllt, indem alle Quelltextänderungen im Repository laufend verifiziert werden und bei Fehler aktiv informiert wird. Zudem sind heutzutage kurze und schnelle Bereitstellungen von Softwareprodukten auf diversen Test- und Produktionsumgebungen essentiell, um auf Änderungen in der Wertschöpfungskette adäquat reagieren zu können. Bei traditionellen manuellen Release-Zyklen bedeutet dies einen grossen Aufwand und ist fehleranfällig. Mit Continuous Delivery und DevOps lässt sich die Verteilung von Softwareprodukten standardisieren und automatisieren. 

Wir verfügen über das fundierte Wissen und haben viele praktische Erfahrungen in der Anwendung von Continuous Integration, angefangen von Unit- und Integration Test-Frameworks über Build-Server bis hin zu Continous Delivery mit Deployment-Pipelines und DevOps Technologien. 

Wir unterstützen Sie bei der Konzeption und Realisierung von diesen innovativen Ansätzen, um eine möglichst produktive Entwicklungsumgebung für Sie zu ermöglichen.

Testautomation

In der Softwareentwicklung wird eine Vielzahl von Softwarebausteinen eingesetzt, welche entweder eine Eigenentwicklung ist oder von anderen Drittherstellern beigesteuert wird. Bei der Integration dieser Bausteine gilt es die Kompatibilität und die Gesamtfunktionalität des Systems mittels zeitintensiven Acceptance Tests zu verifizieren und sicherzustellen. Mithilfe der Automation dieser Acceptance Tests lässt sich der wiederkehrende Aufwand reduzieren.

Der Einsatz von Testautomation mit Unit-, Integrations- und automatisierten Acceptance-Tests bietet Ihnen folgende Vorteile:

  • Höhere Testeffizienz durch das einfache automatische Ausführen von Testfälle
  • Höhere Qualität durch vorzeitiges Aufdecken der Fehler
  • Höhere Testabdeckung durch das Ausführen von mehreren Testfällen

Die Qualität Ihres Produktes und Ihrer Dienstleistung liegt uns sehr am Herzen und wir sind der Meinung, dass Qualität nicht verhandelbar und der Garant für den Erfolg ist. Wir beraten und unterstützen Sie gerne bei der Konzeption und Realisation der Testautomation.

Modellgetriebene Softwareentwicklung (MDSD)

Durch den Einsatz der modellgetriebenen Softwareentwicklung lassen sich in kürzester Zeit Änderungen für unterschiedliche Technologien auf der Makro- und Mikroebene der Softwarearchitektur bewerkstelligen. Anhand des Spezifikationmodells und den Generatoren können Sie die Domäne und Ihre Technologie vereinen und Sie behalten stets die Übersicht Ihrer Softwarearchitektur. Die von uns angewandte Vorgehensweise der modellgetriebenen Softwareentwicklung in Kombination mit modernsten .NET Technologien bietet viele Vorteile:

  • Höhere Produktivität durch die Reduktion von repetitiven Arbeitsvorgänge, der Verbesserung der Kommunikation dank der Verwendung von eindeutigen Begriffen und der Evolvierbarkeit in anderen Projekten
  • Höhere Nachvollziehbarkeit der Anforderungen über die Architektur in den Quelltext
  • Höhere Testbarkeit durch Generierung von Testklassen
  • Höhere Analysierbarkeit dank der Verwendung von Softwaremodellen

Die modellgetriebene Softwareentwicklung verbirgt auch viele Gefahren, was zu Fehlleistungen und schlussendlich zu Mehrkosten führen kann. Wir unterstützen und begleiten Sie bei der Einführung und Realisierung der modellgetriebenen Softwareentwicklung, um den erfolgreichen Einsatz der modellgetriebenen Softwareentwicklung sicherzustellen.

Parallele Programmierung

Moderne Rechnersysteme, vom High-End Server bis zum Smartphone, verfügen meistens über mehrere Prozessorkerne. Will man diese Rechenleistung ausnutzen, stellt sich schnell die Frage, welche Programmteile parallel ausgeführt werden können oder wie man die Wartezeit bei einem Medienzugriff durch asynchrone Kommunikation sinnvoll nutzen kann.

Der Gewinn an Performance und Skalierbarkeit wird jedoch mit einer erhöhten Komplexität im Programmcode erkauft. Die korrekte Reihenfolge der Ausführung muss gewährleistet werden und der Zugriff auf gemeinsame Ressourcen muss durch Synchronisierung geschützt werden. Dies kann im Fehlerfall zu gegenseitigem Ausschluss (Deadlock) führen.

Wir besitzen langjährige Erfahrung in der parallelen Programmierung und asynchronen Kommunikation unterstützen sie gerne beim Einsatz der .NET Hilfsmittel async/await, TPL, Semaphoren, Mutex und Threads.

Architektur nach arc42

Die Entwicklung der Architektur eines Softwaresystems ist eine kreative Arbeit im Team welche oft auch mit Unwägbarkeiten und Risiken verbunden sind. Sie folgt nicht einem strikten Prozess oder Vorgehensmodell. Um nicht im Chaos zu versinken, stützen wir uns auf die bewährten Methoden von arc42.

Arc42 bietet ein standardisiertes Template für die Architekturdokumentation. Dieses bildet eine vollständige, strukturierte und vernetzte Sammlung aller architekturrelevanter Themen. Eine unerlässliche Stütze während Entwicklung und Weiterentwicklung der Architektur.

Clean Code

Wir stellen hohe Ansprüche auf die Codequalität. Die Entwicklung der Software muss sich für den Kunden lohnen und soll nachhaltig der Wertschöpfung beitragen. Typischerweise sind Softwaresysteme über lange Zeiträume im Einsatz und müssen laufend angepasst und erweitert werden können. Darum implementieren unsere Software nach dem Clean Code Wertesystem:

  • Evolvierbarkeit (Erweiterungs-/Änderungsfähigkeit)
  • Korrektheit
  • Produktionseffizienz
  • Reflexion

Um diese Werte umsetzen zu können, stellt die Clean Code Initiative eine Sammlung von Prinzipien und Praktiken zur Verfügung.

Zertifizierungen

iSAQB ® Certified Professional for Software Architecture (CPSA) - Foundation Level

Certified Scrum Product Owner® (CSPO)

Certified Scrum Master® (CSM)

Certified Scrum Developer® (CSD)