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
#pagebreak()
#heading(
level: 1,
outlined: false,
@@ -7,21 +8,23 @@
"Anotācija",
)
#indent-par([
// LV abstract
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,
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(
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(
hyphenate: auto,
lang: "en",
@@ -34,13 +37,19 @@
"Abstract",
)
#indent-par([
// EN abstract
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.
])
#par(
first-line-indent: 0cm,
[*Keywords:*],
[
*Keywords:* memory cards, domain specific language, simple text, markup
language.
],
)
// EN keywords

Binary file not shown.

View File

@@ -12,7 +12,6 @@
date: "Rīga 2025",
)
#set heading(numbering: none)
#pagebreak(weak: true)
@@ -24,6 +23,7 @@
/ API: lietojumprogrammu saskarne (angl. Application Program Interface);
/ Markdown: TODO;
/ Atzīmēšanas valoda: TODO;
// TODO: add all the terms
],
)
@@ -56,7 +56,7 @@
// Kas ir atmiņas kartes
#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
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.
@@ -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
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.
// TODO: reference
// TODO: add reference.
// Stuff mdemory does
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 -
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
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
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
Ievadā tiek aprakstīta galvenā programmatūras produkta būtība.
// TODO
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.
// apraksts: Vispārējs apraksts
// TODO
@@ -246,28 +246,32 @@ Secības jautājums.
```
- Savienojiet planētas ar to īpašībām >
- Zeme:
- Satur dzīvi
- Jupiters:
- Lielākā planēta
- Ir gredzeni
- Venēra:
- Merkurs:
- Mazākā
- Saturns:
- Ir gredzeni
- Neptūns:
- Tālākā no saules
- Ir gredzeni
- Zeme:
- Satur dzīvi
- Jupiters:
- Lielākā planēta
- Ir gredzeni
- Venēra:
- Merkurs:
- Mazākā
- Saturns:
- Ir gredzeni
- Neptūns:
- Tālākā no saules
- Ir gredzeni
```
=== Jautājumu datu struktūra
// TODO jautājumu veidi
// TODO lappuse
=== 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).
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",
@@ -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"),
) <dpd1>
Funkciju sadalījums moduļos ir apraksīts sadalījuma tabulā (skat. @tbl:function_table).
#pagebreak(weak: true)
#figure(
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*],
/* -------------- */
// TODO links: #link<AMF01>[AMF01]
// TODO: adjust the rowspanxes
rowspanx(8)[Atmiņas bāzes modulis],
[Kartīšu faila ielāde], [AB01],
[Kartīšu saraksta lappušu izveidošana], [AB02],
[Atmiņas bāzes lappuses iesūšana], [AB03],
[Kartīšu pievienošana], [AB04],
[Kartītes pirmteksta iegūšana], [AB05],
[Kartītes redigēšana], [AB06],
[Kartītes dzēšana], [AB07],
[Kartītes faila saglabāšana], [AB08],
[Kartīšu faila ielāde], [#link(<AB01>)[AB01]],
[Kartīšu saraksta lappušu izveidošana], [#link(<AB02>)[AB02]],
[Atmiņas bāzes lappuses iegūšana], [#link(<AB03>)[AB03]],
[Kartīšu pievienošana], [#link(<AB04>)[AB04]],
[Kartītes pirmteksta iegūšana], [#link(<AB05>)[AB05]],
[Kartītes redigēšana], [#link(<AB06>)[AB06]],
[Kartītes dzēšana], [#link(<AB07>)[AB07]],
[Kartītes faila saglabāšana], [#link(<AB08>)[AB08]],
rowspanx(6)[Mācīšanās modulis],
[Nākamās kartītes noteikšana], [MA01],
[Izvēles kartītes pārbaude], [MA02],
[Kārtošanas kartītes pārbaude], [MA03],
[Grupēšanas kartītes pārbaude], [MA04],
[Intervāla grupas atbildes sniegšana], [MA05],
rowspanx(5)[Mācīšanās modulis],
[Nākamās kartītes noteikšana], [#link(<MA01>)[MA01]],
[Izvēles kartītes pārbaude], [#link(<MA02>)[MA02]],
[Kārtošanas kartītes pārbaude], [#link(<MA03>)[MA03]],
[Grupēšanas kartītes pārbaude], [#link(<MA04>)[MA04]],
[Intervāla grupas atbildes sniegšana], [#link(<MA05>)[MA05]],
// un meta datu saglabāšana
rowspanx(3)[Konfigurācijas modulis],
[Konfigurācijas vērtības iegūšana], [KF01],
[Konfigurācijas vērtību iegūšana], [KF02],
[Konfigurācijas vērtības izmaiņa], [KF03],
[Konfigurācijas vērtības iegūšana], [#link(<KF01>)[KF01]],
[Konfigurācijas vērtību iegūšana], [#link(<KF02>)[KF02]],
[Konfigurācijas vērtības izmaiņa], [#link(<KF03>)[KF03]],
),
) <function_table>
=== 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(
"Teksta jautājumu transpilēšana",
"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ā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.
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ā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(
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;
],
[
+ 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>
@@ -620,7 +639,16 @@ kartīšu prezentēšanu.
=== Mācīšanās modulis
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(
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.
],
[
- Atbilžu simbolu virkņu saraksts;
- Jautājuma objekts;
+ Atbilžu simbolu virkņu saraksts;
+ Jautājuma objekts;
],
[
+ 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.
],
[
- Negrupēto elementu simbolu virkņu saraksts;
- Grupētu simbolu virkņu sarakstu saraksts;
- Jautājuma objekts;
+ Negrupēto elementu simbolu virkņu saraksts;
+ Grupētu simbolu virkņu sarakstu saraksts;
+ Jautājuma objekts;
],
[
+ 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 iekļauj parametrus, ko var personalizēt
saistībā ar mācīšanās procesu, prezentāciju uc.
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 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(
caption: "Konfigurācijas moduļa 2.līmeņa datu plūsmas diagramma",
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.
],
[
+ 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>
@@ -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.
],
[
+ 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>
@@ -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.
],
[
+ 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>