Programowanie programowaniem, czasem jednak trzeba odbyć jakąś interakcję interpersonalną z Endjuzerem. A że Endjuzer jest na ogół mało ogarnięty w pisaniu kodu, większą szansę na dotarcie do takiego osobnika mam za pomocą prostokątów i strzałek.
No i jest jeszcze znienawidzona Dokumentacja. I nie piszę tu o samodokumentującym się kodzie, który "mówi" do innych programistów doskonale zrozumiałym językiem. Mówię o Dokumentacji, czyli kompletnie do dziś niewyjaśnionym zjawisku polegającym na tym, że wyższy Menadżment znienacka zażycza sobie, najlepiej tuiterazzaraz, w pałerpońcie na szerdrajwie, dokumentacji jakiegoś procesu czy innego modelu. Rzuć wszystko człowieku i rysuj te strzałki i prostokąty do usranej.
Dotychczas jeżeli miałem potrzebę narysowania prostego modelu danych, zazwyczaj brałem SQL Server Management Studio i tam jest taka fajna opcja do tworzenia diagramów.
Niestety począwszy od wersji 18.x SSMS nie obsługuje już diagramów - podobno przenieśli tę opcję do VS, ale jak na razie nie udało mi się jej jeszcze znaleźć.
Tymczasem prostokąty i szczałki nadal mnie od czasu do czasu ścigają, musiałem więc znaleźć sobie altrenat... alternyta... alertyn... znaleźć sobie coś innego w tej podobie.
Szukałem dni kilka, przetestowałem całkiem sporo różnych różności i na chwilę obecną wydaje mi się, że najlepszym (do moich celów) jest portal dbdiagram.io.
Zalety:
- Darmowy
- Prosty w obsłudze
- Wszystko działa w przeglądarce - nie trzeba instalować żadnego oprogramowania lokalnie
- Diagram zapisany w formacie JSON
- Bardzo proste dzielenie się diagramem z resztą świata
- Ładnie wygląda
Wady:
- Brak możliwości zmiany ustawień wizualnych - jesteśmy skazani na domyślne ustawienia. Wygląda to ładnie, ale jak wiadomo "ładne jest nie to, co ładne, tylko to, co się komu podoba", a więc na pewno znajdą się tacy, którym te domyślne ustawienia się nie spodobają.
- Stosunkowo krótka lista kompatybilnych systemów bazodanowych (w dniu pisania tego artykułu dbdiagram.io obsługuje zaledwie dwa: mysql i postgres). Oznacza to, że owszem, możemy sobie narysować dowolny schemat, ale jeżeli chcemy z niego potem wygenerować kod SQL do zmaterializowania naszej idei, jesteśmy mocno ograniczeni. Mi to nie przeszkadza, ale wielu użytkownikom - może.
- Brak automatycznego "eleganckiego" układania elementów diagramu na ekranie - domyślnie jest on układany tak, że nie za bardzo widać co się z czym łączy. Trzeba sobie tabelki poprzesuwać "ręcznie" na piechotę. W przypadku diagramów niedużych (do 10-20 tabel) to jeszcze pół biedy, przy większych projektach może doskwierać.
Pomimo ww. wad dbdiagram.io sprawdza mi się w pracy świetnie. Wygenerowane weń diagramy trafiają zazwyczaj w sedno problemu, są czytelne, pozbawione zbędnych kwiatków i po prostu działają. Polecam.
Oczywiście jeżeli mamy do wykonania poważniejszy projekt, a nie tylko parę prostokątów i strzałek, dbdiagram.io raczej polegnie w przedbiegach. Do większych projektów polecam ERWin, Embarcadero lub (darmowego) Oracle Data Modeler.
W drugiej części tej króciutkiej (dwuczęściowej) serii skupię się na oprogramowaniu do tworzenia diagramów opisujących procesy.
Ja od zawsze marudziłam, że te binarne formaty to zło. Teraz w pracy używamy Asciidoc. Do tego też są pluginy https://asciidoctor.org/news/2014/02/18/plain-text-diagrams-in-asciidoctor/
sprawdź PlantUML – plugin do Visual Studio Code. Jest też odpowiedni plugin do Jira.
a ja trochę grzebałem w Dia – https://wiki.gnome.org/Apps/Dia, ale zrezygnowałem. Mało dopracowane…
Te wszystkie kody, szzczałki i prostokąty, protokoły i inne takie to dla mnie komputerowe „czarna magia” – chociaż nieraz słyszałem, że idzie to całkiem nieźle ogarnąć. Cieszę się, że Ty to ogarniasz i przekazujesz innym 😉
Spośród kodów to znam tylko prostych HTML-owych, potrzebnych mi do notek, a poza tym to nic.