Projekt

Obecné

Profil

Iterace 3 zadavatel dotazy 2 » Historie » Verze 4

Štěpán Faragula, 2025-04-01 09:55

1 1 Štěpán Faragula
h1. 3. iterace - Schůzka se zadavatelem ohledně technických dotazů 2
2
3
----
4
5
h3. Informace o schůzce
6
7
* *Datum: 1.4.2025* 
8
* *Čas: 10:00*
9
* *Forma: online přes Teams*
10
11
h3. Účastníci:
12
13
* Bc. Jakub Pavlíček, jpvlck@students.zcu.cz
14
* Bc. Štěpán Faragula, farag844@students.zcu.cz
15
16
h3. Poznámky ze schůzky
17
18
Zeptali jsme se na dotazy:
19 3 Štěpán Faragula
# Jak máme uložit data do tabulky <code>project</code>? Je <code>startDate</code> datum prvního commitu?
20
** Ano, <code>startDate</code> je datum prvního commitu.
21
** Ne každé ALM má svůj vlastní koncept pro startdate, máme vzít jakékoliv první datum čehokoliv (první commit / první změna v projektu čehokoliv)
22
*** <code>startDate</code> máme uložit na konci dolování až po tom, co budeme znát všechny <code>work_item</code> a <code>configuration</code>
23
*** Na konci vybereme položku s nejnižší hodnotou
24
# V tabulce <code>work_unit</code> je atribut <code>progress</code> nastavený na NOT NULL, jakou hodnotu zde máme nastavit pro GitHub pumpu?
25
** Máme nastavit 0, tak jak děláme teď
26
# Máme dodržovat strukturu dat v ukázkových datech? Např. že URL GitHub projektu končí koncovkou <code>.git</code> či název <code>project_instance</code> obsahuje i datum.
27
** Je to jedno, ale u Git pumpy to dává smysl, u GitHub pumpy to může být jinak
28
*** Dříve bylo nutné zadat .git kvůli knihovně JGit, protože to procházelo Git pumpou, když se repository muselo stáhnout na lokál
29
** Datum u <code>project_instance</code> = datum těžení (nemusíme vyplňovat, sloužilo pro debug, můžeme ignorovat)
30
# Můžeme v tabulce <code>project_instance</code> do atributu <code>description</code> dát text z About na GitHubu? Tento text je uložen v atributu <code>description</code> tabulky <code>project</code>, takže bychom ho ukládali i zde (tj. <code>project_instance.description</code> by byl stejný jako <code>project.description</code>).
31
** Může být v obojím
32
** Otázka, jestli dávat podle délky (nejdelší popis je správný), nebo appendovat -> víc detailnější
33
*** Na <code>description</code> nebude žádná analýza viset, jde spíš o orientační záznam a lepší vědět co nejvíce informací (appendování)
34 4 Štěpán Faragula
** <code>project_instance</code> může mít každá jiný název, u těch se vezme nejdelší možné jméno (dobrá heuristika, fungovalo dříve)
35 3 Štěpán Faragula
# V tabulce <code>role</code> jsou uloženy role (v případě GitHub repozitáře), které se nepoužívají, např. documenter, tester apod., máme je tedy také vždy vytvářet? Můžeme v GitHub pumpě mapovat roli <code>Contributor</code> na SPADe <code>Developer</code>?
36
** Ano, je to tam z důvodu, když se chtějí lidi po těžení přemapovat
37
*** Člověk reálně ví, jaké role zastává a měli bysme umožnit přemapování dat, když už budou v databázi a budou se nad nimi dělat analýzy
38
** I u ostatních enumů bysme měli vytvářet všechny
39
*** Dává smysl u stavů, resolutions
40
*** Priority nejspíše ne
41
** Contributor a developer dává smysl
42
# Máme počítat s tím, že Git pumpa se bude spouštět také na lokálním repozitáři, tj. bez zadaného URL?
43
** Není pro to rozumný usecase, i kdyby chtěl uživatel těžit na lokále, tak repozitář spíš zvěřejní online a vytěží
44
*** Důvod: na lokále jsou necommitované změny a ty nás nezajímají
45 1 Štěpán Faragula
# U Git pumpy, do jaké tabulky máme ukládat změny souborů (tj. smazán, přidán, upraven)? Co všechno by měla Git pumpa umět? Naše zatím umí dolovat: <code>Identity</code>, <code>Person</code>, <code>Commit</code>, <code>Tag</code>, <code>Branch</code>, <code>Project</code>, <code>ProjectInstance</code> a <code>ToolInstance</code>.
46 3 Štěpán Faragula
** work_item_change -> atribut name
47
** U čistě gitové pumpy není nic jiného co by se dalo těžit, takhle stačí
48
** Configuration person relation se dá najít přes parsování řádků na commit message
49
*** Lze se spoléhat na formát, kde je na konci commitu je "Reviewed by: ...", můžeme splitnout dvojtečkou a vzít člověka
50
# V GitHub pumpě, jak máme těžit tabulky <code>iteration</code>, <code>phase</code>, <code>milestone</code>? U <code>iteration</code> a <code>phase</code> jsou v ukázkových datech stejná data, proč? V <code>milestone</code> není nic, proč? Když GitHub milestone nemá žádný issues, máme milestone i tak těžit?
51
** Data u <code>phase</code> a <code>milestone</code> jsou stejné kvůli testům
52
** U těchto dvou položek je lepší je dávat do iterace, protože to více odpovídá skutečnému kontextu.
53
*** Vše dáme do iterace, zbytečné dávat data do obou
54
** Milestones neřešíme vůbec
55
*** Velmi zřídka se dá najít koncept v ALM který by jim odpovídal
56
*** Spíše odpovídá popisu na Wiki a to je moc složitý koncept těžení
57
*** Uživatel si dodefinuje sám
58
** Když github nemá issues, i tak to máme těžit, je to zajímavá informace 
59 1 Štěpán Faragula
# Když ukládáme časy do tabulek, máme vždy používat časová pásma těch akcí, nebo naše? Tj. <code>issue.createdAt() = "Mon Jun 01 19:10:43 CEST 2020"</code> -> <code>“2020-06-01T19:10:43Z"</code> s Timezone, nebo <code>"2020-06-01T17:10:43Z"</code> bez Timezone (tj. -2 hodiny).
60 3 Štěpán Faragula
** Bez timezone a vše máme převést na UTC
61
** Lidé mohou commitovat z různých timezone, takže je potřeba standarzidovat
62 1 Štěpán Faragula
# Jaký význam má relace mezi <code>work_item</code> a <code>configuration</code>?
63 3 Štěpán Faragula
** id w_i = id configuration
64
*** Relace 1:1
65
** configuration je jeden z typů work itemu (speciální typ work_item)
66
*** configuration je stejné rozšíření wor_itemu stejně jako je work_unit rozšíření work_itemu
67
*** configuration obená = změna ticketů/artefaktů
68
*** commited = worklog (kdy se vytvořil záznam, kdy se strávil ten čas, to může být i zpětně)
69
** v PDF je hierarchická struktura mezi configuration
70 2 Štěpán Faragula
71 1 Štěpán Faragula
----
72
73
Autor: Štěpán Faragula
74
Datum: 1.4.2025
75
Stav: hotový