Inżynieria Systemów Informacyjnych - projekt

by Karol Wieczorek published 2020/03/03 15:07:00 GMT+1, last modified 2026-03-03T10:23:20+01:00

Organizacja zajęć projektu z Inżynierii Systemów Informacyjnych

Projekty wykonywane są w grupach 3-4 osobowych. Inna liczebność członków zespołu projektowego wymaga zgody Prowadzącego. Każdy zespół projektowy wybiera swojego Team Leadera, który odpowiada za koordynację pracy w zespole oraz kontakt z Prowadzącym.

Metodyka pracy:

  • Zespoły pracują w oparciu o tablicę zadań (np. Trello, Jira, GitHub Projects).

  • Zajęcia w terminach parzystych mają charakter przeglądu sprintu (Retro/Planning) – zespół referuje co zostało zrobione oraz co planuje na kolejne 2 tygodnie.

  • Po każdych zajęciach parzystych Team Leader wysyła maila do prowadzącego (temat: ISI_PROJEKT_GR_NAZWISKA_DATA) z linkiem do tablicy zadań (lub jej zrzut ekranu) i krótkim opisem postępów.

Harmonogram spotkań:

  • II zajęcia – Zgłoszenie zespołów, Team Leadera oraz tematów. Setup tablicy zadań i repozytorium (GitLab/GitHub).

  • IV zajęcia – Prezentacja analizy: schemat bazy danych (ERD), wykorzystywane technologie, diagramy UML.

  • VI zajęcia – Prezentacja działającego szkieletu aplikacji (CRUD, połączenie z bazą danych).

  • VIII zajęcia – Implementacja głównej logiki biznesowej systemu.

  • X zajęcia – Integracja z zewnętrznymi systemami (Social Media, Płatności).

  • XII zajęciaImplementacja asynchronicznych kolejek komunikatów oraz prezentacja testów automatycznych.

  • XIV zajęcia – Przegląd końcowy, dopracowanie dokumentacji i UI.

  • XV zajęcia – I termin oddania i obrony projektu.

Przebieg zaliczenia projektu:

  1. Przedstawienie tematyki projektu i założeń projektowych.

  2. Prezentacja aplikacji wraz z przeprowadzonymi testami.

  3. Przedstawienie sposobu implementacji (kod źródłowy, użyte biblioteki, narzędzia).

  4. Obrona projektu – każdy z członków zespołu referuje część aplikacji wykonaną przez siebie.

  5. Złożenie sprawozdania – dokumentacja techniczna w formie papierowej oraz wersja elektroniczna (kod + dokumentacja) wysłana na maila.

Wymagania dotyczące projektu:

  • Projekt musi implementować wzorzec MVC / REST API.

  • Język programowania backendu: do wyboru. Całkowity zakaz używania JavaScript / NodeJS / TypeScript w warstwie serwerowej.

  • Asynchroniczność: Obowiązkowe użycie asynchronicznych kolejek komunikatów (np. Kafka, RabbitMQ, ActiveMQ) do procesów w tle (np. wysyłka powiadomień, procesowanie statusów płatności).

  • Tematyka: systemy informacyjne dla firm (produkcja, handel, usługi).

  • Każdy projekt musi zawierać:

    • Funkcjonalność logowania z użyciem social media (OAuth2).

    • Integrację z systemem płatności elektronicznych (Sandbox). Obsługa scenariuszy negatywnych jest obowiązkowa.

    • Możliwość zatwierdzenia płatności OFFLINE przez administratora.

    • Studenci studiów niestacjonarnych: obowiązkowa tylko jedna z powyższych funkcjonalności płatności (online lub offline).

  • Każdy projekt musi zawierać automatyczne testy jednostkowe oraz integracyjne (minimum 50% logiki biznesowej).

  • W uzasadnionych przypadkach dopuszcza się wykonanie systemu dostarczającego tylko REST API.

Zakres dokumentacji technicznej (Sprawozdania):

  1. Opis celu projektu i głównych funkcjonalności.

  2. Diagram przypadków użycia (UML).

  3. Diagram klas (UML) lub schemat architektury systemu.

  4. Schemat bazy danych (ERD) z opisem kluczowych relacji.

  5. Dokumentacja API (np. Swagger/OpenAPI) lub opis endpointów.

  6. Opis wykorzystanych mechanizmów asynchronicznych (Kolejki).

  7. Raport z testów (pokrycie, główne przypadki testowe).

  8. Krótka instrukcja instalacji i uruchomienia projektu.