Vývoj Software 

 Princip: Konfekce, nebo oblek na míru? 

Zakázkový software - tak jak ho chápeme my a tak jak jeho tvorbu nabízíme - vychází z analýzy potřeb zákazníka a ne z našich představ o dokonalém řešení. Při jeho tvorbě klademe důraz na jeho otevřenost a další rozvoj podle předpokládaných potřeb zákazníka. Naši zákazníci se stávají majiteli licencí a sublicencí vytvořeného software, mohou ho tedy dále upravovat dle svých potřeb. 

Při zakázkovém řešení získává zákazník systém, který je zcela přizpůsoben jeho požadavkům a to od vlastní funkce, designu, systému práce až po plné respektování jeho produkčního prostředí.


Krabicové řešení a nebo software na míru?

U obecného (krabicového) software služby, které požadujeme, často neexistují nebo nevyhovují požadavkům zákazníka. Obecný software často poskytuje jen částečnou, neoptimální či nekonformní funkčnost. Zákazníkovi poskytuje služby, které nepotřebuje a naopak služby, které by využil či od aplikace očekává, postrádá. Obecný software má sice menší pořizovací náklady, ale musíme akceptovat jeho vlastnosti, přizpůsobovat se jeho funkcionalitám a hledat, jak využít jeho možnosti k dosažení výsledků, které potřebujeme, tím je produktivita práce s takovýmto obecným software nižší a ve svém konečném důsledku jsou náklady spojené s jeho užíváním vyšší.

Vyšší cena, která se vyplatí

Vývoj software na zakázku není levná záležitost, přesto jej firmy stále hojněji využívají. Důvodem je zejména to, že software vyrobený na zakázku je přizpůsoben zákazníkovi, zákazník se tedy nepřizpůsobuje možnostem, které mu vyhrazuje již hotový software. Mnohdy je vývoj vlastního softwarového řešení jediná varianta, jak získat od informačních technologií přesně ty služby, které potřebujeme.

Dlouhodobý proces

Vývoj software na zakázku je dlouhodobý proces, kdy je nutná úzká spolupráce zákazníka a dodavatele. Je to vždy spolupráce založena na vzájemném respektu, kdy profesionálové ve svém oboru spolupracují na cílovém řešení. Vlastní vývoj a provoz IT systému máme rozdělen do následujících devíti kroků.

Postup vývoje IT systému

Devět kroků ke spokojenosti

 

1. Definice požadavků zákazníkem (funkční analýza)

  • Funkční analýza je popisem reálného světa a definicí toho, co zákazník potřebuje. Zákazník by měl mít jasnou představu, co potřebuje a tuto potřebu definovat tak, jak požaduje a v terminologii, které rozumí.
  •  

  • Funkční analýza je klíčový dokument, který musí na začátku popisovat potřeby zákazníka a na konci procesu vývoje být popisem vytvořeného software a podkladem, na jehož základě zákazník hodnotí, zda dodaný systém splnil nebo nesplnil jeho požadavky.

2. Zadávací dokumentace

  • Druhým krokem je vytvoření zadávací dokumentace. Zadávací dokumentace vznikne doplněním a upřesněním funkční analýzy IT specialisty. IT specialisté zhodnotí požadavky zákazníka z pohledu informačních technologií, a na základě svých znalostí a zkušeností doporučí případné rozšíření, změny a úpravy, pro optimální implementaci požadavků zákazníka.
  •  

  • Naši analytici mají zkušenosti v moderních trendech vývoje software, umí ale také náležitě naslouchat a respektovat zákazníka. Vždy se snažíme detailně a přesně pochopit požadavky zákazníka a sami přinášíme zlepšení, či rozšíření funkcionalit, pokud pro ně při tvorbě vidíme prostor tak, aby se výsledný produkt posunul na optimální úroveň. Takováto analýza umožní vytvoření software, který mimo vlastní bezchybné funkčnosti je i efektivní, šetří práci uživatelům a práce s ním je pro uživatele komfortní.
  •  

3. Strukturovaná analýza

  • Strukturovaná analýza je doplnění zadávací dokumentace tak, aby byl pokryt celý proces vývoje systému až po jeho předání.
  • Strukturovaná analýza slouží k jasné definici programových postupů, technologií, datových modelů a toků tak, aby jakýkoliv implementátor (programátor) byl schopen napsat výkonný kód bez dalších doplňujících podkladů.
  • Strukturovaná analýza promítá zadávací dokumentaci do základních algoritmů a struktur. Jak je analýza dokonalá, tak je dokonalý cílový produkt. Analýza musí být srozumitelná zadavateli, musí být komplexní a stává se základním kamenem budoucí dokumentace.
  • Strukturovaná analýza rovněž obsahuje návrh architektury dodávaného programu, jeho návaznost na okolní infrastrukturu zákazníka.
  • Strukturovaná analýza je vždy přílohou smlouvy na dodávaný software.


4. Implementace

  • Implementace (kódování) je přepis zadání ze strukturované analýzy do programovacích jazyků. Tento bod je zcela v gesci dodavatele s výjimkou, kdy zákazník požaduje audit kódu nezávislou společností.
  • Za použití nejmodernějších technologií vzniká robustní, stabilní a výkonný kód, který je ve všech případech maximálně strukturovaný a otevřený pro budoucí možná rozšiřování či úpravy. Tak nevzniká jen pomůcka pro to, co děláte, ale vytváříme nástroj pro vaši práci a optimální využití vašeho potenciálu.
  • Během implementace probíhají vývojové, programátorské testy a během tohoto procesu jsou uvolňovány částečné verze pro konzultaci vývoje se zákazníkem a případném okamžitém upřesňování požadavků zákazníka.
  • Průběžně se zde vytváří dokumentace.

