Domain-Driven Design Támogatása Nagyvállalati Környezetben

OData támogatás
Konzulens:
Dr. Asztalos Márk
Automatizálási és Alkalmazott Informatikai Tanszék

Napjainkban a különböző iparágakhoz tartozó tevékenységek automatizálása széles körben elfogadott és kívánatos. A cél minél kevesebb energia és erőforrás ráfordításával, a lehető leggyorsabban és legjobb minőségben leszállítani az adott terméket. Ez a tendencia a szoftverfejlesztéssel kapcsolatban is megfigyelhető.

A nagyvállalati szoftverfejlesztés számos olyan kihívást rejt, amely a fejlesztési lépések automatizálásával könnyebben megválaszolható. Ilyen például a szoftver karbantarthatósága, átláthatósága, érthetősége, de megemlíthetjük a forráskód minőségét vagy a tesztelhetőséget is.

Gyakran szembesülünk azzal, hogy a már meglévő sok ezer soros forráskódok karbantarthatósága nehézkes és időigényes feladat, egy új termék fejlesztése pedig rengeteg olyan munkát eredményez, amihez különleges szaktudás nem kell – ilyen például az új termékhez kapcsolódó osztályok implementálása.

A manapság egyre népszerűbb Domain-Driven Design, mint szoftverfejlesztési szemlélet lehetővé teszi, hogy olyan modelleket alkossunk, amelyek magas információtartalmuk és formalizáltságuk miatt alkalmasak arra, hogy a szoftver forráskódját automatizáltan készítsük el.

Szakdolgozatom első részében röviden megvizsgálom Domain-Driven Design és az ahhoz kapcsolódó megoldások elméletét. Kitérek a modellezés és a meta-modellezés témakörére, valamint a kódgenerálás elméletére is.

A továbbiakban részletesen ismertetem egy flexibilis, könnyen bővíthető és testre szabható, kódgenerálást támogató, .NET alapú keretrendszer megtervezését és elkészítését, amely képes egy szoftvermodellből több programozási nyelven is forráskódot generálni. Bemutatom az ehhez szükséges meta-modelleket, illetve részletezem a modellek közötti transzformációs lépéseket is. A szakdolgozat végén pedig demonstrációs jelleggel elkészítek egy alkalmazást, amelynek C# nyelvű forráskódját, illetve az adatbázis eléréshez szükséges NHibernate fájlok kódját (a minimális üzleti logikát leszámítva) kódgenerátor állítja elő.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.