Programově projektová dokumentace k ekonomickým aplikacím Relativa

 

 

Systém Relativa je vyvíjen a dodáván ve dvou modifikacích a to jednak v tzv. desktop provedení (dvouvrstvá architektura) a jednak jako systém s třívrstvou architekturou typu klient-server. V případě desktop provedení se jedná o aplikace - spustitelný exe soubor typu SDI pracující pod operačními systémy Windows 95, 98, 98SE, Me, 2000, XP vyvíjený v prostředí Borland Delphi (objektový pascal) spolupracující s databázovou vrstvou vytvářenou na platformě SQL Server 2000. V případě třívrstvé architektury je mezi klientskou a databázovou vrstvu včleněna střední (technologická) vrstva. Rozpracováni jsou klienti pro webovský browser (Internet Explorer) a WAP (PDA, mobilní telefon).

 

Po spuštění je zobrazen přihlašovací dialog do něhož uživatel zadá jméno a heslo (po třech neúspěšných pokusech je program ukončen) a k ověření validity zaslán serveru (skrz střední vrstvu – komunikace nikdy neprobíhá direktně na SQL server). Poté se otevře hlavní okno aplikace na celou obrazovku (maximalizace) a je povoleno pouze menu Systém a v něm přihlášení k dané firmě a pobočce se kterou bude uživatel pracovat. Firmu a pobočku je možné za běhu libovolně měnit. Dole v hlavním okně je stavová lišta, kde se zobrazí IČO, jméno firmy a pobočka právě zpracovávané firmy a jméno přihlášeného uživatele. Poté se uvolní i ostatní menu.

 

Ovládání a vzhled všech agend vychází ze společného základu a v maximální možné míře se drží standardu Windows. Pro dosažení optimální ergonomie je lze ovládat pouze klávesnicí a to stisknutím levé klávesy Alt a příslušného podrženého písmene v menu nebo na tlačítcích. Veškeré datové formuláře se otevírají modálně. V jejich záhlaví je uvedeno jméno a případná cesta tj. jména rodičovských formulářů při relačním vnořování. Všechny datové formuláře mají společné předky tzn. vypadají stejně a i se shodně ovládají. Na vrchu mají panel, na kterém jsou umístěna tlačítka (v případě, že relačně lze navázat další formulář např. Zaměstnanci – Úvazky nebo Zaměstnanci – Děti), dole stavový řádek, kde jsou zobrazeny informace o stavu (Prohlížení, Vkládání, Oprava atd.) o počtu záznamů ve formuláři., o počtu záznamů celkem (k dané firmě a pobočce) atd., vprostřed pohled na data (mřížka (grid) – množina záznamů, 1 záznam v editačních položkách nebo kombinovaný režim), vpravo panel s tlačítky (Nový záznam, Upravit, Smazat atd.) a vpravo dole editační položku sloužící k rychlému vyhledávání ve kterémkoliv datovém sloupci. Položky se vkládají v režimu zobrazení 1 záznamu do editačních prvků. Položky s popiskou z tučného písma jsou vyžadovány a musí být vyplněny. V případě pokusu o uložení nevyplněných položek aplikace vyvolá výjimku a po potvrzení hlášení zaostří kurzor do první nevyplněné položky a formulář dále zůstává v režimu Vkládání. U každého editačního prvku se při podržení kurzoru myši nad položkou zobrazí nápověda (Hint) s detailnějším popisem položky. Validace formální bonity pořizovaných dat je prováděna několika způsoby. První při vyplňování maskou (tj. do numerické položky nelze vložit písmena), další při opuštění položky (on exit) např. datumy a poté při pokusu o uložení (tato kontrola je již prováděna na serveru).

 

Serverová část je programována v jazyce T-SQL uloženými procedurami. Všechny operace jsou prováděny transakčně s ohledem na konzistenci dat s nejvyšší možnou úrovní bezpečnosti (transaction level serializable). Uložené procedury jsou konstruovány tak, aby přesto byla zachována vysoká úroveň konkurence a prakticky nedocházelo k tvorbě mrtvých zámků (deadlock).

 

Aplikace se instaluje typicky do adresáře PKSW (postačí zástupce ukazující na exe soubor – může být umístěn na libovolném file serveru a odkazován UNC – tj. není zapotřebí mapovat diskovou jednotku), komunikace se střední vrstvou probíhá pomocí protokolu TCP/IP a uživatelská nastavení jsou v INI souboru PKSW.INI (např. jméno SQL serveru, databáze, nastavení tiskárny), volitelně je též možno použít systémovou databázi (System Registry). Programy jsou spustitelné vícenásobně v rámci jedné instance operačního systému.