5. Testy

  • Systémové – kompletní soubor testů pokrývající všechny funkce systému s maximální variabilitou testovacích dat.
  • Zátěžové testy – zjištění výkonu systému, odhalení úzkých hrdel. Výsledek zátěžových testů vede k naladění a optimalizaci softwaru (tuning).
  • Integrační – testy prováděné v produkčním prostředí (pokud neexistuje testovací klon produkce) testují, zda dodávaný software je plně funkční na produkčním hardwaru i to, že plně spolupracuje s ostatními návaznými softwarovými systémy.
  • Akceptační – testy po jejichž úspěšném provedení následuje předání systému zákazníkovi. Po úspěšných akceptačních testech, je systém definitivní (zaplombován – seal) a další změny jsou již možné jen přes formální procesy řízení změn.

6. Školení

  • Nedílnou součástí je školení obsluhy a seznámení pracovníků zákazníka s novým software. Školení je koncipováno tak, aby pokrývalo obsluhu všech funkcí software, bezpečnostní otázky a metodiku, která s novým software přichází. Součástí proškolení bývá i seznámení s plánem na zajištění podpory (helpdesk) systému a optimalizace procesu nasazení nového systému.

7. Nasazení

  • Po zaškolení obsluhy a již dříve úspěšně absolvovaných akceptačních testech následuje uvedení systému do provozu. Je to také bod, kdy dochází k odstavení původního systému, který doposud paralelně koexistoval s novým nasazovaným systémem.
  • Tato fáze bývá pro zákazníka náročná a její význam bývá často opomíjen. Uživatelé se podvědomě brání měnit zaryté postupy a učit se novým. Velmi aktivně se účastníme této fáze spolupráce se zákazníkem. Pochopení nového systému uživatelem - jeho výhod a úspory práce - je cestou jak přechod na nový systém práce co nejvíce zoptimalizovat.
  • Pro optimální, efektivní a úspěšné nasazení je bezpodmínečně nutná podpora vedení společnosti – ze zkušenosti víme, že „zdola“ informační systém úspěšně nasadit nelze.

8. Zajištění provozu, podpora a údržba (maintenance)

  • Zajišťujeme 100% funkcionality produkčního prostředí v případě, že systém je nasazen na našem prostředí. Typickým případem takového řešení jsou cloudové systémy.
  • Zároveň jsme schopni zajistit podporu a údržbu systémů instalovaných výhradně v prostředí zákazníka. Údržba systému je vhodná po celou dobu používání systému. Rozsah podpory a údržby je definován ve SLA (Service-level agreement), kde je popsán systém aktualizací (up-to-date), rychlost servisních zásahů a rychlost odstraňování chyb.

9. Vyhodnocení

  • Po dohodnutém časovém období (týdny, měsíce, záleží na rozsahu systému) následuje vyhodnocení a pečlivé posouzení nového systému, zhodnocení jeho přínosu a uzavření celého projektu.

Naše technologie

Technologie je prostředek, ne cíl.

Pro vývoj software používáme agilní technologie programování. Tyto technologie umožňují dodat zákazníkovi produkt v co nejkratší době a mnohdy umožňují  zákazníkovi být přímo součástí vývoje (Dynamic Software Development Menthod). Součástí projektu bývá i doporučení, jak v projektu dále pokračovat a to s ohledem na vlastní projekt, naše zkušenosti a vize dalšího směřování zákazníka.

Programovací technologie:

Desktopové aplikace

Prostředí:   Microsoft Visual Studio, Eclipse, NetBeans
 Jazyky: C++, C#
Databáze:  Microsoft SQL Server
Instalace:  Install Shield, Inno
Dokumentace:  Help & Manual, Microsoft Office
 Reporty:  Crystal Report, SQL Report

 

Webové aplikace

Prostředí:  Microsoft Visual Studio, Eclipse, NetBeans 
 Jazyky (server):  C++, C#, Java, Python
 Jazyky (klient):  Java, JavaScript, Html, CSS
 Databáze:  Microsoft SQL Server, Oracle, PostgreSQL
 Instalace:  Visual Studio, Install Shield, Inno
 Dokumentace:  Help & Manual
 Reporty:  Crystal Report, SQL Report, SQL Report, Jasper Reports, Eclipse BIRT reports

 

Naše významné zakázky realizované v posledních třech letech:

Produkt  Typ   Technologie Zákazník 
 

Sumarum2001 – informační systém pro střední podniky (sumarum2001.sumanet.cz)

 

Desktop

Web

 C++, C#, SQL Server  Otevřená distribuce
Smsender2001 (sms.sumanet.cz) – SMS brána  Web  MVC, C#, SQL Server, Razor  Otevřená distribuce
Ája (aja.expreska.com) – informační systém pro společnost Expreska s.r.o. Web   Java, Javascript, Oracle,  Expreska s.r.o.
Povynal – Systém na zajištění výplaty pojištěných vkladů pro Fond pojištění vkladů. Dodávka v kooperaci se Software602, a.s. Desktop  C++, SQL Server  FPV
CASUK – dataminig datových podkladů z internetu Web 
 Java, PostreSQL  Casper a.s.
Bezpečné parkování (bezpecneparkovani.cz) – portál na organizaci parkovišť a parkovacích míst Web
 C#, SQL Server  KIRO s.r.o.



Na další spokojené klienty se můžete podívat zde
Máme Vám co nabídnout

Vývojem zákaznického software se úspěšně zabýváme od roku 1995, proto věříme, že vám máme co nabídnout.

Kontaktujte nás

Pokud vás naše krátké představení zaujalo, kontaktujte nás pro vypracování nezávazné nabídky.