non-function (except interface)

This commit is contained in:
jorenchik 2023-10-31 00:21:32 +02:00
parent a8140dd832
commit a1ac032008
4 changed files with 58 additions and 100 deletions

View File

@ -1,30 +1,51 @@
\subsubsection{Projekta ierobežojumi}
\paragraph{Intelektuālā īpašuma tiesības}
Projektā jāievēro autortiesību un preču zīmju likumi. Lai izvairītos no
juridiskām problēmām, ir jāsaņem atbilstošas atļaujas un licences par spēļu
aktīviem (assets).
\paragraph{Atbilstība standartiem}
\textit{(some text, but don't know what exactly)}
\subparagraph{Datu privātuma atbilstība}
Platformai ir jāatbilst datu aizsardzības noteikumiem, tostarp vispārīgajai datu aizsardzības regulai (General Data Protection Regulation - GDPR).
Ir būtiski noteikt visaptverošu datu apstrādes praksi, lai nodrošinātu lietotāju datu konfidencialitāti un drošību.
Šajā sadaļā ir izklāstīti galvenie standarti, kā prasībām sistēmai ir
jāatbilst, lai nodrošinātu robustumu, uzticamību un lietotāju tiesību un
cerību ievērošanu.
\subparagraph{Pieejamības standarti}
Lai nodrošinātu vienlīdzīgu piekļuvi visiem lietotājiem, platformai jāatbilst tīmekļa satura pieejamības vadlīnijām (Web Content Accessibility Guidelines - WCAG) attiecībā uz tīmekļa pieejamību.
Jāapsver lokalizācijas un iekļaušanas iespējas, lai pielāgotos dažādām auditorijām.
\subparagraph{Datu privātuma atbilstība}
\subparagraph{Intelektuālā īpašuma tiesības}
Projektā jāievēro autortiesību un preču zīmju likumi.
Lai izvairītos no juridiskām problēmām, ir jāsaņem atbilstošas atļaujas un licences par spēļu aktīviem \textit{(assets)}.
Sistēmai ir jāatbilst datu aizsardzības noteikumiem, tostarp
vispārīgajai datu aizsardzības regulai (GDPR - General Data Protection
Regulation). Ir būtiski noteikt visaptverošu datu apstrādes praksi, lai
nodrošinātu lietotāju datu konfidencialitāti un drošību.
\subparagraph{Drošības standarti}
Jāievieš stingri drošības pasākumi, ievērojot nozares paraugpraksi, piemēram, atvērto lietojumprogrammu drošības projektu visā pasaulē (Open Worldwide Application Security Project - OWASP), lai pasargātu no bieži sastopamām tīmekļa ievainojamībām.
Datu aizsardzībai jāizmanto šifrēšanas protokoli.
\subparagraph{Pieejamības standarti}
Lai nodrošinātu vienlīdzīgu piekļuvi visiem lietotājiem, sistēmai
jāatbilst tīmekļa satura pieejamības vadlīnijām (WCAG - Web Content
Accessibility Guidelines) attiecībā uz tīmekļa pieejamību. Jāapsver
lokalizācijas un iekļaušanas iespējas, lai pielāgotos dažādām
auditorijām.
\subparagraph{Drošības standarti}
Jāievieš stingri drošības pasākumi, ievērojot nozares paraugpraksi,
piemēram, atvērto lietojumprogrammu drošības projektu visā pasaulē
(OWASP - Open Worldwide Application Security Project), lai pasargātu no
bieži sastopamām tīmekļa ievainojamībām. Datu aizsardzībai jāizmanto
šifrēšanas protokoli.
\paragraph{Aparatūras ierobežojumi}
\textit{(some text, but don't know what exactly)}
\subparagraph{Atbalstītās ierīces}
Platformai jābūt saderīgai ar dažādām ierīcēm, tostarp galddatoriem, klēpjdatoriem, viedtālruņiem un planšetdatoriem.
Lai nodrošinātu netraucētu spēlēšanu, jānosaka minimālās aparatūras prasības.
\subparagraph{Atbalstītās ierīces}
\subparagraph{Serveris un mitināšana}
Sistēmai jābūt saderīgai ar dažādām ierīcēm, tostarp galddatoriem,
klēpjdatoriem, viedtālruņiem un planšetdatoriem. Lai nodrošinātu
netraucētu spēlēšanu, jānosaka minimālās aparatūras prasības.
\subparagraph{Tīkla veiktspēja}
\subparagraph{Serveris un mitināšana}
Uz servera, kurāuz kā tiek mitināta sistēma, jābūt pieejamam docker
programmatūras atbalstam, lai standartizētu programmatūras izvietošanu
ražošanas vidē un ražošanas vides simulēšanai un atvieglotai
tehnoloģiju versiju sinhronizācijai ar izstrādes vidi.

View File

@ -1,6 +1,5 @@
\subsection{Nefunkcionālās prasības}
\input{./src/requirements/nonfunctional-requirements/performance-requirements.tex}
\input{./src/requirements/nonfunctional-requirements/safety-requirements.tex}
\input{./src/requirements/nonfunctional-requirements/usability.tex}
\input{./src/requirements/nonfunctional-requirements/attributes.tex}
\input{./src/requirements/nonfunctional-requirements/constraints.tex}
\input{./src/requirements/nonfunctional-requirements/external-requirements.tex}

View File

@ -1,7 +1,18 @@
\subsubsection{Veiktspējas prasības}
\begin{itemize}
\item Sistēmai ir jānodrošina, ka 95\% no dienā veiktajiem pieprasījumiem tiek izpildīti uz servera ne ilgāk kā 5 sekundēs.
\item Jānodrošina normāla sistēmas darība vismaz 500 lietotājiem paralēli.
\item Datu saglabāšanai jāizpildās maksimums 3 sekunžu laikā.
\item Prasības neattiecas uz tīkla veiktspēju.
\end{itemize}
\paragraph{Statiskā veiktspēja}
Uz statisko veiktspēju ir sekojošas prasības:
\begin{enumerate}
\item Normāla sistēmas darbība vismaz 500 lietotājiem paralēli.
\item Normāla sistēmas darbība ar vismaz 40 paralēlām spēles instancēm.
\end{enumerate}
\paragraph{Dinamiskā veiktspēja}
Uz dinamisko veiktspēju ir sekojošas prasības:
\begin{enumerate}
\item Sistēmai ir jānodrošina, ka 95\% no dienā veiktajiem pieprasījumiem tiek izpildīti uz servera ne ilgāk kā 5 sekundēs.
\item Darbībām spēles procesā jāizpildās ne ilgāk kā 3 sekundēs.
\item Darbspējas laiks ir vismaz 99,4\% no visa laika.
\end{enumerate}

View File

@ -1,73 +0,0 @@
\subsubsection{Drošības prasības}
\begin{enumerate}
\item Autentifikācija
\begin{itemize}
\item Jāizmanto daudzfaktoru autentifikāciju (MFA).
\item Paroles tiek glabātas šifrētā formātā, pirms šifrēšanas, tām pievieno sāli.
\item Jāizmanto drošus paroles atiestatīšanas procesus.
\end{itemize}
\item Pilnvarošana
\begin{itemize}
\item Uz lomu bāzēta piekļuve.
\item Pilnvaru pārbaude gan priekšgala saskarnē, gan aizmugursistēmā.
\end{itemize}
\item Datu aizsardzība
\begin{itemize}
\item Datu šifrēšana glabājot un sūtot.
\item Sistēmai nav jāglabā dati, kas nav nepieciešami sistēmas darbībai.
\end{itemize}
\item Sesiju pārvalde
\begin{itemize}
\item \textit{Izmanto tikai HTTP sīkdatnes.}
\item \textit{Use secure and http-only cookies.}
\item Seisijas noildzes izmantošana.
\end{itemize}
\item Input Validation \& Sanitization
\begin{itemize}
\item SQL injekciju, komandu injekciju un citu injekciju aizsardzība.
\item \textit{Protect against SQL injection, command injection, and other injection attacks.}
\item \textit{Implement proper validation for all user inputs and any data received from external systems.}
\end{itemize}
\item Izvades iekodēšana
\begin{itemize}
\item Aizsardzība pret starpvietņu-skriptošanas (XSS) uzbrukumiem.
\end{itemize}
\item Starpvietņu pieprasījumu (CSRF) aizsardzība
\begin{itemize}
\item Kļūdu paziņojumi neatklāj sensitīvu informāciju.
\item Kļūdu paziņojumi, kas ir pielāgoti lietotāju grupai.
\end{itemize}
\item Error Handling
\begin{itemize}
\item CSRF marķiera izmantošana.
\end{itemize}
\item Server \& Infrastructure Security
\begin{itemize}
\item Vides \textit{(environment)} izolēšana.
\end{itemize}
\item API Security
\begin{itemize}
\item API marķieru izmantošana.
\item API pieprasījumu ierobežojums.
\item API pieprasījumu ievades validācija un sanitizēšana.
\end{itemize}
\item Datņu augšuplādēšana
\begin{itemize}
\item \textit{Ensure uploaded files are scanned for malware.}
\item \textit{Validate and sanitize the file type and content.}
\item \textit{Store files in a secure manner, avoiding direct execution paths.}
\end{itemize}
\item Backup and Disaster Recovery
\begin{itemize}
\item \textit{The system shall support regular data backups.}
\item \textit{There should be a procedure for disaster recovery.}
\end{itemize}
\item Monitoring \& Logging
\begin{itemize}
\item \textit{Implement real-time monitoring and alerting for suspicious activities - implement a canary bird.}
\item \textit{Maintain logs securely and regularly review them.}
\item \textit{Save log backups on a remote server.}
\item \textit{Ensure logs don't store sensitive information.}
\end{itemize}
\end{enumerate}