01. Karta projektu - ProjektKoncowyWSEI/Exam GitHub Wiki

KARTA PROJEKTU „EXAM”

Zakres udziałowców i cele projektu:

Udziałowcy: Lider: Krzysztof Sauermann; Zespół projektowy: Łukasz Nowak, Monika Nabielec, Ewelina Molenda; Sponsor: WSEI Kraków; Klient: WSEI Kraków;

Udziały

Krzysztof Sauermann: Frontend JavaScript/ CSS / C# + jQuery:

Odpowiedzialności:

  • Prezentacja danych wizualizacja w widokach
  • Obsługa danych z serwera
  • Oprogramowanie zapytań do serwera
  • Utworzenie layoutu

Łukasz Nowak: Bazy danych (MS SQL - jako podstawowa baza relacyjna, SQLite, Pliki XML lub JSON)

Odpowiedzialności:

  • Utworzenie relacyjnej bazy danych
  • Utworzenie bazy danych SQLite
  • Utworzenie struktury bazy w XML i JSON

Monika Nabielec: Backend C#

Odpowiedzialności:

  • Model bazy danych w aplikacji
  • Zwracanie danych do widoków
  • Obsługa zapytań z frontendu
  • Przygotowanie algorytmów tworzenia pytań i odpowiedzi

Ewelina Molenda: Backend C#

Odpowiedzialności:

  • Autentykacja i Autoryzacja
  • Przygotowanie danych do raportów
  • Przygotowanie algorytmów tworzenia baz danych
  • Obsługa serwisów wymiany danych

Cele:

Wizja projektu:

Aplikacja „Exam” będzie kompleksowym oprogramowaniem do obsługi egzaminów działającym w trybie on-line. Będzie obsługiwane przez studentów i nauczycieli. System umożliwiać będzie m.in. stworzenie bazy pytań egzaminacyjnych, wygenerowanie testów egzaminacyjnych, a co za tym idzie sprawdzenie zakresu wiedzy studentów/uczniów z danego materiału. Uzyskany wynik z egzaminu będzie generowany automatycznie.

W obecnej chwili większość uczelni wyższych korzysta już z systemów typu moodle, lecz są one skomplikowane w obsłudze dla zwykłego użytkownika. Cały proces egzaminowania jest czasochłonny, nieprzejrzysty oraz obniża atrakcyjność użytkowania.

Nasz system będzie tworzony jako uniwersalny system pomocniczy dla wszystkich którzy przeprowadzają jakiekolwiek egzaminy. Przy założeniu struktury, która powinna się składać z wykładowców, oraz studentów. Jako model przyjęliśmy uczelnię posiadającą kilkunastu wykładowców, kilkudziesięciu studentów i administratora. Użytkownikami systemu będą przede wszystkim studenci, którzy będą podchodzić do egzaminów oraz wykładowcy tworzący pytania egzaminacyjne.

Użytkownicy na podstawie otrzymanego poziomu dostępu do aplikacji, będą mogli (po zalogowaniu) uzyskać dostęp do poszczególnych funkcji systemu(np. dostęp typu student, wykładowca). Opis szczegółowy zostanie zamieszczony w kolejnych rozdziałach dokumentacji.

Z uwagi na to, że komunikacja z systemem będzie realizowana przy użyciu sieci Internet, dostęp do systemu będą posiadali w różnym zakresie wszyscy użytkownicy tej sieci. Użytkownicy nie wpisani do bazy danych będą mieli dostęp jedynie do ekranu logowania. Pozostali użytkownicy (studenci, wykładowcy i administrator) będą mieli dostęp do systemu w większym bądź mniejszym zakresie.

Cel strategiczny i warunki:

  1. Aplikacja ma dostarczać możliwość zdefiniowania pytań i odpowiedzi do egzaminu.
    Pytania oraz odpowiedzi będą zdefiniowane wtedy kiedy będą istniały w bazie danych. Będzie możliwość edycji ich poprzez aplikację. Po osiągnięciu celu projekt będzie wykonany w 40%. Funkcje muszą być dostępne do końca marca 2019.
  2. Aplikacja ma dostarczać możliwość przeprowadzenia egzaminu. Przeprowadzenie egzaminu będzie możliwe po uprzedniej autoryzacji użytkowników. Po osiągnięciu celu projekt będzie wykonany w 80%. Funkcja musi być dostępna do końca maja 2019.
  3. Aplikacja ma być dostępna on-line (Server IIS, Azure) Dostępność on-line oznacza, że oprogramowanie będzie dostępne do testów za pośrednictwem przeglądarki internetowej. Po osiągnięciu celu projekt będzie wykonany w 95%. Funkcja musi być dostępna do końca czerwca 2019.

Zakres projektu i jego granice:

  1. Tworzenie bazy danych:
  • MSSQL
  • SQLite
  • XML lub JSON
  1. Definiowanie pytań (typy pytań) i odpowiedzi:
  • True/false
  • Pytania jednokrotnego wyboru,
  • Pytania wielokrotnego wyboru,
  • Drag/drop
  • Opisowe.
  1. Mechanizm wyszukiwania pytań.
  2. Udostępnianie pytań egzaminacyjnych:
  • Szkolenie (tryb szkolenia udostępnia widok wszystkich pytań z widocznymi prawidłowymi odpowiedziami).
  • Egzamin testowy – losowo wybrane pytania w ilości określonej,
  • Egzamin właściwy.
  1. Sprawdzanie wyników z egzaminu:
  • Dla wykładowcy,
  • Dla studenta.

Fazy projektu - wykres Gantta na zostanie przedstawiony na kolejnej stronie

  1. Utworzenie dokumentacji projektu.
  2. Uruchomienie projektu w Azure DevOps
  3. Utworzenie nowego projektu na platformie GitHub
  4. Utworzenie prototypu bazy danych
  5. Odwzorowanie modelu bazy danych w aplikacji
  6. Utworzenie warstwy DTO
  7. Utworzenie serwisów obsługujących przenoszenie danych miedzy bazą a aplikacją
  8. Implementacja bazy SQLite, z obsługą po stronie aplikacji
  9. Utworzenie WebApi
  10. Wdrożenie baz danych
  11. Utworzenie kontrolerów w aplikacji
  12. Implementacja autoryzacji i autentyfikacji
  13. Utworzenie testów jednostkowych
  14. Testy dla kontrolerów
  15. Testy dla serwisów
  16. Testy końcowe aplikacji
  17. Utworzenie widoków do obsługi definiowania i edycji pytań́
  18. Utworzenie widoków do obsługi egzaminów
  19. Implementacja UI
  20. Początkowa konfiguracja aplikacji
  21. Końcowa konfiguracja aplikacji
  22. Opracowanie layoutu
  23. Stworzenie statystyk
  24. Wysyłanie powiadomień́ mailowych
  25. Wdrożenie aplikacji
  26. Utworzenie instrukcji obsługi

Dodatkowe prace, będą dokładane na bieżąco, w zależności od terminowego wykonania zadań.