Consilia ist ein kundenorientiertes Unternehmen für Softwareentwicklung

Wir bieten schlüsselfertige Entwicklung oder unterstützen nur in bestimmten Phasen.

Consilia ist ein kundenorientiertes Unternehmen für Softwareentwicklung

Consilia hilft seinen Kunden, ihr Budget für die Softwareentwicklung zu senken.

Wir entwickeln seit vielen Jahren Anwendungen und eingebettete Firmware.

Wir verwenden das Git-Repository-System täglich, ganz gleich, ob wir an Linux-Anwendungen oder eingebetteter Echtzeit-Software arbeiten.

Eine übliche Frage für Entwickler elektronischer Produkte, die Dienstleistungen von einer Softwareentwicklungsfirma bestellen, ist, wie Software in Hardware eingebettet werden kann.

Ein erheblicher Vorteil der Zusammenarbeit mit dem Forschungs- und Entwicklungsunternehmen Consilia ist, dass wir sowohl in der Hardware- als auch in der Softwareentwicklung kompetent sind.

Sie müssen sich nicht mit mehreren Lieferanten herumschlagen.

Wir können SW und HW in einem eingebetteten Gerät integrieren und bieten auch Systemtests an.

We provide a wide range of electronic design services

Software-Entwicklungsdienste

Wir können Ihr Softwareentwicklungsprojekt in vielen Bereichen beschleunigen.

Was wir für Ihr Produkt tun können

Wir bieten Dienstleistungen in jeder Phase des Lebenszyklus der Softwareentwicklung.

Es hängt vom Kunden ab, ob er eine schlüsselfertige Lösung benötigt, d. h. ob er unsere gesamte Prozesskette oder nur einige unserer Dienstleistungen in Anspruch nehmen möchte, insbesondere wenn der Kunde über ein eigenes Team mit einer Lücke in einer bestimmten Kompetenz verfügt (z. B. Softwaretests).

Unser typischer Arbeitsablauf basiert auf den folgenden kontrollierten Prozessen:

1
Studien zur Durchführbarkeit
1

Studien zur Durchführbarkeit

Vor der Realisierung des Projekts analysieren wir sorgfältig, ob und welche Technologien alle Anforderungen erfüllen können, einschließlich der Herstellbarkeit und der Produktionskosten.

Für eine solche Analyse benötigen wir bestimmte Angaben vom Kunden - z. B. technische Anforderungen, Zielkosten und Zeitplan.

2
Entwurf einer Software-Architektur
2

Entwurf einer Software-Architektur

Wir betrachten den Entwurf der SW-Architektur als einen wichtigen Teil, bei dem wir in der Anfangsphase einen angemessenen Aufwand betreiben und später viele Kosten sparen.

Wir skizzieren die Schichten der Software, schlagen die Funktionsblöcke vor und definieren die Beziehungen zwischen ihnen.

3
Nachweis der Machbarkeit
3

Nachweis der Machbarkeit

In einigen Fällen erstellen wir einen schnellen Prototyp, der uns (und natürlich dem Kunden) zeigt, ob der Systemarchitekturkandidat eine große Chance hat, die Schlüsselfunktionalitäten und Anforderungen zu erfüllen.

Bei einem solchen POC (Proof of Concept) testen und messen wir auch kritische Punkte, z. B. die mechanische Stabilität, die Reaktionsfähigkeit des Systems, den Datendurchsatz und den Stromverbrauch.

4
Datenflussmodelle
4

Datenflussmodelle

Auf der Grundlage der Softwarearchitektur erstellen wir detaillierte Datenflussmodelle, bei denen wir genau sehen, ob sie den Anforderungen entsprechen.

Wir verwenden die Ergebnisse dieser Phase als Grundlage für die Erstellung der Module/Einheiten und des Komponententestplans.

5
Forschung zu Lösungen
5

Forschung zu Lösungen

Viele Marketingmodelle lassen sich auf verschiedene Weise realisieren.

Wir analysieren immer mehrere Lösungen oder Konzepte, um eine Art internen Wettbewerb zwischen ihnen anzuregen und die beste von ihnen auszuwählen.

6
Umsetzung
6

Umsetzung

Wir implementieren die Software unter weitgehender Verwendung eines Revisionskontrollsystems. Wir haben seit vielen Jahren sehr viel Erfahrung mit Git.

Beim Zusammenführen der Feature-Branches in den Master-Branch unterstützt uns das System insbesondere bei Code-Reviews.

7
Unit-Tests
7

Unit-Tests

Unser Team kümmert sich intern um die Unit-Tests.

Wir verwenden die Unit-Tests, um die Unit/ das Modul auf der niedrigstmöglichen Ebene zu debuggen, was für uns einer der kostensparendsten Wege zu stabiler und zuverlässiger Software ist.

8
Vertikale Integration der Komponenten
8

Vertikale Integration der Komponenten

