Consilia je společnost zaměřená na vývoj softwaru pro zákazníky

Zajišťujeme kompletní vývoj na klíč nebo nebo poskytujeme podporu v určitých fázích.

Consilia is Customer-Oriented Software Development Company

Consilia pomáhá svým zákazníkům snížit rozpočet na vývoj softwaru.

Již mnoho let vyvíjíme aplikace a vestavěný firmware.

Denně používáme systém repozitářů Git, ať už pracujeme na aplikacích pro Linux nebo na vestavěném softwaru v reálném čase.

Obvyklá otázka pro vývojáře elektronických produktů, poptávajících služby od softwarové společnosti, je, jak zabudovat software do hardwaru.

Značnou výhodou spolupráce s Consilia je, že máme kompetence v oblasti vývoje hardwaru i softwaru.

Nemusíte jednat s více dodavateli.

Umíme integrovat SW a HW do jednoho vestavěného zařízení a zajišťujeme i testování systému.

We provide a wide range of electronic design services

Služby vývoje softwaru

Váš projekt vývoje softwaru můžeme podpořit v mnoha oblastech.

Co můžeme udělat pro váš produkt

Poskytujeme služby ve všech fázích životního cyklu vývoje softwaru.

Záleží na zákazníkovi, zda potřebuje využít celý náš procesní řetězec nebo jen některou z našich služeb, například pokud vlastnímu týmu chybí některé specifické kompetence (třeba testování softwaru).

Náš typický tok úloh je založen na následujících řízených procesech:

1
Studie proveditelnosti
1

Studie proveditelnosti

Před realizací projektu pečlivě analyzujeme, zda a jaké technologie mohou splnit všechny požadavky, včetně vyrobitelnosti a výrobních nákladů.

Pro takovou analýzu potřebujeme od zákazníka určité vstupy - např. technické požadavky, cílové náklady a časový plán.

2
Návrh softwarové architektury
2

Návrh softwarové architektury

Návrh SW architektury považujeme za důležitou část, kde v počáteční fázi vynaložíme přiměřené úsilí a později ušetříme mnoho nákladů.

Definujeme jednotlivé softwarové vrstvy, navrhneme funkční bloky a definujeme vztahy mezi nimi.

3
Ověření konceptu
3

Ověření konceptu

V některých případech vytvoříme rychlý prototyp, který nám (a samozřejmě zákazníkovi) ukáže, zda má kandidát na architekturu systému velkou šanci splnit klíčové funkce a požadavky.

Na takovém POC (Proof of Concept) také testujeme a měříme kritické body, např. mechanickou stabilitu, odezvu systému, schopnost propustnosti dat a spotřebu energie.

4
Modely datových toků
4

Modely datových toků

Na základě softwarové architektury vytváříme podrobné modely toku dat, kde přesně zjišťujeme, zda vyhovují požadavkům.

Výstup z této fáze použijeme jako základ pro tvorbu modulů/jednotek a plánu jejich testování.

5
Výběr řešení
5

Výběr řešení

Různé marketingové představy můžeme realizovat více způsoby.

Vždy analyzujeme více řešení nebo konceptů, abychom mezi nimi podnítili jakousi vnitřní soutěž a vybrali nejlepší z nich.

6
Implementace
6

Implementace

Software implementujeme s rozsáhlým využitím systému řízení revizí. Řadu let máme velmi dobré zkušenosti se systémem Git.

Při slučování funkčních větví do hlavní větve nám systém pomáhá zejména při revizích kódu.

7
Modulové Testy
7

Modulové Testy

Náš tým dbá na interní testování jednotlivých modulů.

Pomocí jednotkových testů ladíme jednotky/moduly na nejnižší možné úrovni, což je pro nás jedna z nejúspornějších cest ke stabilnímu a spolehlivému softwaru.

8
Vertikální integrace komponent
8

Vertikální integrace komponent

V projektech, kde je agilní přístup zvolen jako nejlepší, provádíme vertikální integraci komponent dohromady, abychom získali viditelnou funkci každý jeden nebo dva týdny.

