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} \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} \paragraph{Atbilstība standartiem}
\textit{(some text, but don't know what exactly)}
\subparagraph{Datu privātuma atbilstība} Šajā sadaļā ir izklāstīti galvenie standarti, kā prasībām sistēmai ir
Platformai ir jāatbilst datu aizsardzības noteikumiem, tostarp vispārīgajai datu aizsardzības regulai (General Data Protection Regulation - GDPR). jāatbilst, lai nodrošinātu robustumu, uzticamību un lietotāju tiesību un
Ir būtiski noteikt visaptverošu datu apstrādes praksi, lai nodrošinātu lietotāju datu konfidencialitāti un drošību. cerību ievērošanu.
\subparagraph{Pieejamības standarti} \subparagraph{Datu privātuma atbilstība}
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{Intelektuālā īpašuma tiesības} Sistēmai ir jāatbilst datu aizsardzības noteikumiem, tostarp
Projektā jāievēro autortiesību un preču zīmju likumi. vispārīgajai datu aizsardzības regulai (GDPR - General Data Protection
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)}. 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} \subparagraph{Pieejamī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. 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} \paragraph{Aparatūras ierobežojumi}
\textit{(some text, but don't know what exactly)}
\subparagraph{Atbalstītās ierīces} \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{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} \subsection{Nefunkcionālās prasības}
\input{./src/requirements/nonfunctional-requirements/performance-requirements.tex} \input{./src/requirements/nonfunctional-requirements/performance-requirements.tex}
\input{./src/requirements/nonfunctional-requirements/safety-requirements.tex} \input{./src/requirements/nonfunctional-requirements/attributes.tex}
\input{./src/requirements/nonfunctional-requirements/usability.tex}
\input{./src/requirements/nonfunctional-requirements/constraints.tex} \input{./src/requirements/nonfunctional-requirements/constraints.tex}
\input{./src/requirements/nonfunctional-requirements/external-requirements.tex} \input{./src/requirements/nonfunctional-requirements/external-requirements.tex}

View File

@ -1,7 +1,18 @@
\subsubsection{Veiktspējas prasības} \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. \paragraph{Statiskā veiktspēja}
\item Jānodrošina normāla sistēmas darība vismaz 500 lietotājiem paralēli. Uz statisko veiktspēju ir sekojošas prasības:
\item Datu saglabāšanai jāizpildās maksimums 3 sekunžu laikā.
\item Prasības neattiecas uz tīkla veiktspēju. \begin{enumerate}
\end{itemize} \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}