1. Sformułowanie zadania projektowego

Celem projektu jest stworzenie aplikacji stacjonarnej uzupełniającej funkcjonalność serwisu Catch.com. Aplikacja ta będzie umożliwiać przeglądanie, tworzenie, edycję, usuwanie oraz wspóldzielenie notatek, list zadań i przypomnień. Utworzone w ten sposób dane będa mogły być synchronizowane z treściami umieszczonymi na serwerach serwisu Catch.com. Aplikacja pozwoli na logowanie się przy pomocy konta utworzonego wcześniej w serwisie Catch.com. Synchronizacja treści z serwerem będzie dokonywana na żądanie użytkownika. Kluczowymi cechami aplikacji powinna być prosta obsługa i przyjazny interfejs. Nawigacja powinna być zbliżona do tej znanej z aplikacji mobilnej udostępnianej przez twórców serwisu Catch.com. Istotna jest także wieloplatformowość dostarczonego rozwiązania.

2. Analiza stanu wyjściowego

W chwili obecnej na rynku obecna jest aplikacja stacjonarna wspierająca konkurencyjny system zarządzania notatkami, uzupełniająca funkcjonalności serwisu Evernote. Warto przeanalizować funkcjonalność tego produktu i postarać się wykorzystać trafne rozwiązania, nie powielając przy tym błędów autorów. Jako istotny element stanu wyjściowego należy uznać samą obecność serwisu Catch.com, która determinuje funkcjonalności, jakie mogą być zaimplementowane w aplikacji stacjonarnej. Serwis Catch.com udostępnia oparte na REST API, które słuzyć będzie do komunikacji z jego serwerem. Dane użytkowników nie będę gromadzone przez twórców projektu, natomiast po synchronizacji treści z serwerem będą one przechowywane przez Catch.com zgodnie z polityką prywatności, która jest akceptowana przez każdego użytkownika w momencie zakładania konta.

3. Analiza wymagań użytkownika

Gromadzenie notatek powinno być czynności intuicyjną i mało absorbującą ze strony użytkownika. Użytkownikami projektu będą użytkownicy serwisu i aplikacji Catch.com, dlatego pełna zgodność funkcjonalności z tymi źródłami jest kluczowa.

Z aplikacji korzystać będzie można tylko po zalogowaniu, występuję więc w systemie tylko jeden rodzaj roli. Pobieranie notatek z serwera i wysyłanie nowych danych na serwer powinno odbywać się na żądanie. Sensownym wydaje się jednak umożliwienie także synchronizacji automatycznej, aby użytkownik nie zapomniał wysłać na serwer notatek, z których chciałby potem skorzystać w aplikacji mobilnej.

4. Określenie scenariuszy użycia

a) Pierwsze logowanie do aplikacji

b) Tworzenie nowego obiektu:

c) Tworzenie nowego strumienia

d) Edycja notatki:

e) Zapraszanie użytkowników do współdzielenia strumienia

f) Dodawanie tagów, komentarzy, zalacznikow, checklist

g) Usuwania strumienia / notatki

5. Identyfikacja funkcji Patrz punkty 3 i 4

6. Analiza hierarchii funkcji projektowanej aplikacji

7. DFD:Budowa i analiza diagramu przepływu danych

8. Wybór encji i ich atrybutów.

-Streams:

-Objects:

-Users:

-Locations:

-Tags:

-Shared_stream:

-Comments:

-To_do

9. Projektowanie powiązań pomiędzy encjami.

10. Projekt diagramów STD