Programování a vývoj software
Programování a vývoj software
Vývoj software a programování je naše hlavní činnost. Nabízíme jak řadu vlastních SW produktů, které uzpůsobujeme a implementujeme pro jednotlivé zákazníky, tak vývoj software na zakázku. To zahrnuje analýzu založenou na potřebách konkrétního zákazníka, návrh řešení, jeho implementaci, testování, nasazení a údržbu.
Většinou se zaměřujeme na vývoj informačních systémů, databází nebo webových aplikací, nicméně zvládneme také i aplikace vztahující se k desktoptovým či mobilním zařízením, nebo vývoj software pro speciální účely. Sledujeme pokročilé způsoby vývoje software a snažíme se volit ty, které nejlépe splňují potřeby konkrétního projektu.
Technologie
Pracujeme zejména s těmito technologiemi: Java, PHP, .NET, SQL servery (MySQL, PostgreSQL), webové servery (Apache, Nginx, AWS), XML, webové služby, mobilní aplikace.
Jak pracujeme
Proces vývoje software v naší společnosti je zaměřený na dosažení vysoké kvality softwarového díla a jeho dodání dle předem definovaného časového plánu. Využíváme známé a osvědčené zásady z metodik RUP (Rational Unified Process) a SCRUM. Celý proces vývoje je řízen a kontrolován pomocí specializovaných nástrojů pro řízení softwarových projektů. V průběhu celého procesu vývoje má investor/zadavatel možnost online a průběžně sledovat stav projektu pomocí softwarového nástroje pro řízení projektu – kde kromě správy zdrojových kódu lze řídit plnění funkčních požadavků, sledovat plnění časového harmonogramu a plánovat jednotlivé úkoly. V ideálním případě dělíme celý softwarový projekt do následujících částí:
1. Softwarová specifikace – vstupní analýza
Úkolem je přesně popsat cílový systém a jeho vazby na další softwarové systémy zákazníka z pohledu funkčnosti a ovládání aplikace. Součástí specifikace je projektový plán a také návrh časového harmonogramu. Výstupem analýzy je strukturovaný dokument popisující zamýšlený softwarový systém v úrovni detailů, které jsou potřebné pro samotný vývoj/programování a pro stanovení přesného rozpočtu a harmonogramu projektu. Technické detaily jsou zanesené v UML diagramech doplněné o textový popis. Struktura systému je navržená v interaktivním wireframe diagramu. Softwarová analýza je nezávislá na platformě, tzn. není koncipována pro konkrétní softwarovou platformu, systém nebo framework. Naopak, cílem je obecný ale přesný popis systému s nízkou úrovní technických detailů, přičemž volbu samotné technologie je možné provést následně další fázi, tj. v rámci samotné implementace systému.
2. Implementace, vývoj softwarových komponent
Přizpůsobení nebo vývoj nových softwarových modulů na základě dané softwarové specifikace. Celý systém je tvořen většinou na již existujícím opensource frameworku, protože to přináší dříve zmíněné výhody oproti proprietárnímu systému.
3. Integrace s externími systémy
Softwarová analýza popisuje i tok dat a případná potřebná napojení na další systémy používané zákazníkem (propojení eshopu s účetnictvím, systémy dodavatelů a partnerů, integrace platebních systémů, apod.). Kromě vývoje propojovacích modulů se také připravují testovací data a scénáře pro verifikaci integračních komponent.
4. Testování
Zahrnuje provedení funkčních, zátěžových a integračních testů. Testovací scénáře jsou předem připraveny a schvalovány v součinnosti se zadavatelem. Poslední částí je uživatelské testování napříč různými zobrazovacími zařízeními (PC, tablet, chytrý telefon).
5. Produkční nasazení
Instalace systému na skupinu serverů (aplikační, databázový, proxy) a konfigurace systému pro reálný provoz se zajištěním vysoké dostupnosti.
6. Správa, údržba a poskytování technické podpory
Na základě smlouvy o údržbě a správě jsme schopni poskytovat služby hostingu s definovaným SLA2, dohledu a technické podpory v režimu až 24/7/365 a správy systému (upgrade systému, monitoring)