diff --git a/docs/img/lexer_activity.svg b/docs/img/lexer_activity.svg index 93ebd5e..ed8c579 100644 --- a/docs/img/lexer_activity.svg +++ b/docs/img/lexer_activity.svg @@ -1,4 +1,4 @@ -
Iegūst nākamo simbolu
Simbols ir
jaunas rindas simbols
Pievieno 1 rindu skaitam; uzstāda kolonnas skaitli uz 0
Simbols ir simbols '\'
Pievieno bufferim nākamo simbolu pēc pašreizējā norādes, pamaina simbolu norādi uz nākamo simbolu
Pievieno simbolu bufferim
Ja teksts nav sācies
Pievieno tekstvienības objektu sarakstam, iepriekšējā teksta norādi uzstāda uz tagadējo norādi
Pārvieto iepriekšējā teksta norādi
Uzstāda teksta karodziņu uz "Patiess"
Pašreizējais simbols
atbilst viena simbola
tekstvienībai
Uzstāda teksta
 karodziņu uz "Nepatiess"
Pašreizējais
simbols ir identifikatora sākums
Pašreizējais
simbols ir
 identifikatora beigas
Uzstāda identifikatora
 karodziņu uz "Patiess"
Uzstāda identifikatora
 karodziņu uz "Nepatiess"
Palielina kolonnas skaitli par 1
Simboli beidzās?
Bufēri if teksts?
Pievieno tesksta tekstvienības objektu sarakstam
\ No newline at end of file +
Iegūst nākamo simbolu
Simbols ir
jaunas rindas simbols
Pievieno 1 rindu skaitam; uzstāda kolonnas skaitli uz 0
Simbols ir simbols '\'
Pievieno bufferim nākamo simbolu pēc pašreizējā norādes, pamaina simbolu norādi uz nākamo simbolu
Pievieno simbolu bufferim
Ja teksts nav sācies
 Izveido viena simbola tekstvienību un pievieno objektu sarakstam,
Pārvieto iepriekšējā teksta norādi
Uzstāda teksta karodziņu uz "Patiess"
Pašreizējais simbols
atbilst viena simbola
tekstvienībai
Uzstāda teksta
 karodziņu uz "Nepatiess"
Pašreizējais
simbols ir identifikatora sākums
Pašreizējais
simbols ir
 identifikatora beigas
Uzstāda identifikatora
 karodziņu uz "Patiess"
Uzstāda identifikatora
 karodziņu uz "Nepatiess"
