abstract and finished v1 of function reqs

This commit is contained in:
jorenchik
2024-10-13 14:49:41 +03:00
parent fcbd6ba2a5
commit ff4beecb5b
3 changed files with 130 additions and 69 deletions

View File

@@ -1,5 +1,6 @@
#import "layout.typst": indent-par #import "layout.typst": indent-par
#pagebreak() #pagebreak()
#heading( #heading(
level: 1, level: 1,
outlined: false, outlined: false,
@@ -7,21 +8,23 @@
"Anotācija", "Anotācija",
) )
#indent-par([ #indent-par([
Atmiņas kartītes (angl. flashcards) ir izplatīts veids, kā skolēni,
// LV abstract studenti un citi macošies cilvēki 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.
]) ])
#par( #par(
first-line-indent: 0cm, first-line-indent: 0cm,
[*Atslēgvārdi:*], [
*Atslēgvārdi:* atmiņas kartītes, domēna specifiska valoda, vienkārša
teksts, apzīmēšanas valoda.
],
) )
// LV keywords
#text( #text(
hyphenate: auto, hyphenate: auto,
lang: "en", lang: "en",
@@ -34,13 +37,19 @@
"Abstract", "Abstract",
) )
#indent-par([ #indent-par([
Flashcards are a common way for students to
// EN abstract 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.
]) ])
#par( #par(
first-line-indent: 0cm, first-line-indent: 0cm,
[*Keywords:*], [
*Keywords:* memory cards, domain specific language, simple text, markup
language.
],
) )
// EN keywords // EN keywords

Binary file not shown.

View File