In Projekten, in denen der agile Ansatz als der beste gewählt wurde, führen wir eine vertikale Integration der Komponenten durch, um alle ein bis zwei Wochen ein sichtbares Merkmal oder eine Funktionalität zu erhalten.

So kann der Produktverantwortliche verfolgen, ob das Projekt geradlinig verläuft, und mögliche kritische Pfade so schnell wie möglich aufdecken.

9
Integration mit HW
9

Integration mit HW

Die Zusammenarbeit des Software- und Hardwareteams ist unsere Stärke.

Unsere Hardware-Kollegen sind sehr erfahren in der Entwicklung eigener Hardware-Module und der Planung von Hardware-/Software-Schnittstellen im Voraus.

Daher führen wir in der Regel eine nahtlose Hardware-/Software-Integration durch und vermeiden, dass kritische Systemfehler zu spät entdeckt werden.

10
Funktionstests
10

Funktionstests

Im Rahmen der vertikalen Integration testen wir die Systemfunktionen auf der Grundlage des Funktionstestplans.

Wenn es sich anbietet, erstellen wir unser eigenes Testsystem und implementieren die Tests so, dass sie jederzeit wiederverwendet und wiederholt werden können.

11
Regressionstests
11

Regressionstests

Wenn wir neue Funktionen hinzufügen und implementieren, testen wir auch die bestehenden, damit das gesamte System in all seinen Teilen zuverlässig funktioniert. Im Grunde sind Regressionstests für uns regelmäßig wiederholte Funktionstests.

Daher verwenden wir das Testsystem und die Testfälle aus den Funktionstests wieder.

Erhalten Sie Unterstützung von unseren Experten in allen Phasen der Softwareentwicklung und heben Sie Ihr Projekt auf die nächste Stufe.

Wir kooperieren mit...

Wie wir arbeiten können

Wie wir arbeiten können

Wir wissen, wie wir unser Software-Entwicklungsteam führen.

Wir verwenden verschiedene Entwicklungsansätze.

In den letzten zwanzig Jahren haben wir Erfahrungen mit zwei verschiedenen Softwareentwicklungsprozessen gesammelt: V-Modell und Agile; für Agile können wir sowohl im Scrum- als auch im Kanban-Modus arbeiten.

Wenn Sie sich für diese Softwareentwicklungsprozesse interessieren, erfahren Sie mehr über unsere Arbeit in unserem Artikel Vergleich von V-Modell und agiler Softwareentwicklungsmethodik.

Unsere Erfahrungen und Schwerpunkte

Wir erstellen diese Software-Design-Lösungen.

Bei Prüf- und Messgeräten erstellen wir häufig eine eingebettete Softwareanwendung für das Zielgerät selbst und fügen eine native oder webbasierte Anwendung für das Client-Gerät hinzu. Die Schnittstelle kann eine herkömmliche kabelgebundene (USB oder kabelgebundenes LAN) oder drahtlose (Bluetooth, Wi-Fi, LTE und andere) sein. 

Der gleiche Ansatz gilt häufig für IoT-Anwendungen, bei denen Sensoren auf Bare-Metal-Software laufen und über Bluetooth oder andere IoT-Verbindungen mit einem Gateway kommunizieren.

Das Gateway kann mit einem leichtgewichtigen Linux-Betriebssystem ausgestattet sein und bietet in der Regel eine Webserver-Anwendung für die Verbindung zu einem beliebigen Ort in der Welt. Der Benutzer kann über eine mobile Software mit benutzerfreundlichen Gadgets auf das System zugreifen.

Wichtigste Anwendungsbereiche

Wir bieten unsere kundenspezifische Softwareentwicklung für eine Vielzahl von Märkten an.

Unser Team arbeitete unter anderem für Segmente der Automobil- oder Luftfahrtindustrie, die einen besonderen Bedarf an Softwarezertifizierung haben.

Technologien und Plattformen

Diese Technologien und Plattformen stehen hinter unserer Softwareentwicklung.

Integrationstechnologien

Tools/Frameworks

ReactJS
Angular
NodeJS
Express
ElectronJS

Programmiersprachen

C/C++
Python
JavaScript/TypeScript

Versionskontrolle

Atlassian Bitbucket
SVN
Gitea

Architekturmodell

Enterprise Architect
PlantUML
MS Visio
Lucidchart
MS Visual Studio

Projektleitung

Atlassian JIRA (Kanban und Scrum)

Kontinuierliche Integration

Jenkins

Codierungstools

MS Visual Studio
Visual Studio-Code
Atom
Eclipse
Clang

Gerätetreiber

Windows — Windows-Treiberkit (WDK)
Windows – Kernel-Mode Driver Framework (KMDF)
Linux — Linux-Kernel-Gerätemodell

Zehntausende

der eingebetteten Quellcodezeilen

Unsere Software-Ingenieure wissen jedoch, dass Software-Entwicklung nicht nur aus Codierung besteht.

Du bist hier:
Überblick über die SW-Entwicklungsdienste