Ön a régi honlapunk oldalait böngészi!


Jelenlegi honlapunkat ide kattintva tekintheti meg.

Ide kattintva tovább böngészheti a régi oldalt.


SOFTWARE
EBPP
NYOMTATÓK
KÁRTYA NYOMTATÓK
SITEMAP
MAGUNKROL
[Software • Technológia]

Kódgenerálás és architektúra tervezés helye a szoftvergyárban

Természetes elvárás, hogy egy CASE eszközben gondosan elkészített terveinket minél intenzívebben használhassuk fel a szoftver fejlesztés későbbi folyamatai során. Az implementáció a kész tervek alapján nagy mértékben leegyszerűsödik, és jelentősen csökken az esélye annak, hogy sok befektetett energia után derül ki: rossz irányba indultunk el.

Mindemellett a terv-kód kapcsolat automatizálható is. Egész egyszerűen készíthetőek olyan szkriptek, amelyek a tervből kinyerik a deklarációs információkat, azaz létrehozzák az osztályokat, attribútumokat és metódusokat. Így készen kapjuk a program vázát, generáljuk a forráskód 4-5%-át. Nem érdemes azonban itt megállni, több irányban is növelhető a hatékonyság:

  • Először is felhasználhatjuk a terv dinamikus részeit, például UML esetében a kommunikációs és állapot diagramokat. Így az intenzív kommunikációt folytató objektumok (tipikusan vezérlő) metódusainak vázaként előállítható a ki és bemenő üzenetek, illetve események. Az állapotgép-szerű működéssel rendelkező objektumok kódja pedig teljes egészében generálható. Ezzel újabb 8-10% nyerhető.

  • Amennyiben a CASE eszköz testreszabhatósága lehetővé teszi, célnyelv- és projektspecifikus információkat is bevihetünk a tervbe, sőt ezeket vizuálisan meg is jeleníthetjük (plusz 3-5%).

Létezik egy magasabb szintje is a kódgenerálásnak, ami az ismétlődő részletek többszöri alkalmazásán alapul, ez pedig a minta alapú kódgenerálás. Alapelve, hogy a többször előforduló részletből készülő forráskódot egyszer kell elkészíteni, később ezt tetszőleges alkalommal mintaként felhasználhatjuk. Ilyen tervezési részlet lehet az adatbázis primitívektől kezdve, az elosztott kommunikációs szabványon át (pl. CORBA) a hiba és kivételkezelésig bármi. Ezzel a módszerrel megszabadulhatunk a programozás "favágó" részétől, lényegében a terv szintjére emelhetjük az újrafelhasználhatóságot. Még tovább léphetünk, ha tervezési és programfejlesztési mintákat használunk, ezt nevezzük architektúra központú fejlesztésnek (Architecture Centric Development). Mintákat készíthetünk egészen bonyolult, de sokszor alkalmazható részletekből, mint például egy bevált cache architektúra vagy teszt felület generátor. Ettől kezdve különválik az alkalmazás üzleti modelljének tervezése a minél használhatóbb architektúra minták tervezésétől, az összekapcsolódási pont a kódgenerálás pillanata. A generálás bemenetei tehát az üzleti modell és a tervezési minták, kimenete a forráskód fájlok, melyek az implementációkor hasznosíthatók. Az így elérhető kódgenerálási szint alkalmazástól függően 30-70%.

A felsorolt technikák jelentős hatással vannak a szoftver fejlesztés hatékonyságára hiszen:

  • A terv kompaktabbá és áttekinthetőbbé válik, mentes lesz implementációs részletektől.

  • A karbantartás és fejlesztés egyszerűsödik, mert az architekturális változások nem érintik a tervet.

  • Kényelmesen és magától értetődően alkalmazható a forward engineering elv.

  • A program írásának ideje lerövidül.

  • A kódírásnál csökken a hibázás lehetősége.

  • A projekten belüli programozási konvenciók automatikusan teljesülnek.

  • Egyszerűen megoldható a több nyelvre való generálás.

  • A fejlesztés jól szegmentálható, mert a tervezők az üzleti modellre koncentrálhatnak, a programozók meg mentesülnek a modell teljes körű megismerése alól. Mindez a párhuzamos munkát is segíti.

Fontos szem előtt tartani, hogy mindezen technikák alkalmazásához a CASE eszköznek támogatnia kell a generátor saját igényünkre való alakítását. A minta alapú kódgenerálás hatékonyságának előnyei pedig csak akkor érvényesülnek, ha a generálás nem szkript- hanem template (minta) alapú.


[ FŐOLDAL | SOFTWARE | NYOMTATÓK | KÁRTYA NYOMTATÓK ]
SITEMAP | [ MAGUNKRÓL | TANFOLYAMOK ]

Triad 1999-2001. - Minden Jog Fenntartva