Szerkesztés alatt!
Az oldal további része szerkesztés alatt áll, a tartalma minden további értesítés nélkül többször, gyakran, jelentősen megváltozhat!
Projektmunka¶
A hivatalos Projektmunka forrás a közös CooSpace színtér newsboardja!
Ez az oldal szerkesztés alatt áll. Próbáljuk lekövetni a CooSpace közös gyakorlati színterének hírei közé felpakolt információkat, de ha eltérés van, akkor a CooSpace színtér számít hivatalos forrásnak.
A félév során mindenkinek egyénileg végig kell vinnie egy projektmunkát. A projektmunka során a Generatív Mesterséges Intelligencia a gyakorlat AI policy-jével összhangban használható.
1. mérföldkő: MS1: Saját GitLab projekt létrehozása
Határidő: 2026.03.15 (vasárnap) 23:59
Maximális elérhető pontszám: 6
Az 1. mérföldkő feladatai:
- Készíts saját projektet a GitLab-on a tantárgy SDP26-SzoftverfejlesztesiFolyamatok csoportja alatt a saját kurzusodnak fenntartott
SDP26-IN1017LA-%alcsoportban (ahol a%helyére a saját csoportod számát írod),SDP26-hxxxxxxnéven (ahol ahxxxxxxhelyére a sajáth-s azonosítódat írod). A projekt URL neve (slug)SDP26-hxxxxxxalakú legyen. - A saját
SDP26-hxxxxxxnevű projektedben vedd fel az alábbi mérföldköveket (milestone):- "MS1: Saját GitLab projekt létrehozása" (határidő: 2026.03.15.)
- "MS2: Projekt és tervezett funkciók kiválasztása és dokumentálása" (határidő: 2026.03.29.)
- "MS3: Tervezett funkciók megvalósítása" (határidő: 2026.04.26.)
- "MS4: Tesztelés, hibajavítás" (határidő: 2026.05.03.)
- "MS5: CI rendszer beüzemelése" (határidő: 2026.05.10.)
- "MS6: Bemutató videó a projektről" (határidő: 2026.05.10.)
- A projektedben hozz létre cimkéket (label) az issue-k állapotának kezelésére! Készíts legalább egy "To Do" és egy "Doing" cimkét!
- A projektben hozz létre "Projekt létrehozása" issue-t! Az issue-t rendeld hozzá a korábban létrehozott MS1-es mérföldkőhöz! Magadhoz is rendeld hozzá az issue-t! Ezután zárd le az issue-t (hiszen készen van).
- Szintén hozz létre egy-egy issue-t a következőkről, és rendeld őket magadhoz illetve a megfelelő mérföldkőhöz (ha van megfelelő mérföldkő).
Ezeket az issue-kat még nem kell lezárni, hiszen nincsenek készen:
- "Gyakorlati projekt kiválasztása."
- "Fejlesztési feladatok kiválasztása a választott gyakorlati projekthez."
- "A projektfeladatok dokumentálása GitLab-on."
- Zárd le az MS1-es mérföldkövet.
Mire jár pont?
- A megfelelő alcsoportban megfelelő névvel és URL-lel létrejött a GitLab projekt.
- A projektben definiálva lett 6 milestone, megfelelő névvel és határidővel.
- A projektben van egy "To Do" és egy "Doing" nevű cimke.
- A projektben van legalább 4 issue:
- Egy "Projekt létrehozása" nevű, amely az MS1-es milestone-hoz és a projekt létrehozójához/tulajdonosához van rendelve, és le van zárva.
- Három másik, megfelelő nevekkel, az MS2-es milestone-hoz és a projekt létrehozójához/tulajdonosához rendelve, és nincsenek lezárva.
- Az MS1-es milestone le van zárva (úgy, hogy minden hozzá rendelt issue is le van zárva).
Lehetséges hibák
- A megadott csoportban a hallgatónak nincs projektje. Ebben az esetben a további pontok feltételei sem ellenőrizhetőek!
- A hallgatónak a megadott csoportban van ugyan projektje, de a projekt adatai (név, slug) nem megfelelőek.
- Nincsenek mérföldkövek.
- 6-nál több mérföldkő van.
- A meglévő mérföldkövek nevei nem egyeznek a megadottakkal.
- A meglévő helyes nevű mérföldkövek határidejei egyenként nem egyeznek a megadottakkal.
- A projektben nincs "To Do" és/vagy "Doing" cimke.
- A projektben nincs "Projekt létrehozása" nevű issue.
- Az issue nincs hozzárendelve a megfelelő mérföldkőhöz.
- Az issue nincs hozzárendelve a megfelelő felhasználóhoz.
- Az issue nincs lezárva.
- A projektben nincs "Gyakorlati projekt kiválasztása.", "Fejlesztési feladatok kiválasztása a választott gyakorlati projekthez." és/vagy "A projektfeladatok dokumentálása GitLab-on." nevű issue.
- Az adott issue nincs hozzárendelve a megfelelő mérföldkőhöz.
- Az adott issue nincs hozzárendelve a megfelelő felhasználóhoz.
- Az adott issue le van zárva már ezen a ponton.
2. mérföldkő: MS2: Projekt és tervezett funkciók kiválasztása és dokumentálása
Határidő: 2026.03.29 (vasárnap) 23:59
Maximális elérhető pontszám: 12
Előfeltétel: saját projekt OWNER jogokkal
- Létezik a GitLab-on a tantárgy SDP26-SzoftverfejlesztesiFolyamatok csoportja alatt a saját kurzusodnak fenntartott
SDP26-IN1017LA-%alcsoportban (ahol a%helyére a saját csoportod számát írod) egy általad létrehozottSDP26-hxxxxxxnevű (ahol ahxxxxxxhelyére a sajáth-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- Ebben a projektben OWNER jogaid vannak.
Nincs OWNER jogod a projekten
Kérd meg a gyakorlatvezetődet, hogy adjon neked OWNER jogokat a saját projektedhez!
A 2. mérföldkő feladatai:
- Nézd át a CooSpace-en a közös gyakorlati színtérben publikált projekteket és projektmunka feature-listákat, majd válassz két feature-t, amit meg kell majd valósítanod az adott projektben! A két feature ugyanannak a projektnek a két feature-e kell, hogy legyen! A feature-ökre jelentkezni a CooSpace-en a saját gyakorlatod színterében található Projektmunka és Feature Választás nevű jelentkezés/csoportbontás típusú eszközön keresztül kell.
- Ha készen vagy a projekt kiválasztásával, zárd le a korábbi "Gyakorlati projekt kiválasztása." issue-t.
- Ha készen vagy a fejlesztési feladatok kiválasztásával, zárd le a korábbi "Fejlesztési feladatok kiválasztása a választott gyakorlati projekthez." issue-t.
- A saját projektedben készíts egy új issue-t "Alap projekt feltöltése." címmel, rendeld ezt magadhoz és az MS2 mérföldkőhöz. Az issue határidejének add meg a mérföldkő határidejét (2026.03.29).
- Töltsd le a CooSpace közös gyakorlati színtéréből a kiválasztott projekted forráskódját! Ezt fel kell töltened a saját repository-d main branch-ére.
- A saját repository-d main branch-ében töltsd ki a
README.mdfájlt a hiányzó adatokkal (és ne a CooSpace-re feltöltött program README.md-jét használd)! - Rakj egy Release-MS2 nevű tag-et a main branch aktuális kommitjára, és a tag-et push-old is fel a központi Git repóba! Ellenőrzésnél az ezzel a tag-gel ellátott commit-ot fogjuk vizsgálni a második mérföldkővel kapcsolatban.
- Zárd le az "Alap projekt feltöltése." issue-t.
- Hozz létre két új issue-t. Mindkettő a "Feature-megvalósítás: [feature-neve]" címmel szerepeljen, ahol a [feature-neve] helyett a választott feature nevét írod be (ahogy azok a CooSpace jelentkezésben is szerepelnek). Az issue-kat rendeld az MS3 mérföldkőhöz, és a határidejük legyen a mérföldkő határideje (2026.04.26).
- Zárd le a korábbi "A projektfeladatok dokumentálása GitLab-on." című issue-t.
- A két új issue-hoz hozz létre egy-egy új merge request-et a GitLab felületen keresztül (ezáltal egy-egy branch is létrejön default névvel, ami az issue azonosító számával kezdődik. A két merge request-hez rendeld hozzá magadat assignee-ként, és a gyakorlatvezetődet reviewer-ként, és rendeld őket az MS3 mérföldkőhöz. A két új merge request-et egyelőre hagyd Draft állapotban. Figyelj arra, hogy a két merge request / branch létrehozása között ne csinálj semmit a Git-ben (a Git és a GitLab nem ugyanaz!), azért, hogy a két branch ugyanabból a commit-ból ágazzon ki!
- Zárd le az MS2 mérföldkövet!
Mire jár pont?
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez.
- Van "Gyakorlati projekt kiválasztása." issue és le van zárva.
- Van "Alap projekt feltöltése." issue, megfelelő emberhez és mérföldkőhöz rendelve, megfelelő határidővel, és le van zárva.
- A git repository main branch-e tartalmazza a projekt fájljait.
- A git repository main branch-ében a
README.mdmegfelelő módon van kitöltve. - Léteznek a "Feature-megvalósítás - ..." issue-k, megfelelő mérföldkőhöz rendelve, megfelelő határidővel, és nyitott állapotban.
- Van "A projektfeladatok dokumentálása GitLab-on." issue és le van zárva.
- Léteznek a feature issue-khoz a megfelelő branch-ek.
- Létezik a két merge request:
- az MS3-hoz rendelve,
- össze vannak kötve a megfelelő branch-ekkel és issue-kkal,
- hozzád vannak rendelve,
- a reviewer a gyakorlatvezetőd, és
- mindkettő draft.
- Az MS2 létezik, és le van zárva.
Lehetséges hibák
- Nem létezik, vagy nem beazonosítható a projekt.
- Az 1. mérföldkő szükséges elemei (milestones, issues) nem, vagy nem beazonosítható módon készültek el.
- Két külön projekt issue-i lettek kiválasztva. (Ebben az esetben egyik sem lesz értékelve!)
- A választott feature-ökből nem a megadott névvel készült issue.
- A vizsgált issue-k
- állapota nem megfelelő,
- határideje nem megfelelő,
- mérföldköve nem megfelelő,
- hozzárendelése nem megfelelő.
- Nincs, vagy nem beazonosítható a merge request.
- A merge request
- nincs mérföldkőhöz rendelve,
- nincs összekötve a megfelelő issue-val,
- nem a megfelelő branch-hez tartozik,
- nincs hozzád rendelve,
- nincs a gyakorlatvezetőhöz, mint reviewer-hez rendelve,
- nem draft.
- Az MS1 és MS2 nincs lezárva, vagy a többi mérföldkő le van zárva.
- A Git-ben nincs main branch.
- Nincs Release-MS2 tag a központi Git repóban (ha csak lokálisan létezik, az nem elég).
- A két fejlesztési branch nem a Release-MS2 tag-gel ellátott commit-ból ágazik ki.
- Az alap projekt nem a main-re lett feltöltve.
- A main nem az alapprojektet és a megfelelően kiegészített
README.md-t tartalmazza.
3. mérföldkő: MS3: Tervezett funkciók megvalósítása
Határidő: 2026.04.26 (vasárnap) 23:59
Maximális elérhető pontszám: 18
Előfeltétel: kiválasztott és dokumentált feature-ök
- Létezik a GitLab-on a tantárgy SDP26-SzoftverfejlesztesiFolyamatok csoportja alatt a saját kurzusodnak fenntartott
SDP26-IN1017LA-%alcsoportban (ahol a%helyére a saját csoportod számát írod) egy általad létrehozottSDP26-hxxxxxxnevű (ahol ahxxxxxxhelyére a sajáth-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez, és ehhez léteznek a megfelelő issue-k, merge request-ek.
Nem választottál feature-öket
Ha nincs választott feature, akkor nincs mire pontot adni.
Nincs a feature-ökhöz tartozó issue
Ha nem dokumentáltad a feature-öket, akkor nem tudunk mit ellenőrizni.
A 3. mérföldkő feladatai:
-
A 2. mérföldkőben a két feature issue-hoz készítettél egy-egy (akkor még draft) merge request-et, amelyekhez kapcsolódik egy-egy branch is. A megfelelő feature fejlesztéseket ezekben a branch-ekben kell megvalósítani, külön-külön, mindegyiket a saját branchében. A feature-ök fejlesztése a mérföldkő során lezárul. A következő mérföldkőben majd a tesztelés eredménye alapján ugyan lehet még hibát javítani, de a két feature-nek -- ha nem is tökéletesen, de -- ebben a mérföldkőben el kell készülnie. A feature-t a mérföldkő szempontjából akkor tekintjük késznek, ha a program futtatható, és a feature -- ha apróbb hibákkal vagy megkötésekkel is, de -- használható. A feature-ök megvalósítása során TILOS a teljes refaktorálás. A feature megvalósítása nem a teljes program átírását vagy nulláról induló újbóli megalkotását, hanem a kiegészítését jelenti. A program meglévő elemeihez csak olyan mértékben szabad hozzányúlni, hogy az új feature-ök a programba beköthetők, beilleszthetők legyenek (olyan mértékben viszont hozzá is kell nyúlni). A teljes refaktorálás, átírás nem megengedett!
-
A feature-ök elkészülte után a hozzá tartozó merge request-ekről vedd le a draft jelzőt, és a branch-eket merge-eld be a main-be! Ezt megteheted "egyesével" rögtön az adott feature elkészülte után, vagy akár "egyszerre", amikor mindkettő készen van; de arra figyelj, hogy a két feature-t a két, korábban létrehozott branch-en külön-külön kell elkészíteni! Nem tilos a másik feature megvalósítását az egyik merge-elése után elkezdeni, amíg erre a másik feature fejlesztésére korábban létrehozott branch-et használod, amit szintén nem tilos az érdemi munkát megelőzően a main-nel szinkronizálni. Figyelj arra, hogy a merge során se a "squash commits", se a "delete source branch" NE legyen bekapcsolva! (Ha mindent jól csináltál, akkor ezek nem számítanak, de ha valamit elrontottál, akkor értékes információt tartalmazhatnak és részpontokat érhetnek.) Ha nem a GitLab-on keresztül, hanem "kézzel" merge-elsz, akkor figyelj arra, hogy a branch egy merge commit-tal kerüljön be a main-be, és NE fast forward merge-et használj! (Utóbbi esetben nem fog látszani a main-től különböző branch-ben való fejlesztés.) A merge-ek során/után az adott branch-eket NE töröld! Ha valamelyik merge során conflict van, azt természetesen fel kell oldani.
-
A két merge után immáron a main branch-en lévő két feature-nek nem csak külön-külön, de együtt/egymás mellett is működnie kell! Ha esetleg a második feature merge-elése után kiderülne, hogy ez nem így van, akkor a hiba egy main-től különböző branch-en javítható (ami lehet akár valamelyik feature branch is, ha még megvannak), és a javítás a main-be mergelhető.
-
Rakj egy Release-MS3 nevű tag-et a main branch aktuális kommitjára! Ez egy olyan merge commit kellene, hogy legyen, amiben már mindkét feature meg van valósítva és azok együtt/egymás mellett is működnek. Ellenőrzésnél az ezzel a tag-gel ellátott commit-ot fogjuk vizsgálni a harmadik mérföldkővel kapcsolatban.
-
Egy feature sikeres merge-elése és main-ben való elérhetősége után le kell zárnod az előző mérföldkő során létrehozott, az adott feature-höz tartozó issue-t is ("Feature-megvalósítás: [feature sorszáma és neve]")! Ha jól használtad a GitLab felületet, akkor az a merge után a megre request lezárásával együtt automatikusan megtörténik.
-
Zárd le az MS3 mérföldkövet!
-
Hozz létre két új issue-t, "Tesztelés: [feature sorszáma és neve]" címmel, ahol a [feature sorszáma és neve] helyett a választott feature nevét írod be (ahogy a Coospace jelentkezésben és a korábbi issue címben is szerepelnek)! Rendeld hozzá saját magadat a két új issue-hoz, és rendeld a két issue-t az MS4 mérföldkőhöz! A két issue határideje legyen 2025.04.20! Merge request-et szabad, de nem kötelező ezekhez létrehozni, és akár egy közös branch-en is meg lehet valósítani a teszteket, de az nem lehet a main!
-
Bár a teszteket a 4. mérföldkőhöz kapcsoltuk, ha a fejlesztés közben teszteket is készítesz, az nem hiba. A 4. mérföldkőnek az ehhez kapcsolódó releváns kritériuma mindössze annyi lesz, hogy ne a main branch-en készüljenek ezek a tesztek. Így az adott feature-öket akár megírás után rögtön tesztelhetjük is, ez nem fog pontlevonással járni. A tesztek ugyanúgy bekerülhetnek a main branch-be a feature branch-ekről már ezen a ponton, mint egy későbbi, a 4. mérföldkő végéig elkészülő kifejezetten tesztelős/hibajavítós branch-ről.
Mire jár pont?
- Van merge commit (legalább kettő, a két feature branch-hez).
- A megfelelő merge request és issue le van zárva.
- A feature a megfelelő szinten meg van valósítva, a program futtatható, az új feature használható.
- A két feature együtt/egymás mellett is megfelelően működik.
- Létezik a két tesztelős issue, megfelelő névvel, határidővel, mérföldkőhöz és felhasználóhoz rendelve.
- MS3 le van zárva.
Lehetséges hibák
- Az MS1 és MS2 mérföldkövekhez kapcsolódó "eredmények" nem léteznek, pl. nincs, vagy nem megfelelő nevű a projekt, nincs választott feature, nincs merge request, branch, issue. Ez esetben az MS3 mérföldkő egyes részei, vagy akár az egésze, nem értékelhető.
- Nincs, vagy rossz helyen van a Release-MS3 nevű tag.
- Nincs merge commit, a mergelés fast forward-dal történt, vagy eleve a main-en lett megvalósítva a feature.
- A feature nem megfelelő szinten lett megvalósítva.
- A program nem fut.
- A programban nem lehet legalább két teljes kört lejátszani, mert még az előtt minden esetben elszáll.
- A két feature külön-külön igen, de együtt/egymás mellett nem működik.
- Hiányzik a két tesztelős issue, vagy nem megfelelő beállításokkal létezik.
Pontozás
Az első két mérföldkő pontozása viszonylag mechanikus volt: jól meghatározott feladatok, amiket nagyjából egyféleképpen lehetett jól megcsinálni. Ebben a mérföldkőben viszont már vannak olyan részek, amikben eléggé kreatív tudsz lenni. A merge-elés, issue és merge request lezárása persze most is egyértelműen ellenőrizhető, de a feature megvalósítása már nem, ott sok mérlegelnivaló van. Éppen ezért erre a mérföldkőre különösen igaz, hogy a projekt személyes bemutatása során a mérföldkőre adott pontszámot a gyakorlatvezető jelentősen módosíthatja!
4. mérföldkő: MS4: Tesztelés, hibajavítás
Határidő: 2026.05.03 (vasárnap) 23:59
Maximális elérhető pontszám: 18
Előfeltétel: megvalósított feature-ök
- Létezik a GitLab-on a tantárgy SDP26-SzoftverfejlesztesiFolyamatok csoportja alatt a saját kurzusodnak fenntartott
SDP26-IN1017LA-%alcsoportban (ahol a%helyére a saját csoportod számát írod) egy általad létrehozottSDP26-hxxxxxxnevű (ahol ahxxxxxxhelyére a sajáth-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez, és ehhez léteznek a megfelelő teszt issue-k.
Nem választottál feature-öket
Ha nincs választott feature, akkor nincs mire pontot adni.
Nincs teszt issue
Ha nincs teszt issue, akkor nem tudunk mit ellenőrizni.
- A két választott feature meg lett valósítva.
A két feature nem lett megvalósítva
Bár léteznek úgynevezett test first fejlesztési módszertanok (pl. Test Driven Development, Behaviour Driven Development), amikor a teszteknek a megvalósított program nélkül is lehet értéke, itt most a "megvalósított szoftver nélkül nincs mit tesztelni" elvet követjük, ha tehát nincs megvalósított feature, akkor a teszt sem fog pontot érni.
A 4. mérföldkő feladatai:
- Az előző mérföldkő során létrehoztál egy-egy issue-t a két megvalósított feature-höz. Ezek neve "Tesztelés: [feature sorszáma és neve]" címmel, ahol a [feature sorszáma és neve] helyett a választott feature nevét írod be (ahogy a CooSpace jelentkezésben és a korábbi issue címben is szerepelnek). A megvalósítandó teszteket ezekhez az issue-khoz dokumentáld le, markdown formátumban írd be szabadszöveges módon, hogy miket tesztelsz, felsorolva a teszteseteket, és leírva, hogy miket próbálnak letesztelni a működésben. Ha már a fejlesztés során (vagy korábban) létrehoztad ezeket a teszteseteket, az nem hiba, de akkor is le kell őket dokumentálni!
- Mindkét megvalósított feature-höz valósíts meg legalább 3-3 tesztesetet! Ezek nem kell, hogy a teljes feature-t teszteljék, lehetnek a feature-ben résztvevő függvények tesztjei is (amennyiben a feature modularizált ennyire), de mindenképpen olyan függvényekhez írj tesztet, amit te készítettél vagy módosítottál! A 3-3 darab teszteset a minimum, nem tilos ennél többet elkészíteni.
- A tesztek elnevezése utaljon arra, hogy milyen részfunkciót ellenőriznek, melyik függvényt tesztelik, és ténylegesen ellenőrizzék, hogy az adott részfunkció megfelelően működik!
- A tesztek elkészítése során feltárt programhibákat ki lehet javítani a teszt (vagy egy külön) branch-en.
- A teszteseteket meg lehet valósítani az egyes teszt issue-khoz létrehozott merge request-ekhez tartozó külön branch-ekben, vagy egy közös branch-ben, de akár a korábbi feature branch-eken is (ha azokat még nem törölted). A fő kritérium, hogy NE közvetlenül a main branch-en dolgozz!
- A tesztelés módja (milyen eseteket vizsgálsz meg, mennyire releváns értékeket, edge case-eket választasz) rád van bízva, azonban valóban a megfelelő működést kell mérnie. Ezt a 6. mérföldkő bemutatója során ellenőrizni fogjuk, és a tesztelés minősége, alapossága utólag különösen kihathat a végső pontszámra. A bemutató során a tesztek lesznek leginkább fókuszban, ezért különösen figyel rá, hogy ezek tényleg relevánsak legyenek, meg tudd indokolni, hogy miért hasznosak.
- Az elkészített teszteket merge-eld be a main-be, és bizonyosodj meg róla, hogy ezek a main-ben is lefutnak! Az, hogy hány külön branch-ben készíted el a teszteket (a józan ész határain belül) nem számít. Ha a merge már korábban, esetleg a feature-rel együtt megtörtént, az sem baj. A kapcsolódó merge request-eket zárd le! Figyelj arra, hogy a merge során se a "squash commits", se a "delete source branch" NE legyen bekapcsolva! (Ha mindent jól csináltál, akkor ezek nem számítanak, de ha valamit elrontottál, akkor értékes információt tartalmazhatnak és részpontokat érhetnek.) Ha nem a GitLab-on keresztül, hanem "kézzel" merge-elsz, akkor figyelj arra, hogy a branch egy merge commit-tal kerüljön be a main-be, és NE fast forward merge-et használj! (Utóbbi esetben nem fog látszani a main-től különböző branch-ben való fejlesztés.) A merge-ek során/után az adott branch-eket NE töröld!
- Rakj egy Release-MS4 nevű tag-et a main branch aktuális kommitjára! Ez egy olyan merge commit kellene, hogy legyen, amiben már mindkét feature tesztjei benne vannak. Ellenőrzésnél az ezzel a tag-gel ellátott commit-ot fogjuk vizsgálni a negyedik mérföldkővel kapcsolatban.
- Zárd le a két feature teszt issue-t!
- Hozz létre egy új issue-t "Continuous integration megvalósítása" címmel! Ezt rendeld az MS5 mérföldkőhöz és magadhoz. A határideje legyen vasárnap!
- Zárd le az MS4 mérföldkövet!
Mire jár pont?
- A tesztek a megfelelő issue-kban dokumentálva vannak.
- A tesztek megfelelően meg vannak valósítva.
- A tesztek merge commit-(ok)on keresztül kerültek be a main-be.
- A megfelelő teszt issue le van zárva.
- Létezik a CI issue, megfelelő beállításokkal.
- MS4 le van zárva.
Lehetséges hibák
- A tesztek nincsenek dokumentálva a teszt issue-kban.
- A tesztek nincsenek megvalósítva.
- A teszt dokumnetáció és megvalósítás nincs összhangban.
- A tesztek nem külön branch-ről kerültek a main-be (vagy legalábbis ez nem bizonyítható fast forward merge miatt).
- A teszt issue-k nincsenek lezárva.
- Nem létezik a CI issue, vagy rosszak a beállításai.
- MS4 nincs zárva.
Pontozás
A harmadik mérföldkőhöz hasonlóan ebben a mérföldkőben is viszonylag nagy tere van a kreativitásnak. A merge-elés, issue és merge request lezárása persze most is egyértelműen ellenőrizhető, de a tesztek megvalósítása már nem, ott sok mérlegelnivaló van. Éppen ezért erre a mérföldkőre is különösen igaz, hogy a projekt személyes bemutatása során a mérföldkőre adott pontszámot a gyakorlatvezető jelentősen módosíthatja!
5. mérföldkő: MS5: CI rendszer beüzemelése
Határidő: 2026.05.10 (vasárnap) 23:59
Maximális elérhető pontszám: 6
Előfeltétel: megvalósított feature-ök
- Létezik a GitLab-on a tantárgy SDP26-SzoftverfejlesztesiFolyamatok csoportja alatt a saját kurzusodnak fenntartott
SDP26-IN1017LA-%alcsoportban (ahol a%helyére a saját csoportod számát írod) egy általad létrehozottSDP26-hxxxxxxnevű (ahol ahxxxxxxhelyére a sajáth-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni.
Nincs általad létrehozott ilyen projekt
Ha nincs ilyen projekted a GitLab-on, akkor nem tudunk mit ellenőrízni, és nem tudunk mire pontot adni.
- A CooSpace-en választottál két feature-t ugyanahhoz a projekthez, és ehhez léteznek a megfelelő teszt issue-k.
Nem választottál feature-öket
Ha nincs választott feature, akkor nincs mire pontot adni.
Nincs teszt issue
Ha nincs teszt issue, akkor nem tudunk mit ellenőrizni.
- A két választott feature meg lett valósítva.
A két feature nem lett megvalósítva
Bár léteznek úgynevezett test first fejlesztési módszertanok (pl. Test Driven Development, Behaviour Driven Development), amikor a teszteknek a megvalósított program nélkül is lehet értéke, itt most a "megvalósított szoftver nélkül nincs mit tesztelni" elvet követjük, ha tehát nincs megvalósított feature, akkor a teszt sem fog pontot érni.
- A két választott feature-höz létezik legalább 3-3, egységteszt keretrendszerrel futtatható teszteset.
A két feature-höz nincsenek tesztek
A mérföldkő feladata a tesztesetek CI módon történő automatikus futtatása lesz. Ha nincs mit futtatni, nincs értelme a mérföldkőnek.
Az 5. mérföldkő feladatai:
- Az előző mérföldkő során létrehoztál legalább 3-3 tesztesetet a két megvalósított feature-höz, amelyek a megfelelő egységteszt keretrendszerrel futtathatók. A CI pipeline ezeket a teszteket fogja lefuttatni, és jelez, ha valamelyik nem fut megfelelően. Ezt minden módosítás után megteszi.
- A pipeline rendelkezzen két stage-el, amik a két megvalósított feature-t reprezentálják. A sorrendjük rád van bízva, a nevük legyen "feature-1" és "feature-2".
- A stage-ekben az elkészített teszteket külön job-okként vedd fel, az egyik feature tesztjei az egyik stage-hez, a másiké a másik stage-hez tartozzanak! A job-ok elnevezése tükrözze azt, hogy mit tesztel az általa használt teszteset, azaz legyen egyértelmű, hogy mit akarnak tesztelni! Amennyiben logikai függés áll fenn két teszt között (pl. ha az egyik elbukik, akkor a másik is biztosan el fog), beállíthatsz függést (needs vagy dependencies), ám ez nem kötelező.
- Minden job rendelkezzen a "test" tag-gel, ez fogja neki kijelölni a megfelelő runnert, ami a gyakorlati csoportban rendelkezésre áll! Határidő-közeli feltöltéseknél figyelj rá, hogy a runnert valószínűleg ekkor több tíz vagy száz hallgatótársad is használni akarja, így eltarthat egy darabig, mire kikerül a stage-ünk pending állapotból! Ezt vedd figyelembe munkád megtervezésekor, nehogy emiatt kerülj csúszásba!
- A tesztek közül legalább az egyiknek készíts artifact-ot is, amely egy log fájl lesz! Ez tartalmazhatja a teszt kimenetét, vagy tetszőleges, a teszt eredményét tükröző szöveget. Az artifact megőrzési ideje legyen 2 hétre állítva!
- Ha a pipeline valami hibát jelez, javítsd ezt -- a hibás kód vagy hibás teszt módosításával --, ám ha történt ilyen utólagos módosítás, a bemutatón erről be kell majd számolni!
- Rakj egy Release-MS5 nevű tag-et a main branch aktuális kommitjára! Ez egy olyan commit kellene, hogy legyen, amiben a CI már futtatja a teszteket. Ellenőrzésnél az ezzel a tag-gel ellátott commit-ot fogjuk vizsgálni az ötödik mérföldkővel kapcsolatban.
- Zárd le a "Continuous integration megvalósítása" című issue-t!
- Hozz létre egy új issue-t "Bemutató videó készítése" címmel! Ezt rendeld az MS6 mérföldkőhöz és magadhoz!
- Zárd le az MS5 mérföldkövet!
Mire jár pont?
Lehetséges hibák
6. mérföldkő: MS6: Bemutató videó a projektről
Határidő: 2026.05.10, 23:59
Maximális elérhető pontszám: bináris értékelés
Előfeltétel: a projektmunka mind az 5 korábbi mérföldkövéhez tartozó feladatok elvégzése
- Létezik a GitLab-on a tantárgy SDP26-SzoftverfejlesztesiFolyamatok csoportja alatt a saját kurzusodnak fenntartott
SDP26-IN1017LA-%alcsoportban (ahol a%helyére a saját csoportod számát írod) egy általad létrehozottSDP26-hxxxxxxnevű (ahol ahxxxxxxhelyére a sajáth-s azonosítódat írod) projekt. A továbbiakban erre a "saját projekt" néven, a hozzá tartozó Git repository-ra pedig a "saját repository" néven fogunk hivatkozni. - A saját projektedben meg van valósítva két általad választott feature, ezekhez létezik legalább 3-3 egységteszt, melyeket a CI automatikusan lefuttat a projekt minden változtatásakor.
A 6. mérföldkő feladatai:
- Videó készítése:
- Készíteni kell egy maximum 5 perces screen capture videót, saját hangalámondással, amelyben bemutatod az elkészített szoftvert és teszteket.
- Ismertest a projektet és a két választott feature-t. Ezt megteheted a GitLab issue-k bemutatásával.
- Mutasd be a fejlesztés menetét, vagyis, hogy milyen branch-eid és commit-jaid voltak. (Az nem baj, ha a branch-ek már törölve lettek -- az előző mérföldkövekben le lettek ellenőrizve --, ha a commit history-t gráfként mutatod meg, abból látszik, hogyan fejlesztettél.)
- A videóban látszódjon, hogy a main branch-ben dolgozol, azt mutatod be.
- Mutasd be, hogyam működik a két megvalósított feature a program futása közben (futtasd a programot, használd a feature-öket, és közben mondd, hogy mit csinálsz).
- Mutasd be a két feature megvalósítását. Nyitsd meg a forráskódot, mutasd be a két feature kódját, illetve, hogy hogyan kötötted be őket a meglévő szoftverbe. Ha volt érdekesebb rész, amin többet kellett gondolkodnod, ahol esetleg több alternatívád is lett volna, vagy amiről úgy érzed, hogy különösen jól, ötletesen sikerült megoldanod, térj ki rá.
- Mutasd be a tesztjeidet amik a két új feature-t tesztelik. Magyarázd el, mi volt a teszt célja, miért ezeket a teszteket készítetted el, és hogyan tesztelik a feature-t. Futtasd is le a teszteket.
- A videót úgy kell készíteni, mintha a reviewer ismerné ugyan a feladatot, de most látná először a megvalósításodat.
- A videót töltsd fel a YouTube-ra nem nyilvános (unlisted) videóként, majd a linket a megadott módon juttasd el a gyakorlatvezetőnek.
- Ha kész, akkor zárd le a korábban létrehozott "Bemutató videó készítése" issue-t!
- Zárd le az MS6 mérföldkövet!
Mire figyel a gyakorlatvezető?
- A szoftver megvalósításának mértékére.
- A tesztek megfelelőségére.
- A Git megfelelő használatára (branch-ek, merge-ek).
- Saját munka: az önmagában nem baj -- és sok esetben nem is ellenőrizhető --, ha a feladatok megoldásához segítséget vettél igénybe, de bármit használsz is a projekt megvalósítása során, értened kell, hogy az mire való, mire jó, miért van ott, és azt a videóban érdemes el is magyarázni. Ha a gyakorlatvezető úgy érzi, hogy a bemutatás hiányos (egyes fontosabb részek kimaradtak, nincsenek, vagy hibásan vannak elmagyarázva), a megoldás túl komplex (az eddigi egyetemi kurzusokon még nem oktatott, bonyolultabb megoldásokat alkalmaz), akkor valószínűleg be fog hívni védésre. (Aki saját maga tud az eddig oktatott ismereteket meghalasó kódot írni, annak a védésen nincs semmi félnivalója.)
Lehetséges hibák
- A Git-ben található állapot és a GitLab nincs összhangban.
- A szoftver valójában nem lett kifejlesztve.
- A tesztek nem megfelelő minőségűek.
- A kód nem felel meg a gyakorlaton alkalmazott AI policy-nek.
- A projekt teljes átírása: az eredeti projektet nem újra kell írni, hanem ki kell egészíteni; nyilván lesznek az eredeti kódban is módosítandó részek, de csak azt szabad módosítani, ami az új funkciók megfelelő megvalósításához szükséges, az egyéb kód átírása (pl. azonosítók neveinek szisztematikus átírása) rossz gyakorlat, és felettébb gyanús is!