@@ -12,7 +12,6 @@
date: "Rīga 2025", date: "Rīga 2025",
) )
#set heading(numbering: none) #set heading(numbering: none)
#pagebreak(weak: true) #pagebreak(weak: true)
@@ -24,6 +23,7 @@
/ API: lietojumprogrammu saskarne (angl. Application Program Interface); / API: lietojumprogrammu saskarne (angl. Application Program Interface);
/ Markdown: TODO; / Markdown: TODO;
/ Atzīmēšanas valoda: TODO; / Atzīmēšanas valoda: TODO;
// TODO: add all the terms
], ],
) )
@@ -56,7 +56,7 @@
// Kas ir atmiņas kartes // Kas ir atmiņas kartes
#indent-par([ #indent-par([
Atmiņas kartītes (Angl. flashcards) ir izplatīts veids, kā skolēni, studenti un Atmiņas kartītes (angl. flashcards) ir izplatīts veids, kā skolēni, studenti un
citi macošies cilvēki iegaumē materiālu. Šādu kartīšu pamatā parasti ir priekša citi macošies cilvēki iegaumē materiālu. Šādu kartīšu pamatā parasti ir priekša
un aizmugura. Priekšā atrodas jautājums vai uzdevums vai cita informācija, kas un aizmugura. 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. uzstāda mentālu vai praktisku uzdevumu, iespējams iekļaujot arī mājieni.
@@ -75,7 +75,7 @@ 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 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 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. metode ir atkārtošana ar intervāliem.
// TODO: reference // TODO: add reference.
// Stuff mdemory does // Stuff mdemory does
Veidojot atmiņas kartītes manuāli tās var pazaudēt, var kļūdīties, sagatavojot Veidojot atmiņas kartītes manuāli tās var pazaudēt, var kļūdīties, sagatavojot
@@ -91,9 +91,9 @@ programmatūras mācīšanās funkcionalitāti.
Uzsvars ir uz pilnīgu atmiņas kartīšanu glabāšanas pilnīgu caurspīdīgumu - Uzsvars ir uz pilnīgu atmiņas kartīšanu glabāšanas pilnīgu caurspīdīgumu -
kartītes glabājas bez slēptas informācijas. Vienkārša teksta izmantošana bez kartītes glabājas bez slēptas informācijas. Vienkārša teksta izmantošana bez
slēptas informācijas atbrīvo lietotāju no atkarības no šīs programmatūras ar slēptas informācijas atbrīvo lietotāju no atkarības no šīs programmatūras ar
iespēju pārslēgties uz citu risinājumu ar dažām teksta izmaiņām. iespēju pārslēgties uz citu risinājumu ar dažām teksta izmaiņām.
// TODO: import / manage all questions // TODO: add someth??
// The name // The name
Programmatūras produkta nosaukums ir "Mdemory", kas ir darināts nosaukums no Programmatūras produkta nosaukums ir "Mdemory", kas ir darināts nosaukums no
@@ -107,8 +107,8 @@ parāda produkta saistību ar atmiņu.
// apraksts: Ievads // apraksts: Ievads
Ievadā tiek aprakstīta galvenā programmatūras produkta būtība. Ievadā tiek definēts nolūks darbības sfēra, aprakstīta galvenā programmatūras
// TODO produkta būtība un mērķi, saistītie dokumenti.
// apraksts: Vispārējs apraksts // apraksts: Vispārējs apraksts
// TODO // TODO
@@ -246,28 +246,32 @@ Secības jautājums.
``` ```
- Savienojiet planētas ar to īpašībām > - Savienojiet planētas ar to īpašībām >
- Zeme: - Zeme:
- Satur dzīvi - Satur dzīvi
- Jupiters: - Jupiters:
- Lielākā planēta - Lielākā planēta
- Ir gredzeni - Ir gredzeni
- Venēra: - Venēra:
- Merkurs: - Merkurs:
- Mazākā - Mazākā
- Saturns: - Saturns:
- Ir gredzeni - Ir gredzeni
- Neptūns: - Neptūns:
- Tālākā no saules - Tālākā no saules
- Ir gredzeni - Ir gredzeni
``` ```
=== Jautājumu datu struktūra === Jautājumu datu struktūra
// TODO jautājumu veidi
// TODO lappuse
=== Funkciju sadalījums moduļos === 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 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). 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( #figure(
caption: "1. līmeņa datu plūsmas diagramma", caption: "1. līmeņa datu plūsmas diagramma",
@@ -275,8 +279,6 @@ Risinājuma moduļi ar to saistītām datu plūsmām un datu glabātuvēm ir att
image("img/DPD1.svg"), image("img/DPD1.svg"),
) <dpd1> ) <dpd1>
Funkciju sadalījums moduļos ir apraksīts sadalījuma tabulā (skat. @tbl:function_table).
#pagebreak(weak: true) #pagebreak(weak: true)
#figure( #figure(
caption: "Funkciju sadalījums pa moduļiem", caption: "Funkciju sadalījums pa moduļiem",
@@ -287,37 +289,37 @@ Funkciju sadalījums moduļos ir apraksīts sadalījuma tabulā (skat. @tbl:func
[*Modulis*], [*Funkcija*], [*Identifikators*], [*Modulis*], [*Funkcija*], [*Identifikators*],
/* -------------- */ /* -------------- */
// TODO links: #link<AMF01>[AMF01]
// TODO: adjust the rowspanxes
rowspanx(8)[Atmiņas bāzes modulis], rowspanx(8)[Atmiņas bāzes modulis],
[Kartīšu faila ielāde], [AB01], [Kartīšu faila ielāde], [#link(<AB01>)[AB01]],
[Kartīšu saraksta lappušu izveidošana], [AB02], [Kartīšu saraksta lappušu izveidošana], [#link(<AB02>)[AB02]],
[Atmiņas bāzes lappuses iesūšana], [AB03], [Atmiņas bāzes lappuses iegūšana], [#link(<AB03>)[AB03]],
[Kartīšu pievienošana], [AB04], [Kartīšu pievienošana], [#link(<AB04>)[AB04]],
[Kartītes pirmteksta iegūšana], [AB05], [Kartītes pirmteksta iegūšana], [#link(<AB05>)[AB05]],
[Kartītes redigēšana], [AB06], [Kartītes redigēšana], [#link(<AB06>)[AB06]],
[Kartītes dzēšana], [AB07], [Kartītes dzēšana], [#link(<AB07>)[AB07]],
[Kartītes faila saglabāšana], [AB08], [Kartītes faila saglabāšana], [#link(<AB08>)[AB08]],
rowspanx(6)[Mācīšanās modulis], rowspanx(5)[Mācīšanās modulis],
[Nākamās kartītes noteikšana], [MA01], [Nākamās kartītes noteikšana], [#link(<MA01>)[MA01]],
[Izvēles kartītes pārbaude], [MA02], [Izvēles kartītes pārbaude], [#link(<MA02>)[MA02]],
[Kārtošanas kartītes pārbaude], [MA03], [Kārtošanas kartītes pārbaude], [#link(<MA03>)[MA03]],
[Grupēšanas kartītes pārbaude], [MA04], [Grupēšanas kartītes pārbaude], [#link(<MA04>)[MA04]],
[Intervāla grupas atbildes sniegšana], [MA05], [Intervāla grupas atbildes sniegšana], [#link(<MA05>)[MA05]],
// un meta datu saglabāšana // un meta datu saglabāšana
rowspanx(3)[Konfigurācijas modulis], rowspanx(3)[Konfigurācijas modulis],
[Konfigurācijas vērtības iegūšana], [KF01], [Konfigurācijas vērtības iegūšana], [#link(<KF01>)[KF01]],
[Konfigurācijas vērtību iegūšana], [KF02], [Konfigurācijas vērtību iegūšana], [#link(<KF02>)[KF02]],
[Konfigurācijas vērtības izmaiņa], [KF03], [Konfigurācijas vērtības izmaiņa], [#link(<KF03>)[KF03]],
), ),
) <function_table> ) <function_table>
=== Kopīgas procedūras === 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].
#procedure-table( #procedure-table(
"Teksta jautājumu transpilēšana", "Teksta jautājumu transpilēšana",
"PR01", "PR01",
@@ -389,10 +391,21 @@ Funkciju sadalījums moduļos ir apraksīts sadalījuma tabulā (skat. @tbl:func
=== Atmiņas bāzes modulis === Atmiņas bāzes modulis
Atmiņas bāze ir direktorijs ar atmiņas kartīšu failiem. Atmiņas bāze ir direktorijs ar atmiņas kartīšu failiem. Modulis atbild par
Modulis atbild par mijiedarbību ar atmiņas šiem failiem un atmiņas mijiedarbību ar atmiņas šiem failiem un atmiņas kartīšu prezentēšanu. Šī moduļa
kartīšu prezentēšanu. 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āju. Ar funkcijām saistītas datuplū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].
#figure( #figure(
caption: "Atmiņas bāzes moduļa 2.līmeņa datu plūsmas diagramma", caption: "Atmiņas bāzes moduļa 2.līmeņa datu plūsmas diagramma",
@@ -472,11 +485,17 @@ kartīšu prezentēšanu.
+ Lappuses numurs; + Lappuses numurs;
], ],
[ [
+ No pagaides atmiņas kartīšu glabātuves tiek iegūtas atmiņas kartīšu lappuses;
+ Tiek meklēts lappušu objekts ar norādīto numuru;
+ Ja lappuse tiek atrasta, saistītie atmiņas kartīšu objekti tiek atgriezti;
+ Ja tāda lappuse netiek atrasta, parāda 1. paziņojumu;
+
], ],
[ [
+ Saraksts ar lappuses atmiņas kartīšu objektiem;
], ],
[ [
+ Pieprasītā lappuse neeksistē;
], ],
) <AB03> ) <AB03>
@@ -620,7 +639,16 @@ kartīšu prezentēšanu.
=== Mācīšanās modulis === Mācīšanās modulis
Mācīšanās risinājuma kontekstā ir kartīšu prezentēšana ar interaktīvu atbildes Mācīšanās risinājuma kontekstā ir kartīšu prezentēšana ar interaktīvu atbildes
funkcionalitāti, atbilsoši atmiņas kartītes tipam. funkcionalitāti, atbilsoš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 datuplū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].
#figure( #figure(
caption: "Mācīšanās moduļa 2.līmeņa datu plūsmas diagramma", caption: "Mācīšanās moduļa 2.līmeņa datu plūsmas diagramma",
@@ -695,8 +723,8 @@ funkcionalitāti, atbilsoši atmiņas kartītes tipam.
Veic jautājuma atbildes pārbaudi kārtošanas kartītes jautājuma veidam. Veic jautājuma atbildes pārbaudi kārtošanas kartītes jautājuma veidam.
], ],
[ [
- Atbilžu simbolu virkņu saraksts; + Atbilžu simbolu virkņu saraksts;
- Jautājuma objekts; + Jautājuma objekts;
], ],
[ [
+ Izskata abus sarakstus paralēli; + Izskata abus sarakstus paralēli;
@@ -719,9 +747,9 @@ funkcionalitāti, atbilsoši atmiņas kartītes tipam.
Veic jautājuma atbildes pārbaudi grupēšanas kartītes jautājuma veidam. Veic jautājuma atbildes pārbaudi grupēšanas kartītes jautājuma veidam.
], ],
[ [
- Negrupēto elementu simbolu virkņu saraksts; + Negrupēto elementu simbolu virkņu saraksts;
- Grupētu simbolu virkņu sarakstu saraksts; + Grupētu simbolu virkņu sarakstu saraksts;
- Jautājuma objekts; + Jautājuma objekts;
], ],
[ [
+ Katram nesagrupētam elementam uzstāda pareizuma pazīmi uz "nepareizs"; + Katram nesagrupētam elementam uzstāda pareizuma pazīmi uz "nepareizs";
@@ -767,9 +795,17 @@ funkcionalitāti, atbilsoši atmiņas kartītes tipam.
=== Konfigurācijas modulis === Konfigurācijas modulis
Konfigurācijas modulis iekļauj parametrus, ko var personalizēt Konfigurācijas modulis iekļauj parametrus, ko var personalizēt saistībā ar
saistībā ar mācīšanās procesu, prezentāciju uc. 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 datuplū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].
#figure( #figure(
caption: "Konfigurācijas moduļa 2.līmeņa datu plūsmas diagramma", caption: "Konfigurācijas moduļa 2.līmeņa datu plūsmas diagramma",
placement: auto, placement: auto,
@@ -784,12 +820,17 @@ saistībā ar mācīšanās procesu, prezentāciju uc.
Funkcijas iegūst vienu definēo konfigurācijas vērtību. Funkcijas iegūst vienu definēo konfigurācijas vērtību.
], ],
[ [
+ Vērtības atslēga -- simbolu virkne;
], ],
[ [
+ Ja konfigurācija vēl nebija ielādēta, tiek ielādēts konfigurācijas fails;
+ Ielādētā konfigurācijā tiek sameklēts konfigurācijas vērības ieraksts;
], ],
[ [
+ Konfigurācijas vērtība -- viens no: skaitlis, simbolu virkne, karodziņs;
], ],
[ [
+ Konfigurācijas fails nav korekts, nevar nolasīt konfigurāciju;
], ],
) <KF01> ) <KF01>
@@ -800,12 +841,17 @@ saistībā ar mācīšanās procesu, prezentāciju uc.
Funkcija iegūst visas definētās konfigurācijas vērtības. Funkcija iegūst visas definētās konfigurācijas vērtības.
], ],
[ [
+ Vērtības atslēga -- simbolu virkne;
], ],
[ [
+ Ja konfigurācija vēl nebija ielādēta, tiek ielādēts konfigurācijas fails;
+ Ielādētā konfigurācijā tiek iegūtas vērtības;
], ],
[ [
+ Konfigurācijas vērtību saraksts -- viens no: skaitlis, simbolu virkne, karodziņs;
], ],
[ [
+ Konfigurācijas fails nav korekts, nevar nolasīt konfigurāciju;
], ],
) <KF02> ) <KF02>
@@ -816,12 +862,18 @@ saistībā ar mācīšanās procesu, prezentāciju uc.
Funkcija izmaina vērtību no definētām konfigurācijas vērtībām. Funkcija izmaina vērtību no definētām konfigurācijas vērtībām.
], ],
[ [
+ Vērtības atslēga -- simbolu virkne;
+ Konfigurācijas vērtība -- viens no: skaitlis, simbolu virkne, karodziņs;
], ],
[ [
+ Ja konfigurācija vēl nebija ielādēta, tiek ielādēts konfigurācijas fails;
+ Konfigurācijas vērtība ar ievadīto atslēgu tiek izmainītu uz ievadīto konfigurācijas vērtību;
], ],
[ [
+ Izmainīta konfigurācijas faila saturs;
], ],
[ [
+ Konfigurācijas fails nav korekts, nevar rediģēt konfigurāciju;
], ],
) <KF03> ) <KF03>