Csoport neve: TM

Feladat sorszáma: 4

Feladat címe: C++ FORRÁSKÓD ELEMZŐ






VÍZIÓ






Gyakorlatvezető:


KRIZSÁN ZOLTÁN







Csoport tagok:


Kovács Zsolt

G-3S7I NK.: Y11Z0L

kovacs4@iit.uni-miskolc.hu

Horváth Ábel

G-3S7I NK.: XSTVU5

horvath14@iit.uni-miskolc.hu

Lénárt József

G-4S5 NK.: W5LMPB

lenart3@iit.uni-miskolc.hu

Miklán Orsolya

G-4S5 NK.: AI54B2

miklan@iit.uni-miskolc.hu

Molitorisz János

G-3S7I NK.: CDPMLH

molitorisz@iit.uni-miskolc.hu

Mongyik Dávid

G-3S7I NK.: TWBYP0

mongyik@iit.uni-miskolc.hu



2006-03-10





TÖRTÉNET



Dátum

Verzió

Leírás

Szerző

2006-03-07

0.1

Kezdeti verzió

TM

2006-03-10

0.1b

Felhasználók módosításra kerültek

TM





TARTALOMJEGYZÉK



1. Bevezetés

2. Az alkalmazás helye

2.1. Üzleti lehetőségek

2.2. A probléma megfogalmazása

2.3. Az elkészült termék helye

3. Érintettek és felhasználók

3.1. Az érintettek összefoglalása

3.2. A felhasználók összefoglalása

3.3. Felhasználói környezet

3.4. Illetékesek adatai

3.5. Felhasználók adatai

4. A végtermék áttekintése

4.1 A termék kapcsolatai

4.2. A termék használatának előnyei

4.3. Feltételezések és függőségek

4.4 Költségbecslés

4.5. Installáció

5. A végtermék jellemzői, biztosított szolgáltatások

6. Korlátozások

7. Minőségi elvárások

8. Dokumentációkkal kapcsolatos követelmények

9. Kockázat lista

10. Szótár



1. Bevezetés


A csoport által kiválasztott feladatunk a C++ forráskód elemző, amely megírt forráskódot elemezi megadott szempontok alapján, és az esetlegesen felmerülő hibák javítására megoldást kínál, mégpedig egy jelentés generálásával, amely választható nyelven közli a felhasználóval, a szükséges módosításokat, melyek elvégzése a kívánt ellenőrzési feltételeknek illetve az Általános Informatikai Tanszék C++ szabványának megfelelően, a forráskód hibamentes működését biztosítja.

Számos módszer és eszköz létezik arra, hogy a forráskódon automatizált változtatásokat hajtsunk végre. A legegyszerűbb eszközök közvetlenül a forráskód szövegén dolgoznak.

A következő lépcsőfok az automatizált forráskód-transzformációban egy olyan eszköz lenne, amely még mindig közvetlenül a forráskódon dolgozik, de már ismeri a forráskódot, tudja annak bizonyos szabályait, szintaktikáját.

A legfejlettebb megoldás az, amikor első lépésként egy elemző, analizáló programmal létrehozzuk a forráskódnak egy olyan magasabb szintű reprezentációját, amely minden információt tartalmaz a program-transzformációhoz. Ehhez való analizátor létrehozása igen bonyolult feladat, különösen egy olyan bonyolult nyelv estén, mint a C++.

A készülő program fantázia neve: TMSA (TM Source Analyser)



2. Az alkalmazás helye


Először is meg kell említenünk, hogy az alkalmazásunk (C++ forráskód elemző) nem a fordító szerepét kívánja átvenni, így annak feladatait nem hivatott elvégezni. Elsősorban az olvashatóságot és az általánosan használt formázási normákat igyekszik ellenőrizni, melyeknek betartása a kezdő programozók számára kissé nehézkesnek, és kényelmetlennek tűnhet. Valamint bizonyos szintaktikai hibákra is felhívja majd a figyelmet.



