Étel Projektterv 2020

1. Összefoglaló

nagymacska, cica

2. Verziók

kutya

Verzió Szerző(k) Dátum Státusz Megjegyzés
0.1 Teszt Elek 2020-XX-XX Tervezet Legelső verzió
0.2 Remek Elek, Ebéd Elek 2020-XX-XX Előterjesztés A projekt menedzsere jónak találta
1.0 Lev Elek 2020-XX-XX Elfogadott Apróbb átszervezések
1.1 Hot Elek 2020-XX-XX Tervezet képernyőtervek, személyes felelősségek bevezetése
1.2 Hot Elek 2020-XX-XX Előterjesztés II. mérföldkő további módosításai
2.0 Ebéd Elek 2020-XX-XX Elfogadott Módosított változat véglegesítése

Státusz osztályozás:

  • Tervezet: befejezetlen dokumentum
  • Előterjesztés: a projekt menedzser bírálatával
  • Elfogadott: a megrendelő által elfogadva

3. A projekt bemutatása

Ez a projektterv a MINTA projektet mutatja be, mely 2020-XX-XX-től 2020-XX-XX-igtart. A projekt célja

A megvalósítás további általános leírása, pl. mennyi főből áll a csapat, mennyi átadandó lesz a megrendelőnek a félév során.(4-6 mondat)

3.1. Rendszerspecifikáció

Ide írd le részletesen, hogy mit fog tudni a rendszer (funkcionalitás, célok), amit a projekt keretében megvalósítotok. Mik a megrendelő és a felhasználók igényei? Miért van szükség a projektre? (4-6 mondat)

3.2. Funkcionális követelmények

  • Ide kerülnek a rendszerrel szemben támasztott funkcionális igények: mit kell a rendszernek tudnia (elegendő felsorolni)

3.3. Nem funkcionális követelmények

  • A rendszer nem funkcionális követelményei, pl.: milyen környezetben fusson, milyen teljesítményt kell produkálnia, milyen megjelenéssel kell rendelkeznie (elegendő felsorolni)

4. Költség- és erőforrás-szükségletek

Az erőforrásigényünk összesen kb. X személynap.

A rendelkezésünkre áll összesenYpont.

(Becsült sarokszámok, a rendelkezésre álló erőforrás fejenként általában 18-21 személynap, a pontok száma = fejenként a projektre kapható maxpont * tagok száma)

5. Szervezeti felépítés és felelősségmegosztás

A projekt megrendelője Gyakorlatvezető. A MINTA projektet a projektcsapat fogja végrehajtani, amely

itt lehet részletezni pl. a tagok szakmai tapasztalatait (4-6 mondat)

5.1 Projektcsapat

A projekt a következő emberekből áll:

Nem csak az adott egység felelősének feladata az adott részegység elkészítése, pl. a mérföldkövekhez tartozó prezentációt mindenki szerkesztheti, de elvárható, hogy a prezentációért felelős tag adja elő.

Név E-mail cím (stud-os)
Megrendelő Dr. Kertész Attila keratt@inf.u-szeged.hu
Projekt menedzser Tarnai Bence h880886@stud.u-szeged.hu
Adatbázisért és adatkapcsolatokért felelős
Felhasználói felületekért felelős
A rendszer működési logikájáért felelős
Dokumentációért felelős
Prezentációért felelős
Projekt tag

6. A munka feltételei

6.1. Munkakörnyezet

A projekt a következő munkaállomásokat fogja használni a munka során:

  • Milyen és hány gépet használ a projekt, milyen OS-t használ, milyen szoftverkörnyezetben, stb.

6.2. Rizikómenedzsment

  • Rizikótényező (hatás): (Leírni, hogy mit jelent, megbecsülni a bekövetkezési valószínűségét (alacsony, közepes, magas) és a hatását (kis, közepes és nagy) pl. betegség, szoftver-hardver probléma, tag kiesése, stb..)

7. Jelentések

7.1. Munka menedzsment

A munkát xyz koordinálja…

Ki menedzseli a munkát (általában a projekt menedzser). Le kell írni, hogy milyen módon, mik a feladatai, és azokat hogyan hajtja végre.

7.2. Csoportgyűlések

A projekt hetente ülésezik, hogy megvitassák az azt megelőző hét problémáit, ill. megbeszéljék a következő hét feladatait. A megbeszélésről minden esetben MEMO készül (ezt itt kell vezetni a félév végéig), mely tartalmazza a következőket: jelenlévők listája, megbeszélés helye és ideje, megbeszélt tevékenységek, felmerült kérdések, igények, azaz hogy betekintést kapjunk hogyan szerveződnek, zajlanak a csoportgyűlések)