To umožňuje vlastníkovi produktu sledovat, zda projekt probíhá rovnoměrně, a co nejdříve odhalit případnou kritickou cestu.

9
Integrace s HW
9

Integrace s HW

Spolupráce softwarového a hardwarového týmu je naší silnou zbraní.

Naši kolegové z hardwarového týmu mají velké zkušenosti s vytvářením vlastních hw modulů a s plánováním rozhraní mezi hardwarem a softwarem v předstihu.

Abychom se vyhnuli tomu, že kritické systémové chyby odhalíme příliš pozdě, provádíme integraci softwaru a hardwaru průběžně.

10
Funkční testy
10

Funkční testy

V rámci vertikální integrace testujeme funkce systému na základě plánu testování funkcí.

V případě potřeby vytváříme vlastní testovací systém a implementujeme testy tak, aby je bylo možné kdykoli znovu použít a opakovat.

11
Regresní testy
11

Regresní testy

Při přidávání a implementaci nových funkcí testujeme i ty stávající, aby celý systém spolehlivě fungoval ve všech svých částech. Regresní testy jsou pro nás v podstatě pravidelně opakované testy funkcí.

V regresních testech znovu využijeme testovací systém z fáze funkčního testování.

Získejte podporu našich odborníků ve všech fázích vývoje softwaru a posuňte svůj projekt na další úroveň.

Spolupracujeme s...

Jak můžeme spolupracovat

Víme, jak řídit náš tým pro vývoj softwaru.

Používáme různé přístupy k vývoji.

Během posledních dvaceti let jsme získali zkušenosti se dvěma různými procesy vývoje softwaru: V-model a Agile; v případě Agile můžeme pracovat v režimu Scrum i Kanban.

Pokud vás tyto procesy vývoje softwaru zajímají, přečtěte si více o naší práci v článku Srovnání metodiky vývoje softwaru založené na V-modelu a agilní metodiky.

V případě testovacích a měřicích zařízení často vytváříme vestavěnou softwarovou aplikaci pro samotné cílové zařízení a přidáváme nativní nebo webovou aplikaci pro uživatelské zařízení. Rozhraní může být tradiční kabelové (USB nebo kabelová LAN) nebo bezdrátové (Bluetooth, Wi-Fi, LTE a další).

Stejný přístup se často uplatňuje u aplikací internetu věcí, kde senzory běží na holém softwaru a komunikují s bránou prostřednictvím Bluetooth nebo jiných připojení.

Brána může být vybavena lehkým operačním systémem Linux a obvykle může poskytovat aplikaci webového serveru pro připojení kamkoli na světě. Uživatel může k systému přistupovat prostřednictvím mobilního softwaru s uživatelsky přívětivými miniaplikacemi.

Naše zkušenosti a zaměření

Implementace na míru

Klíčové oblasti použití

Poskytujeme vlastní návrh softwaru pro různé trhy.

Náš tým pracoval mimo jiné i pro segmenty automobilového nebo leteckého průmyslu, které jsou speciální z hlediska potřeby certifikace softwaru.

Cílové trhy

Technologie a platformy

Tyto technologie a platformy stojí za vývojem našeho softwaru.

Integrační technologie

Nástroje/Framework

ReactJS
Angular
NodeJS
Express
ElectronJS

Programovací jazyky

C/C++
Python
JavaScript/TypeScript

Řízení verzí

Atlassian Bitbucket
SVN
Gitea

Řízení projektů

Atlassian JIRA (Kanban & Scrum)

Model architektury

Enterprise Architect
PlantUML
MS Visio
Lucidchart
MS Visual Studio

Kontinuální integrace

Jenkins

Nástroje pro kódování

MS Visual Studio
Visual Studio Code
Atom
Eclipse
Clang

Ovladače zařízení

Windows – Windows Driver Kit (WDK)
Windows – Kernel-Mode Driver Framework (KMDF)
Linux – Linux Kernel Device Model

Desítky tisíc

vložených řádků zdrojového kódu

Naši programátoři i tak chápou, že vývoj softwaru není jen kódování.

Nacházíte se zde:
Přehled služeb vývoje SW