2.1 Üzleti lehetőségek


A feladatul választott projekt sikeres létrehozása esetén, kedvező elbírálás mellett teljesítjük a Szoftvertechnológia c. tárgy előírásait. Projektről lévén szó, bízunk az alkalmazásunk jövőbeni sokrétű felhasználását illetően, illetve értékes tapasztalatokat merítve belőle nem lesz ismeretlen hasonló problémakör megoldása az üzleti életben.



2.2 A probléma megfogalmazása


A rendelkezésünkre álló forráskód eleget kell tegyen bizonyos tetszőlegesen meghatározott követelményeknek. Vizsgálatunk során annak eredményéről tájékoztatást nyújt programunk elsősorban felhasználók számára. A tájékoztatás módja egyelőre képlékeny pontot képez, attól függően, hogy a csoport mely tagjai milyen megoldást találnak kézenfekvőnek. Felmerülhet ezek között egyszerű kiemeléssel a forrásfájl tartalmából. Szöveges dokumentum formájában, kompetens módon megvalósítva a felhasználó lehetőségeit figyelembe véve. Nem elvetendő lehetőség grafikus ábrákat felhasználni sem. Fontos, hogy segítséget nyújtson, tanácsot adjon közben felmerülő problémák estén. A segítségnyújtás érdekében garantáltan közérthető módon kell eljárnunk, ennek ellenére bízunk a felhasználók középszintű hozzáértésében, nem megbántva őket ezzel természetesen.

Optimális estben mind kisebb mind nagyobb terjedelmű munkákhoz eredményesen használható lesz programunk. Teljesítménynövekedés érhető el, nem csupán drasztikus méretű programok tesztelése esetén is. Tervezési célunk, hogy a több fájlból felépülő munkákhoz nyújtson elsősorban segítséget. Forrásfájlba beágyazott további fájlok elérésének lehetővé tétele, mint magunk elé támasztott alapvető, hálózati mód kiépítése mint másodlagos cél szerepel terveink között. Remélhetőleg használható útmutatást nyújtunk majd ezzel egyetemünk többi informatikus hallgatójának, tekintettel, hogy a több fájlból való felépülés féléves feladataiknál nekik is kötelező lehet.

Cél: program létrehozása, amely egy bemenetként megadott C++ forráskódot tartalmazó fájlt ellenőriz többféle szempontok alapján. Alapvető a kinézetre, olvashatóságra, átláthatóságra vonatkozó szempontok, mint pl.: kód / komment arány. Nehézséget nyújthat egy hiányosan, nehezen érthetően, legrosszabb estben rosszul kommentezett forráskód átláthatósága, tekintettel arra, ha más végzi a tesztelést mint a fejlesztést. Szintén körülményes dolog a nem lényegretörő kommentet feldolgozni, szemünk elől tévesztve ezzel magát a kódot. Zárójel illetve pontosvessző elmaradása is kiküszöbölhetővé válik.

Kommentek hatáskörének ellenőrzése. Saját függvények helyes kommentálása - melyeket a programozó definiál - ugyancsak figyelembe veendő feladat. Az olvashatóságot jelentősen javítja még az, ha a programozó által használt változók neve is utal tartalmukra. Ezzel természetesen csak a tárolt értékek típusának ellenőrzése a cél.

Figyelembe véve olyan, esetleg hibás működést eredményezhető programozás-technikai „hibákat”, mint a globális változók használata, mely persze nem feltétlenül vezet hibára, de azért veszélyes, mert átláthatatlanná teszi a programot, mint a goto utasítás, épp ezért kiküszöbölendő.