7.3. Minőségbiztosítás

Az elkészült terveket a terveken nem dolgozó csapattársak közül átnézik, hogy megfelel-e a specifikációnak és az egyes diagramtípusok összhangban vannak-e egymással. A meglévő rendszerünk helyes működését a prototípusok bemutatása előtt a tesztelési dokumentumban leírtak végrehajtása alapján ellenőrizzük és összevetjük a specifikációval, hogy az elvárt eredményt kapjuk-e. További tesztelési lehetőségek: unit tesztek írása az egyes modulokhoz vagy a kód közös átnézése (code review) egy, a vizsgált modul programozásában nem résztvevő csapattaggal. Szoftverünk minőségét a végső leadás előtt javítani kell a rendszerünkre lefuttatott kódelemzés során kapott metrikaértékek és szabálysértések figyelembevételével. Az alábbi lehetőségek vannak a szoftver megfelelő minőségének biztosítására:

  • Specifikáció és tervek átnézése (kötelező)
  • Teszttervek végrehajtása (kötelező)
  • Unit tesztek írása (választható)
  • Kód átnézése (választható)

7.4. Átadás, eredmények elfogadása

A projekt eredményeit Gyakorlatvezető fogja elfogadni. A projektterven változásokat csak Gyakorlatvezető írásos kérés esetén Gyakorlatvezetőengedélyével lehet tenni. A projekt eredményesnek bizonyul, ha specifikáció helyes és határidőn belül készül el. Az esetleges késések pontlevonást eredményeznek. Az elfogadás feltételeire és beadás formájára vonatkozó részletes leírás Kertész Attila fő gyakorlatvezető honlapján olvasható.

7.5. Státuszjelentés

Minden leadásnál a projektmenedzser jelentést tesz a projekt haladásáról, és ha szükséges változásokat indítványoz a projektterven. Ezen kívül a megrendelő felszólítására a menedzser 3 munkanapon belül köteles leadni a jelentést. A gyakorlatvezetővel folytatott csapatmegbeszéléseken a megadott sablon alapján emlékeztetőt készít a csapat, amit a következő megbeszélésen áttekintenek és felmérik az eredményeket és teendőket. Továbbá gazdálkodnak az erőforrásokkal és szükség esetén a megrendelővel egyeztetnek a projektterv módosításáról.

8. A munka tartalma

8.1. Tervezett szoftverfolyamat modell és architektúra

Milyen szoftverfolyamat modellt követve állítja elő a csapat a specifikációnak megfelelő prototípusokat? Miért ezt választja? (gyakorlatvezetővel megbeszélve) A gyakorlatvezetővel egyeztetve a csapat milyen architektúrát választ a projekt megvalósításához? Milyen nyelven? Milyen rétegek (logikai, adat, GUI)?

8.2. Átadandók és határidők

A főbb átadandók és határidők a projekt időtartama alatt a következők:

D - dokumentáció, P - prototíus

Szállítandó Neve Határideje
D1 Projektterv és útmutató 2020-XX-XX
P1+D2 UML és adatbázis tervek és bemutató 2020-XX-XX
P1+D3 Prototípus I. és bemutató 2020-XX-XX
P2+D4 Prototípus Ii. és bemutató 2020-XX-XX

9. Feladatlista

A MINTA projekt 2019. szeptember 02-án indult. A következőkben a tervezett feladatok részletes összefoglalása található:

9.1. Projektterv (1. mérföldkő)

Ennek a feladatnak az a célja, hogy

9.1.1. Projektterv kitöltése

Felelős: Mindenki

Tartam: 7 nap

Erőforrásigény: 5 személynap

9.1.2. Bemutató elkészítése

A mérföldkőhöz tartozó feladatok bemutatása PPT keretében, pl. feladat, tagok, Gantt diagram

Felelős: Hot Elek

Tartam: 2 nap

Erőforrásigény: 1 személynap

9.2. UML és adatbázis tervek (2. mérföldkő)

Ennek a feladatnak az a célja, hogy

Részfeladatai a következők:

9.2.1. Use Case diagram

Felelős: Teszt Elek

Tartam: 5 nap

Erőforrásigény: 3 személynap

9.2.2. Class diagram

Felelős: Lev Elek

Tartam: 6 nap

Erőforrásigény: 4 személynap

9.2.3. Sequence diagram

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.2.4. Egyed-kapcsolat diagram adatbázishoz

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.2.5. Package diagram

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.2.6. Képernyőtervek

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.2.7. Bemutató elkészítése

