Introduction

This commit is contained in:
2026-05-27 22:50:53 +02:00
parent aebc947df7
commit 5b13659d9d
2 changed files with 15 additions and 3 deletions
+13 -1
View File
@@ -1,4 +1,16 @@
#set heading(numbering: none)
= Wstęp <wstep>
Tu będzie dopiero treść :)
Współczesne narzędzia do wspólnego tworzenia dokumentów, takie jak Google Docs czy Microsoft Word Online, zrewolucjonizowały sposób, w jaki zespoły pracują nad treścią. Umożliwiają one wielu użytkownikom jednoczesną edycję tego samego dokumentu z wielu urządzeń. Ich powszechność skrywa jednak ważne ograniczenie architektoniczne - wszystkie one opierają się na scentralizowanym serwerze, który pośredniczy w każdej wymianie danych. Oznacza to, że gdy dwóch użytkowników pracuje nad wspólnym dokumentem w tym samym pomieszczeniu, każda wprowadzona zmiana musi najpierw dotrzeć do serwerów dostawcy usługi, zanim zostanie przekazana drugiemu uczestnikowi sesji. W konsekwencji brak dostępu do Internetu uniemożliwia dalszą współpracę, a uzależnienie od zewnętrznej infrastruktury tworzy pytania o prywatność danych oraz ciągłość usługi.
Niniejsza praca inżynierska podejmuje próbę odpowiedzi na powyższe ograniczenia poprzez zaprojektowanie i implementację mobilnej aplikacji do współtworzenia notatek tekstowych działającej w architekturze Peer-To-Peer. Zaproponowane rozwiązanie pozwala urządzeniom komunikować się bezpośrednio ze sobą za pośrednictwem Bluetooth lub Wi-Fi, bez udziału centralnego serwera i bez konieczności posiadania dostępu do Internetu. Aplikacja została zbudowana z myślą o urządzeniach firmy Apple z systemem iOS oraz iPadOS, z wykorzystaniem języka programowania Swift oraz deklaratywnego frameworka SwiftUI. Do komunikacji Peer-To-Peer zastosowano dostarczany przez Apple framework Multipeer Connectivity.
Cele pracy obejmują:
- Przegląd i analizę istniejących algorytmów zapewniających zbieżność danych w systemach rozproszonych w szczególności Operational Transformation oraz bezkonfliktowych replikowanych typów danych,
- Omówienie możliwości komunikacji Peer-To-Peer dostępnych na platformach firmy Apple,
- Zdefiniowanie wymagań funkcjonalnych i niefunkcjonalnych dla projektowanej aplikacji,
- Implementację aplikacji realizującej zdefiniowane wymagania, w tym mechanizm odkrywania urządzeń, synchronizacji notatek oraz rozwiązywania konfliktów metodą Last-Write-Wins,
- Weryfikację poprawności działania systemu za pomocą testów jednostkowych oraz manualnych.
Praca składa się z czterech rozdziałów. Rozdział pierwszy przedstawia zakres teoretyczny omawia modele zbieżności danych, algorytmy synchronizacji stosowane w systemach do współpracy w czasie rzeczywistym, a także możliwości komunikacji P2P dostępne w systemach iOS i iPadOS. Przybliżone zostają istniejące rozwiązania rynkowe oraz ich ograniczenia. Rozdział drugi zawiera specyfikację wymagań systemowych, zarówno funkcjonalnych, jak i niefunkcjonalnych, które wyznaczają zakres realizowanej implementacji; opisuje architekturę aplikacji, model danych, warstwę sieciową, algorytm rozwiązywania konfliktów oraz napotkane wyzwania implementacyjne. Rozdział trzeci prezentuje przeprowadzone testy i ich wyniki. Rozdział czwarty stanowi podsumowanie osiągniętych celów oraz propozycje kierunków dalszego rozwoju aplikacji.
BIN
View File
Binary file not shown.