mirror of
https://github.com/jorenchik/mdemory.git
synced 2026-03-22 00:26:21 +00:00
some fixes after review
This commit is contained in:
@@ -10,11 +10,11 @@
|
||||
|
||||
#indent-par([
|
||||
Atmiņas kartītes (angl. flashcards) ir izplatīts veids, kā skolēni,
|
||||
studenti un citi macošies cilvēki iegaumē materiālu. To veidošanai,
|
||||
studenti un citi cilvēki, kas mācās vai studē, iegaumē materiālu. To veidošanai,
|
||||
uzturēšanai un izmantošanai izmanto programmatūras risinājumus, taču
|
||||
lielākoties neizmato pilnīgi caurspīdīgu vienkārša teksta formātu. Darbā
|
||||
tiek aprakstīts risinājums, kas izmanto domēna specifisku valodu ar pilnīgu
|
||||
informācijas glabāšanu to ietvaros.
|
||||
informācijas glabāšanu vienkārša teksta failos.
|
||||
])
|
||||
|
||||
#par(
|
||||
@@ -37,12 +37,12 @@
|
||||
"Abstract",
|
||||
)
|
||||
#indent-par([
|
||||
Flashcards are a common way for students to
|
||||
students and other studying people memorize the material. To create them,
|
||||
software solutions are used for maintenance and use, however
|
||||
most do not use a fully transparent plain text format. At work
|
||||
a solution that uses a domain-specific language with a complete is described
|
||||
information storage within them.
|
||||
Flashcards are a common way for students to students and other studying
|
||||
people memorize the material. To create them, software solutions are
|
||||
used for maintenance and use, however most do not use a fully
|
||||
transparent plain text format. This paper eplores a solution that uses a
|
||||
domain-specific language with a complete is described information
|
||||
storage using plain text files.
|
||||
])
|
||||
#par(
|
||||
first-line-indent: 0cm,
|
||||
|
||||
BIN
docs/main.pdf
Normal file
BIN
docs/main.pdf
Normal file
Binary file not shown.
376
docs/main.typst
376
docs/main.typst
@@ -20,12 +20,12 @@
|
||||
#par(
|
||||
first-line-indent: 0cm,
|
||||
[
|
||||
*Atzīmēšanas valoda (angl. markup)* -- dokumentu formatēšanas sistēma, kas
|
||||
*Iezīmēšanas valoda (angl. markup)* -- dokumentu formatēšanas sistēma, kas
|
||||
izmanto birkas un citus simbolus, lai noteiktu dokumenta struktūru un
|
||||
izkārtojumu. To izmanto, lai organizētu informāciju un kontrolētu dokumenta
|
||||
izskatu;
|
||||
|
||||
*Markdown* -- vienkārša un populāra atzīmēšanas valoda, kas galvenokārt
|
||||
*Markdown* -- vienkārša un populāra iezīmēšanas valoda, kas galvenokārt
|
||||
paredzēta teksta dokumentu (īpaši tīmekļa lapu) formatēšanai;
|
||||
|
||||
*Transpilēšana* -- teksta pārvēršana programmas datu struktūrās vai
|
||||
@@ -48,6 +48,8 @@
|
||||
|
||||
*Metadati* -- dati, kas apraksta citus datus, sniedzot informāciju par to
|
||||
īpašībām, piemēram, saturu, izcelsmi un struktūru;
|
||||
|
||||
*CSV* -- formāts, kas satur vērtības, kas ir atdalīti ar komatiem;
|
||||
],
|
||||
)
|
||||
|
||||
@@ -67,24 +69,24 @@
|
||||
|
||||
// 1) identificēt programmatūras produkta nosaukumu, piemēram, "Pārskatu ģenerators", utt.,
|
||||
// 2) paskaidrot kas programmatūras produktam jādara un, ja nepieciešams, kas
|
||||
// nav jādara;
|
||||
// nav jādara;
|
||||
// 3) aprakstīt programmatūras produkta pielietojumu.
|
||||
// a) Aprakstīt, cik iespējams precīzi, iespējas, centienus un mērķi. Piemēram,
|
||||
// teikums: iespēja efektīvi izstrādāt pārskatus nav tik labs, kā parametrizēti,
|
||||
// lietotāja vadīti un definēti pārskati divu stundu laikā, ar iespēju ievadīt
|
||||
// lietotāja parametrus dialoga režīmā.
|
||||
// teikums: iespēja efektīvi izstrādāt pārskatus nav tik labs, kā parametrizēti,
|
||||
// lietotāja vadīti un definēti pārskati divu stundu laikā, ar iespēju ievadīt
|
||||
// lietotāja parametrus dialoga režīmā.
|
||||
// b) Nepieļaut pretrunas, lietojot terminus, kas līdzīgi terminiem augstāka
|
||||
// līmeņa LVS 68:1996 lpp. 15. (22) specifikācijā (piemēram, Sistēmprasību
|
||||
// līmeņa LVS 68:1996 lpp. 15. (22) specifikācijā (piemēram, Sistēmprasību
|
||||
|
||||
|
||||
// Kas ir atmiņas kartes
|
||||
#indent-par([
|
||||
Atmiņas kartītes (angl. flashcards) ir izplatīts veids, kā skolēni, studenti un
|
||||
citi mācošies cilvēki iegaumē materiālu. Šādu kartīšu pamatā parasti ir priekša
|
||||
un aizmugure. Priekšā atrodas jautājums vai uzdevums vai cita informācija, kas
|
||||
uzstāda mentālu vai praktisku uzdevumu, iespējams iekļaujot arī mājieni.
|
||||
Aizmugurē atrodas atbildes teksts, kas ar sevi atbild vai parāda pareizu
|
||||
atbildi uz priekšā uzstādītu jautājumu vai uzdevumu.
|
||||
// Kas ir atmiņas kartes
|
||||
Atmiņas kartītes (angl. flashcards) ir izplatīts veids, kā skolēni,
|
||||
studenti un citi cilvēki, kas mācās vai studē, iegaumē materiālu. Šādu
|
||||
kartīšu pamatā parasti ir priekša un aizmugure. Priekšā atrodas jautājums
|
||||
vai uzdevums vai cita informācija, kas uzstāda mentālu vai praktisku
|
||||
uzdevumu, iespējams iekļaujot arī mājieni. Aizmugurē atrodas atbildes
|
||||
teksts, kas ar sevi atbild vai parāda pareizu atbildi uz priekšā uzstādītu
|
||||
jautājumu vai uzdevumu.
|
||||
])
|
||||
|
||||
// Mācīšanās process un spaced-repetition
|
||||
@@ -94,12 +96,12 @@ jautājumi vai uzdevumi ir attiecīgi atbildami vai atrisināmi. Balstoties uz
|
||||
grūtību vai iespēju atbildēt, kartītes tiek grupētas noteiktās grupās, kas,
|
||||
savukārt, nosaka intervālu, pēc kura kartīte figurēs nākamā mācīšanās seansā.
|
||||
Piemēram, grupas - ļoti viegli, vidēji, grūti, neizdevās -, kam atbilst 5
|
||||
dienas, 3 dienas, 1 diena, 0 dienas attiecīgi. Jo lielāka ir subjektīva
|
||||
piepūle, atbildot uz jautājumu vai risinot uzdevumu, jo tiek uzturēts garāks
|
||||
pārtraukums pirms nākamās reizes, kad šī kartīte būs izmantota. Šī mācīšanās
|
||||
metode ir atkārtošana ar intervāliem. Mācīšanās metode vai līdzīgas metodes var
|
||||
uzlabot atcerēšanās līmeni pēc mācīšanās (#link(<spaced-repetition-1>)[Alison
|
||||
Voice and Arran Stirton, 2020]).
|
||||
dienas, 3 dienas, 1 diena, 0 dienas attiecīgi. Balstoties uz subjektīvu
|
||||
piepūli, atbildot uz jautājumu vai risinot uzdevumu, tiek izvēlēta atbilsoša
|
||||
intervālu grupa, kas nosaka laiku pirms nākamās reizes, kad šī kartīte būs
|
||||
izmantota. Šī mācīšanās metode ir atkārtošana ar intervāliem. Mācīšanās metode
|
||||
vai līdzīgas metodes var uzlabot atcerēšanās līmeni pēc mācīšanās
|
||||
(#link(<spaced-repetition-1>)[Alison Voice and Arran Stirton, 2020]).
|
||||
|
||||
// Stuff mdemory does
|
||||
Veidojot atmiņas kartītes manuāli tās var pazaudēt, var kļūdīties, sagatavojot
|
||||
@@ -121,18 +123,26 @@ iespēju pārslēgties uz citu risinājumu ar dažām teksta izmaiņām.
|
||||
|
||||
// The name
|
||||
Programmatūras produkta nosaukums ir "Mdemory", kas ir darināts nosaukums no
|
||||
"MD" (atzīmēšanas valodas Markdown abreviatūra) un "memory" (angl. atmiņa), kas
|
||||
"MD" (iezīmēšanas valodas Markdown abreviatūra) un "memory" (angl. atmiņa), kas
|
||||
parāda produkta saistību ar atmiņu.
|
||||
|
||||
== Saistība ar citiem dokumentiem
|
||||
|
||||
#indent-par([
|
||||
Programmatūras prasībus specifikācijas ir izstrādāta, ievērojot LVS 68:1996
|
||||
"Programmatūras prasību specifikācijas ceļvedis" standarta un LVS 72:1996
|
||||
"Ieteicamā prakse programmatūras projektējuma aprakstīšanai" standarta
|
||||
prasības.
|
||||
])
|
||||
|
||||
== Pārskats
|
||||
|
||||
// apraksts: Ievads
|
||||
|
||||
Ievadā tiek definēts nolūks darbības sfēra, aprakstīta galvenā programmatūras
|
||||
produkta būtība un mērķi, saistītie dokumenti.
|
||||
#indent-par([
|
||||
Ievadā tiek definēts nolūks darbības sfēra, aprakstīta galvenā programmatūras
|
||||
produkta būtība un mērķi, saistītie dokumenti.
|
||||
])
|
||||
|
||||
Vispārējā apraksta sadaļā tiek aprakstīts esošais stāvoklis, pasūtītājs, produkta perspektīva,
|
||||
galvenās darījumprasības, pieņēmumi un atkarības.
|
||||
@@ -150,45 +160,68 @@ plūsmas, funkcijas un risinājuma nefunkcionālās prasības.
|
||||
|
||||
== Esošā stāvokļa apraksts
|
||||
|
||||
Esošie atmiņas kartīšu risinājumi galvenokārt atbalsta atmiņas
|
||||
kartīšu importu ar vienkāršu tekstu. Taču lielākā daļa nedod iespēju
|
||||
uzturēt kartītes bez vienkāršā tekstā, jo risinājumi glabā kartītes
|
||||
savā, pielāgotā formātā.
|
||||
// @TODO: go over the thing
|
||||
|
||||
#indent-par([
|
||||
"Mdemory" lietotne piedāvā vairāku specializēto atmiņas kartīšu veidu
|
||||
funkcionalitāti un pilnīgu vienkārša teksta atmiņas kartīšu definēšanu un
|
||||
pārvāldību. Vairāki esošie risinājumi piedāvā daļu no minētām iespējām, bet
|
||||
gan nepiedāvā abas iespējas.
|
||||
])
|
||||
|
||||
Daži risinājumi iekļauj arī vairākus specializētus jautājumu veidus, kā grupēšanas
|
||||
jautājumi, vairāku atbilžu jautājumus un secības jautājumus. Tādu risinājumu piemērs ir
|
||||
(#link(<quizlet>)["Quizlet"]) lietotne. Minētā importa funkcija parasti nav pieejama esošos risinājumos.
|
||||
To importa funkcionalitāte realizē vienkāršu importu visbiežāk ar mērķi migrēt atmiņas kartītes
|
||||
vienas lietotnes ietvaros.
|
||||
// Quizlet
|
||||
Daži risinājumi iekļauj vairākus specializētus jautājumu veidus, kā grupēšanas
|
||||
jautājumi, vairāku atbilžu jautājumi un secības jautājumi. Tādu risinājumu
|
||||
piemērs ir #link(<quizlet>)["Quizlet"] lietotne. Quizlet importa
|
||||
funkcionalitāte realizē vienkāršu importu, kas visbiežāk ir izmantots ar mērķi
|
||||
pārnest atmiņas kartītes vienas lietotnes ietvaros, nevis veidot kartītes šajā
|
||||
formātā. Quizlet vienkārša teksta imports ir realizēts, izmantojot CSV formātu.
|
||||
|
||||
// org-drill
|
||||
Diezgan tuvs pēc funckionalitātes mērķiem ir "Emacs" teksta editora
|
||||
papildinājums "org-drill". Tas piedāvā vienkārša teksta atmiņas kartīšu veidošanu
|
||||
un glabāšanu ar vienkāršu tekstu ar augstu pielāgojamību. Toties tas pieprasa
|
||||
"Emacs" teksta editora izmantošanu un ir domāta tehniskākiem lietotājiem mazāk
|
||||
lietotājiem draudzīgas funkcionalitātes dēļ (#link(<org-drill>)[Paul Sexton]).
|
||||
|
||||
Diezgan tuvs pēc funckionalitātes mērķiem ir "Emacs" teksta redaktora
|
||||
papildinājums "org-drill". Tas piedāvā vienkārša teksta atmiņas kartīšu
|
||||
veidošanu un glabāšanu ar vienkāršu tekstu. Lietotojot "ord-drill", ir
|
||||
nepieciešams izmantot "Emacs" teksta redaktoru. Programmas funkcionalitāte ir
|
||||
domāta pieredzējošākiem lietotājiem. Risinājums liek uzsvaru uz vienkāršām
|
||||
kartītēm, kas neiekļauj specializētus kartīšu jautājumu veidus
|
||||
(#link(<org-drill>)[Paul Sexton]).
|
||||
// @Improve: should I add date here?
|
||||
|
||||
Pašlaik neviens no esošiem risinājumiem neatbalsta minēto specializēto atmiņas
|
||||
kartīšu veidu importu.
|
||||
// # Org-mode functions
|
||||
// Simple: Basic question and answer.
|
||||
// Cloze Deletion: Creates fill-in-the-blank cards where specific terms are
|
||||
// masked and must be recalled.
|
||||
// Multicloze: Allows multiple cloze deletions within the same card, which is
|
||||
// ideal for complex information.
|
||||
|
||||
Visu jautājumu importa funkcija parasti nav pieejama esošos risinājumos.
|
||||
Pašlaik neviens no esošiem risinājumiem neatbalsta specializēto atmiņas kartīšu
|
||||
veidu importu. "Org-mode" dod iespēju glabāt kartītes vienkāršā teksta failos,
|
||||
taču tas fokusējas uz vienkāršumu ar klasisku kartīšu veidu bez specializētiem
|
||||
jautājumu veidiem. Lielākā daļa risinājumu glabā kartītes savā, pielāgotā,
|
||||
slēptā formātā, kas apgrūtina kartīšu pārvaldību un pārnešanu.
|
||||
|
||||
== Pasūtītājs
|
||||
|
||||
Programmatūras produkts tiek izstrādāts pēc darba autora iniciatīvas
|
||||
kvalifikācijas darba ietvaros.
|
||||
#indent-par([
|
||||
Programmatūras produkts tiek izstrādāts pēc darba autora iniciatīvas
|
||||
kvalifikācijas darba ietvaros.
|
||||
])
|
||||
|
||||
== Produkta perspektīva
|
||||
|
||||
Risinājums ir patstāvīga darbvirsmas lietotne. Lietotnes izstrādē ir izmantotas
|
||||
lietotnes saskarnes bibliotēkas un programmēšanas valodas standarta bibliotēka.
|
||||
Risinājums lasīs un izmainīs teksta failus no lietotāja norādītās direktorijas.
|
||||
#indent-par([
|
||||
Risinājums ir patstāvīga darbvirsmas lietotne. Lietotnes izstrādē ir izmantotas
|
||||
lietotnes saskarnes bibliotēkas un programmēšanas valodas standarta bibliotēka.
|
||||
Risinājums lasīs un izmainīs teksta failus no lietotāja norādītās direktorijas.
|
||||
])
|
||||
|
||||
== Risinājuma lietotāji
|
||||
|
||||
Risinājumam ir viena lietotāju grupa, kam ir pieejamas visas risinājuma
|
||||
iespējas un funkcijas.
|
||||
#indent-par([
|
||||
Risinājumam ir viena lietotāju grupa, kam ir pieejamas visas risinājuma
|
||||
iespējas un funkcijas.
|
||||
])
|
||||
|
||||
Risinājuma augsta līmeņa datu plūsmas ir attēlota 0. līmeņa datu plūsmas
|
||||
diagrammā (DPD; skat. @fig:dpd0 attēls). Lietotāju galvenā datu apmaiņa ir
|
||||
@@ -211,6 +244,13 @@ atmiņas kartīšu dati un dati par saskarni ar kartītēm.
|
||||
+ Vairāku kartīšu failu apstrāde direktorijā;
|
||||
+ Kartīšu saglabāšana no saraksta.
|
||||
|
||||
== Vispārējie ierobežojumi
|
||||
|
||||
+ Risinājums nepieslēdzas internetam;
|
||||
+ Risinājums ir lokāla darbvirsmas programma;
|
||||
+ Atmiņas kartītes un kofigurācija ir glabāta vienkārša teksta failos, ko
|
||||
lietotājs var modificēt pilnībā;
|
||||
|
||||
== Pieņēmumi un atkarības
|
||||
|
||||
+ Lietotnes var tikt uzbūvēta darbam uz Windows vai Linux sistēmām, uz kurām ir
|
||||
@@ -222,47 +262,66 @@ atmiņas kartīšu dati un dati par saskarni ar kartītēm.
|
||||
|
||||
== Funkcionālās prasības
|
||||
|
||||
#let ref_df01 = [(skat. tabulu 2.1)]
|
||||
#let ref_df02 = [(skat. tabulu 2.2)]
|
||||
#let ref_df03 = [(skat. tabulu 2.3)]
|
||||
#let ref_df04 = [(skat. tabulu 2.4)]
|
||||
#let ref_df05 = [(skat. tabulu 2.5)]
|
||||
#let ref_df06 = [(skat. tabulu 2.6)]
|
||||
#let ref_ds01 = [(skat. tabulu 2.7)]
|
||||
#let ref_ds02 = [(skat. tabulu 2.8)]
|
||||
#let ref_ds03 = [(skat. tabulu 2.9)]
|
||||
#let ref_ds04 = [(skat. tabulu 2.10)]
|
||||
|
||||
#let ref_pr01 = [(skat. tabulu 2.12)]
|
||||
#let ref_pr02 = [(skat. tabulu 2.13)]
|
||||
|
||||
#let ref_ab01 = [(skat. tabulu 2.14)]
|
||||
#let ref_ab02 = [(skat. tabulu 2.15)]
|
||||
#let ref_ab03 = [(skat. tabulu 2.16)]
|
||||
#let ref_ab04 = [(skat. tabulu 2.17)]
|
||||
#let ref_ab05 = [(skat. tabulu 2.18)]
|
||||
#let ref_ab06 = [(skat. tabulu 2.19)]
|
||||
#let ref_ab07 = [(skat. tabulu 2.20)]
|
||||
#let ref_ab08 = [(skat. tabulu 2.21)]
|
||||
|
||||
#let ref_ma01 = [(skat. tabulu 2.22)]
|
||||
#let ref_ma02 = [(skat. tabulu 2.23)]
|
||||
#let ref_ma03 = [(skat. tabulu 2.24)]
|
||||
#let ref_ma04 = [(skat. tabulu 2.25)]
|
||||
#let ref_ma05 = [(skat. tabulu 2.26)]
|
||||
|
||||
#let ref_kf01 = [(skat. tabulu 2.37)]
|
||||
#let ref_kf02 = [(skat. tabulu 2.38)]
|
||||
#let ref_kf03 = [(skat. tabulu 2.39)]
|
||||
|
||||
#let questionSource = [
|
||||
simbolu virkne, kas satur jautājumus formātā, kas atbilst
|
||||
simbolu virkne, kas satur jautājumus formātā, kas atbilst datu formātiem
|
||||
#link(<DF02>)[DF02],
|
||||
#link(<DF03>)[DF03],
|
||||
#link(<DF04>)[DF04],
|
||||
#link(<DF05>)[DF05]];
|
||||
#let questionList = [saraksts ar objektiem, kas atbilst #link(<DS01>)[DS01]];
|
||||
#link(<DF05>)[DF05] (skat. tabulas 2.2.-2.5.)
|
||||
];
|
||||
#let questionList = [saraksts ar objektiem, kas atbilst datu struktūrai #link(<DS01>)[DS01] #ref_ds01];
|
||||
#let question = [objekts, kas atbilst datu struktūrai #link(<DS01>)[DS01] #ref_ds01];
|
||||
#let pageList = [saraksts ar objektiem, kas atbilst datu struktūrai #link(<DS02>)[DS02] #ref_ds02];
|
||||
#let datetime = [simbola virkne formātā, kas atbilst datu struktūrai #link(<DS03>)[DS03] #ref_ds03];
|
||||
|
||||
#let uint = [vesels pozitīvs skaitlis];
|
||||
#let question = [objekts, kas atbilst #link(<DS01>)[DS01]];
|
||||
#let datetime = [simbola virkne formātā, kas atbilst #link(<DS03>)[DS03]];
|
||||
#let pageList = [saraksts ar objektiem, kas atbilst #link(<DS02>)[DS02]];
|
||||
#let mdemFilePath = [simbolu virkne, kas atbilst failam ar noteitu paplašinājumu];
|
||||
#let listWithCorrectFlags = [Izvēlēto atbilžu simbolu virkņu saraksts ar pareizuma karodziņu vērtībām];
|
||||
#let configValue = [viens no: skaitlis, simbolu virkne, karodziņš];
|
||||
#let changeIndicator = [Saskarnē parādās indikators, ka atmiņas kartīšu fails tika izmainīts];
|
||||
|
||||
/*
|
||||
#io-table(
|
||||
"Kartīšu faila satura simolu virkne",
|
||||
"DF02",
|
||||
[
|
||||
Kartīšu faila simbolu virkne ir simbolu virkne, kas atbilst
|
||||
#link(<DF06>)[DF06] datu formātam.
|
||||
],
|
||||
)<DF02>
|
||||
*/
|
||||
|
||||
|
||||
=== Augsta līmeņa kartīšu valodas specifikācija
|
||||
|
||||
Šajā apakšsadaļā tiks aprakstīta domēna specifiska valodas formāta vienības,
|
||||
kas ir sastāvdaļas no valodas, kas ir izmantota risinājumā, definējot, glabājot
|
||||
un rediģējot atmiņas kartītes.
|
||||
Formāti ir aprakstīti
|
||||
#link(<DF01>)[DF01],
|
||||
#link(<DF02>)[DF02],
|
||||
#link(<DF03>)[DF03],
|
||||
#link(<DF04>)[DF04],
|
||||
#link(<DF05>)[DF05],
|
||||
#link(<DF06>)[DF06],
|
||||
tabulās.
|
||||
#indent-par([
|
||||
Šajā apakšsadaļā tiks aprakstīta domēna specifiska valodas formāta
|
||||
vienības, kas ir sastāvdaļas no valodas, kas ir izmantota risinājumā,
|
||||
definējot, glabājot un rediģējot atmiņas kartītes. Formāti ir aprakstīti
|
||||
tabulās 2.1.-2.6.
|
||||
])
|
||||
|
||||
==== Kartīšu veidi
|
||||
|
||||
@@ -272,7 +331,7 @@ tabulās.
|
||||
[
|
||||
Kartīšu veidošanai vienkāršā tekstā tiek izmantota vienkārša domēna specifiska
|
||||
valoda. Ir 4 jautājumu veidi, kuru struktūra ir līdzīga ar dažām atšķirībām.
|
||||
Katrs jautājums sākas ar priekšu, kam var būt skaitlis, kas apzīmē intervālu
|
||||
Katram jautājumam ir sākums, kam var būt skaitlis, kas apzīmē intervālu
|
||||
stundās, pēc kura tas būs atkārtoti izmantots. Priekša ir sākas ar "-" un
|
||||
beidzas ar ">".
|
||||
],
|
||||
@@ -295,7 +354,7 @@ tabulās.
|
||||
[
|
||||
```markdown
|
||||
- Ka sauc Lietuvas galvas pilsētu? >
|
||||
- Viļņus
|
||||
- Viļņa
|
||||
- Nosauciet Baltijas valstis >
|
||||
- Latvija
|
||||
- Igaunija
|
||||
@@ -352,17 +411,17 @@ tabulās.
|
||||
```
|
||||
- Savienojiet planētas ar to īpašībām >
|
||||
- Zeme:
|
||||
- Satur dzīvi
|
||||
- Ir dzīve
|
||||
- Jupiters:
|
||||
- Lielākā planēta
|
||||
- Ir gredzeni
|
||||
- Venēra:
|
||||
- Merkurs:
|
||||
- Mazākā
|
||||
- Mazākā planēta
|
||||
- Saturns:
|
||||
- Ir gredzeni
|
||||
- Neptūns:
|
||||
- Tālākā no saules
|
||||
- Tālākā no Saules
|
||||
- Ir gredzeni
|
||||
```
|
||||
]
|
||||
@@ -375,7 +434,7 @@ tabulās.
|
||||
"DF06",
|
||||
[
|
||||
Kartītes pirmteksta failā var tikt iekļauti vairāki dažādu veidu jautājumi.
|
||||
Sākumā var būt datuma un laika simbolu virkne, kas atbilst #link(<DS02>)[DS02].
|
||||
Sākumā var būt datuma un laika simbolu virkne, kas atbilst datu struktūrai #link(<DS02>)[DS02] #ref_ds02.
|
||||
],
|
||||
[
|
||||
```
|
||||
@@ -403,15 +462,13 @@ tabulās.
|
||||
]
|
||||
)<DF06>
|
||||
|
||||
=== Formātu un datu struktūru speicifikācija
|
||||
=== Formātu un datu struktūru specifikācija
|
||||
|
||||
Šajā apakšsadaļā tiks apskatīti ievades un izvades vērtību
|
||||
formāti, kas tiks izmantoti funkciju aprakstos.
|
||||
Formāti ir aprakstīti
|
||||
#link(<DS01>)[DS01],
|
||||
#link(<DS02>)[DS02],
|
||||
#link(<DS03>)[DS03]
|
||||
tabulās.
|
||||
#indent-par([
|
||||
Šajā apakšsadaļā tiks apskatīti ievades un izvades vērtību
|
||||
formāti, kas tiks izmantoti funkciju aprakstos.
|
||||
Formāti ir aprakstīti tabulās 2.7.-2.9.
|
||||
])
|
||||
|
||||
#io-table(
|
||||
"Kartīšu datu struktūra",
|
||||
@@ -438,7 +495,7 @@ tabulās.
|
||||
- Elementiem -- saraksts ar simbolu virknēm.
|
||||
|
||||
],
|
||||
)<DS01>
|
||||
) <DS01>
|
||||
|
||||
#io-table(
|
||||
"Lappuses datu struktūra",
|
||||
@@ -472,9 +529,11 @@ tabulās.
|
||||
|
||||
=== Funkciju sadalījums moduļos
|
||||
|
||||
Risinājuma moduļi ar to saistītām datu plūsmām un datu glabātuvēm ir attēlots
|
||||
1\. līmeņa DPD (skat. @fig:dpd1 attēls). Funkciju sadalījums moduļos ir
|
||||
apraksīts sadalījuma tabulā (skat. @tbl:function_table tabula).
|
||||
#indent-par([
|
||||
Risinājuma moduļi ar to saistītām datu plūsmām un datu glabātuvēm ir attēlots
|
||||
1\. līmeņa DPD (skat. @fig:dpd1 attēls). Funkciju sadalījums moduļos ir
|
||||
apraksīts sadalījuma tabulā (skat. @tbl:function_table tabula).
|
||||
])
|
||||
|
||||
#figure(
|
||||
caption: "1. līmeņa datu plūsmas diagramma",
|
||||
@@ -521,8 +580,10 @@ apraksīts sadalījuma tabulā (skat. @tbl:function_table tabula).
|
||||
|
||||
=== Kopīgas procedūras
|
||||
|
||||
Vairākas prasībās definētās funkcijas izmanto kopīgas procedūras, kas tiek
|
||||
definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
|
||||
#indent-par([
|
||||
Vairākas prasībās definētās funkcijas izmanto kopīgas procedūras, kas tiek
|
||||
definētas tabulās 2.12. un 2.13.
|
||||
])
|
||||
|
||||
#procedure-table(
|
||||
"Teksta jautājumu transpilēšana",
|
||||
@@ -542,12 +603,12 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
|
||||
+ Ja tiek sastapta tekstvienība, kas nav sagaidāma kādā kontekstā, beidz
|
||||
apstrādi, izvadē pievienojot kļūdu ar tās pozīciju;
|
||||
+ Tiek nolasīti jautājumi, nosakot to veidu pēc to struktūras:
|
||||
+ Jautājuma sākums (jeb kartītes priekša);
|
||||
+ Jautājuma sākums;
|
||||
+ Veidojot jautājumus tiek pielasīts arī intervāla laiks, ja tāds ir;
|
||||
+ Pēc jautājuma sākuma ir viens vai vairākas atbildes jeb apakšpunkti;
|
||||
+ Vairāki apakšpunkti ar "-" -- atbilžu jautājums;
|
||||
+ Vairāki apakšpunkti ar "+" -- izvēles jautājums;
|
||||
+ Vairāki apakšpunkti ar "-^" -- izvēles jautājums;
|
||||
+ Vairāki apakšpunkti ar "-" -- atbilžu jautājums;
|
||||
+ Vairāki apakšpunkti ar "+" -- izvēles jautājums;
|
||||
+ Vairāki apakšpunkti ar "-^" -- secības jautājums;
|
||||
+ Vairāki apakšpunkti, kas beidzas ar ":",
|
||||
kam seko apakšpunkti ar "-" (iespējams tos nenorādīt);
|
||||
+ Jautājumu veidi ir nosakāmi bez tiešas vieda norādīšanas;
|
||||
@@ -556,7 +617,8 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
|
||||
],
|
||||
[
|
||||
+ Saraksts ar jautājumiem -- #questionList\;
|
||||
+ Kļūda ar tekstu un tās pozīciju saturā -- paziņojuma objekts, kas atbilst #link(<DF04>)[DF04]\;
|
||||
+ Kļūda ar tekstu un tās pozīciju saturā -- paziņojuma objekts, kas atbilst
|
||||
datu struktūrai #link(<DS04>)[DS04] #ref_ds04\;
|
||||
],
|
||||
) <PR01>
|
||||
|
||||
@@ -578,7 +640,7 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
|
||||
un kāds ir maksimāls rindiņas platums pirms tiek veidots jaunās rindas simbols;
|
||||
+ Ja datums un laiks ir padots, pievieno datumu un laiku atbilstoši formātam;
|
||||
+ Katram jautājumam veic sekojošo:
|
||||
+ Pievieno jautājuma sākumu (jeb priekšu) ar intervāla skaitli, ja tāds ir;
|
||||
+ Pievieno jautājuma sākumu ar intervāla skaitli, ja tāds ir;
|
||||
+ Pievieno apakšpunktus atbilstoši tā veidam;
|
||||
+ Vairāki apakšpunkti ar "-" -- atbilžu jautājums;
|
||||
+ Vairāki apakšpunkti ar "+" -- izvēles jautājums;
|
||||
@@ -594,21 +656,15 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
|
||||
|
||||
=== Atmiņas bāzes modulis
|
||||
|
||||
Atmiņas bāze ir direktorijs ar atmiņas kartīšu failiem. Modulis atbild par
|
||||
mijiedarbību ar atmiņas šiem failiem un atmiņas kartīšu prezentēšanu. Šī moduļa
|
||||
funkcijas ir izmantotas atmiņu kartīšu saraksta funkcionalitātei. Funkcijas
|
||||
mijiedarbojas ar pagaidu glabātuvē esošām atmiņas kartītēm un failu glabātuves
|
||||
failiem, kas satur atmiņu kartīšu informāciju. Ar funkcijām saistītas datu plūsmas
|
||||
ir attēlotas moduļa 2. līmeņa DPD (skat. @fig:abdpd2 attēlu).
|
||||
Moduļa funkcijas tiek definētas tabulās:
|
||||
#link(<AB01>)[AB01],
|
||||
#link(<AB02>)[AB02],
|
||||
#link(<AB03>)[AB03],
|
||||
#link(<AB04>)[AB04],
|
||||
#link(<AB05>)[AB05],
|
||||
#link(<AB06>)[AB06],
|
||||
#link(<AB07>)[AB07],
|
||||
#link(<AB08>)[AB08].
|
||||
#indent-par([
|
||||
Atmiņas bāze ir direktorijs ar atmiņas kartīšu failiem. Modulis atbild par
|
||||
mijiedarbību ar atmiņas šiem failiem un atmiņas kartīšu prezentēšanu. Šī moduļa
|
||||
funkcijas ir izmantotas atmiņu kartīšu saraksta funkcionalitātei. Funkcijas
|
||||
mijiedarbojas ar pagaidu glabātuvē esošām atmiņas kartītēm un failu glabātuves
|
||||
failiem, kas satur atmiņu kartīšu informāciju. Ar funkcijām saistītas datu plūsmas
|
||||
ir attēlotas moduļa 2. līmeņa DPD (skat. @fig:abdpd2 attēlu).
|
||||
Moduļa funkcijas tiek definētas tabulās 2.14.-2.21.
|
||||
])
|
||||
|
||||
#figure(
|
||||
caption: "Atmiņas bāzes moduļa 2.līmeņa datu plūsmas diagramma",
|
||||
@@ -634,7 +690,7 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
+ Tiek nolasīts datums un laiks no faila sākuma, ja tāds eksistē:
|
||||
+ Ja datuma un laika formāts nav korekts, parāda 2. paziņojumu
|
||||
ar atbilstošu iemeslu un kļūdas pazīmi, beidz apstrādi.
|
||||
+ Tiek iegūti jautājuma objekti, izmantojot procedūru #link(<PR01>)[PR01]\;
|
||||
+ Tiek iegūti jautājuma objekti, izmantojot procedūru #link(<PR01>)[PR01] #ref_pr01\;
|
||||
+ Ja radās kļūda, parāda 2. paziņojumu ar kļūdas informāciju, beidz
|
||||
apstrādi.
|
||||
+ Ja kādā no apstrādes posmiem radās kļūda, parāda 2. paziņojumu
|
||||
@@ -718,7 +774,7 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
],
|
||||
[
|
||||
+ Ja ievadīts teksts, parāda 1. paziņojumu, beidz apstrādi;
|
||||
+ Apstrādā simbolu virkni, izmantojot #link(<PR01>)[PR01]\;
|
||||
+ Apstrādā simbolu virkni, izmantojot procedūru #link(<PR01>)[PR01] #ref_pr01\;
|
||||
+ Ja tiek izvadīta kļūda, parāda 2. paziņojumu ar kļūdas informāciju,
|
||||
beidz apstrādi;
|
||||
],
|
||||
@@ -748,7 +804,7 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
+ Jautājums -- #question\;
|
||||
],
|
||||
[
|
||||
+ Izmantojot procedūru #link(<PR01>)[PR01], jautājums tiek detranspilēts
|
||||
+ Izmantojot procedūru #link(<PR01>)[PR01] #ref_pr01, jautājums tiek detranspilēts
|
||||
pirmtekstā\;
|
||||
],
|
||||
[
|
||||
@@ -773,7 +829,7 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
],
|
||||
[
|
||||
+ Ja ievades teksts ir tukšs, parāda 1. paziņojumu, beidz apstrādi;
|
||||
+ Izmantojot #link(<PR01>)[PR01], tiek iegūts jautājuma objekts no sniegtā
|
||||
+ Izmantojot procedūru #link(<PR01>)[PR01] #ref_pr01, tiek iegūts jautājuma objekts no sniegtā
|
||||
pirmteksta;
|
||||
+ Ja tiek izvadīta kļūda, parāda 1. paziņojumu ar atbilstošu kļūdas informāciju,
|
||||
beidz apstrādi;
|
||||
@@ -825,7 +881,7 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
+ Datums un laiks -- #datetime\;
|
||||
],
|
||||
[
|
||||
+ Iegūst pirmtekstu padotajiem objektiem, izmantojot procedūru #link(<PR02>)[PR02]\;
|
||||
+ Iegūst pirmtekstu padotajiem objektiem, izmantojot procedūru #link(<PR02>)[PR02] #ref_pr02\;
|
||||
+ Ja tiek izvadīta kļūda, parāda 2. paziņojumu ar kļūdas informāciju, beidz apstrādi;
|
||||
+ Izveido vai atver failu padotā ceļā;
|
||||
+ Ja atvēršana vai izveidošana neizdevās, parāda 1. paziņojumu;
|
||||
@@ -835,7 +891,7 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
Fails tiks atjaunots failu sistēmā.
|
||||
Saskarnē pazūd indikators, ka atmiņas kartīšu fails tika izmainīts.
|
||||
|
||||
+ Fails ar kartītes informāciju, kas atbilst #link(<DF06>)[DF06]\;
|
||||
+ Fails ar kartītes informāciju, kas atbilst datu formātam #link(<DF06>)[DF06] #ref_df06\;
|
||||
],
|
||||
[
|
||||
+ Neizdevās atvērt vai izveidot atmiņas kartīšu failu;
|
||||
@@ -846,17 +902,14 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
|
||||
=== Mācīšanās modulis
|
||||
|
||||
Mācīšanās risinājuma kontekstā ir kartīšu prezentēšana ar interaktīvu atbildes
|
||||
funkcionalitāti, atbilstoši atmiņas kartītes tipam. Šī moduļa funkcijas ir
|
||||
izmantotas mācīšanās loga funkcionalitātei. Funkcijas ietver darbības ar pagaidu
|
||||
glabātuvē esošām atmiņas kartītēm. Ar funkcijām saistītas datu plūsmas ir
|
||||
attēlotas moduļa 2. līmeņa DPD (skat. @fig:madpd2 attēlu).
|
||||
Moduļa funkcijas tiek definētas tabulās:
|
||||
#link(<MA01>)[MA01],
|
||||
#link(<MA02>)[MA02],
|
||||
#link(<MA03>)[MA03],
|
||||
#link(<MA04>)[MA04],
|
||||
#link(<MA05>)[MA05].
|
||||
#indent-par([
|
||||
Mācīšanās risinājuma kontekstā ir kartīšu prezentēšana ar interaktīvu atbildes
|
||||
funkcionalitāti, atbilstoši atmiņas kartītes tipam. Šī moduļa funkcijas ir
|
||||
izmantotas mācīšanās loga funkcionalitātei. Funkcijas ietver darbības ar pagaidu
|
||||
glabātuvē esošām atmiņas kartītēm. Ar funkcijām saistītas datu plūsmas ir
|
||||
attēlotas moduļa 2. līmeņa DPD (skat. @fig:madpd2 attēlu).
|
||||
Moduļa funkcijas tiek definētas tabulās 2.22.-2.26.
|
||||
])
|
||||
|
||||
#figure(
|
||||
caption: "Mācīšanās moduļa 2.līmeņa datu plūsmas diagramma",
|
||||
@@ -879,9 +932,8 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
[
|
||||
+ Ja pagaidu kartīšu glabātuvē nav nevienas kartītes, beidz apstrādi, neatgriežot
|
||||
kartīti;
|
||||
+ Ja padotais algoritms ir "fizisks";
|
||||
+ Ja pašreizējā kartīte ir padota, izvēlās nākamo kartīti starp pagaidu
|
||||
kartīšu glabātuves;
|
||||
+ Ja padotais algoritms ir "fizisks";
|
||||
+ Ja pašreizējā kartīte ir padota, izvēlās nākamo kartīti starp pagaidu kartīšu glabātuves;
|
||||
+ Citādi izvēlas pirmo kartīti no pagaidu kartīšu glabātuves;
|
||||
+ Ja padotais algoritms ir "nejaušs";
|
||||
+ Izvēlas nākamo kartīti nejaušā kārtībā starp pagaidu kartīšu
|
||||
@@ -1004,16 +1056,15 @@ Moduļa funkcijas tiek definētas tabulās:
|
||||
|
||||
=== Konfigurācijas modulis
|
||||
|
||||
Konfigurācijas modulis iekļauj parametrus, ko var personalizēt saistībā ar
|
||||
mācīšanās procesu, prezentāciju uc. Šī moduļa funkcijas ir izmantotas
|
||||
konfigurējot vērtības, kas tiek glabātas konfigurācijas failā un tiek
|
||||
izmantotas risinājuma funkcionalitātē, kur tās aspektiem piemīt konfigurējamas
|
||||
vērtības. Ar funkcijām saistītas datu plūsmas ir attēlotas moduļa 2. līmeņa DPD
|
||||
(skat. @fig:kfdpd2 attēlu).
|
||||
Moduļa funkcijas tiek definētas tabulās:
|
||||
#link(<KF01>)[KF01],
|
||||
#link(<KF02>)[KF02],
|
||||
#link(<KF03>)[KF03].
|
||||
#indent-par([
|
||||
Konfigurācijas modulis nodrošina parametru apstrādi, ko var personalizēt
|
||||
saistībā ar mācīšanās procesu, prezentāciju uc. Šī moduļa funkcijas ir
|
||||
izmantotas konfigurējot vērtības, kas tiek glabātas konfigurācijas failā un
|
||||
tiek izmantotas risinājuma funkcionalitātei piemīt konfigurējamas
|
||||
vērtības. Ar funkcijām saistītas datu plūsmas ir attēlotas moduļa 2. līmeņa
|
||||
DPD (skat. @fig:kfdpd2 attēlu). Moduļa funkcijas tiek definētas tabulās
|
||||
2.27.-2.29.
|
||||
])
|
||||
|
||||
#figure(
|
||||
caption: "Konfigurācijas moduļa 2.līmeņa datu plūsmas diagramma",
|
||||
@@ -1114,14 +1165,16 @@ Pirmkodam jābūt izstrādātam ar sekojošiem nosacījumiem:
|
||||
|
||||
+ Risinājuma pirmkods ir realizēts galvenokārt procedurālā stilā;
|
||||
+ Transpilatora funkcionalitātes testu pārklājums ir 90%;
|
||||
+ Saskarnes funkcionalitāte ir notestēta svarīgākās vietās (svarīgākās vietas
|
||||
ir subjektīvs jēdziens, tāpēc to definēsim kā 20%).
|
||||
// + Saskarnes funkcionalitāte ir notestēta svarīgākās vietās (svarīgākās vietas
|
||||
// ir subjektīvs jēdziens, tāpēc to definēsim kā 20%).
|
||||
|
||||
==== Pārnesamība
|
||||
|
||||
Uz pārnesamību risinājumam ir sekojoša prasība: kartīšu failiem ir jābūt pārnesamiem
|
||||
pārkopējot visu direktoriju uz citu mašīnu. Nosacījums saglabā atgriezenisko savietojamību
|
||||
vienas galvenās versijas ietvaros.
|
||||
#indent-par([
|
||||
Uz pārnesamību risinājumam ir sekojoša prasība: kartīšu failiem ir jābūt pārnesamiem
|
||||
pārkopējot visu direktoriju uz citu mašīnu. Nosacījums saglabā atgriezenisko savietojamību
|
||||
vienas galvenās versijas ietvaros.
|
||||
])
|
||||
|
||||
==== Drošība
|
||||
|
||||
@@ -1139,7 +1192,7 @@ Uz drošību risinājumam ir sekojošas prasības:
|
||||
|
||||
+ #hyperlink-source(
|
||||
"Alison Voice and Arran Stirton",
|
||||
[Spaced Repetition: towards more effective learning in STEM (2020).],
|
||||
[Spaced Repetition: towards more effective learning in STEM (2020)],
|
||||
"https://web.archive.org/web/20171019211402/https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf",
|
||||
std.datetime(
|
||||
year: 2024,
|
||||
@@ -1148,9 +1201,24 @@ Uz drošību risinājumam ir sekojošas prasības:
|
||||
),
|
||||
)<spaced-repetition-1>
|
||||
|
||||
+ #hyperlink-source(
|
||||
"Institūcija \"Latvijas standarts\"",
|
||||
[LVS 68:1996 "Programmatūras prasību specifikācijas ceļvedis". 1996. marts],
|
||||
"",
|
||||
none
|
||||
)<lvs-standard-1>
|
||||
|
||||
+ #hyperlink-source(
|
||||
"Institūcija \"Latvijas standarts\"",
|
||||
[LVS 72:1996 "Ieteicamā prakse programmatūras projektējuma aprakstīšanai". 1996, marts],
|
||||
"",
|
||||
none
|
||||
)<lvs-standard-1>
|
||||
|
||||
|
||||
+ #hyperlink-source(
|
||||
"Paul Sexton",
|
||||
[org-drill.el – flashcards and spaced repetition for org-mode],
|
||||
[Org-drill.el – flashcards and spaced repetition for org-mode],
|
||||
"https://orgmode.org/worg/org-contrib/org-drill.html",
|
||||
std.datetime(
|
||||
year: 2024,
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
if caption == "" {
|
||||
caption = items.pos().first()
|
||||
}
|
||||
|
||||
longtable(
|
||||
titles: (
|
||||
"Ievades/izvades vērtības nosaukums",
|
||||
@@ -234,9 +235,25 @@
|
||||
link_str,
|
||||
date,
|
||||
) = {
|
||||
if link_str == "" {
|
||||
[#author #title Aplūkots #date.display("[day].[month].[year]")]
|
||||
} else {
|
||||
[#author #title Pieejams: #link(link_str) aplūkots #date.display("[day].[month].[year]")]
|
||||
}
|
||||
let author_part = ""
|
||||
if author != "" {
|
||||
author_part = [#author. ]
|
||||
}
|
||||
|
||||
let title_part = ""
|
||||
if title != "" {
|
||||
title_part = [#title. ]
|
||||
}
|
||||
|
||||
let link_part = ""
|
||||
if link_str != "" {
|
||||
link_part = [Pieejams: #link(link_str). ]
|
||||
}
|
||||
|
||||
let date_part = ""
|
||||
if date != none {
|
||||
date_part = [Aplūkots #date.display("[day].[month].[year]"). ]
|
||||
}
|
||||
|
||||
[#author_part#title_part#link_part#date_part]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user