A Kempelen Farkas Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerű felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

1.2.3. A leírás szigorúsága

Amikor a fejlesztés során létrehozunk egy modellt, az adott nézetből, adott absztrakciós szinten ábrázolja a rendszert. Ahhoz, hogy ezt a modellt később ismételten fel tudjuk idézni, valamint másokkal meg tudjuk ismertetni, dokumentálnunk kell, létre kell hoznunk a modellnek emberi értelmezésre szánt leírását. Azt mondtuk, hogy a modell a valóság gondolati képe, és mint ilyen, személyhez kötődik. Kérdés, hogy tudunk-e a modellről olyan leírást készíteni, amelyet mindenki azonosan értelmez.

Teljes általánosságban a kérdésre nagyon nehéz lenne válaszolni, de beérjük kevesebbel is, megelégszünk azzal, hogy csak azok értsék azonosan, akik a rendszer létrehozásában valamilyen módon részt vesznek.

A kérdésre igen választ csak akkor kaphatunk, ha a leírás (reprezentáció) egyértelmű, pontos és kimerítő. Ezt úgy érhetjük el, hogy azok, akiknek a leírást értelmezniük kell, megegyeznek bizonyos tartalmi és formai szabályok szigorú betartásában, azaz a leírást formalizálják.

Formálisnak nevezzük az olyan reprezentációt, amely csak pontosan definiált fogalmakat, szerkezeteket és műveleteket használ, és a definíciók megadásának formáit is rögzíti.

A szoftver konkrét implementációs modelljének szintjén (ami nem más, mint a forrásnyelvű leírás) a szabályok adottak, ezeket a programozási nyelv definiálja. A programnyelvet a programozók és a fordítóprogramok is értelmezik. A magasabb absztrakciós szinteken készülő dokumentumokat azonban – különösen a fejlesztés kezdeti szakaszában – igen különböző előismeretekkel, felkészültséggel rendelkező személyek (leendő felhasználók, menedzserek, fejlesztők) értelmezik. Ezért a szabályok esetleg kimerülnek annak megkötésében, hogy a dokumentum milyen beszélt nyelven készüljön (például készüljön magyarul). Ez pedig, mint látni fogjuk, aligha tekinthető formálisnak, és komoly félreértések forrása lehet.

A különböző kifejezési módok skáláján a legkevésbé formálisnak az élő beszédben előforduló szerkezeteket tekintjük. Szándékosan kerültük a mondat kifejezést, mivel a "kötetlen" beszédben gyakorta nem is használunk egész mondatokat. Már maga a kötetlen szó is a formáktól való függetlenséget jelenti. Az élő beszéd szerkezeteinek értelmezése erősen függ a szituációtól, amelyben a szavak, mondattöredékek elhangzanak. Továbbá a közölt információk tárolása sem megoldott (hangfelvétel persze készíthető, de ennek kezelése, a szövegkörnyezet felidézése nehézkes).

Nem véletlen, hogy az életben valamennyi fontos dolgot írásban rögzítünk. Például egy jogszabály sem egyéb, mint az életviszonyok szabályozásának formalizált leírása. Ismert, hogy még a jól tagolt, paragrafusokba szedett, korrektül fogalmazott jogi kijelentéseket is meglehetősen tágan lehet értelmezni.

A reprezentációk köznyelvi, szöveges megfogalmazásának problémája kettős. Egyrészt a köznyelvben használt fogalmak nem elég egyértelműek, másrészt a nyelvi elemekből képezhető szerkezetek szabályai sem elég szigorúak. A fogalmi egyértelműség problémájának érzékeltetésére gondoljunk a számítógépes rendszerekre vonatkozó követelmények között gyakran előforduló "optimális", "gyors" "rugalmasan bővíthető" stb. megfogalmazásokra, amelyek önmagukban aligha értelmezhetők. Az irodalmi művekben – sőt már az általános iskolai fogalmazásokban is – elvárt stílusjegyek – mint például szinonimák használata szóismétlések helyett – egy szoftver dokumentum értelmezését bizony nem teszik könnyebbé. A szerkezeti egyértelműség problémájára pedig csak egyetlen példa: élettapasztalatunkat félretéve próbáljuk eldönteni, hogy vajon a "Megetette a lovat a zabbal." kijelentésben a ló ette-e a zabot, vagy a zab a lovat.

A formalizáltság mértékének növelésétől végeredményben azt várjuk, hogy a reprezentáció pontosan és egyértelműen leírja a modellt, ami pedig reményeink és szándékaink szerint minden lényeges vonásában pontosan tükrözi a valóságot. A valóság és annak formalizált reprezentációja közötti egyezőséget pedig azért keressük, mert ha ez fennáll, akkor a formalizmuson értelmezett és igazoltan helyes műveleteket végrehajtva a valóságra vonatkozó korrekt következtetésekre juthatunk.

A formalizált reprezentáció gyakorta nem szöveges, hanem például grafikus formát ölt. Egy adott jelölésrendszer betartásával készített ábra nem csak a formalizáltság szempontjából, hanem kifejező erejét tekintve is igen kedvező tulajdonságokat mutat. Minden leírásnál többet jelent például egy ház esetében mondjuk az alaprajz, vagy a homlokzat képe. Akik láttak szabadalmi leírásokat, pontosan tudják, hogy milyen bonyolult, "... azzal jellemezve, hogy..." alakú mondatokban lehet csak egy nagyon egyszerű ábrát szövegesen leírni. Érdemes utánagondolni, hogy vonalakat és köröket rajzoló program futásának eredménye (az ábra) és a program szövege (nagyon formális leírás) között kifejező erőben mekkora különbség van. Nem véletlenül tartjuk az ábrákat a szövegnél kifejezőbbnek. Mivel a rajz – műszaki, építészeti vagy villamos kapcsolási rajz – lényegesen szigorúbb szabályoknak felel meg, mint az élő szöveg, ezért a rajzból kiindulva jól definiált, ellenőrzött lépések segítségével hamar eljuthatunk a realizálásig. Gondoljunk a villamos kapcsolási rajz alapján nyomtatott áramköri lapot szerkesztő rendszerekre!

A legszigorúbban formalizált leírásoknak a matematikai modelleket tekintjük.