Projekt

Obecné

Profil

Vize » Historie » Verze 24

Štěpán Faragula, 2025-03-18 21:43
Přesunutí analýzy rizik do samostatného artefaktu

1 21 Štěpán Faragula
h1. Vize projektu
2 1 Milan Janoch
3 17 Štěpán Faragula
---
4 1 Milan Janoch
5 21 Štěpán Faragula
h2. Kontext
6 17 Štěpán Faragula
7
Na Katedře informatiky a výpočetní techniky Západočeské univerzivy v Plzni (KIV ZČU) je dlouhodově vyvíjen systém SPADe (Software Process Anti-Pattern Detector), jehož cílem je detekovat tzv. "bad practices" (nebo anti-patterny) vedení softwarových projektů. SPADe je komplexní systém, který agreguje a analyzuje data z různých nástrojů pro správu životního cyklu projektů (ALM, Application Lifecycle Management), jako jsou např. GitHub a Redmine.
8
9
Důležitou vlastností systému SPADe je jeho generický přístup k ALM nástrojům. Systém nerozlišuje mezi jednotlivými nástroji, ale zaměřuje se výhradně na obsah těchto nástrojů. Na základě získaných dat pak provádí analýzu, jejímž cílem je odhalit objektivní problémy v řízení softwarového projektu a navrhnout vhodná opatření pro jejich řešení.
10
11 18 Štěpán Faragula
Data projektů jsou uložená v datovém skladu SPADe, který má pevně definovanou strukturu. Aby však bylo možné tato data analyzovat, je nutné je do skladu nejprve dostat. Z tohoto důvodu systém SPADe chce využít tzv. datové pumpy, které budou sloužit jako most mezi ALM nástroji a datovým skladem, kterým se budou data importovat. 
12 17 Štěpán Faragula
13 1 Milan Janoch
h2. Cíle
14
15 8 Štěpán Faragula
* *Implementace datových pump* pro dolování dat z ALM nástrojů (např. Jira, Git, GitLab).
16 17 Štěpán Faragula
* *Zajištění kompatibility* datových pump s již definovaným modelem *modelu SPADe*.
17 20 Štěpán Faragula
* *Navrhnutí kvalitní architektury* s vysokou abstrakcí a *podrobnou dokumentací* v anglickém jazyce (programátorská, uživatelská).
18 17 Štěpán Faragula
* *Use case* (nejlépe prostřednictvím GUI).
19
# Dotáhnutí dat z projektu (z něhož budeme data dolovat) do SPADe databáze.
20
# Smazat projekt z DB včetně všech náležitostí.
21
# Nahrát změny v projektu (nové věci + update starých).
22 8 Štěpán Faragula
23 21 Štěpán Faragula
h2. Přínosy
24 8 Štěpán Faragula
25
* Automatizovaná extrakce dat z různých ALM nástrojů do jednotného formátu.
26 5 Milan Janoch
* Možnost efektivní analýzy projektových dat v modelu SPADe.
27 22 Štěpán Faragula
* Snadná rozšiřitelnost pump o další ALM nástroje díky modulární architektuře.
28 1 Milan Janoch
* Zlepšení projektového řízení na základě historických dat a identifikace anti-patternů.
29
30
----
31
32 22 Štěpán Faragula
h2. Stakeholders
33 1 Milan Janoch
34 23 Štěpán Faragula
* *Zadavatel*
35
** Ing. Petr Pícha, ppicha@ntis.zcu.cz
36
37
* *Mentor*
38
** doc. Ing. Přemysl Brada, MSc., Ph.D., brada@kiv.zcu.cz
39
40 22 Štěpán Faragula
* *Vývojový tým*
41 1 Milan Janoch
** Bc. Milan Janoch, janochmi@students.zcu.cz
42 22 Štěpán Faragula
** Bc. Jakub Pavlíček, jpvlck@students.zcu.cz
43
** Bc. František Urban, furban@students.zcu.cz
44 1 Milan Janoch
** Bc. Jakub Homolka, homolka7@students.zcu.cz
45 22 Štěpán Faragula
** Bc. Jan Vandlíček, vandl@students.zcu.cz
46
** Bc. Štěpán Faragula, farag844@students.zcu.cz
47 1 Milan Janoch
48 22 Štěpán Faragula
* *Uživatelé systému SPADe*
49
** Zadavatel
50
** Výzkumníci či vývojáři, kteří budou dolovaná data analyzovat
51 2 Milan Janoch
52 22 Štěpán Faragula
* *Vlastníci ALM repozitářů*
53
** Uživatelé platforem GitLab, Jira, GitHub, Redmine aj.
54 4 Milan Janoch
55 22 Štěpán Faragula
* *Online servery, kde jsou repozitáře hostovány*
56
** GitLab Cloud 
57
** GitHub Cloud
58
** Atlassian Cloud (Jira)
59 2 Milan Janoch
60
----
61
62 22 Štěpán Faragula
h2. Používané technologie
63 2 Milan Janoch
64 22 Štěpán Faragula
h3. Předpoklady
65 6 Milan Janoch
66 22 Štěpán Faragula
* Správně navržená architektura systému SPADe.
67
* Data z ALM repozitářů jsou dostupná prostřednictvím online API.
68 6 Milan Janoch
69 22 Štěpán Faragula
h3. Omezení
70 8 Štěpán Faragula
71 22 Štěpán Faragula
* Struktura dat v systému SPADe je pevně definována.
72
* Databáze musí běžet na MySQL.
73 7 Milan Janoch
74 22 Štěpán Faragula
h3. Závislosti
75 7 Milan Janoch
76 22 Štěpán Faragula
* *Správa projektu*
77
** GitLab
78
** Redmine
79 14 Štěpán Faragula
80 22 Štěpán Faragula
* *Programovací jazyky, frameworky, build*
81
** Java 23
82
** Maven
83
** SpringBoot
84
** React
85 14 Štěpán Faragula
86 22 Štěpán Faragula
* *Databáze*
87
** MySQL
88 14 Štěpán Faragula
89 22 Štěpán Faragula
* *Kontejnerizace*
90
** Docker
91 14 Štěpán Faragula
92
----
93
94 1 Milan Janoch
Autor: Milan Janoch + Štěpán Faragula
95
Datum: 15.3.2025
96
Stav: čeká na potvrzení zadavatelem