forked from bikol/DPRI_doc_20-21
334 lines
8.8 KiB
Markdown
334 lines
8.8 KiB
Markdown
# 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
|
|
|