Načela konstruiranja

Gaphor postoji već nekoliko godina. Tijekom tih godina su programeri Gaphora naučili neke stvari o tome kako ga izgraditi. Gaphor je namijenjen za početnike i za iskusnije korisnike.

Gaphor nije običan uređivač. Gaphor je okruženje za modeliranje. To znači da postoji jezik na kojem se modeli temelje. Jezici se pridržavaju pravila i Gaphor se pokušava pridržavati tih pravila.

Upotrebljivost je vrlo važna. Kao početnik ćeš se lako snaći. Osnovno poznavanje UML-a je dovoljno barem za stvaranje dijagrama klasa.

_images/bf6c3c3b-81b2-11ee-ad01-a85e451ea141.svg

Upute

Kako bi pomogao korisnicima, Gaphor bi trebao pružiti upute gdje god može.

Pomoć s odnosima

Dijagram ima značajku da zasivi sve elemente s kojima se odnos ne može povezati. To pomaže pri odlučivanju gdje se odnos može povezati. Različiti elementi se mogu i nadalje miješati, ali mi se trudimo to pojednostavniti kako bi se izradili konzistentni modeli.

Održavanje sinkronizacije modela

Važan dio modeliranja je stvaranje sustava abstraktno i biti u stanju objasniti to drugima. Kako sustavi postaju kompliciraniji, važno je imati dizajn (model) koji se prikazuje u dijagramima.

Gaphor održava sinkronizaciju modela s dijagramima. Pritom se nekorišteni elementi mogu automatski ukloniti iz modela ako se više ne prikazuju u nijednom dijagramu.

Bez smetnji

Tijekom modeliranja koncentriraj se na problem ili rješenje, a ne na alat. Gaphor će se uplesti što manje moguće. Neće te gnjaviti porukama o greškama zbog modela koji nije „ispravan”.

Izbjegavanje dijaloga

Čineći ispravnu stvar i ne zaokupljati korisnika, Gaphor izbjegava korištenje dijaloga koliko god je to moguće.

Gaphor bi trebao omogućiti da učiniš razumnu stvar (vidi gore) i da te ne smeta raznim pitanjima tijekom tvog rada.

Obavijesti o promjenama

Kada Gaphor radi nešto što nije izravno vidljivo, vidjet ćeš obavijest. Na primjer, element koji je neizravno uklonjen iz modela. Neće te prekidati dijalozima, već će samo pružiti malu obavijest unutar aplikacije. Ako ne želiš prihvatiti promjenu, pritisni poništi.

Uravnoteženo

Iako Gaphor implementira podosta UML 2 modela, on nije potpun. Pokušavamo uspostaviti ravnotežu značajki kako bi odgovarale stručnjacima i početnicima modeliranja.

Kontinuitet

Model koji se izradi bi se trebao moći koristiti u budućnosti. Gaphor to podupire. Brinemo se o kompatibilnosti.

Kompatibilnost sa starijim verzijama

Gaphor može učitavati modele izrađene s Gaphor verzijom 1.0. Važno je da alat uvijek dopušta učitavanje starijih modela.

Višeplatformski

Uložili smo puno truda kako bi Gaphor radio na svim glavnim platformama: Windows, macOS i Linux. Imati Gaphor dostupan na svim platformama bitno je ako model treba dijeliti. Bilo bi užasno ako bi se morao pokrenuti jedan određeni operacijski sustav za otvaranje modela.

Za sada ne podržavamo četvrtu glavnu platformu (web). Izvorne aplikacije pružaju bolje korisničko iskustvo (nakon instaliranja). To će se može promijeniti.

Korisnička interakcija

Gaphor is originally written on Linux. It uses GTK as it’s user interface toolkit. This sort of implies that Gaphor follows the GNOME Human Interface Guidelines (HIG). Gaphor is also a multi-platform application. We try to stay close to the GNOME HIG, but try not to introduce concepts that are not available on Windows and macOS.

User interface components are not generated. We found that UI generation (like many enterprise modeling tools do) provides an awful user experience. We want users to use Gaphor on a regular basis, so we aim for it to be a tool that’s pleasant to look at and easy to work with.

What else?

  • Idempotency Allow the same operation to be applied multiple times. This should not affect the result.

  • Event Driven Gaphor is a user application. It acts to user events. The application uses an internal event dispatches (event bus) to distribute events to interested parties. Everyone should be able to listen to events.