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:
- 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. - 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.
- 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:
- Tworzenie bazy danych:
- MSSQL
- SQLite
- XML lub JSON
- Definiowanie pytań (typy pytań) i odpowiedzi:
- True/false
- Pytania jednokrotnego wyboru,
- Pytania wielokrotnego wyboru,
- Drag/drop
- Opisowe.
- Mechanizm wyszukiwania pytań.
- 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.
- Sprawdzanie wyników z egzaminu:
- Dla wykładowcy,
- Dla studenta.
Fazy projektu - wykres Gantta na zostanie przedstawiony na kolejnej stronie
- Utworzenie dokumentacji projektu.
- Uruchomienie projektu w Azure DevOps
- Utworzenie nowego projektu na platformie GitHub
- Utworzenie prototypu bazy danych
- Odwzorowanie modelu bazy danych w aplikacji
- Utworzenie warstwy DTO
- Utworzenie serwisów obsługujących przenoszenie danych miedzy bazą a aplikacją
- Implementacja bazy SQLite, z obsługą po stronie aplikacji
- Utworzenie WebApi
- Wdrożenie baz danych
- Utworzenie kontrolerów w aplikacji
- Implementacja autoryzacji i autentyfikacji
- Utworzenie testów jednostkowych
- Testy dla kontrolerów
- Testy dla serwisów
- Testy końcowe aplikacji
- Utworzenie widoków do obsługi definiowania i edycji pytań́
- Utworzenie widoków do obsługi egzaminów
- Implementacja UI
- Początkowa konfiguracja aplikacji
- Końcowa konfiguracja aplikacji
- Opracowanie layoutu
- Stworzenie statystyk
- Wysyłanie powiadomień́ mailowych
- Wdrożenie aplikacji
- Utworzenie instrukcji obsługi
Dodatkowe prace, będą dokładane na bieżąco, w zależności od terminowego wykonania zadań.