Palielina kolonnas skaitli par 1
Simboli beidzās?
Bufēri if teksts?
Izveido teksta tekstvienības objektu un pievieno to sarakstam
Simbolu virkne
Teksta tekstvienība
Iepriekšējā teksta norādi uzstāda uz tagadējo norādi
Viena simbola tekstvienība
Saraksts ar tekstvienībām
\ No newline at end of file diff --git a/docs/img/parsing_activity.svg b/docs/img/parsing_activity.svg index da9735d..c954c09 100644 --- a/docs/img/parsing_activity.svg +++ b/docs/img/parsing_activity.svg @@ -1,4 +1,4 @@ -
Sarakstā ir tekstvienības
Parsēšana ir veiksmīga
Parsēšanas kļūda
Pirmā tekstvienība ir datums un laiks
Sarakstā paliek tekstvienības
Saraksts ar tekstvienībam
Tukša izvade
Mēģina parsēt datumu un laiku
Apskata nākamās tekstvienības
Seko jautājuma 
sākums un secības modifikators
Parsēšanas kļūda
Datuma un laika objekts
Apskata nākamās tekstvienības
Seko pārtraukuma
specifikācija
Mēģina parsēt pārtraukuma skaitli
Parsēšana ir veiksmīga?
Pārtraukuma skaitlis
Parsēšanas kļūda
Mēģina parsēt atbildes elementu
Parsēšanā ir 
radusies kļūda
Parsēšanas kļūda
Atbildes parsēšanas rezultāts
Noteikta tipa jautājums
Datums un laiks un saraksts ar jautājumu objektiem
Datums un laiks un saraksts ar jautājumu objektiem
Parsēšana beidzās ar jautājuma sākumu
Pievieno jautājumu sarakstam
Pievieno jautājuma objektam sākuma tekstu
\ No newline at end of file +
Sarakstā ir tekstvienības
Parsēšana ir veiksmīga
Parsēšanas kļūda
Pirmā tekstvienība ir datums un laiks
Sarakstā paliek tekstvienības
Saraksts ar tekstvienībam
Tukša izvade
Mēģina parsēt datumu un laiku
Apskata nākamās tekstvienības
Seko jautājuma 
sākums un secības modifikators
Parsēšanas kļūda
Datuma un laika objekts
Apskata nākamās tekstvienības
Seko pārtraukuma
specifikācija
Mēģina parsēt pārtraukuma skaitli
Parsēšana ir veiksmīga?
Pārtraukuma skaitlis
Parsēšanas kļūda
Mēģina parsēt atbildes elementu
Parsēšanā ir 
radusies kļūda
Parsēšanas kļūda
Atbildes parsēšanas rezultāts
Noteikta tipa jautājums
Datums un laiks un saraksts ar jautājumu objektiem
Datums un laiks un saraksts ar jautājumu objektiem
Parsēšana beidzās ar jautājuma sākumu
Pievieno jautājumu sarakstam
Pievieno jautājuma objektam sākuma tekstu
Nulles datums un laiks un tukšs saraksts ar jautājumiem
\ No newline at end of file diff --git a/docs/img/parsing_answer_activity.svg b/docs/img/parsing_answer_activity.svg index 296f8ff..30411fe 100644 --- a/docs/img/parsing_answer_activity.svg +++ b/docs/img/parsing_answer_activity.svg @@ -1,4 +1,4 @@ -
Norāde tekstvienību sarakstā
Sekojošās tekstvienības
 atbilst jautājuma 
sākuma uzbūvei
Apskata nākamās tekstvienības
Jautājums un beigšanas pazīme - ir nākamais jautājums
Sekojošās tekstvienības
atbilst izvēles elementam
Sekojošās tekstvienības
atbilst secības elementam
Sekojošās tekstvienības
atbilst grupas elementam
Inicializē jautājuma veida karodziņus: secības, grupas, izvēles un beigšanas.
Izveido izvēles atbildes objektu, uzstāda izvēles karodziņu uz patiess
Grupas atbildes objekts
Sarakstā ir tekstvienības
Jautājums un beigšanas pazīme - nav nākamā jautājuma
Jautājumu veidu
karodziņi ir pretrunā
Izveido secības atbildes objektu, uzstāda secības karodziņu uz patiess
Izveido grupas atbildes objektu, uzstāda grupas karodziņu uz patiess
Grupas atbildes objekts
Grupas atbildes objekts
Izveido svītras atbildes objektu, uzstāda svītras karodziņu uz patiess
Parsēšanas kļūda
Apskata nākamās tekstvienības
\ No newline at end of file +
Norāde tekstvienību sarakstā
Sekojošās tekstvienības
 atbilst jautājuma 
