added attribute file

This commit is contained in:
jorenchik 2023-10-31 00:24:43 +02:00
parent a1ac032008
commit ca28f9937d

View File

@ -0,0 +1,111 @@
\subsubsection{Atribūti}
\paragraph{Izmantojamība}
Uz sistēmas izmantojamību ir sekojošas prasības:
\begin{enumerate}
\item 90\% jaunu lietotāju jāspēj lietot visas tiem pieejamās funkcijas bez palīdzības.
\item Sistēmai jāatbalsta reaģējošs noformējums - jāpielāgojas dažādiem ekrānu izmēriem.
\item Saskarnēm jābūt adaptētām gan priekš ainavas, gan portreta orientācijas.
\item Teksta fonta izmēram datoru ekrāniem jābūt vismaz 14 pikseļiem, labas salasāmības nodrošināšanai.
\item Visām funkcijām palīdzības ziņojumi pieejami angļu un latviešu valodā.
\item Sistēmai ir jānodrošina, ka lietotājam pirms datu dzēšanas tiek pieprasīts darbību apstiprināt.
\item Izveidota piekļuves programmsaskarnes (API) integrācija ar ārējiem pakalpojumiem: maksājumu apstrādātāja un mākoņa balstīts e-pasta pakalpojumu sniedzējs.
\item Lapas kodējumā jāizmanto funkcijas un tehnoloģijas, kas tiek atbalstītas visās izplatītajās tīmekļa pārlūkprogrammās, nodrošinot piekļuvi sistēmai no dažādām operētājsistēmām.
\end{enumerate}
\paragraph{Mērogojamība}
Sistēmai jābūt paredzētai gan vertikālai, gan horizontālai mērogošanai. Inkrementālai slodzes izmaiņai ir pielietojama vertikāla mērogošana. Savukārt, kardinālai slodzes izmaiņai ir pielietojama horizontālā merogošana. Horizontālālās mērogošanas vienkāršošanai funkcionalitāte tiks sadalījuma pakalpojumu komponentēs.
\paragraph{Drošība}
Sistēmas drošības atribūti ir kategorizēti sarakstā:
\item Autentifikācija:
\begin{enumerate}
\item Paroles tiek glabātas šifrētā formātā, pirms šifrēšanas, tām pievieno sāli.
\item Sāls tiek saglabāts teksta formātā pie lietotāja ieraksta.
\item Paroles atiestatīšanai tiek izmantots marķieris ar derīguma termiņu, ģenerēts ar jaucējfunkciju.
\end{enumerate}
\item Autorizācija:
\begin{enumerate}
\item Sistēmā ir jārealizē uz lomu bāzēta piekļuve, kas nosaka noteiktās darbības noteiktām sistēmas lietotāju grupām.
\item Autorizācijas pārbaude gan priekšgala saskarnē, gan aizmugursistēmā.
\end{enumerate}
\item Datu aizsardzība:
\begin{enumerate}
\item Paroles, maksājuma informācijas un citu ierobežotas piekļuves datu šifrēšana, tos glabājot un sūtot.
\item Sistēmai nav jāglabā dati, kas nav nepieciešami sistēmas darbībai.
\end{enumerate}
\item Sesiju pārvalde:
\begin{enumerate}
\item Izmanto tikai HTTP sīkdatnes.
\item Sesijas noildzes izmantošana.
\item Sesijas atpazīšana tiek realizēta, izmantojot sīkdatnes.
\end{enumerate}
\item Ievades pārbaude un dezinficēšana:
\begin{enumerate}
\item Aizsardzība pret SQL injekcijām, komandu injekcijām un citiem injekciju veidiem.
\item Visu ārējo pieprasījumu dati ir validēti un sanitizēti, ja nepieciešams.
\item Ieviesiet pareizu validāciju visiem lietotāja ievadītajiem datiem un visiem datiem, kas saņemti no ārējām sistēmām.
\end{enumerate}
\item Aizsardzība pret tīmekļa apdraudējumiem:
\begin{enumerate}
\item Aizsardzība pret CSRF) uzbrukumiem ar CSRF marķiera izmantošanu.
\item Aizsardzība pret starpvietņu-skriptošanas (XSS) uzbrukumiem.
\end{enumerate}
\item Kļūdu apstrāde:
\begin{enumerate}
\item Kļūdu paziņojumi neatklāj ierobežotas piekļuvessensitīvu informāciju.
\item Kļūdu paziņojumi, kas ir pielāgoti lietotāju grupai - sistēmas lietotāji, kas nepieder administratoru grupai, neredz ar sistēmas iekšējiem komponentiem saistīto informāciju, piemēram, datubāzes kļūmes.
\end{enumerate}
\item API:
\begin{enumerate}
\item API marķieru izmantošana, izņemot publiski pieejamos API galapunktos.
\item API pieprasījumu ierobežojums laikā (vienam lietotājam un vienai IP adresei).
\item Visu API pieprasījumu ievades validācija un sanitizēšana, ja nepieciešams.
\end{enumerate}
\item Datņu augšuplādēšana:
\begin{enumerate}
\item Datnes, kas tiek augšuplādētas, tiek analizētas pret ļaunatūru pirms uzglabāšanas.
\item Datņu lielums un datu tips tiek validēts.
\end{enumerate}
\item Rezerves kopēšana:
\begin{enumerate}
\item Rezerves kopijas izveidošanai jānotiek noteiktā laika periodā automātiski lokālā glabātuvē.
\item Automatizēta procedūra sistēmas datu atjaunošanai, datu zaudēšanas vai bojājumu gadījumā.
\end{enumerate}
\item Darbību žurnāls:
\begin{enumerate}
\item Darbību žurnāla uzturēšana.
\item Darbību žurnāls nesatur ierobežotas piekļuves informāciju.
\item Darbību žurnāla rezerves kopēšana atsevišķi no pamata rezerves kopijām.
\end{enumerate}
\paragraph{Uzturamība}
Pret sistēmas izstrādājamo programmatūras uzturamību tiek izvirzītas sekojošās prasības:
\begin{enumerate}
\item Ciklomātiskā sarežģītība nepārsniedz 10.
\item Dokumentēts vismaz 90\% no API dokumentācijas pārklājumam jābūt vismaz 80\%.
\item Koda testēšanas pārklājumam jābūt vismaz 70\%.
\item Moduļu fan-out metriks (ārējo moduļu izsaukuma izskaušanas skaits šī moduļa ietvaros) nepārniedz 7.
\item Moduļu fan-out metriks (ārējo moduļu izsaukuma skaits ārpus šī moduļa ietvariem) jābūt nepārniedz 11.
\item Programmatūrā ir realizēta automātiska vairs nevajadzīgo datu izdzēšana diska vietas atbrīvošanai, piemēram, darbības spēlēs, kas notikušas pirms 840h (5 nedēļām).
\end{enumerate}
\paragraph{Pārnesamība}
Sistēmas programmatūrā ir jārealizē migrācijas skripti, kas nodrošina
strukturētu datu glabāšanu pārnešanas laikā, datu dublēšanu un ģenerē
kontrolsummas datu integritātei. Pēc sistēmas migrācijasi ir jābūt realizētiem
datu pārbaudes skriptiem, datu integritātes pārbaudei.