Szerelőműhely nyilvántartás Rendszerterv Készítette: Ballagi Pordány Dániel Árpád EHA: BAQSAAI.ELTE E-mail: dballagi@yahoo.com 1. oldal
Tartalomjegyzék A szoftver...3 Funkciók:...3 Projekt költségei, időbeosztása...4 Határidők, mérföldkövek:...4 Felhasználói esetek:...4 1. ábra. Felhasználói esetek diagrammja...4 A program kommunikációs csatornái:...5 A program felépítése:...6 2. ábra. Osztálydiagramm...6 A program állapot diagrammja:...7 3. ábra. Állapot diagramm...7 A program szekvencia diagrammja:...8 4. ábra. Szekvencia digramm...8 2. oldal
A szoftver A szoftver leírása: A program egy szerelőműhely nyilvántartását felügyeli. Az autószervizbe gépjárműveket visznek karbantartásra (vizsgáztatás, környezetvédelmi kártya kiállítás, éves átvizsgálás, rendkívüli átvizsgálás, olajcsere stb.), vagy javításra. Egy autószervizbe került gépjármű átvizsgálásának és/vagy javításának nyomon követését végző szoftver fő funkciója a munkalap, valamint a hozzá kapcsolódó tartalom (munkafolyamatok, anyagok) kezelése. Környezeti követelmények: A szoftver Linuxos környezetre optimalizált, a kód Windows kompatibilissé tehető. A futtatáshoz egyszerű személyi számítógép elegendő, semmilyen egyéb szoftverrel nem kell együttműködni. Szerkezeti felépítés: A szoftver egyetlen komponensből áll amely a konzol felületet, adatkezelés és a fájlkezelés is magában foglalja. Fejlesztés: A fejlesztés a vízesés modellnek megfelelően zajlik le amely során az objektumorientált paradigma kerül alkalmazásra. Kommunikáció és adatkezelés: A szoftver konzolos felületen kommunikál a felhasználóval. Az adatok betöltése valamint mentése egyszerű szöveges fájlokba történik. Minőségi mutatók: A szoftver 100%ig hibátlan funkciókat biztosít sértetlen adatfájlok esetében. Ha az adatfájlok sérülnek csak a korábbi adatok vesznek el, a további működés biztosított. A program memória valamint tárhely szükséglete az adatmennyiségtől függ. A program biztonsági funkciókat nem tartalmaz. A szoftver csak helyi gépen lesz elérhető, karbantartást nem igényel. Az átadás a program elkészültével történik meg. Funkciók: A munkafelvevő új munkalapot nyit (munkafelvevő neve, a felvétel időpontja), ezen rögzíti a gépjármű és tulajdonosának adatait (rendszám, gyártmány, típus, tulajdonos neve, címe). A programban előre rögzítetten tároltak a szerelők nevei, a munkafolyamatok nevei és óradíjai, az anyagok nevei és egységárai, valamint az alkatrészek nevei és árai. A munkalapban tetszőleges számú munkafolyamat (idő órában, szerelő), valamint anyag (név, mennyiség) és alkatrész (név, mennyiség) adható meg, amelyek tételesen listázódnak a munkalap megtekintésekor. Ezek alapján megkapjuk a munkalap teljes szerelési időt, valamint az összeget. A munkalapnál megjelölhető, hogy a vásárló kifizette-e már az összeget. Csak azok a munkalapok törölhetőek, amelyeket a vevő már kifizetett. A programban több munkalapot is lehet szimultán kezelni, amiket a főmenü kilistáz. A munkalapok között lehet keresni felvevő neve, a felvétel időpontja, valamint a tulajdonos neve alapján. A munkalapot lehet egy szöveges fájlba kimenteni, amely könnyen kinyomtatható formátumban jeleníti meg a felvett adatokat. 3. oldal
Projekt költségei, időbeosztása Feltételek: Egy programozó alkalmazásával a fejlesztés megközelítőleg 40 munkaórát igényel, költségként a sörözéssel vagy semmittevéssel el nem töltött idő számolható fel. Határidők, mérföldkövek: A szoftver egyes egységei minden hét vasárnap estéjére készül el, így a szoftverfejlesztés heti ciklusokban valósul meg. 2011.10.17.: Követelményleírás 2011.11.29.: Rendszerterv 2011.12.10.: A program alfa verziója 2011.12.30.: A program béta verziója 2012.01.10.: A program véglegesített verziója Felhasználói esetek: A felhasználó létrehozhat új munkalapot Munkalapok kilistázása a főmenüben érhető el, ez szimultán munkalapkezelést biztosít Munkalap megnyitása és módosítása valamint törlése amennyiben a vevő fizetett már elérhető a felhasználónak Biztosított a keresés funkció a munkalapok között 1. ábra. Felhasználói esetek diagrammja 4. oldal
A program kommunikációs csatornái: A programot a felhasználó a billentyűzet segítségével tudja irányítani, a program minden esetben a kért információkat a képernyőre írja ki. A program az adatokat 5 fájlban tárolja: mechs.dat, workprocs.dat, comps.dat, mats.dat és jobs.dat. A fájlok szerkezete: A dolgozók neveit tároló fájl: mechs.dat, felépítése: <dolgozó neve> <dolgozó neve> A munkafolyamatok leírását tartalmazó fájl: workprocs.dat, felépítése: <munkafolyamat neve> <óradíj> <munkafolyamat neve> <óradíj> A munka során felhasználható anyagok leírását tartalmazó fájl: comps.dat, felépítése: <anyag neve> <egységár> <anyag neve> <egységár> A munka során felhasználható alkatrészek leírását tartalmazó fájl: mats.dat, felépítése: <alkatrész neve> <egységár> <alkatrész neve> <egységár> Az eddigi munkalapokat tároló fájl: jobs.dat, felépítése: <név> <létrehozás időpontja> <autó> <dolgozó> <tétel1> <tétel2> <tételn> <név> <létrehozás időpontja> <autó> <dolgozó> <tétel1> <tétel2> <tételn> 5. oldal
A program felépítése: A program 8 osztályból áll, leírásuk: A program funkcióinak elérése a Menu osztályon keresztül történik. A főmenüből lehet elérni a program főbb funkciókat és további almenük érhetőek el ezek használatával. A Menu objektum konstruktora tölti be az adatokat a memóriába: A fentebb listázott fájlokat egymás után megnyitja, majd az adatokat beleolvassa egy-egy vektorba. Amennyiben a joblist.dat fájl nem üres meghívja a LoadData() metódust. A Menü főbb pontjai és leírásuk: LoadData: az adatok beolvasása a fájlokból SaveData: az összes memóriában tárolt munkalap kimentése. Keresés: a keresés almenüt meghívó metódus. Munkalap szerkesztése: munkalap szerkesztése almenüt meghívó metódus. Munkalap létrehozása: munkalap létrehozása almenüt meghívó metódus. Munkalap törlése: kifizetett munkalap törlése. A keresés almenüben lehetőség nyílik tulajdonos, felvételi időpont valamint szerelő szerinti keresésre. A program sorszámozással kilistázza a munkalapokat kiírva azok főbb jellemzőit (tulajdonos neve, felvétel időpontja, szerelő neve). A munkalap szerkesztése almenüben lehetőség nyílik különböző szolgáltatások a munkalaphoz való hozzáadására. A program először megkérdezi milyen típusú tételt kívánunk hozzáadni majd kilistázza a lehetséges opciókat. A munkalap létrehozása almenüben létrejön az új munkalap a fontosabb adatok (rendszám, gyártmány, típus, tulajdonos neve, lakcíme) megadása után. Ezután a munkalap szerkesztése almenü jön fel. A program a munkalapok adatait a Worksheet osztályban tárolja, melyből a tétel hozzáadása, fizetés beállítása, összeg és idő hozzáadása érhetőek el valamint egyéb lekérdező műveletek. A munkalapokhoz kapcsolt járművek és dolgozók adatit külön osztályban tároljuk, rendre: Vehicle és Mechanic. A különböző, munkalapokhoz adható tételek egy osztályból vannak származtatva, ennek a neve Services. A három származtatott osztály: WorkProc, Material és Component. 6. oldal
A program felépítését bemutató osztálydiagram: 2. ábra. Osztálydiagramm 7. oldal
A program állapot diagrammja: Egyedül a Menu osztály állapotváltozásait vizsgáljuk A Worksheet osztály is végrehajt tevékenységeket, azonban ennek állapotai lényegtelenek a program futása szempontjából. A Menu hajtja végre a tényleges tevékenységet a különböző menüpontok futtatásával, amelyek jellemzik a program különböző állapotait, így az állapotokat ezekhez kötjük. A program terminálás előtt kimenti az adatokat. 3. ábra. Állapot diagramm 8. oldal
A program szekvencia diagrammja: A program indítása után a különböző metódusok a következő képpen követik egymást: A program indítása után betöltjük a memóriába az adatokat. Amennyiben eddig még nem volt munkalapunk vagy újat kívánunk hozzáadni az AddSheet() metódussal létrehozzuk a Worksheet objektumot. Az objektum AddServ() metódusával újabb tételeket tudunk adni a munkalaphoz. Ha a munkalapot már kifizették lehetőség van annak törlésére. Szekvencia diagramm: 4. ábra. Szekvencia digramm 9. oldal