A konkrét példákon túl igyekszünk létrehozni minél több, elsősorban az olvashatóságot javító ellenőrző szempontot a készülő programban, és törekedni fogunk a Miskolci Egyetem Alkalmazott Informatikai Tanszékének ide vonatkozó ún. Házi Szabványának minél több pontját integrálni a programba. Programunk az elvárásoknak megfelelően moduláris felépítésű lesz, így valószínűsítjük későbbi bővítését, ami több különböző helyen történő felhasználását hivatott elősegíteni. Lehetőséget adva más cégek „Házi Szabványainak” implementálására.

Ezen túlmenően tervezzük, hogy a program lehetőséget kínáljon – az alapértelmezett, és egyelőre kizárólagosan megvalósított – magyar nyelven kívül más nyelvekre történő átültetésre. Gondolva ezzel a nagyobb multinacionális cégekre, vagy egyszerű külföldi használatra.

A projekt kivitelezése több szempontból is kihívás számunkra. Egyrészt fejlesztése közben megismerkedünk egyes csapattagok számára még ismeretlen nyelv (a Java) nyújtotta lehetőségekkel, ami manapság rendkívül kifizetődő lehet, hiszen internetes felhasználása szinte korlátlan.

A C++ nyelv manapság is elterjedt és általánosan használt nyelv, így a projekt résztvevőinek is érdeke, ha bizonyos feladatokat egyszerűbben hajthatnak végre egy-egy fejlesztés során. Ez biztosítja bizonyos szinten a program időtállóságát, hiszen előreláthatólag az olyan bonyolultabb jellegű programrendszereket, mint például egy operációs rendszert ezen a nyelven is lehetőség nyílik a megírására.



Nem szövegszerkesztő programról lévén szó megjegyezzük, hogy koncepciónk szerint a tervezett program az elemzett forráskódon változtatásokat nem fog végrehajtani. Hiszen nem szövegszerkesztő programot készítünk, hanem egy többcélú elemzőt, amely mindössze vizsgálatokat végez és javaslatokat tesz. Esetleges javítás céljára egy, erre a célra alkalmas szövegszerkesztő programot kell majd alkalmazni. Viszont a kapott eredményeket jól látható grafikus formában, valamint egyszerű szöveges formában is reprezentálja majd.



2.3 Az elkészült termék helye


A programunk kialakítása során fontos szerepet játszott, az hogy az olyan felhasználók vagy kezdő programozók is megértsék, akik eddig az ilyen fajta részekkel még nem foglalkoztak behatóan. Ennek érdekében megpróbáltuk úgy kialakítani, hogy a „kezdő” programozóknak ne kelljen csak a kód funkcionális részeire összpontosítaniuk így megkönnyítve munkájukat, és ezzel együtt lehetővé tennénk számukra, hogy több időt tudjanak szentelni a funkcionális részekre. Ennek köszönhetően programunk lehetővé teszi, hogy önmagukat lényegesebben könnyebb módon tudják ellenőrizni, viszont fontos megemlíteni azt a fő szempontot is, hogy az általunk elkészített program nem oldja meg helyettük a szabványosítást. Ennek az a fő oka, hogy a már kész kódot, és annak minden egyes függvényét és fájlját külön ellenőrizni meglehetősen nehéz, és ennek következtében előfordulhatnak olyan esetek, amikor egy-egy egység véletlenül kimarad.

Fontos szempontunk volt az is hogy legfőképp az Egyetemi hallgatóságot célozzuk meg, mint lehetséges felhasználókat. Nem felejtkeztünk el azonban a gyakorlatvezetőkről sem , hisz az Egyetemen a hallgatók többnyire évközi feladatok beadásával kapcsolatban végeznek feladatokat, így tehát úgy alakítottuk ki programunkat hogy az hasznossá váljon a beadott feladatok ellenőrzésénél.

A programunk tehát olyan grafikus segédprogram, amely lehetővé teszi a C++ forrásfájlok ellenőrzését. A programunk megírásánál arra próbáltunk figyelni, hogy a gyakorlati haszna legfőképp az időmegtakarításon alapuljon.



3. Érintettek és felhasználók