sākuma uzbūvei
Apskata nākamās tekstvienības
Jautājums un beigšanas pazīme - ir nākamais jautājums
Sekojošās tekstvienības
atbilst izvēles elementam
Sekojošās tekstvienības
atbilst secības elementam
Sekojošās tekstvienības
atbilst grupas elementam
Inicializē jautājuma veida karodziņus: secības, grupas, izvēles un beigšanas.
Izveido izvēles atbildes objektu, uzstāda izvēles karodziņu uz patiess
Grupas atbildes objekts
Sarakstā ir tekstvienības
Jautājums un beigšanas pazīme - nav nākamā jautājuma
Jautājumu veidu
karodziņi ir pretrunā
Izveido secības atbildes objektu, uzstāda secības karodziņu uz patiess
Izveido grupas atbildes objektu, uzstāda grupas karodziņu uz patiess
Grupas atbildes objekts
Grupas atbildes objekts
Izveido svītras atbildes objektu, uzstāda svītras karodziņu uz patiess
Parsēšanas kļūda
Apskata nākamās tekstvienības
Vairāki atbildes elementi neatbilst jautājuma veidam e.g., grupas elements secības jautājumā.
Karodziņi glabā informāciju par apskatāmo jautājumu
\ No newline at end of file diff --git a/docs/img/screens/cloc.png b/docs/img/screens/cloc.png new file mode 100644 index 0000000..bb55664 Binary files /dev/null and b/docs/img/screens/cloc.png differ diff --git a/docs/img/view_flow_diagram.svg b/docs/img/view_flow_diagram.svg new file mode 100644 index 0000000..bb72f25 --- /dev/null +++ b/docs/img/view_flow_diagram.svg @@ -0,0 +1,4 @@ + + + +
Amiņas kartīšu saraksta skats
Konfigurācijas skats
Atbildes jautājuma
skats
Izvēles jautājuma
skats
Secības jautājuma
skats
Grupēšanas
jautājuma skats
Apmācības skats
Redaktora skats
\ No newline at end of file diff --git a/docs/main.typst b/docs/main.typst index 97e72ed..8ecd62e 100644 --- a/docs/main.typst +++ b/docs/main.typst @@ -1296,7 +1296,7 @@ Process ir aprakstīts nākamā jautājuma noteikšanas aktivitātes diagrammā #pagebreak(weak: true) == Saskarnes projektējums -// TODO vai ir pēdējo mācīšanās laiku ar intervālu metodi +// TODO vai LIETOTNĒ ir pēdējais mācīšanās laiku ar INTERFĀ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 @@ -1307,8 +1307,27 @@ kartīšu failiem, kas tiek izmantoti organizēšanai. Atmiņas kartīšu saraks attēlo pagaidu atmiņas kartīšu glabātuves sarakstu. Katrai kartītei sarakstā var apskatīties atbildi, to rediģēt vai dzēst. +Konfigurācijas skats (skat. attēlu @fig:config-view), redaktora skats (skat +attēlu @fig:editor-view), un apmācības skats (skat. attēlu @fig:help-view) un +jautājumu skati (skat. attēlus +@fig:answer-question-view\-@fig:group-question-view) ir logi, kas ir atverami +no atmiņas kartīšu skata. Jautājumu skats tiek pārveidots uz citu jautājuma +veida skatu viena loga ietvaros. Katra skata logs var būt tikai vienā +eksemplārā, i.e., var tikt atvērts tikai viens katra veida logs vienas +lietotnes instances ietvaros. Ekrānskatu plūsma ir attēlota ekrānskatu plūsmas +diagrammā. + +//lietotnes TODO termin instance + +#figure( + caption: "Ekrānskatu plūsmas diagramma", + placement: auto, + image("img/view_flow_diagram.svg"), +) + + 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 +@fig:editor-view). 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 @@ -1329,14 +1348,15 @@ nav veiksmīga. caption: "Kartīšu redaktora skats", placement: auto, image("img/screens/question_editor.png"), -) +) // Overall 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. +viens no jautājumu skatiem. Jautājumu skati tiek rādīti pēc kārtas spiežot pogu +"Nākamais", 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 @@ -1376,9 +1396,12 @@ elementus pa grupām, pārbaudīt un parādīt pareizo atbildi. 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. +vērtību (skat. attēlu @fig:interval-answer). 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. Mācīšanas laiks un intervālu +atbildes tiek piefiksētas sesijas laikā pagaidu glabātuvē. Lai mācīšanās laiks +un pārtraukumi pēc norādītām atbildēm ir saglabāti pēc lietotāja pieprasījuma +spiežot uz "Saglabāt progresu". #figure( caption: "Intervāla atbildes izvēle", @@ -1410,16 +1433,11 @@ atmiņas kartīšanas definēšanu, kārtīšu pārvaldību, mācīšanos u.c. 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 +== Testēšanas apraksts + 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 @@ -1437,18 +1455,32 @@ 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. +gadījumiem ir aprakstīti tabulās @tbl:TG01\-TODO. Pamata testēšanas gadījumu +dokumentācija ir veidota izklājlapā. + +== Manuālā testēšana + +/* +#testcase-table( + "", + "TG00", + "", + [ + ], + [ + ], + [ + ], + [ + ], + "", +) +*/ #testcase-table( - [ - Dažāda veida jautājumu apstrāde - ], - [ - TG01 - ], - [ - Ir atvērta atmiņas bāze, ar testējamiem failiem. - ], + "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. ], @@ -1462,51 +1494,144 @@ gadījumiem ir aprakstīti tabulās @tbl:TG01\-TODO. [ Visi jautājumi ir pareizi atspoguļoti sarakstā -- parādās to sākums un atbildes elementi. ], - [ - OK - ], + "", ) + +#testcase-table( + "Transpilācijas kļūda parāda paziņojumu par kļūdu", + "TG02", + "", + [ + ], + [ + ], + [ + ], + [ + ], + "", +) + +#testcase-table( + "Jautājums tiek izdzēst tikai pagaidu glabātuvē", + "TG03", + "", + [ + ], + [ + ], + [ + ], + [ + ], + "", +) + +#testcase-table( + "Tiek pievienots viens jautājums", + "TG04", + "", + [ + ], + [ + ], + [ + ], + [ + ], + "", +) + +#testcase-table( + "Tiek pievienoti vairāki dažādu veidu jautājumi", + "TG05", + "", + [ + ], + [ + ], + [ + ], + [ + ], + "", +) + +#testcase-table( + "Tiek pievienoti vairāki dažādu veidu jautājumi", + "TG06", + "", + [ + ], + [ + ], + [ + ], + [ + ], + "", +) + // @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 -Projektu realizēja viens cilvēks. +== Projekta organizācijas apraksts + +Kvalifikācijas darba prasības nosaka, ka programmatūras produktu un +dokumentāciju izstrādā darba autors patstāvīgi. Projektam ir noteikts un +stingrs termiņš. Patstāvīga projekta veidošana atvieglo organizāciju, jo darbs +ir jāorganizē tikai vienam cilvēkam un nevar rasties komunikācijas problēmas. +Datu specifikācijas savākšana ir atvieglota, jo pasūtītājs šī darba ietvaros ir +darba autors. + +Programmatūras un dokumentācijas izstrāde bija veikta iteratīvi, pielietojot +spējo metodi. Izstrādes gaita tika sadalīta aptuvenās fāzēs: prototipēšana, +specifikācija izstrāde un testēšana. Fāzes aktivitātes nav ierobežotas tikai uz fāzei +atbilstošām aktivitātēm. Dokumentācijas veidošana bija veikta katras fāzes +ietvaros. + +== Prototipēšanas fāze + +== Specifikācijas un izstrādes fāze + +== Testēšanas fāze + +/* +# Questions +- Ko var pielikt saistībā ar programmatūras izstrādi -- bibliotēkas etc?; +*/ #pagebreak(weak: true) = Kvalitātes nodrošināšana -TODO - #pagebreak(weak: true) = Konfigurācijas pārvaldība -Pirmkods ir pārvaldīt, izmantojot konfigurācijas pārvaldības sistēmu "git". +Pirmkods ir pārvaldīts, 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 ? +mitināts, izmantojot "GitHub" platformu. Repozitorijā ir iekļauta dokumentācija +programmatūras pirmkods un tās konfigurācijas faili un uzbūvēšanas sistēmas +"CMake faili". #pagebreak(weak: true) = Darbietiplības novērtējums -TODO Show CLOC screenshot +Tā kā programmatūras produkts ir izstrādāts, darbietilpību novertēt, izmantojot +loģiskās koda rindiņu skaitu projektā. -#pagebreak(weak: true) -= Rezultāti - -TODO +#figure( + caption: "CLOC rīka rezultāts", + placement: auto, + image("img/screens/cloc.png"), +) #pagebreak(weak: true) = Secinājumi -TODO #pagebreak(weak: true) #heading(numbering: none, "Izmantotā literatūra un avoti")