A mérföldkőhöz tartozó feladatok bemutatása PPT keretében

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.3. Prototípus I. (3. mérföldkő)

Ennek a feladatnak az a célja, hogy

Részfeladatai a következők:

9.3.1. Bejelentkezési felület frontend

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.3.1. Bejelentkezési felület backend

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.3.1. Adatbázis feltöltése tesztadatokkal

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.3.2. Tesztelési dokumentum

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.3.3. Bemutató elkészítése

A prototípust kell bemutatni lokális gépen

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.4. Prototípus II. (4. mérföldkő)

Ennek a feladatnak az a célja, hogy

Részfeladatai a következők:

9.4.1. Dokumentációk, tervek az új funkciókhoz

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.4.2. Javított minőségű prototípus új funkciókkal

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.4.3. Tesztelési dokumentum az új funkciókhoz

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

9.4.4. Bemutató elkészítése

A prototípust kell bemutatni az AWS szolgáltatásán

Felelős: ..

Tartam: .. nap

Erőforrásigény: .. személynap

10. Részletes időbeosztás

Ide kell berakni a Gantt diagramot, amely a 9. fejezetben található részfeladatokat tartalmazza felelős/tartam bontásban

11. Projekt költségvetés

11.1. Részletes erőforrásigény (személynap)

(Az egyes leadások alkalmával rögzített erőforrásigényt kell beírni minden emberre külön-külön.)

Név 1. leadás - Projektterv 2. leadás - UML és adatbázis 3. leadás - Prototípus I. 4. leadás - Prototípus II. Összesen
Teszt Elek 2 4 7 6 19
X X X X X X
X X X X X X
X X X X X X
X X X X X X

11.2. Részletes feladszámok

(Az egyes leadások alkalmával teljesíthető feladatok számát kell beírni minden emberre külön-külön.)

Név 1. leadás - Projektterv 2. leadás - UML és adatbázis 3. leadás - Prototípus I. 4. leadás - Prototípus II. Összesen
Teszt Elek 1 2 6 4 13
X X X X X X
X X X X X X
X X X X X X
X X X X X X

11.3. Részletes költségvetés

(Az egyes leadások alkalmával teljesíthető pontszámot kell beírni minden emberre külön-külön.)

Név 1. leadás - Projektterv 2. leadás - UML és adatbázis 3. leadás - Prototípus I. 4. leadás - Prototípus II. Összesen
Min. és max. kapható pontszám 4-8 pont 10-28 pont 14-28 pont 14-28 pont 70
X X X X X 70
X X X X X 70
X X X X X 70
X X X X X 70
X X X X X 70

11.4. Átvétel

A projektet a megrendelő a következő eredménnyel vette át:

Név 1. leadás - Projektterv 2. leadás - UML és adatbázis 3. leadás - Prototípus I. 4. leadás - Prototípus II. Összesen

