Mamy pomysł na zbudowanie aplikacji. Potrzebujemy rozwiązać problem, który spowalnia naszą pracę lub chcemy coś zoptymalizować. Wiemy, czego potrzebujemy i stajemy przed problemem. Jak właściwie zbudować aplikację? Od czego zacząć? Odpowiedź jest prosta. Naszym pierwszym krokiem powinno być poświęcenie czasu i uwagi naszym danym. No bo przecież system, który chcemy zbudować, musi gromadzić jakieś informacje, a następnie coś z nimi zrobić. Jest to podstawowy cel prawie całego oprogramowania. Bez względu na wybraną technologię, koncepty budowy aplikacji mają wspólny mianownik – muszą operować na danych. Zarówno oprogramowanie budowane „w kodzie” jak z użyciem platformy low-code ma w swoim wnętrzu podobny rdzeń. Dobre zrozumienie naszych danych pozwoli nam zbudować nasz system szybko i bezstresowo.
Jak zbudować model danych?
Krok 1. – Poszukiwanie elementów
Budowę modelu danych należy rozpocząć od ogólnego spojrzenia na problem, jaki nasz system ma rozwiązać. Załóżmy, że budujemy system rozwiązujący następujący problem:
„Firma naprawiająca sprzęt elektroniczny kilku pracowników. Każdy pracownik może przyjąć do realizacji wiele zgłoszeń jednocześnie (naprawa trwa trochę czasu, czasem trzeba czekać na części itd.). Klienci mogą dowiadywać się o postępie naprawy ich sprzętu telefonicznie po podaniu numeru zlecenia.”
W pierwszej kolejności powinniśmy odszukać kluczowe osoby, rzeczy, czynności lub procesy, jakie skrywają się w problemie. W naszym przypadku istotne będą elementy:
- Pracownik – osoba wykonująca naprawę
- Naprawiana rzecz – reprezentowana jako „zgłoszenie naprawy”
- Klient – osoba dodająca zgłoszenia naprawy
Czasami w naszym problemie potrafimy zidentyfikować, że coś się dzieje według jakiejś ustalonej procedury albo harmonogramu. Taki harmonogram będzie bardzo istotnym elementem systemu. Będzie on grał kluczową rolę w dalszym projektowaniu systemu.
Krok 2. Odkrywanie relacji
Gdy już wiemy, z jakich elementów składa się problem, powinniśmy zastanowić się nad tym, jakie relacje istnieją pomiędzy naszymi danymi. Najlepiej zrobić to używając prostych stwierdzeń. Starajmy się budować zdania które zawierają w sobie nazwy dokładnie dwóch elementów spośród tych jakie zidentyfikowaliśmy. Jeśli widzimy, że nasze relacje są rozbudowane i wiążą ze sobą wiele elementów — uprośćmy je. Zastąpmy jedną skomplikowaną relację wieloma prostymi parami.
W naszym przykładzie możemy odnaleźć dwie relacje:
- Pracownik obsługuje kilka Zgłoszeń Naprawy
- Klient może zgłosić kilka Zgłoszeń naprawy
Poprawne identyfikowanie relacji pozwala nam na lepsze zrozumienie naszych danych. Czasem już w trakcie odkrywania relacji możemy się zorientować, że przeoczyliśmy jakiś istotny element.
Podczas definiowania relacji warto zastanowić się nad tym który element w tej relacji jest elementem głównym. W praktyce elementy główne będą później występować w naszym systemie w szerszym kontekście lub większej liczbie miejsc.
Aby określić który element relacji jest główny najłatwiej popatrzeć na to, czy element występuje w liczbie mnogiej, czy też w liczbie pojedynczej. Elementem głównym relacji będzie ten który występuje w niej w liczbie pojedynczej.
Krok 3. Wzbogacanie danych
Wcześniej nie poświęcaliśmy zbyt wiele uwagi temu, jakie dane dokładnie tworzą nasz model. Teraz nadeszła właściwa chwila, aby z szerokim spojrzeniem na problem wzbogacić nasze rozważania o trochę szczegółów. Popatrzmy na każdy element modelu i określmy jakie dane każdy z tych elementów może posiadać. Oto jak takie dane mogą wyglądać dla naszego systemu.
- Zgłoszenie naprawy:
- Data przyjęcia
- Pracownik obsługujący
- Klient zgłaszający
- Numer zgłoszenia
- Przedmiot naprawy
- Pracownik:
- Imię
- Nazwisko
- Rodzaj sprzętu jaki potrafi naprawić
- Klient
- Imię
- Nazwisko
- Numer karty klienta
Przedstawione wyżej kroki pozwolą nam na uzyskanie szczegółowego zarysu tego, jakie informacje będą zapisywane i odczytywane przez nasz system. W tym punkcie często ujawniają się ewentualne braki w relacjach oraz elementach struktury. Jeżeli takie braki zostaną zauważone, warto rozważyć powrót do wcześniejszych etapów i zbudować bogatszy model.
Krok 4. Model danych w aplikacji
Znając wszystkie elementy modelu danych oraz relacje między nimi jesteśmy gotowi, aby przekuć naszą wiedzę w prawdziwą aplikację. W klasycznym przypadku powinniśmy nasze elementy danych przedstawić jako tabelki w bazie danych (za pomocą języka programowania SQL). W przypadku platformy archITekt cały model danych można łatwo przygotować za pomocą modułu struktur danych.
Modelowanie danych to proces ewolucyjny
Pamiętaj, że model danych oraz struktury to element, który będzie cały czas ewoluował, wraz z tym, jak aplikacja się rozwija. Zwróć uwagę, aby podczas dodawania nowych funkcjonalności do swojego systemu zawsze zastanowić się, czy w modelu danych nie pojawił się jakiś nowy element lub relacje. Prosty i przejrzysty model to recepta na budowę dobrego systemu.
Wnioskując, niezależnie od wybranej metody tworzenia aplikacji, model danych pozostaje centralnym elementem każdego systemu. Skrupulatna analiza kluczowych elementów i relacji, szczegółowe określenie danych oraz ewolucyjne podejście do modelowania sprawiają, że nasza aplikacja staje się solidnym i przystosowanym do rozwoju fundamentem. Pamiętając o tych aspektach, zyskujemy pewność, że nasza aplikacja będzie gotowa sprostać wyzwaniom biznesowym i technologicznym w przyszłości.
archITekt – kompleksowa platforma low-code
Jak więc widzimy, zbudowanie efektywnej aplikacji nie musi być skomplikowanym procesem. Zarówno dla doświadczonych programistów, jak i entuzjastów nowych technologii, istnieją narzędzia, które umożliwiają tworzenie oprogramowania – szybciej i łatwiej. Takim narzędziem jest archITekt, który doskonale poradzi sobie zarówno z prostymi aplikacjami, zarządzaniem dokumentami, workflow, jak i złożonymi systemami wymagającymi przetwarzania ogromnej ilości danych i algorytmów obliczeniowych.
A co najważniejsze, można niego korzystać całkowicie bezpłatnie – klient dostaje możliwość przetestowania i budowania aplikacji w systemie archITekt, a opłaty będą naliczane, dopiero gdy rozpocznie się produkcyjne korzystanie ze zbudowanej aplikacji.