A programot mindazon felhasználónak (érintettnek) szánjuk, aki valaha a C++ programozási nyelvvel valamilyen módon kapcsolatba kerülnek, kimondottan azoknak a programozóknak, akik C++ forráskód írásával foglalatoskodnak.

Elsősorban a Miskolci Egyetem azon hallgatói a program célfelhasználói, akik valamilyen módon közelebbi kapcsolatba kerülnek a C++ nyelvvel. Akár itt az egyetemen - C++ gyakorlatok keretében - akár otthoni programírásuk közben, illetve azon oktatók, gyakorlatvezetők akik ezen diákok forráskódjának helyességét szeretnék ellenőrizni (házi-szabványnak való megfelelést is beleértve).

Felhasználóknak (érintetteknek) számítanak, továbbá mindazon személyek, akik szeretnék, hogy programjuk jól áttekinthető, hosszú idő eltelte után is mindenki számára könnyen érthető, értelmezhető, egyértelmű, illetve világos legyen. Ezen szabályok betartásával programok mások számára is könnyen felhasználható, könnyebben bővíthető, átalakítható.



3.1. Az érintettek összefoglalása





Leírás

Szerep

Gyakorlatvezető

Ellenőrzi, hogy a kód megfelel-e a házi-szabványnak, a felmerülő hibák javítására szólíthat fel.

Szaktudásával, tapasztalatai felhasználásával jobb és felhasználóbarát programot állíthatunk elő.

Oktató (tárgy jegyzője)

További ellenőrzéseket végezhet a programmal kapcsolatban. Ha minden megfelelő jóváhagyhatja a gyakorlatvezető által javasoltakat.

Szaktudásával, tapasztalatai felhasználásával jobb és felhasználóbarát programot állíthatunk elő.

Fejlesztő csoport ( TM : Track Mania)

Az alkalmazás készítői.

Alkalmazás fejlesztése, illetve tesztelése





3.2. A felhasználók összefoglalása


Elnevezés

Leírás

Illetékes

Fejlesztők

Saját programjuk ellenőrzése és fejlesztése.

A TM csoport tagjai.

Programozók

Az általuk készített kód ellenőrzése.

Különböző cégek, szervek programozói, magánszemélyek.

Tanárok

Diákok által készített kód ellenőrzése.

Bármely oktató, tanár, adjunktus, gyakorlatvezető…

Egyetemi hallgatók

Programjaik ellenőrzése (feleljen meg házi-szabványnak stb.)

A C++ programozási nyelvet használó hallgatók.

Egyéb felhasználók

Program saját célú felhasználása

Egyéb felhasználók, akik a programmal kapcsolatba kerülnek





3.3. Felhasználói környezet


A termék platform-független, de elsősorban Microsoft Windows alatti használata a cél. Hardverigénye:

Egyfelhasználós alkalmazás! (Egy példányt, egy időben csak egy felhasználó használhat!)

Java futtató környezet szükséges (JRE)!

Viszont nem igényel egyedi hardvert!

A Java futtató környezet hardverigénye:



3.4. Illetékesek adatai


- Ficsor Lajos: A Szoftverfejlesztés c. tárgy előadója. A csoport munkáját előadásaival részletes támogatást nyújtva segíti;

Elérhetőségei: Informatikai – Intézet, I. em. 106. szoba

Tel.: 06-46/565-111 Mellék:17-58

E-Mail: ficsor@iit.uni-miskolc.hu

Honlap: http://www.iit.uni-miskolc.hu/ficsor

- Krizsán Zoltán: Előre egyeztetett időpont alapján, konzultáció keretein belül információkkal és tanácsokkal látja el a csoport tagjait.

Elérhetőségei: Informatikai – Intézet, I. em. 106/B szoba

Tel.: 06-46/565-111 Mellék:17-58

E-Mail: krizsan@iit.uni-miskolc.hu

Honlap: http://www.iit.uni-miskolc.hu/~krizsan

