Prostokąty i strzałki: część pierwsza (z dwóch)

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.

4
Dodaj komentarz

avatar
3 Comment threads
1 Thread replies
4 Followers
 
Most reacted comment
Hottest comment thread
4 Comment authors
CeltButter40i6Jan Recent comment authors
  Subscribe  
Powiadom o
Jan
Gość

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/

Butter
Gość
Butter

sprawdź PlantUML – plugin do Visual Studio Code. Jest też odpowiedni plugin do Jira.

40i6
Gość

a ja trochę grzebałem w Dia – https://wiki.gnome.org/Apps/Dia, ale zrezygnowałem. Mało dopracowane…

Celt
Gość

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.