Szeged, `2020-XX-XX.

          Az átadó részéről           Az átvevő részéről

Gyakran Ismételt Kérdések --> ezt is kell törölni az I. mérföldkő leadása előtt!

I. Már az 1. mérföldkő leadásakor ki kell tölteni a teljes feladatlistát?

Igen, előre ki kell tölteni, a 4. mérföldkőig. A 3-4 mérföldkő esetén a prototípusokat további alfeladatokra is fel kell bontani, azok felelőseit is meghatározni, időtartamukat megbecsülni.

II. Honnan tudjuk, hogy mikor mit fogunk csinálni két hónapra előre?

Ideális esetben a projekt nem magától készül el, így nem csak úgy jönnek a feladatok, hanem Ti tervezitek meg, hogy mit kell csinálni. A terv nem jóslás, hanem előzetes "utiterv".

III. Mi van akkor, ha menet közben jönnek új ötletek, funkciók, teendők? Azt nem tudjuk most beírni.

Azokat nem is kell, mivel még nem tudtok róla. De amit már most tudtok, azt be kell tervezni, hogy legyen egy kiindulási alap, amihez lehet tartani magatokat.

IV. Mi történik, ha nem tudjuk tartani magunkat a tervhez?

Ez bármikor előfordulhat. Ezért érdemesebb több feladatot tervezni az elejére (3. mérföldkő), kevesebbet a 4-re. Igy ha felmerül új funkció igény (fel fog), becsúszik valami hiba (be fog) vagy kicsit megcsúsztok idővel (előfordulhat), akkor még van hova "terjeszkedni".

V. Honnan tudjuk, mik azok a feladatok, amiket már most be tudunk írni?

A projektterv elején összeszedte mindenki a funkcionális követelményeket a specifikáció alapján. Ezek azok a funkciók, amiket biztos bele fogtok tenni. Tehát ez az alap. Hogy minden benne legyen a végén, valamikor sort kell keríteni a megvalósításukra. Már csak annyi a teendő, hogy eldöntsétek, melyik funkcióval lesztek készen az egyes prototípusokra. Ezt értelemszerűen úgy kell tervezni, hogy az egymásra épülő funkciók egymás után legyenek (tehát ne csak a 4. mérföldkőnél legyen adatbázis, ha az elsőnél már van bejelentkezés meg regisztráció).

VI. Mi lesz akkor, ha alul/túlbecsüljük az erőforrás igényt az egyes feladatoknál?

Ha túlbecsültétek, akkor azzal nincs baj, maradt még idő előredolgozni vagy javítgatni. Az alulbecslést segít elkerülni az, ha szándékosan kicsit több időt hagytok az egyes feladatokra (mert nagy valószínűséggel úgyis több fog kelleni rá). Ha mégis túl kevés időt hagytatok egy feladatra, akkor alkalmazni kell a "Csúszásban van a projekt" rizikótényezőnél leírt lépéseket (ami ugye szintén meg lett tervezve).

VII. Mi lesz akkor, ha változik a terv (új feladatok kerülnek be, felelősöket cserélünk, későbbre-korábbra hozunk egy feladatot)?

Meglévő feladatokat nyugodtan le lehet később bontani kisebb részekre, ettől a lényeg nem változik. Új feladatokat is lehet felvenni, erről a gyakorlatvezetőt értesíteni kell. Felelősök cseréjét meg kell indokolni, és velem egyeztetni kell. Ugyan ez vonatkozik a feladatok átütemezésére: indokolt esetben, miután engedélyeztem, lehet róla szó.

VIII. Mi szerepeljen a Gantt diagramban?

Miután megvan a részletes feladatlista, könnyű meghatározni. Minden pont és alpont, ami a feladatlistában szerepel, legyen felvéve a GanttChart diagramban és a becsült ideje legyen megjelenítve a táblázatban. Ez fogja vizuálisan megjeleníteni a terveteket, hogy mikor mivel meddig foglalkoztok.

IX. A pontozást hogy tudjuk megadni? Azt is most kell kitölteni?

A pontozás résznél a teljes táblázatot ki kell tölteni. A szabályok:

- az egy sorba írt pontok összege 70 legyen

- egyik mezőbe írt pont sem haladhatja meg az adott oszlop első sorába írt határértékeket (pl. első mérföldkőre max. 8 pontot lehet adni)

- a pontszámok arányosak legyenek: aki többet dolgozik egy adott mérföldkőben, az kapjon többet, mint a másik. És ha valaki többet dolgozik a negyedik mérföldkőben mint a harmadikban, akkor kapjon többet arra.

- mindenkinek legalább négy mérföldkőben kell dolgoznia (mert csak így jönnek ki a pontok)

X. Hogy érdemes felosztani a feladatokat?

- Először gyűjtsük össze a funkcionális követelményeket a specifikáció alapján (érdemes vázlatpontokba szedni)

- Rangsoroljuk a funkciókat függőség szerint: melyiknek kell korábban készen lenni, mint a többinek, melyikkel kell kezdeni, melyik csinálható meg bármikor

- Bontsuk le az egyes funkciókat egyszerűbb részfeladatokra!

- pl.: vásárlás (online áruház esetén): kosár megvalósítása, adatbekérő űrlap, fizetés, megerősítő email küldése, ezeknek a frontend, backend és adatbázis része is lehet akár külön feladat

- Határozzuk meg, kb. mennyi idő megvalósítani az egyes feladatokat! (Lehetőleg becsüljük túl a feladathoz szükséges időt.)

- Osszuk szét a részfeladatokat a 3-4 mérföldkövek között (az első, és a második prototípus között) úgy, hogy egyre kevesebb feladat maradjon. Ennél a felosztásnál vegyük figyelembe, hogy az olyan feladatok, melyek előfeltételei más feladatoknak előre kerüljenek! Érdemes csökkenő arányt betartani a feladat mennyiségnél, mert menetközben jönnek majd új funkciók, hibajavítások, valamint így belefér egy kis csúszás is.

- Végül rendeljünk felelőst az egyes feladatokhoz! Lehetőleg olyan kis egységekre bontsátok fel, hogy az egy-egy embernek kiadható legyen (egy ember többet is kaphat!)