- Elek Tibor: Java nyelv előadója és gyakorlatvezetője, akihez az implementálás folyamán a kérdéseinkkel fordulhatunk.

Elérhetősége : Informatikai – Intézet, I. em. 107. szoba

Tel.: 06-46/565-111 Mellék: 21-07

E-Mail : elek@iit.uni-miskolc.hu

Honlap: http://www.iit.uni-miskolc.hu/~elek





3.5. Felhasználók adatai


Azon műszaki informatikus hallgatók, akik a program tesztelésében, valamint a kényelmi kialakításban segédkeznek, illetve azon hallgatók, akiknek ezen program használata nagyban segítheti C++ programkódjuk megírását illetve jóságának meghatározását.



4. A végtermék áttekintése


A program a megadott C++ forráskódot szintaktikailag vizsgálja, figyelve a zárójelezést, megjelölve az esetleges hibákat. Miután ezeket véghezvitte, javaslatot tesz ezen hibák javítására, amelyet akár azonnal végrehajthatunk. Mi magunk választhatjuk ki azt a szabály- illetve követelményrendszert, amely alapján szeretnénk a megadott fájl vizsgálatát. Ezeket különböző opciók segítségével állíthatjuk be a program futása előtt. Az ellenőrzéseket továbbfejleszthető, egymás után futó modulok végzik A könnyű átláthatóság, illetve kezelhetőséget szem előtt tartva a rendszer ablakos szerkezetű, mely egyben felhasználóbarát is. Az ellenőrző modulok közül mi magunk választhatunk, a menü segítségével állományokat nyithatunk meg. A program lefutása után hibáinkból tanulhatunk, a végeredményt fájlba menthetjük.



4.1 A termék kapcsolatai


Napjainkra igencsak megváltozott a programtervezés, amely a programok méreteiben is megmutatkoznak.Ez annak köszönhető, hogy a programtervezés súlypontja az eljárások felől az adatszervezés irányába tolódott el. Osztályokat és modulokat használunk

A készülő termékünk moduláris felépítésű. Modulnak nevezzük az egyes funkciókat biztosító osztályokat, tehát az egyes funciókat modulok fogják biztosítani a felhasználó számára, amely megkönnyíti az előforduló programozói hibák felderítését és segítséget jelent a későbbi karbantartásban.



Modulok :



4.2. A termék használatának el


A megrendelő haszna (előnyei)

Az ezt támogató rendszerjellemző(k)

Bármilyen anyanyelvű oktató használhatja

Nem nyelvhez kötött

A C++ kód gyors és pontos ellenőrzése

A rendszer átnézi a forráskódot, és javaslatot tesz az esetleges hibák javítására.

Egyszerű kezelhetőség, felhasználóbarát környezet.

A kezelőfelület könnyen kezelhető, grafikus, nem használ bonyolult dolgokat

Változtatható, választható ellenőrzési követelmények.

A követelmények ellenőrzését több egymástól teljesen független modul végzi




4.3. Feltételezések és függ




4.4 Költségbecslés


Ezen program elkészítése nem jár nagyobb kiadásokkal. Emiatt csak idő-költségbecslésről beszélhetünk. Az üzembe helyezésnek sem lehet különösebb anyagi vonzata. Az idő-költségbecslést csak a végső határidőre lehet pontosan megállapítani, de előreláthatólag kb. 10 hét.



4.5. Installáció


A programhoz mellékelt könnyen használható telepítőprogrammal, amely használata nem igényel különösebben hosszabb betanítást, csupán kisebb tájékoztatást.



5. A végtermék jellemzői, biztosított szolgáltatások




A programunk C++ forráskódot ellenőriz, ügyelve olvashatóságára, a forráskód szintaktikájára és annak hibamentességére. Mindezt felhasználóbarát módon, grafikus és ablakozó felülettel teszi minden felhasználó kedvére téve.

