docs: many small additions

This commit is contained in:
jorenchik
2024-11-09 12:37:57 +02:00
parent 14016a8ccb
commit 9baa333c9e
2 changed files with 123 additions and 96 deletions

View File

@@ -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.
) <question-editor>
// 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"),
) <group-question-view>
// 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"),
) <interval-answer>
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.
) <config-view>
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"),
) <help-view>
/*
== 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(<sec:config-management>)["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
],
)<TG01>
// @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<sec:config-management>
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

View File

@@ -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,
)
}