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