2026. június 21., vasárnap

Mérnökinformatikai Rendszer Tervezése és Implementációja

Egy projekt tervezése
-------------------
class Feladat:
    def __init__(self, nev, becsult_ora, kesz_szazalek=0):
        self.nev = nev
        self.becsult_ora = becsult_ora
        self.kesz_szazalek = kesz_szazalek

    def allapot_frissites(self, uj_szazalek):
        self.kesz_szazalek = max(0, min(100, uj_szazalek))

    def __str__(self):
        return f"{self.nev:<30} | Becsült idő: {self.becsult_ora} óra | Készültség: {self.kesz_szazalek}%"


class ProjektTerv:
    def __init__(self, projekt_nev):
        self.projekt_nev = projekt_nev
        self.feladatok = []

    def feladat_hozzaadas(self, feladat):
        self.feladatok.append(feladat)
        print(f"Hozzáadva: {feladat.nev}")

    def ossz_munkaora(self):
        return sum(f.becsult_ora for f in self.feladatok)

    def projekt_keszultseg(self):
        if not self.feladatok:
            return 0.0
        osszegzett_suly = sum(f.becsult_ora for f in self.feladatok)
        if osszegzett_suly == 0:
            return 0.0
        aktualis_munka = sum(f.becsult_ora * (f.kesz_szazalek / 100) for f in self.feladatok)
        return (aktualis_munka / osszegzett_suly) * 100

    def jelentes(self):
        print("\n" + "="*50)
        print(f" PROJEKT TERV: {self.projekt_nev.upper()}")
        print("="*50)
        for feladat in self.feladatok:
            print(feladat)
        print("-"*50)
        print(f"Összes becsült idő: {self.ossz_munkaora()} óra")
        print(f"Projekt teljes készültsége: {self.projekt_keszultseg():.2f}%")
        print("="*50)


# --- Példa a használatra ---
if __name__ == "__main__":
    # Mérnökinformatikai projekt terv inicializálása
    mernok_projekt = ProjektTerv("Mérnökinformatikai Rendszer Tervezése és Implementációja")

    # Fázisok és mérföldkövek felvétele (név, becsült óraszám, készültség)
    mernok_projekt.feladat_hozzaadas(Feladat("Követelményanalízis és specifikáció", 20, 100))
    mernok_projekt.feladat_hozzaadas(Feladat("Adatbázis és architektúra tervezés", 35, 80))
    mernok_projekt.feladat_hozzaadas(Feladat("Backend és API fejlesztés", 60, 45))
    mernok_projekt.feladat_hozzaadas(Feladat("Frontend implementáció", 40, 10))
    mernok_projekt.feladat_hozzaadas(Feladat("Tesztelés és dokumentáció", 25, 0))

    # Állapot frissítése pl. haladás miatt
    mernok_projekt.feladatok[2].allapot_frissites(60) # Backend fejlesztés most 60%-on áll

    # Projekt státusz lekérdezése
    mernok_projekt.jelentes()
................................
Hozzáadva: Követelményanalízis és specifikáció
Hozzáadva: Adatbázis és architektúra tervezés
Hozzáadva: Backend és API fejlesztés
Hozzáadva: Frontend implementáció
Hozzáadva: Tesztelés és dokumentáció

==================================================
 PROJEKT TERV: MÉRNÖKINFORMATIKAI RENDSZER TERVEZÉSE ÉS IMPLEMENTÁCIÓJA
==================================================
Követelményanalízis és specifikáció | Becsült idő: 20 óra | Készültség: 100%
Adatbázis és architektúra tervezés | Becsült idő: 35 óra | Készültség: 80%
Backend és API fejlesztés      | Becsült idő: 60 óra | Készültség: 60%
Frontend implementáció         | Becsült idő: 40 óra | Készültség: 10%
Tesztelés és dokumentáció      | Becsült idő: 25 óra | Készültség: 0%
--------------------------------------------------
Összes becsült idő: 180 óra
Projekt teljes készültsége: 48.89%
==================================================
Ready


Nincsenek megjegyzések:

Megjegyzés küldése