A windows-os beállításokhoz igazodik a program ablakának mérete. Ennek legfelső sorában található a főmenü. Ennek első eleme a „Fájl” menü. Ezen belül található a „megnyitás” opció, amely segítségével a számítógépen lévő bármely C++ forrásfájl megnyitható ellenőrzésre. Ez után egy ablakban megjelenik a vizsgálandó állomány tartalma, hogy vizuális képet kapjunk a program tartalmáról. Ezután a „Futtatás” menüből indíthatjuk az ellenőrzést. Itt lehet választani a követelmények közül. Ezeket az adott opciókat különböző modulok biztosítják. Ezek a karbantartást is elősegítik. Ezek az alábbi modulok:

Megkeresi a forráskódban lévő globális változókat, mivel ezek használata elkerülendő, ezért letiltja azokat.

Ellenőzi a forráskódban lévő kód / komment arányt. Vizsgája azok mennyiségét, egymáshoz viszonyított arányát. Azért hasznos, mert egy gyengén kommentált forráskód olvasása nagy erőfeszítést igényel, nehezen értelmezhető, például ha más akarja továbbfejleszteni a programot. Viszont a túlkommentált, sallangos forráskódot is elég körülményes feldolgozni, ha a kommentek között elveszlik maga a kód, a lényeg.

A vátozók elnevezésének ellenőrzését végzi a C++ házi szabvány szerint.

- A név mindig utaljon az általa azonosított elem funkciójára.

- A makrók neve mindig csupa nagybetűből álljon.

- A több szóból álló neveket egybe kell írni, és minden szót nagybetűvel kell kezdeni.

- stb.

A programozó által definiált saját függvények helyes kommentálását vizsgálja. Ezekhez a függvényekhez megfelelően kell a megjegyzéseket odaírni, hogy ha később újra elővesszük, akkor ne legyen gond a funkciójának és helyes használatának felelevenítésére. Vagy ha más programozó szeretné felhasználni, akkor könnyebb legyen a megértése.

Ellenőrzi a header fájlok meglétét, illetve a forráskódban használt függvények meglétének ellenőrzése a header fájlokban a másik feladata.

A nevezett szempontok elsődlegesen a forrásfájl kinézetére, olvashatóságára vonatkoznak, nem pedig a szintaktika helyes alkalmazására, hiszen ezeket a C++ fordítója ellenőrzi, és ezen módon a hibák kijavítására kötelezi a felhasználót. Így egy hibáktól mentes, a kódolási szabványnak megfelelő forráskódot kapunk. Az alábbi opciók közül többet is megjelölhet a programozó saját igényei szerint. A program majd ezek alapján végzi el a különféle ellenőrzéseket. Ellenőrzés közben az eredeti állományba semmilyen körülmények között nem tesz kárt, mert csak olvasásra nyitja meg, módosítani nem tud. Tehát az eredeti forráskód változatlan marad. A program futása nem függ a forráskód méretétől, futása közben nem okoz problémát. A feldolgozás bármely pillanatában megszakítható. Folyamatosan tájékoztat arról, hogy melyik fájl ellenőrzésénél jár és egy folyamatjelző biztosít arról, hogy dolgozik és hogy hol jár a feldolgozásban. Ennek eredményét egy újabb ablakban lehet megtekinteni, mely egy “jelentés fájlba” is mentésre kerül. Hiba esetén egy egyszerű szövegszerkesztővel javítható a probléma.

A hibákat a forráskód ellenőrző program jelzi, és ajánlatokat tesz azok javítására. A korrigálás útán újra lefuttatható a vizsgálat, ha mindent rendben talál, újakat nyithatunk meg ellenőrzésre.

A program többnyelvűséget biztosít, tehát a magyar nyelven kívűl további nyelveken is megtekinthetőek az információk. Ez a funkció nyelvi fájlok használatával valósul meg. Ez a “beállítások” menüből változtatható. Alap verziója magyar és angol nyelven lesz elérhető, de a későbbiekben további nyelvek beépítését tesszük lehetővé.

