bei Ihren Software-Projekten mit
Anforderungsanalysen
SCON unterstützt Stakeholder und Product Owner aus den Fachbereichen bei Aufstellung von System-Anforderungen. In diesem Fall wird auch von der Erstellung eines Product Backlog gesprochen. Dabei können Sie sich auf Know How und langjährige Erfahrung verlassen.
Zum Beispiel unterstützen wir Sie dabei Ihre Anforderungen technisch zu konkretisieren. Auf diese Weise gelangen Sie zu einer guten Einschätzung darüber, welche Anforderungen mit welchen Mitteln gelöst werden können.
Neben einer Einschätzung des Entwicklungsaufwandes spielen auch andere Parameter eine wichtige Rolle. Insbesondere stellen der spätere Betrieb, Pflege, Wartbarkeit, Erweiterbarkeit und Skalierbarkeit eines Softwaresystems wichtige Qualitätsmerkmale.
Aus diesem Grund reicht es nicht aus ein System nur auf die Beine zu stellen. Vielmehr muss es später auch laufen können.
In Anbetracht der Tatsache, dass bei öffentlich zugänglichen Web-Anwendungen rechtliche und sicherheitsrelevante Punkte zu berücksichtigen sind, sollten diese in der Konzeptionsphase betrachtet werden. Darüber hinaus beeinflussen diese Aspekte Umsetzung, Machbarkeit und den Betrieb der Anwendung.
Architekturkonzepten
Angesichts einer zunehmenden Komplexität von Softwaresystemen entstanden bereits in den 1960er Jahren die ersten Konzepte zu System- und Softwarearchitekturen. Letztendlich sind die elementaren Anforderungen an diese Systeme geblieben, auch wenn Begriffe und Bezeichnungen teilweise modernisiert wurden.
Im Allgemeinen bringt die Zerlegung eines Gesamtsystems in Architekturkomponenten Klarheit. Dementsprechend sollte eine Beschreibung und Strukturierung der Komponenten vorgenommen werden. Schließlich dient diese Vorgehensweise dazu, ein Gesamtverständnis über ein System zu erlangen oder vermitteln zu können.
Während es früher oft um einfache Client-Server- bzw. 2-Tier-Architekturen ging, sind heute Cloud Computing und serviceorientierte Architekturen, skalierbare und verteilte Systeme aktuelle Themen.
Auf der Softwareebene stehen gut durchdachte und etablierte Backend- und Frontend-Frameworks sowie Content-Management-Systeme (CMS) zur Verfügung. Ob der Einsatz des ein oder anderen Frameworks oder CMS Ihrem Vorhaben dienlich ist, hängt nicht nur vom verfügbaren Budget ab, sondern auch von verfügbaren Mitarbeitern, deren Skills und ihrer Einschätzung der Mitarbeiter-Marktsituation über den Livecycle der Anwendung.
In bestimmten Fällen kann sich daher eine Software-Pattern orientierte Umsetzung via Basis-Technologien und ohne Frameworks als die langfristig bessere Alternative erweisen.
Die Software-Systemwelt ist nicht kleiner geworden. Es gibt mehr als die eine Lösung für ein Problem. SCON unterstützt Sie dabei herauszuarbeiten, welche Ansätze und Lösungen für Ihre Vorhaben geeignet sind. In vielen Fällen bieten bereits solide und gut gepflegte OpenSource-Komponenten Lösungen. Sind diese in das Vorhaben integrierbar, ersparen sie einem das Rad neu zu erfinden.
Das Ergebnis ist ein roter Faden für die Umsetzung in einem inkrementellen, iterativen Entwicklungsprozess.
Implementierungen
Paperwork ist das eine. Die Umsetzung das andere. Hands on! SCON verfügt über viel Erfahrung in der Konzeption und Implementierung von relationalen Datenmodellen. Insbesondere via ORACLE & PL/SQL, MySQL, Postgres- oder Maria-DB unter Inanspruchnahme von ERM-Tools. Selbstverständlich gehören dazu auch Datenimporte/-exporte, Analysen und Auswertungen von Daten oder deren Transformation in beliebige andere Formate oder Strukturen.
Die Implementierung von Anwendungen auf der Basis von Internettechnologien bilden den Fokus der letzten Jahre. Hier kommen gängige Programmiersprachen wie PHP, ECMAScript, Front-End- und Back-End-Frameworks und Servertechnologien zum Einsatz. Und besonders in diesem Kontext ist profundes Datenbank Know How von großem Wert. Denn nur damit ist es möglich saubere ORM-Modelle herzustellen, die letztendlich das Bindeglied zwischen Anwendung und Datenbank aufspannen.
... und der Werkzeugkiste
ECMAscript 2015 bzw. JavaScript
PHP 7.x + Moduls
PL/SQL
Shell-Script
Ajax
asynchron Request-Handling
JSON
Objektorientierung
Promises
WebWorkers
TypeScript
CSS3
HTML5
HTTPS / HTTP2
PHP-FIG
arrive
Bootstrap 3.x / 4.x
jQuery 3.x
leafletJS
masonry
reactJS, reduxJS**
vueJS*
vuexJS*
W3C.CSS
Apache 2
Nginx
( NodeJS )
Maria-DB
MySQL
ORACLE
PostgreSQL mit postgis
Elasticsearch*
memcached
Redis*
Laravel 5.x
YII2
ZEND ***
Wordpress 5.x, Plugins
Blade
Less
Sass
artisan (laravel)
Composer
Dovecot (Mail-Server)
Git
Npm
Postfix (Mail-Server)
Vagrant
Virtualbox
VSFTPD (FTP-Server)
Webpack
mod_tile (digital maps)
Mapnik (digital maps)
MicroServices
NodeJS
osm2pgsql (digital maps)
renderd (digital maps)
RestAPI
Atom
MySQL-Workbench
Netbeans
GIMP
Illustrator
InkScape
Photoshop
Linux (Ubuntu Client / Server)
Win
Ein Dilemma: So gut wie 95% aller Arbeitsergebnisse im IT-Sektor sind unsichtbar. Nur wenige Menschen bekommen die eigentliche Arbeit, den Code, zu Gesicht oder könnten etwas damit anfangen. Das wenige was sichtbar ist, sind Oberflächen, über welche Benutzer mit Software-Anwendungen interagieren.
Ein ausgereiftes Datenbankdesign oder eine tolle Systemarchitektur sind zwar darstellbar, jedoch nichts für's Auge, oftmals geheim und nicht jedem verständlich. Andere "Künste" sind in diesem Punkt deutlich besser dran als die Informatik:
Man kann etwas sehen und vielleicht sogar anfassen. Rückschlüsse auf Handwerkskunst, eingesetzte Technik und das Know How dahinter sind transparenter.
Full Stack, MVC, CMS
responsive Kontaktsektion eines Unternehmensprofils. Sämtliche persönliche Daten liegen im Front-End in verschlüsselter Form vor. Erst bei Klick erfolgt die Entschlüsselung. Die Info-Cards sind im Flex-Design angeordnet. Ob Boxen dargestellt werden oder nicht, entscheidet der Anwender anhand seiner Konfiguration.
Übersichtseite mit Rechnungsdownload. Die Daten liegen redundant und AES verschlüsselt in der Datenbank. Bei Abruf (async. AJAX-Request @Controller) rendert die View anhand der vom Model bereitgestellten Rohdaten eine Rechnung im PDF-Format.
Weiter unten: Produktstatus zur Laufzeitüberwachung von Anwenderprodukten. Das Model stellt anhand komplexer und optimierter DB-Abfragen über mehrere Tabellen die Daten der View zum Rendern der Darstellung bereit.
Anforderung "Einstellungen" per async. AJAX-Request an Controller => Model ermittelt Rohdaten aus zugrunde liegender DB => Controller beauftragt View mit Rendering => Controller liefert Daten im JSON-Format in der AJAX-Reponse an die aktuelle Seite. Per JS / jQuery wird der Content ins DOM eingefügt. Sämtliche Settings werden JS seitig in einem "Store" vorgehalten (weder vuex noch redux!). Per Event-Capturing (Modul-Controller für diese Ansicht) werden im Frontend View und Store aktualisiert und synchronisiert.
Serverseitig werden parametrisierte Image-Upload-Module von der View in eine autarke DOM-Sektion gerendert. Diese wird analog dem in BSP #3 skizzierten Verfahren dem DOM und den "darauf arbeitenden" JS-Modulen verfügbar gemacht. Beim Upload von Images werden diese von potentieller Malware befreit und mittels "imagick" optimiert.
Für alle Arten von Endgeräten stehen Info-Buttons mit entsprechenden Hilfestellungen zur Verfügung. Dadurch wird die Seite nicht mit Text überfrachtet. Die Textboxen werden responsive ins Endgeräte-Display eingepasst. Sämtliche Texte sind an zentraler Stelle übersetzbar (Multilanguage Site) und werden vor der Ausgabe von potentieller Malware befreit.
Jede Content Klasse verfügt über eine spezifische Suchfunktion. Content wird vor der persistenten Ablage analysiert, von unnötigem Ballast befreit und auf diverse Index aufgeteilt. Die Indexklassen stellen ein performates Suchergebnis sicher, welches über Konfiguration geordnet werden kann (i.d.R.: beste Treffer oben). Ergebnisse werden im Flex-Layout als "Cards" dargestellt, die unter der Haube Links sind.
Projektsetup mit technischen Aufbau eines OSM-Stack inklusive Tile-Render-Konfiguration (Styling und Selektion von Daten). Besonderheit: Nur bestimmte Ballungsgebiete sollten auf maximalen Zoomlevel vorgerendert werden. Hausnummern und Postleitzahlgrenzen (soweit verfügbar) sollten für nachgelagerte CRM-Maßnahmen mit eingebunden werden.
Mapnik rendert Rohdaten (Quelle: PostgreSQL-DB) in Kacheln, die über einen WebServer mit entspr. Modulen als Bilddateien zur Kartendarstellung "ausgeliefert" werden. Nominatim stellt zusammen mit anderen Komponenten eine Datenabfrageschnittstelle bereit, die der dargestellten Anwendung dazu dient, auf Benutzerabfragen nach Orten (z.B. Berlin Steglitz) u.a. ein Koordinatenpaar zurückzuliefern. Mittels dieser Koordinaten kann z.B. der "User-Pin" auf der Karte platziert werden.
- selbstverständlich auch für KMU -
Nehmen Sie Kontakt auf. Per E-Mail oder Telefon: