niezbednikstudenta_docs/Dyczkowski/niezbednik-studenta/dokument_wymagan_projektowych.md

334 lines
8.8 KiB
Markdown
Raw Normal View History

# 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