Josef Kunhart

Dokumentační web S.I.N.

Návrh aplikace

JkCrud slouží jako nástroj pro generování uživatelského rozhraní. JkCrud není samostatně funkčním celkem, předpokládá se jeho integrace do jiné aplikace. Tato nadřazená aplikace pak zajišťuje obecnou funkcionalitu, například řízení přístupových práv nebo internacionalizaci. Uživatelem programu je obvykle programátor, kterému usnadní tvorbu uživatelského rozhraní pro databázové tabulky. Běžný uživatel má přístup pouze k vygenerovanému uživatelskému rozhraní.

Hierarchie balíčků a tříd

Aplikace JkCrud je rozdělena do několika balíčků podle jejich účelu a použití. Nejdůležitějším balíčkem je jkcrud.main.crud, který obsahuje základní součásti aplikace JkCrud. Patří mezi ně třídy pro přehled, stavy, uživatelské rozhraní a spolupráci elementů. Dalšími balíčky jsou jkcrud.elements s elementy, jkcrud.filters s filtry, jkcrud.components s komponentami pro zobrazení a editaci nebo jkcrud.validators s validátory dat. Hierarchie balíčků je přehledně zobrazena v příslušném diagramu v dalším odstavci.

Diagram balíčků

Přehled balíčků v aplikaci JkCrud

Hierarchie balíčků

Diagramy tříd

Diagramy tříd zobrazují metody a atributy s úrovní přístupu public nebo package protected.

Práce s databází

Práce s databází probíhá prostřednictvím javového rozhraní JDBC. S tímto rozhraním komunikují třídy DB, CrudDB a CrossCrudDB, které zapouzdřují metody pro manipulaci s daty. Doplňující statická třída DbConfig obsahuje údaje o připojení. Aplikace pracuje právě nad jedním typem databázového serveru. Pro změnu databáze je nutné vyměnit všechny již jmenované třídy, tj. DB, DbConfig, CrudDB a CrossCrudDB. Ve výchozí verzi aplikace JkCrud jsou podporovány databáze MySQL a PostgreSQL.

Návrhové vzory

Seznam návrhových vzorů včetně krátkého popisu jejich použití v realizovaném programu.

  • Decorator - doplňování komponent o novou funkcionalitu nebo vzhled.
  • Factory - vytváření elementů, komponent, validátorů a dalších objektů.
  • Mediator - spolupráce mezi jednotlivými prvky grafického rozhraní v přehledu.
  • Observer - události uživatelského rozhraní a jejich zpracování.
  • Singleton - přístup k databázi.
  • State - reprezentace stavu aplikace JkCrud.

V plánu je i použití návrhového vzoru Composite pro vnořování instancí JkCrudu a JkCrossCrudu do sebe.

Použité knihovny

SWING

SWING je knihovna prvků pro vytváření a obsluhu grafického uživatelského rozhraní pro platformu Java. V JkCrudu je používán pro vykreslení komponent a samotného rozhraní pro práci s databází.

JDBC

JDBC je aplikační rozhraní pro přístup k relačním databázím v programovacím jazyku Java. V aplikaci slouží právě ke spolupráci s databázovým serverem MySQL nebo PostgreSQL.

JUnit

JUnit je knihovna, která usnadňuje vytváření jednotkových testů v jazyce Java. V aplikaci je používána pro testování jednotlivých tříd a součástí.