BRS#
Náměty k vylepšování a rozšiřování
  • Grafický klient
    Na několika místech této dokumentace bylo naznačeno, že snad nejpalčivějším nedostatkem předkládaného systému je provedení klientské aplikace pouze v konzolovém režimu. Integrace uživatelsky přívětivého a graficky orientovaného prostředí by měla být poměrně bezproblémová. S klientskou logikou by interagovalo pomocí stávajícího rozhraní Logic. Podle současné představy by systém ukazoval plán autobusu v grafické podobě se sedadly ve formě tlačítek pro volbu rezervace.
  • Klient ve webovém prohlížeči
    Zajímavou alternativou k předchozímu bodu, která vyplynula tak trochu mimochodem během prací, je vypracování HTML serveru způsobem, že na základě TCP serveru by připojením klientské logiky a zobrazování informací vznikla možnost provozování klienta přímo v libovolném webovém prohlížeči. To je poměrně lákavá možnost vzhledem k tomu, že následně odpadají problémy s přenositelností, instalací a konfigurací (byť jsou triviální) klientských aplikací. Přitom grafické možnosti a uživatelská přívětivost HTML stránek jsou značné.
  • Otázky bezpečnosti
    Reálně nasazený systém tohoto typu by musel řešit otázky autentizace uživatelů (obsluhy jednotlivých terminálů) a jejich autorizace k jednotlivým činnostem (např. dispečer může přidávat autobusy do databáze, běžná obsluha nikoliv). Přístup k systému i provádění operací by mělo být možné auditovat např. na základě nějakých logů (nejlépe jak na klientské, tak i serverové straně). Kromě toho by mělo být zajištěno šifrování dat při přenosu, aby nemohlo docházet k jejich zneužití či narušení. Současné řešení vpodstatě žádnou kontrolu konzistence dat na nižších vrstvách než aplikační neprovádí.
  • Alternativní databáze
    Předkládaný program řeší ukládání dat i veškerou manipulaci s nimi vlastními silami. Na druhé straně to je přesně parketa pro existující databázové systémy. Protože rozhraní pro styk s databází je pevně stanoveno (IQuery pro manipulaci s daty, IAdmin pro správu), bylo by možné velmi snadno zapojit nějakou hotovou relační databázi do systému (ať již v embedded variantě pro systémy menšího rozsahu nebo plné řešení). Takové databáze poskytují velmi robustní řešení s řadou dalších funkcí (např. on-line replikace na jiný server). Třída MemoryDb by pak byla nahrazena jinou, která by volání jednotlivých metod převáděla na odpovídající SQL dotazy.
  • "Chytřejší" skupinové rezervace
    V současnosti se při skupinové rezervaci bez určení konkrétních sedadel provádí výběr volných sedadel od začátku bez ohledu na jejich vzdálenost. Nalezení a implementace algoritmu, který by nalezl "nejsevřenější" sestavu daného počtu sedadel, by mohlo být zajímavým úkolem z grafových algoritmů. Sedadla a jejich vzdálenosti by byly popsány grafem a "sevřenost" by se mohla určovat např. hodnotou minimální kostry vybraného podgrafu.

Výše uvedený seznam rozhodně není úplný, řada dalších oblastí není řešena či hotova, např. internacionalizace a lokalizace do dalších národních prostředí atd.