Projekt

Obecné

Profil

« Předchozí | Další » 

Revize c0a2c21a

Přidáno uživatelem HarryHeres před téměř 2 roky(ů)

Updated folder structure

Zobrazit rozdíly:

doc/aswi/vize_produktu/doc.tex
14 14
\usepackage{subcaption}
15 15
\usepackage{listings}
16 16
\usepackage{color}
17
\usepackage[table]{xcolor}
18
\usepackage{array}
17 19
\hypersetup{
18 20
    colorlinks,
19 21
    citecolor=black,
......
130 132

  
131 133
\subsubsection{Externí}
132 134
\begin{itemize}
133
  \item Terapeuti
135
  \item Terapeuti pro pacienti s postižením CNS
134 136
  \item Pacienti s postižením CNS
135 137
\end{itemize}
136 138

  
137 139
\subsection{Popis uživatele}
138
\paragraph{} Uživatelem může být kdokoliv s připojením k internetu a počítačem s webovým prohlížečem.
140
\paragraph{} Uživatelem může být kdokoliv s připojením k internetu a zařízením s webovým prohlížečem.
141

  
142

  
143
\subsection{Popis uživatelského prostředí}
144
\paragraph{} Splnění úlohy provádí pacient sám.
145
Délka každé úlohy se liší v závislosti na pacientovi a samotné úloze.
146
Úlohy je možné plnit kdekoliv a kdykoliv.
147

  
148
\subsection{Požadavky stakeholderů}
149
\begin{center}
150
  \begin{tabular}{|| p{0.2\linewidth} | p{0.1\linewidth} | p{0.2\linewidth} | p{0.2\linewidth} | p{0.2\linewidth} ||}
151
    \hline \rowcolor{lightgray}
152
    Potřeba                                & Priorita & Obavy                                & Nynější řešení                       & Navržené řešení                                         \\
153
    \hline
154
    Nový design šablon                     & Vysoká   & Množství práce pro převedení šablony & Starý design                         & Nový design od Michala Horkého                          \\
155
    \hline
156
    Přechod na novější verzi Unity         & Vysoká   & Převod nenabídne žádné výhody        & Unity verze 2018                     & Unity verze 2022                                        \\
157
    \hline
158
    Řešení výkonnostních problémů aplikace & Střední  & Bottleneck bude neovlivnitelný       & Žádné                                & Přechod na novější verzi Unity                          \\
159
    \hline
160
    Vytvoření projektové dokumentace       & Nižší    & Žádné                                & Útržky z předchozích odborných prací & Dedikované dokumenty obsahující podrobný popis aplikace \\
161
    \hline
162
  \end{tabular}
163
\end{center}
164

  
165
\newpage
166
\section{Přehled produktu}
167

  
168
\subsection{Perspektiva produktu}
169
\paragraph{} Produkt v této chvíli nemá žádnou přímou komerční konkurenci.
170
Taktéž není závislý na žádných ostatních produktech, aplikacích či jiných systémech.
139 171

  
140 172

  
141 173
% \cite{Example}
doc/internal/assets/aswi_branches.drawio
1
<mxfile host="app.diagrams.net" modified="2023-02-27T18:57:08.934Z" agent="5.0 (X11)" etag="xBrTJXhf0yV0iBiW_cQ9" version="20.8.23" type="device"><diagram name="Page-1" id="c_o0WdvzdA73kFaHCeJq">5VnbUtswEP2aPLbjO8kjJKF0Cm2BzgB9U2zFVitbRlFu/fquY8l3kwC5TeAF60hay+fsrrRKx+yHiy8cxcEN8zDtGJq36JiDjmHomqXDvwRZSkR3jBTxOfEklgP35B9WUyU6JR6elAYKxqggcRl0WRRhV5QwxDmbl4eNGS2/NUY+rgH3LqJ19IF4IkjRrq3l+BUmfqDerGuyJ0RqsAQmAfLYvACZw47Z54yJ9Clc9DFN2FO8pPMuW3qzhXEciU0m3MbXV99uuw8/fvvPCPHL57vB9JMyM0N0Kr9YrlYsFQWcTSMPJ1a0jnkxD4jA9zFyk945qA5YIEIKLR0ex4TSPqOMr+aaHsLdsQv4RHD2Fxd6HLeLR2Po8TnyCHyD6otYhKWhe7kINBUMILlUzAVetJKgZ9SCU2IWYsGXMERNUGpIfzS6sj3PxbWVuEFBWFNNRNKh/Mx2zjk8SNpfIcEGCoAV8He8nv0tMGQ4ZYbMXgNDDQTZu+KnV6fDgxCVTcZFwHwWITrM0Yuyy+ZjrhmLJVV/sBBLmW+kfxWIBLL48rHYeEqMfbZVc7CQxtPWUrbStSYLfJl++B425S5+KTRltkPcx2Kd/9Tl5JgiQWbldWzfec2DqlMQ5KmkR7M6HpoEq/fqh5HKeqdUq6nnnKNlYUDMSCQmBcs/EyAPaEuvBLRd2Scq47P01zweHtIV5E6Tfcrb/cg4riRodu3jSoK6XufjQ2RBa8PQMg6ZBa3j8l7brG7hxme75r9Wg/9a9o4YsjdgKPLOkwM7tFyKJhPilokpezNeEPFYeC44JrRyv0waO3BLVYqsc0unWagN08jrNoa1md+pnmHTz5SzXtgSjIohq2oo5aFmaFu7g9PgPQ4VSZXAVut0s7rCeZ4mBRVobWqrvyLk+PL/au5IAXeYYgSxKXFY4qg6FrD0VQquOC8Eqyi7a7ngKRQ1FQhR4keJz4MPYsAvktAnUICey46QeB5tSxzloEiWWCixNK3X07Tt5BS9ciqwtPqO6DTVTbvaEc9afSIT7wZNEkobZT1K/bagExzfjkunbqtOHpkpPQZ4VpCp0HG6QpndIwsoleMLSv3CEEDeCWtgrL/r2K8G9TroaxhTHCZ8nbAQ1gaXTvsVor69fMdzAMYYiSmHs8Jl/w6aI44iNzhhYaqXB0ZdGL2pktidMk0byrtKibZTU9stU1YMv7v6fWtVe5jywX5r+WBZFUPafssHvdd6BslOhMMopTZOF/GRjozVk0h2AXio5GvUTyL1EN/jfUp2NFME6WcN9ylGA0VGdvHyCpKgmf8qmMZA/uOqOfwP</diagram></mxfile>
doc/internal/doc.tex
1
\documentclass[12pt, a4paper]{article}
2

  
3

  
4
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
%%-----------------------VYUŽITÉ PACKAGES----------------------------%%
6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
\usepackage[czech]{babel}
8
\usepackage{geometry}
9
\usepackage[final]{graphicx}
10
\usepackage{anyfontsize}
11
\usepackage{setspace}
12
\usepackage{hyperref}
13
\usepackage[T1]{fontenc}
14
\usepackage{subcaption}
15
\hypersetup{
16
    colorlinks,
17
    citecolor=black,
18
    filecolor=black,
19
    linkcolor=black,
20
    urlcolor=black
21
}
22

  
23
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24
%%-----------------------ZAČÁTEK VLASTNÍHO TEXTU---------------------------%%
25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26
\begin{document}
27

  
28
\begin{titlepage}
29
    \title{
30
        \vspace{-4cm}\hspace{-10cm}
31
        \includegraphics[width=8cm]{assets/logo.png} \\
32
        \vspace{5cm}
33
        \begingroup
34
        \setstretch{4}\fontsize{30}{10}\selectfont\fontdimen2\font=0.8ex
35
        \parbox{13.3cm}{
36
            \centering{\textbf{ASWI - Neurorehablitační systém BrainIn}\\
37
                \fontsize{24}{10}\selectfont\centering{{Interní týmové předpisy a dokumentace}}
38
            }}
39
        \endgroup}
40
    \date{}
41
    \author{}
42
    \maketitle \thispagestyle{empty}
43
    \vspace{3cm}
44
    \hspace{0cm}\parbox[b][5cm][b]{8cm}{{\setstretch{1.5}
45
                Autor: Bc. Jan Hereš\\
46
                Datum: 27.02.2023\\
47
                Poslední úprava: \today\\}}
48
\end{titlepage}
49
\newpage
50

  
51

  
52
\tableofcontents
53
\newpage
54

  
55
\section{Úvod}
56
\paragraph{} Tento dokument slouží jakožto analogie ,,interních směrnicí'' pro sjednocení a ustálení vývojových procesů napříč celým týmem.
57

  
58
\section{Interní management}
59
\paragraph{} V rámci řízení projektu bylo ustanoveno, že se tým bude \textbf{pravidelně} scházet v on-site/online formě každý týden (konkrétní den bude vždy určen s předstihem dle možností jednotlivých zúčastněných). V rámci těchto schůzek bude probrána odvedená a naplánovaná práce, případně jakákoliv nastávající problematika. Z těchto meetingů bude \textbf{vždy} vytvořen ,,záznam ze schůzky dne XXX'', který bude součástí dokumentu se všemi takovými záznamy.
60

  
61
\section{Verzovací systém Git}
62
\paragraph{} Tato sekce se týká verzovacího systému Git (potažmo repozitáře Gitlab).
63

  
64

  
65
\subsection{Tvorba vývojových větví (\textit{branches})}
66
\paragraph{} V rámci projektu existuje hlavní vývojová větev \textbf{master}.
67
V této větvi budou dostupné veškeré \textbf{funkční a otestované} verze projektu ve formě otagovaných \textbf{releases}.
68
Nadále bude existovat větev \textbf{development (dev)}, na které bude dostupná \textbf{poslední upravená, funkční a otestovaná}(na dev prostředí) verze, jež nebyla ještě otestována na produkčním prostředí.
69
Ve chvíli, kdy bude verze na development větvi otestována i na produkčním prostředí, může být vytvořen merge request do hlavní větve (za předpokladu, že jsou splněny všechny požadavky na novou verzi).
70
Pro nové \textit{features} nebo pro \textit{change requests} bude vždy vytvořena \textbf{nová} separátní větev z development větve.
71
Workflow mezi jednotlivými větvemi je vyobrazen na obrázku \ref{fig:branches_workflow}.
72

  
73
\begin{figure}[h]
74
    \centering
75
    \includegraphics[width=\linewidth]{assets/aswi_branches.png}
76
    \caption{Workflow mezi jednotlivými větvemi v rámci repozitáře}
77
    \label{fig:branches_workflow}
78
\end{figure}
79

  
80

  
81
\subsection{Tvorba a správa úkolů napříč používanými nástroji}
82

  
83
\subsubsection{Issues}
84
\paragraph{} Issue je základní plánovací jednotka v systému řízení projektu (zde konkrétně nástroj \textbf{Jira}).
85
Tato jednotka bude vždy svázána s konkrétní \textit{issue} na repozitáři Gitlab, tzn. v rámci \textit{issue} bude \textbf{vždy} k dispozici odkaz na danou \textit{issue} v repozitáři. Jejich vazba by tedy vždy měla být 1:1.
86

  
87
\subsubsection{Ticket}
88
\paragraph{} Ticket je běžný základní úkol.
89
V rámci každé issue bude k dispozici výčet všech podúkolů (\textit{task}) které je nutné v rámci daného ticketu splnit.
90
V rámci \textit{issue} bude taktéž možné specifikovat, zda-li úkol čeká na dokončení jiného, či naopak.
91

  
92
\subsubsection{Feature}
93
\paragraph{} Feature je typ \textit{issue} využívaný k označení implementace nové funkcionality do aplikace.
94

  
95
\subsubsection{Bug}
96
\paragraph{} Bug je typ, kterým se označují úkoly spojené s odstraněním nových vzniklých chyb během vývoje.
97

  
98
\subsubsection{Change request}
99
\paragraph{} Tímto type se označují úkoly, které jsou spojené se změnou nějaké již implementované funkcionality (feature), nicméně během vývoje došlo ke změnám priorit zákazníka a je potřeba tuto funkčnost upravit/změnit.
100

  
101
\subsubsection{Epic}
102
\paragraph{} Epicy jsou velké logické celky agregující jednotlivé, logicky spjaté \textit{issues}.
103
V rámci jedné iterace je možné mít naplánováno více Epiců a jeden Epic může být součástí více iterací.
104

  
105
\subsubsection{Obecná pravidla pro vytváření \textit{issues}}
106
\begin{itemize}
107
    \item Každá \textit{issue} bude obsahovat krátký, nicméně dostatečně deskriptivní popis, čeho konkrétně se týká
108
    \item Každá \textit{issue} bude \textbf{jednoznačně identifikovatelná} za pomocí tzv. \textbf{labelů} (specifikováno dále)
109
    \item Každá \textit{issue}, která bude v jiné, než \textbf{Backlog} fázi (specifikováno dále) bude \textbf{jednoznačně přiřazena} danému vývojáři (případně testerovi či zákazníkovi, bude-li třeba)
110
    \item Každá \textit{issue} bude označena jednou z možností \textbf{,,priority''} (viz dále)
111
    \item U každé issue, které je ve fázi ,,In progress'', či dále, by měl být stanoven časový odhad potřebné práce k dokončení.
112

  
113
\end{itemize}
114

  
115
\subsubsection{Možné fáze \textit{issues}}
116
\begin{itemize}
117
    \item Backlog - analogie s TODO
118
    \item In progress
119
    \item To test (dev) - testování \textbf{vždy provádí jiný vývojář(tester)!}
120
    \item Code review
121
    \item To deploy (dev) - funkcionalita implementována, nicméně je nutné funkční verzi \textit{deploynout} na testovací prostředí k umožnění testování
122
    \item To test (prod) - otestování na produkčním prostředí
123
    \item To deploy (prod) - končí schválením merge requestu do \textbf{masteru}
124
    \item Done - Issue hotova, uzavřena
125
\end{itemize}
126

  
127
\paragraph{} Poznámka: Ze stavu ,,To deploy (dev)'' lze přejít do stavu ,,Done'', pokud není žádoucí ovlivňovat produkční prostředí (zejména pro malé změny, které jsou součástí většího zásahu do projektu).
128

  
129

  
130
\paragraph{Typy issues}
131
\begin{itemize}
132
    \item Epic - velký logický blok, který obaluje novou funkcionalitu nebo velké množství úprav
133
    \item Feature - nová funkcionalita (zejména front-endové změny)
134
    \item Ticket - jakýkoliv další úkol, který implicitně není novou funkcionalitou, spíše například vytvoření obsáhlejší dokumentace, případně nových tříd či struktur
135
    \item Task - základní úkol (ideálně atomický); využití na rozdělení ticketu do menších podúkolů
136
    \item Bug - Chyba, kterou je nutno opravit
137
    \item Change request - vyžádaná změna od zákazníka/uživatele, která byla již dříve implementována
138
\end{itemize}
139

  
140
\paragraph{Typy priority}
141
\begin{itemize}
142
    \item \textbf{Lowest}
143
    \item \textbf{Low} - nevyžaduje velkou pozornost (příkladem mohou být nekritické části aplikace, ,,nice to have(s)''),
144
    \item \textbf{Medium} - vyžaduje vyšší míru pozornosti - již by neměly zůstávat nedokončeny v rámci přiřazené iterace (v krajních případech je možné posunout do další),
145
    \item \textbf{High} - vysoká priorita vyžadujicí privilegované řešení,
146
    \item \textbf{Highest (Severe)} - maximální důležitost - vyžaduje okamžité řešení (například v případech, kdy tyto problémy způsobují nestabilitu či přímo rozbíjí produkční prostředí)
147
\end{itemize}
148

  
149
\paragraph{} V rámci jakýchkoliv úkolů \textbf{není potřeba} vést časové údaje a odhady. Tato činnost bude probíhat v systému \textbf{Jira}.
150

  
151

  
152
\section{Aplikace pro řízení projektů - Jira}
153
\paragraph{} Pro účely předmětu ASWI bylo schváleno garantem předmětu doc.Ing. Přemyslem Bradou, MsC., Ph.D. a vedoucími projektu použití nástroje \textbf{Jira} pro správu vývoje a projektu.
154
Pro sjednocení vývojového procesu byl vytvořen následující projektový workflow:
155

  
156
\begin{figure}
157
    \centering
158
    \includegraphics[width=\linewidth]{assets/jira_workflow.png}
159
    \caption{Projektový workflow v systému Jira}
160
\end{figure}
161

  
162
\paragraph{} Poznámka: Je tedy zřejmé, že tento workflow přesně koreluje s navrženou stukturou repozitáře projektu.
163

  
164

  
165
% \cite{Example}
166

  
167

  
168
% \clearpage
169
% \section{Závěr}
170

  
171
% \newpage
172
% \bibliographystyle{unsrt}
173
% {\raggedright\small
174
% \bibliography{literatura}
175
% }
176

  
177
\end{document}
doc/internal/literatura.bib
1
@misc{Example,
2
    author = {Autor},
3
    key = {},
4
    title = {Název},
5
    year = {2022},
6
    howpublished = "Dostupné na \url{google.com}"
7
}
doc/internal/smernice/assets/aswi_branches.drawio
1
<mxfile host="app.diagrams.net" modified="2023-02-27T18:57:08.934Z" agent="5.0 (X11)" etag="xBrTJXhf0yV0iBiW_cQ9" version="20.8.23" type="device"><diagram name="Page-1" id="c_o0WdvzdA73kFaHCeJq">5VnbUtswEP2aPLbjO8kjJKF0Cm2BzgB9U2zFVitbRlFu/fquY8l3kwC5TeAF60hay+fsrrRKx+yHiy8cxcEN8zDtGJq36JiDjmHomqXDvwRZSkR3jBTxOfEklgP35B9WUyU6JR6elAYKxqggcRl0WRRhV5QwxDmbl4eNGS2/NUY+rgH3LqJ19IF4IkjRrq3l+BUmfqDerGuyJ0RqsAQmAfLYvACZw47Z54yJ9Clc9DFN2FO8pPMuW3qzhXEciU0m3MbXV99uuw8/fvvPCPHL57vB9JMyM0N0Kr9YrlYsFQWcTSMPJ1a0jnkxD4jA9zFyk945qA5YIEIKLR0ex4TSPqOMr+aaHsLdsQv4RHD2Fxd6HLeLR2Po8TnyCHyD6otYhKWhe7kINBUMILlUzAVetJKgZ9SCU2IWYsGXMERNUGpIfzS6sj3PxbWVuEFBWFNNRNKh/Mx2zjk8SNpfIcEGCoAV8He8nv0tMGQ4ZYbMXgNDDQTZu+KnV6fDgxCVTcZFwHwWITrM0Yuyy+ZjrhmLJVV/sBBLmW+kfxWIBLL48rHYeEqMfbZVc7CQxtPWUrbStSYLfJl++B425S5+KTRltkPcx2Kd/9Tl5JgiQWbldWzfec2DqlMQ5KmkR7M6HpoEq/fqh5HKeqdUq6nnnKNlYUDMSCQmBcs/EyAPaEuvBLRd2Scq47P01zweHtIV5E6Tfcrb/cg4riRodu3jSoK6XufjQ2RBa8PQMg6ZBa3j8l7brG7hxme75r9Wg/9a9o4YsjdgKPLOkwM7tFyKJhPilokpezNeEPFYeC44JrRyv0waO3BLVYqsc0unWagN08jrNoa1md+pnmHTz5SzXtgSjIohq2oo5aFmaFu7g9PgPQ4VSZXAVut0s7rCeZ4mBRVobWqrvyLk+PL/au5IAXeYYgSxKXFY4qg6FrD0VQquOC8Eqyi7a7ngKRQ1FQhR4keJz4MPYsAvktAnUICey46QeB5tSxzloEiWWCixNK3X07Tt5BS9ciqwtPqO6DTVTbvaEc9afSIT7wZNEkobZT1K/bagExzfjkunbqtOHpkpPQZ4VpCp0HG6QpndIwsoleMLSv3CEEDeCWtgrL/r2K8G9TroaxhTHCZ8nbAQ1gaXTvsVor69fMdzAMYYiSmHs8Jl/w6aI44iNzhhYaqXB0ZdGL2pktidMk0byrtKibZTU9stU1YMv7v6fWtVe5jywX5r+WBZFUPafssHvdd6BslOhMMopTZOF/GRjozVk0h2AXio5GvUTyL1EN/jfUp2NFME6WcN9ylGA0VGdvHyCpKgmf8qmMZA/uOqOfwP</diagram></mxfile>
doc/internal/smernice/doc.tex
1
\documentclass[12pt, a4paper]{article}
2

  
3

  
4
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
%%-----------------------VYUŽITÉ PACKAGES----------------------------%%
6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
\usepackage[czech]{babel}
8
\usepackage{geometry}
9
\usepackage[final]{graphicx}
10
\usepackage{anyfontsize}
11
\usepackage{setspace}
12
\usepackage{hyperref}
13
\usepackage[T1]{fontenc}
14
\usepackage{subcaption}
15
\hypersetup{
16
    colorlinks,
17
    citecolor=black,
18
    filecolor=black,
19
    linkcolor=black,
20
    urlcolor=black
21
}
22

  
23
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24
%%-----------------------ZAČÁTEK VLASTNÍHO TEXTU---------------------------%%
25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26
\begin{document}
27

  
28
\begin{titlepage}
29
    \title{
30
        \vspace{-4cm}\hspace{-10cm}
31
        \includegraphics[width=8cm]{assets/logo.png} \\
32
        \vspace{5cm}
33
        \begingroup
34
        \setstretch{4}\fontsize{30}{10}\selectfont\fontdimen2\font=0.8ex
35
        \parbox{13.3cm}{
36
            \centering{\textbf{ASWI - Neurorehablitační systém BrainIn}\\
37
                \fontsize{24}{10}\selectfont\centering{{Interní týmové předpisy a dokumentace}}
38
            }}
39
        \endgroup}
40
    \date{}
41
    \author{}
42
    \maketitle \thispagestyle{empty}
43
    \vspace{3cm}
44
    \hspace{0cm}\parbox[b][5cm][b]{8cm}{{\setstretch{1.5}
45
                Autor: Bc. Jan Hereš\\
46
                Datum: 27.02.2023\\
47
                Poslední úprava: \today\\}}
48
\end{titlepage}
49
\newpage
50

  
51

  
52
\tableofcontents
53
\newpage
54

  
55
\section{Úvod}
56
\paragraph{} Tento dokument slouží jakožto analogie ,,interních směrnicí'' pro sjednocení a ustálení vývojových procesů napříč celým týmem.
57

  
58
\section{Interní management}
59
\paragraph{} V rámci řízení projektu bylo ustanoveno, že se tým bude \textbf{pravidelně} scházet v on-site/online formě každý týden (konkrétní den bude vždy určen s předstihem dle možností jednotlivých zúčastněných). V rámci těchto schůzek bude probrána odvedená a naplánovaná práce, případně jakákoliv nastávající problematika. Z těchto meetingů bude \textbf{vždy} vytvořen ,,záznam ze schůzky dne XXX'', který bude součástí dokumentu se všemi takovými záznamy.
60

  
61
\section{Verzovací systém Git}
62
\paragraph{} Tato sekce se týká verzovacího systému Git (potažmo repozitáře Gitlab).
63

  
64

  
65
\subsection{Tvorba vývojových větví (\textit{branches})}
66
\paragraph{} V rámci projektu existuje hlavní vývojová větev \textbf{master}.
67
V této větvi budou dostupné veškeré \textbf{funkční a otestované} verze projektu ve formě otagovaných \textbf{releases}.
68
Nadále bude existovat větev \textbf{development (dev)}, na které bude dostupná \textbf{poslední upravená, funkční a otestovaná}(na dev prostředí) verze, jež nebyla ještě otestována na produkčním prostředí.
69
Ve chvíli, kdy bude verze na development větvi otestována i na produkčním prostředí, může být vytvořen merge request do hlavní větve (za předpokladu, že jsou splněny všechny požadavky na novou verzi).
70
Pro nové \textit{features} nebo pro \textit{change requests} bude vždy vytvořena \textbf{nová} separátní větev z development větve.
71
Workflow mezi jednotlivými větvemi je vyobrazen na obrázku \ref{fig:branches_workflow}.
72

  
73
\begin{figure}[h]
74
    \centering
75
    \includegraphics[width=\linewidth]{assets/aswi_branches.png}
76
    \caption{Workflow mezi jednotlivými větvemi v rámci repozitáře}
77
    \label{fig:branches_workflow}
78
\end{figure}
79

  
80

  
81
\subsection{Tvorba a správa úkolů napříč používanými nástroji}
82

  
83
\subsubsection{Issues}
84
\paragraph{} Issue je základní plánovací jednotka v systému řízení projektu (zde konkrétně nástroj \textbf{Jira}).
85
Tato jednotka bude vždy svázána s konkrétní \textit{issue} na repozitáři Gitlab, tzn. v rámci \textit{issue} bude \textbf{vždy} k dispozici odkaz na danou \textit{issue} v repozitáři. Jejich vazba by tedy vždy měla být 1:1.
86

  
87
\subsubsection{Ticket}
88
\paragraph{} Ticket je běžný základní úkol.
89
V rámci každé issue bude k dispozici výčet všech podúkolů (\textit{task}) které je nutné v rámci daného ticketu splnit.
90
V rámci \textit{issue} bude taktéž možné specifikovat, zda-li úkol čeká na dokončení jiného, či naopak.
91

  
92
\subsubsection{Feature}
93
\paragraph{} Feature je typ \textit{issue} využívaný k označení implementace nové funkcionality do aplikace.
94

  
95
\subsubsection{Bug}
96
\paragraph{} Bug je typ, kterým se označují úkoly spojené s odstraněním nových vzniklých chyb během vývoje.
97

  
98
\subsubsection{Change request}
99
\paragraph{} Tímto type se označují úkoly, které jsou spojené se změnou nějaké již implementované funkcionality (feature), nicméně během vývoje došlo ke změnám priorit zákazníka a je potřeba tuto funkčnost upravit/změnit.
100

  
101
\subsubsection{Epic}
102
\paragraph{} Epicy jsou velké logické celky agregující jednotlivé, logicky spjaté \textit{issues}.
103
V rámci jedné iterace je možné mít naplánováno více Epiců a jeden Epic může být součástí více iterací.
104

  
105
\subsubsection{Obecná pravidla pro vytváření \textit{issues}}
106
\begin{itemize}
107
    \item Každá \textit{issue} bude obsahovat krátký, nicméně dostatečně deskriptivní popis, čeho konkrétně se týká
108
    \item Každá \textit{issue} bude \textbf{jednoznačně identifikovatelná} za pomocí tzv. \textbf{labelů} (specifikováno dále)
109
    \item Každá \textit{issue}, která bude v jiné, než \textbf{Backlog} fázi (specifikováno dále) bude \textbf{jednoznačně přiřazena} danému vývojáři (případně testerovi či zákazníkovi, bude-li třeba)
110
    \item Každá \textit{issue} bude označena jednou z možností \textbf{,,priority''} (viz dále)
111
    \item U každé issue, které je ve fázi ,,In progress'', či dále, by měl být stanoven časový odhad potřebné práce k dokončení.
112

  
113
\end{itemize}
114

  
115
\subsubsection{Možné fáze \textit{issues}}
116
\begin{itemize}
117
    \item Backlog - analogie s TODO
118
    \item In progress
119
    \item To test (dev) - testování \textbf{vždy provádí jiný vývojář(tester)!}
120
    \item Code review
121
    \item To deploy (dev) - funkcionalita implementována, nicméně je nutné funkční verzi \textit{deploynout} na testovací prostředí k umožnění testování
122
    \item To test (prod) - otestování na produkčním prostředí
123
    \item To deploy (prod) - končí schválením merge requestu do \textbf{masteru}
124
    \item Done - Issue hotova, uzavřena
125
\end{itemize}
126

  
127
\paragraph{} Poznámka: Ze stavu ,,To deploy (dev)'' lze přejít do stavu ,,Done'', pokud není žádoucí ovlivňovat produkční prostředí (zejména pro malé změny, které jsou součástí většího zásahu do projektu).
128

  
129

  
130
\paragraph{Typy issues}
131
\begin{itemize}
132
    \item Epic - velký logický blok, který obaluje novou funkcionalitu nebo velké množství úprav
133
    \item Feature - nová funkcionalita (zejména front-endové změny)
134
    \item Ticket - jakýkoliv další úkol, který implicitně není novou funkcionalitou, spíše například vytvoření obsáhlejší dokumentace, případně nových tříd či struktur
135
    \item Task - základní úkol (ideálně atomický); využití na rozdělení ticketu do menších podúkolů
136
    \item Bug - Chyba, kterou je nutno opravit
137
    \item Change request - vyžádaná změna od zákazníka/uživatele, která byla již dříve implementována
138
\end{itemize}
139

  
140
\paragraph{Typy priority}
141
\begin{itemize}
142
    \item \textbf{Lowest}
143
    \item \textbf{Low} - nevyžaduje velkou pozornost (příkladem mohou být nekritické části aplikace, ,,nice to have(s)''),
144
    \item \textbf{Medium} - vyžaduje vyšší míru pozornosti - již by neměly zůstávat nedokončeny v rámci přiřazené iterace (v krajních případech je možné posunout do další),
145
    \item \textbf{High} - vysoká priorita vyžadujicí privilegované řešení,
146
    \item \textbf{Highest (Severe)} - maximální důležitost - vyžaduje okamžité řešení (například v případech, kdy tyto problémy způsobují nestabilitu či přímo rozbíjí produkční prostředí)
147
\end{itemize}
148

  
149
\paragraph{} V rámci jakýchkoliv úkolů \textbf{není potřeba} vést časové údaje a odhady. Tato činnost bude probíhat v systému \textbf{Jira}.
150

  
151

  
152
\section{Aplikace pro řízení projektů - Jira}
153
\paragraph{} Pro účely předmětu ASWI bylo schváleno garantem předmětu doc.Ing. Přemyslem Bradou, MsC., Ph.D. a vedoucími projektu použití nástroje \textbf{Jira} pro správu vývoje a projektu.
154
Pro sjednocení vývojového procesu byl vytvořen následující projektový workflow:
155

  
156
\begin{figure}
157
    \centering
158
    \includegraphics[width=\linewidth]{assets/jira_workflow.png}
159
    \caption{Projektový workflow v systému Jira}
160
\end{figure}
161

  
162
\paragraph{} Poznámka: Je tedy zřejmé, že tento workflow přesně koreluje s navrženou stukturou repozitáře projektu.
163

  
164

  
165
% \cite{Example}
166

  
167

  
168
% \clearpage
169
% \section{Závěr}
170

  
171
% \newpage
172
% \bibliographystyle{unsrt}
173
% {\raggedright\small
174
% \bibliography{literatura}
175
% }
176

  
177
\end{document}
doc/internal/smernice/literatura.bib
1
@misc{Example,
2
    author = {Autor},
3
    key = {},
4
    title = {Název},
5
    year = {2022},
6
    howpublished = "Dostupné na \url{google.com}"
7
}

Také k dispozici: Unified diff