niezbednikstudenta_docs/Dyczkowski/niezbednik-studenta/dokument_wymagan_projektowych.md

8.8 KiB

Dokument wymagań projektu

Nazwa projektu: Niezbędnik Studenta Autorzy: Adrian Pacholak, Ania Śniadek, Malwina Chudzińska, Phillip Ławniczak
Data: 28.10.2020

0. Wersja dokumentu

1.1 - 28.10.2020 - dostosowanie do nowego szablonu

1.2 - 16.11.2020 - naniesienie poprawek wedłgu uwag promotora

1. Elementy składowe projektu (produkty projektu)

Aplikacja webowa

  • Zintegrowana z REST API - pobiera dane użytkowników, dane zawarte w aplikacji

  • Dostępna dla użytkowników posiadających konto w systemie USOS

  • Zarządzana przez zespół administratorów składający się z wybranych, zainteresowanych studentów

  • Umożliwia zalogowanym użytkownikom

    • korzystanie z forum

    • dostęp do materiałów zamieszczanych przez użytkowników

    • udostępnianie plików

    • pozyskiwanie informacji dotyczących studiów

  • Dokumentacja dotycząca oprogramowania aplikacji webowej

  • Technologie:

    • JavaScript

    • React

    • HTML5

    • SASS

    • CSS3

    • webpack

    • node.js

  • Publikacja aplikacji:

    • Dostęp do aplikacji na stronie internetowej

    • Dostęp do repozytorium oraz dokumentacji aplikacji na serwisie GitHub

Aplikacja serwerowa - REST API

  • Udostępnia serwisy REST

  • Służy do pobierania oraz zarządzania informacjami na temat przedmiotów, prowadzących, wydarzeniach

  • Służy do pobierania i dodawania materiałów naukowych

  • Służy do zamieszczania postów i komentarzy na forum

  • Używa relacyjnej bazy danych do przechowywania informacji o użytkownikach, przedmiotach, prowadzących, ogłoszeniach, wydarzeniach, postach oraz materiałów naukowych

  • Zintegrowane z Systemem Usos w celu autoryzacji oraz pobierania informacji o użytkownikach

  • Dokumentacja dotycząca oprogramowania REST API

  • Technologie: Java, Spring, Hibernate

Relacyjna baza danych:

  • Baza stworzona na potrzeby przechowywania informacji o użytkownikach, przedmiotach, prowadzących, wydarzeniach

  • Technologie:

    • Azure SQL

Repozytorium zawierające kod aplikacji

  • GitHub

Elementy nieprogramistyczne

  • Tablica projektowa - Jira:

    • Historia wymagań funkcjonalności (user stories)

    • Historia zadań

  • Prototyp aplikacji webowej

  • Dokumentacja dotycząca oprogramowania REST API

  • Dokumentacja dotycząca oprogramowania aplikacji webowej

  • Dokumentacja architektury wykorzystanej w projekcie

2. Granice projektu

  • Produkty nie zawarte:

    • Aplikacja mobilna

    • Aplikacja desktopowa

  • Funkcjonalności nie zawarte:

    • Rejestracja użytkowników

    • Dostęp dla użytkowników nie posiadających konta w systemie USOS

    • Chat dla użytkowników aplikacji

    • Możliwość edycji danych użytkownika

3. Lista wymagań funkcjonalnych

  • Aplikacja webowa:

    • Autentykacja i autoryzacja użytkowników przez system

    • Dostęp do informacji na temat przedmiotów i prowadzących

    • Możliwość dołączania i opuszczania grup przedmiotowych

    • Możliwość dodawania postów stanowiących ogłoszenia, oferty pracy i oferty korepetycji na tablicy ogłoszeń

    • Możliwość dodawania postów na forum dyskusyjnym, możliwość komentowania postów i zamieszczania rozwiązań do zadań

    • Możliwość udostępniania plików innym użytkownikom

    • Możliwość inicjowania wydarzeń i dołączania do wydarzeń

    • Możliwość dostosowania powiadomień przez użytkownika

    • Możliwość dodawania przedmiotów, prowadzących, przydatnych linków przez użytkowników z uprawnieniami administratora

    • Możliwość zarządzania ogłoszeniami, postami, komentarzami użytkowników przez administratorów

    • Możliwość dawania użytkownikom uprawnień administratora przez administratorów

  • Aplikacja serwerowa:

    • Zintegrowana z Systemem USOS w celu autoryzacji oraz pobierania informacji o użytkownikach

    • Pobieranie oraz zarządzanie informacjami na temat przedmiotów, prowadzących, wydarzeń, postów i komentarzy na forum

    • Pobieranie i dodawanie materiałów naukowych

    • Połączona z relacyjną bazą danych zawierającą dane oraz pliki

