From 9baa333c9e7b1c65e92ed9613217523d4a20fe97 Mon Sep 17 00:00:00 2001 From: jorenchik Date: Sat, 9 Nov 2024 12:37:57 +0200 Subject: [PATCH] docs: many small additions --- docs/main.typst | 136 ++++++++++++++++++++++++++++++++++++----------- docs/utils.typst | 83 +++++++---------------------- 2 files changed, 123 insertions(+), 96 deletions(-) diff --git a/docs/main.typst b/docs/main.typst index 839c5da..97e72ed 100644 --- a/docs/main.typst +++ b/docs/main.typst @@ -1296,17 +1296,26 @@ Process ir aprakstīts nākamā jautājuma noteikšanas aktivitātes diagrammā #pagebreak(weak: true) == Saskarnes projektējums -Kartīšu saraksta skats (skat. @fig:mdem-list-view) satur informāciju par -atmiņas kartīšu direktoriju un kartīšu faila saturu. Kartīšu informācija -iekļauj kartīšu faila direktorija nosaukumu, atmiņas kartīšu faila nosaukumu un -pēdējo faila mācīšanās laiku. Atmiņas bāzes faila saraksts rāda visus atmiņas -kartītes failus un apakšdirektorijus ar atmiņas kartīšu failiem, kas tiek -izmantoti organizēšanai. Atmiņas kartīšu saraksts attēlo pagaidu atmiņas -kartīšu glabātuves sarakstu. Kartītes var pievienot un rediģēt, izmantojot -kartīšu redaktoru (skat. attēlu @fig:question-editor) un dzēst. Katīšu editorā -tiek uzģenerēts jautājuma pirmteksts, ko var izmainīt un saglabāt sarakstā -esošai kartītei. Kartītes pievienojot, redaktorā var ierakstīt vairākas -kartītes vienlaicīgi. Katrai kartītei var apskatīties atbildi. +// TODO vai ir pēdējo mācīšanās laiku ar intervālu metodi + +Lietotnes pamatā ir kartīšu saraksta skats (skat. @fig:mdem-list-view) satur +informāciju par atmiņas kartīšu direktoriju un kartīšu faila saturu. Kartīšu +informācija iekļauj kartīšu faila direktorija nosaukumu, apskatāmā atmiņas +kartīšu faila nosaukumu un tā pēdējo mācīšanās laiku. Atmiņas bāzes faila +saraksts rāda visus atmiņas kartītes failus un apakšdirektorijus ar atmiņas +kartīšu failiem, kas tiek izmantoti organizēšanai. Atmiņas kartīšu saraksts +attēlo pagaidu atmiņas kartīšu glabātuves sarakstu. Katrai kartītei sarakstā +var apskatīties atbildi, to rediģēt vai dzēst. + +Kartītes var pievienot un rediģēt, izmantojot kartīšu redaktoru (skat. attēlu +@fig:question-editor). Kartīšu redaktors ir logs, kas tiek parādīts, uzpiežot +uz "Pievienot" vai "Rediģēt", kur var ievadīt tekstu. Ja kartīte tiek rediģēta, +tajā tiek uzģenerēts jautājuma pirmteksts, ko var izmainīt un saglabāt sarakstā +esošai kartītei. Ja kartīti(/-es) pievieno, redaktors ir tukšs un tajā var +ierakstīt vienu vai vairākas kartītes vienlaicīgi. Redaktora poga "Saglabāt" +izsauc ievadītās kartītes(/-šu) transpilēšanu, rediģē vai pievieno +kartīti(/-tes), ja transpilēšana veiksmīga, un parāda kļūdu, ja transpilēšana +nav veiksmīga. // TODO: all document teksts -> pirmteksts for questions @@ -1323,11 +1332,11 @@ kartītes vienlaicīgi. Katrai kartītei var apskatīties atbildi. ) // Overall -Katram jautājumam ir sava mācīšanās skata variācija. Katra variācija satur -jautājuma priekšas tesktu. Atkarībā no jautājuma ir pieejama pārbaudīšanas un -atbildes parādīšanas funkcija. - -// Interval +Ja atrodoties faila sarakstā ar kartītēm, uzspiež pogu "Mācīties", parādās +mācīšanās skats, kur tiek parādīti jautājumu skati pēc kārtas atbilstoši +mācīšanās algoritmam. Katram jautājumam ir sava mācīšanās skata variācija. +Katra variācija satur jautājuma priekšas tesktu. Atkarībā no jautājuma ir +pieejama pārbaudīšanas un atbildes parādīšanas funkcija. // Question type Atbildes jautājuma skatā ir paslēptas atbildes teksts ar vienu vai vairākiem @@ -1364,24 +1373,24 @@ elementus pa grupām, pārbaudīt un parādīt pareizo atbildi. image("img/screens/group_question.png"), ) -// TODO filler for -Ja tiek izmantots intervālu mācišanās algoritms, tad pēc atbildes parādīšanas +Ja tiek izmantots "Intervālu" mācišanās algoritms, tad pēc atbildes parādīšanas un pārbaudes, ja tāda ir, tiek parādīta izvēle ar intervāliem, ko izvēloties jautājumiem tiek pievienots pārtraukums atbilstoši konfigurācijā uzstādītu vērtību. Ja pārtraukums nav vajadzīgs, intervālu var neizvēlēties. Ja tika uzspiests nepareizs intervāls, izvēli var pamainīt, uzspiežot uz citu intervāla pogu. - #figure( - caption: "Intervāla izvēle", +caption: "Intervāla atbildes izvēle", placement: auto, image("img/screens/interval_answer.png"), ) -Konfigurācijas skats (skat. attēlu @fig:config-view) satur vairākus laikus -pieejamo lietotnes konfigurācijas parametru definēšanai. Lejā ir pieejamas -konfigurācijas ielādes un saglabāšanas funckijas. +Konfigurācijas skats (skat. attēlu @fig:config-view) satur vairākus laukus +pieejamo lietotnes konfigurācijas parametru vērtību norādīšanai. Skata lejā ir +pieejamas konfigurācijas ielādes un saglabāšanas funckijas. Spiežot uz pogu +"Saglabāt" konfigurācija tiek saglabāta konfigurācijas glabātuvē. Savukārt, +spiežot uz pogu "Ielādēt" konfigurācija tiek ielādeta konfigurācijas glabātuves. #figure( caption: "Konfigurācijas skats", @@ -1390,7 +1399,10 @@ konfigurācijas ielādes un saglabāšanas funckijas. ) Apmācības skats (skat. attēlu @fig:help-view) satur pamācību par lietotnes -informāciju. Apmācības skata saturs ir definēts ar statisku HTML dokumentu. +informāciju. Apmācības skata saturs ir definēts ar statisku HTML dokumentu, kas +tiek ielādēts ar kompilācijas. Dokuments satur aprakstu par lietotnes izmantošanu -- +atmiņas kartīšanas definēšanu, kārtīšu pārvaldību, mācīšanos u.c. +// @Check: check if I said what is in the document corretly #figure( caption: "Apmācības skats", @@ -1398,18 +1410,70 @@ informāciju. Apmācības skata saturs ir definēts ar statisku HTML dokumentu. image("img/screens/help.png"), ) +/* + == Tehniskā realizācija + + Risinājums ir izstrādāts, izmantojot valodu "C++", tās standarta bibliotēku, + vairākas bibliotēkas un uzbūvēšanas sistēmu "CMake". +*/ + #pagebreak(weak: true) = Testēšanas dokumentācija -Lietotnes programmatūra ir notestēta, izmantojot automatizētus vienībtestus un -manuālus testus. +Lietotnes programmatūra ir testēta, izmantojot automatizētus vienību un +integrācijas testus un manuālus integrācijas testus. Funkcionālie testi ir +veikti, izmantojot melnās kastes tehnikas. Veiktais nefunkcionālais tests ir +automatizēts veiktspējas tests. -TODO +Automatizētie funkcionālie un nefunkcionālie testi ir veikti, izmantojot +bibliotēku "GTest". Testi ir darbināmi ar kompilācijas procesā izveidotu +izpildāmo failu. Izpildot testus konsolē tiek izvadīti testu rezultāti. +Rezultāti atspoguļo, vai testa failu definētās testa funkciju apgalbojumi +piepildās vai ne. Automatizēti testi ir iekļauti pamata pirmkoda repozitorijā +(skat. nodaļu #link()["Konfigurācijas pārvaldība"]). +Automatizēti testi tiek izmantoti, testējot transpilatora moduļa funkcionalitātei. + +Manuālie integrācijas testi tiek veikti, izmantojot lietotāju saskarni. Testi +ir dokumentēti tabulās norādot testa gadījuma nosaukumu, pirmsnosacījumus, +aprakstu, ievadi, izpildi, sagaidāmo rezultātu un rezultātu ("OK" -- rezultāts +atbilst sagaidāmam, "NOK" -- rezultāts neatbilst sagaidāmam). Daļa no testa +gadījumiem ir aprakstīti tabulās @tbl:TG01\-TODO. + +#testcase-table( + [ + Dažāda veida jautājumu apstrāde + ], + [ + TG01 + ], + [ + Ir atvērta atmiņas bāze, ar testējamiem failiem. + ], + [ + Tests pārbauda vai tiek ielādēts fails ar dažādiem jautājumu veidiem. + ], + [ + Jautājuma fails, kur ir vairāki jautājumi ar dažādiem veidiem: atbildes + jautājums, izvēles jautājums, secības jautājums, grupēšanas jautājums. + ], + [ + Ievades fails tiek izvēlēts atmiņas bāzes sarakstā. + ], + [ + Visi jautājumi ir pareizi atspoguļoti sarakstā -- parādās to sākums un atbildes elementi. + ], + [ + OK + ], +) + +// @Question: Cik testu dokumentācijas gadījumus jāiekļauj? +// @Improvement: Describe (introduce) what is "atmiņas bāze explicitly". #pagebreak(weak: true) = Projekta organizācija -TODO +Projektu realizēja viens cilvēks. #pagebreak(weak: true) = Kvalitātes nodrošināšana @@ -1417,18 +1481,28 @@ TODO TODO #pagebreak(weak: true) -= Konfigurācijas pārvaldība += Konfigurācijas pārvaldība -TODO +Pirmkods ir pārvaldīt, izmantojot konfigurācijas pārvaldības sistēmu "git". +Pirmkoda repozitorijs, saturot vienu zaru "main" vienkāršumam. Repozitorijs ir +mitināts, izmantojot "GitHub" platformu, kas ir nokonfigurēts kā privāts. + +Repozitorijā ir iekļauta dokumentācija programmatūras pirmkods un tās +konfigurācijas faili. + +TODO explain +TODO CMake ? #pagebreak(weak: true) = Darbietiplības novērtējums -TODO +TODO Show CLOC screenshot #pagebreak(weak: true) = Rezultāti +TODO + #pagebreak(weak: true) = Secinājumi diff --git a/docs/utils.typst b/docs/utils.typst index 9b39b05..4ff88bc 100644 --- a/docs/utils.typst +++ b/docs/utils.typst @@ -63,26 +63,6 @@ // linebreak() } -#let parameter-table( - caption: "", - ..items, -) = { - if caption == "" { - caption = items.pos().first() - } - longtable( - titles: ( - "Parametra nosaukums", - "Parametra identifikators", - "Parametra apraksts", - "Parametra prasības", - "Parametra piemērs (/-i)", - ), - caption: caption, - ..items, - ) -} - #let procedure-table( caption: "", ..items, @@ -164,57 +144,30 @@ ) } +Manuālie integrācijas testi tiek veikti, izmantojot lietotāju saskarni. Testi +ir dokumentēti tabulās norādot testa gadījuma nosaukumu, pirmsnosacījumus, +aprakstu, ievadi, izpildi, sagaidāmo rezultātu. -#let entity-table-row( - ..items, -) = { - ( - items.pos().at(0), - upper( - raw( - items.pos().at(1), - block: false, - ), - ), - upper( - raw( - items.pos().at(2), - block: false, - ), - ), - items.pos().at(3), - ) -} - -#let entity-table( +#let testcase-table( caption: "", - id: (), ..items, ) = { - if id == () { - id = ( - "id", - "serial8", - "primary key, not null", - "Unikālais identifikators", - ) + if caption == "" { + caption = items.pos().first() } - - figure( - caption: caption, - kind: table, - tablex( - columns: (4cm, 3cm, auto, auto), - repeat-header: true, - /* Header */ - [*Lauks*], [*Datu tips*], [*Lauka atribūti*], [*Apraksts*], - - ..entity-table-row(..id), // id row - - ..for i in range(items.pos().len(), step:4){ - entity-table-row(..items.pos().slice(i, i+4)) - }, + longtable( + titles: ( + "Testa gadījuma nosaukums", + "Testa gadījuma identifikators", + "Pirmsnosacījumi", + "Apraksts", + "Ievade", + "Izpilde", + "Sagaidāmais rezultāts", + "Rezultāts", ), + caption: caption, + ..items, ) }