A szoftver telepítése egyszerű, csak a telepítés helyét kell megadni és már futtatható. Tehát a szoftver telepítése nem igényel nagy szakértelmet, bármely felhasználó számára könnyen megérthető.

A “fájl” menüben található kilépés funkciót ellátó menüpontra kattintva zárhatjuk be a programot.



6. Korlátozások


A rendszer fejlesztését és működését befolyásoló és korlátozó tényezők a következők:

Alapkövetelményként egy olyan számítógép szükséges melyen kell lennie egy Windows operációs rendszernek, mivel a fejlesztő felületnek ez az egyik kívánalma, és egy olyan Java környezetnek mely a Java alkalmazások futtatását elősegíti és lehetővé teszi.

Emellett fontos momentum hogy a 3.4 előírásait és követelményeit teljesítse a program.



7. Minőségi elvárások


Teljesítmény jellemzők:

Fontos szempont, hogy a program nem igényel nagy teljesítményű számítógépet, mivel feladata csupán pár szövegfájl átvizsgálása lesz, amely gyors munkavégzést tesz lehetővé.

Válaszidő:

A válaszidő (hosszához, időtartamához) nagyban hozzájárul az, hogy éppen milyen a forrás bonyolultsága és terjedelme. Ennek következménye az is, hogy gyors, vagy éppen lassabb a számítógép reakció ideje.

Biztonsági szint:

A feladatunk megoldása során olyan alkalmazást hoztunk létre, mely nem igényli a személyes információk titkosítását, ez abból ered, hogy nem használ semmilyen adatbázist, tehát nem férnek hozzá az általunk tesztelt adatokhoz, programszövegekhez.

A megoldás során a programot fájlokban helyeztük el, így a C++ forrásokhoz nincs semmiféle köze, ennek következtében akár módosításokat is végezhetünk rajta a forráson ez nem fog változtatni, működését nem befolyásolja.

A program futása közben nem módosítja csak vizsgálja a programszöveg sorait és a megadott szempontok szerint egy reportot (jelentést) állít elő a program által létrehozott új fájlba. A programot úgy alkottuk meg, hogy folyamatosan tájékoztassa a felhasználót arról amit éppen tesz, vizsgál. Ennek következtében a felhasználó nyomonkövetheti hogy éppen hol tart a kiadott munka. Sok program lehetővé teszi a felhasználó számára, hogy valamilyen módon futását megszakíthassa. Mi is arra törekedtünk, hogy ezt megvalósítsuk, ezáltal ha a felhasználó úgy dönt, hogy mégsem kéri az aktuális programszöveg vizsgálatát, akkor a folyamatot megszakíthatja, minek következtében a vizsgálat fel lesz függesztve, és a felesleges adatok törlődnek, melyeket a program állított elő működése során. Fontos szempont volt az is, hogy eközben semmilyen módon nem módosulhat a forrásfájl. Ha leállítjuk, a program az addig elkészült részekről jelentést küld, amelyben bejegyzés található arról, hogy mikor és hol történt a megszakítás.

Felhasználó-barátság:

A felhasználó barátság azon alapszik, hogy egy program mennyire válik kezelhetővé a felhasználó számára. Ennek érdekében kerülni kell a túl bonyolult menürendszert, (tehát ne legyen mélyen egymásba ágyazott) mert ennek következtében az éppen aktuális felhasználó elveszne a „részletekben”. Fontos szemponttá válik, hogy ne használjunk egymás után bonyolult szakkifejezéseket, amelyek szintén nehezítik a kezelhetőséget, hisz értelmezésük hosszabb időt vesz igénybe.

A program kialakítása során tehát mindenképpen figyelni kell arra, hogy logikusan épüljön fel és olyan szakszavakat alkalmazzunk, melyeket a program felhasználói is ismernek. A fő cél tehát egy közérthető program megalkotása.