4. Lista wymagań niefunkcjonalnych

  • Dokumentacja dotyczącą oprogramowania aplikacji webowej i REST API

  • Dostęp do repozytorium kodu

  • Aplikacja dostępna dla komputerów i urządzeń mobilnych

  • Użyte biblioteki na licencji open-source

5. Mierzalne wskaźniki wdrożenia

  • Akceptacja funkcjonalna:

    • Ukończenie zdefiniowanych funkcjonalności aplikacji webowej

    • Dostęp do aplikacji dla wszystkich użytkowników systemu Usos

    • Brak błędów utrudniających korzystanie z aplikacji

  • Akceptacja jakościowa:

    • Zawieranie testów jednostkowe i sprawdzenie, czy spełniają swoje zadanie

    • Deploy wersji alpha aplikacji na serwer 30.11.2020, przeprowadzenie testów, sporządzenie raportu i naniesienie poprawek na jego podstawie

    • Deploy wersji beta aplikacji 07.01.2021 na serwer, przeprowadzenie testów, sporządzenie raportu i naniesienie poprawek na jego podstawie

    • Aplikacja posiada 40 aktywnych użytkowników

6. Kryteria akceptacji projektu dla I semestru prac

  • Dostarczenie prototypu projektu

  • Aplikacja webowa zintegrowana z REST API oferująca funkcjonalności:

    • logowanie do serwisu

    • podstawowy interfejs startowy użytkownika

    • lista przedmiotów (grup przedmiotowych)

    • możliwość dołączenia do grup przedmiotowych

    • udział w forum

  • Dokumentacja aplikacji webowej i serwerowej

7. Kryteria akceptacji projektu dla II semestru prac

  • Aplikacja webowa zintegrowana z REST API uzupełniona o funkcjonalności:

    • udostępnianie i pobieranie materiałów w postaci plików

    • tworzenie i dołączanie do wydarzeń

    • dodawanie ogłoszeń

    • powiadomienia i customizacja powiadomień

    • edycja zawartości strony przez admistratorów

    • zarządzanie treścią i użytkownikami przez administratorów

  • Anglojęzyczna wersja aplikacji

  • Dokumentacja aplikacji webowej i serwerowej

  • System pozytywnie przeszedł testy obciążeniowe, testy alpha i beta

8. Organizacja pracy zespołu

  • Strona klienta:

    • Studenci wydziału Matematyki i Informatyki na kierunku Matematyka i Informatyka
  • Strona zespołu projektowego

    • Malwina Chudzińska

      • Product Owner

      • Implementacja aplikacji webowej

      • Tworzenie prototypu interfejsu aplikacji

    • Anna Śniadek

      • Implementacja aplikacji webowej

      • Projekt szaty graficznej aplikacji

      • Scrum Master

    • Adrian Pacholak

      • Implementacja serwisów REST dla aplikacji

      • Projektowanie bazy danych

    • Phillip Ławniczak

      • Tworzenie prototypu interfejsu aplikacji

      • Implementacja aplikacji webowej

9. Ryzyka projektowe

  • Odejście członka implementującego aplikację webową lub stronę serwerową - trudności w ukończeniu aplikacji

  • Określone ramy czasowe, semestry, na stworzenie produktu - ryzyko nieukończenia w czasie

  • Nieporozumienia w zespole dotyczące rozwiązań implementacyjnych, architektury, funkcjonalności lub używanych technologii

  • Konieczność poświęcenia czasu na dopełnienie wiedzy dotyczącej stosowanych technologii

  • Brak odpowiedniego zaangażowania w projekcie ze strony zespołu lub wybranych członków zespołu

  • Przechowywanie danych o użytkownikach

  • Brak zainteresowania aplikacją ze strony użytkowników

  • Brak chętnych do pełnienia roli administratora

  • Zarządzanie nieodpowiednimi treściami

  • Problemy techniczne po stronie systemu Usos

10. Kamienie milowe

  • Logowanie przez cas.amu.edu.pl

  • Dostarczenie użytkownikowi funkcjonalności dołączania do grup przedmiotowych

  • Dostarczenie użytkownikowi funkcjonalności dodawania kontentu do portalu

  • Wdrożenie aplikacji serwerowej na serwerze

  • Aplikacja posiadająca dokumentację

  • Aplikacja dostępna na stronie internetowej

  • Aplikacja posiadająca użytkowników

  • Aplikacja uzupełniona danymi dotyczącymi przedmiotów, prowadzących, materiałami naukowymi