Mivel a fő cél a felhasználó-barátság, ezért ennek érdekében a programot installáción keresztül vagyunk képesek feltenni a számítógépünkre.



8. Dokumentációkkal kapcsolatos követelmények


Terveink alapján az alábbi dokumentációk elkészítését tűztük ki célul:

Mivel a termék és a dokumentumok elkészítése egy hatfős csapat feladata, a dokumentumok elkészítése során ügyelni kell az áttekinthető, logikus felépítésre.




9. Kockázat lista


A fejlesztés során kockázatot jelenthet a határidők be nem tartása, az esetleges eredménytelenség. Ezt több tényező előidézheti, amikre a lehetőségekhez mérten fel kell készülni.

A kockázatokkal szembeni védekezés legfontosabb feladata a megfelelő idő- és munkabeosztás kidolgozása, ez sok probléma megelőzésében segíthet. Minden csapattagnak figyelnie kell a határidőkre, folyamatosan követnie kell a csapat munkáját, részt kell vennie a megbeszéléseken. Fontos, hogy a csapattagok egymás munkájával is tisztában legyenek, így könnyebb az együttműködés és ha esetleg valakit helyettesíteni kell, az nem jelent akkora problémát.




10. Szótár


Alkalmazás

A felhasználók és a programozók által hasznosnak tartott és futtatott program.

C++

Magas szintű objektum-orientált programozási nyelv.

Egyfelhasználós

Egyidejűleg egy felhasználót szolgál ki, egy felhasználó programjait futtatja.

Felhasználóbarát

Könnyen kezelhető a felhasználó számára, logikus felépítésű, jól átlátható program.

Fordító

Ez a program végzi a forráskód gépi kódra történő leképezését.

Forráskód

(source code) számítógép-program, amit később gépi kódra fordítanak. Szokás forrásnak (source) és forrásnyelvnek (source language) is nevezni.

Függvény

A magas szintű programnyelvekben, olyan névvel ellátott egysége, amely a program más részeiből annyiszor meghívható (lefuttatható, mint egy másik, önálló program), ahányszor csak szükség van a definiált tevékenység-sorozatra.

Gépi kód

A számítógép processzora által közvetlenül értelmezhető nyelv.

Globális változó

Olyan változó, melynek hatásköre az egész programra kiterjed

Goto utasítás

„A Goto utasítás veszélyes!!!” Idézet Dr. Vadász Dénes Tanárúrtól. Gyakorlatilag „ugrálást” tesz lehetővé a program végrehajtási folyamatában, ezáltal követhetetlen a program futása.

Implementáció

Megvalósítás a tervek alapján. Valamilyen meghatározott formába alakítás. Jelen esetben tervek alapján a program megírása (megvalósítása).

Installáció

A program telepítése a számítógépre. A program működéséhez szükséges fájlok felmásolása és a szükséges beállítások elvégzése.

Java

Objektum orientált, platformfüggetlen, programozási nyelv.

JRE

Java Runtime Enviroment – Java futtató környezet, mely által képes a számítógép futattni a Java alkalmazásokat (ez ingyenesen letölthető a http://www.java.sun.com címről)

Komment

Megjegyzés

Kompatibilis

Két eszköz, program együttműködésre képes.

Platform

Hardver és szoftver környezet, melyben a programot futtatjuk. Az operációs rendszer és a hardver, amivel együtt dolgozik.

Report

Jelentés. Írásos beszámoló egy állapotról.

Szintaktika

Program szövegének összeállítására vonatkozó szabályok összessége.

Válaszidő

A programban az érdemi munka végzésére fordított idő. A felhasználó a program munkavégzésére kiadott parancsa után a program reakciójáig terjedő várakozási idő.

Változó

Különböző adatok tárolására alkalmas memória terület, mely a program futása közben többször is megváltoztathatja az értékét.