E-Book Content
Objektum orientált szoftverfejlesztés Kondorosi Károly Szirmay‐Kalos László László Zoltán Az eredeti mű a ComputerBooks Kiadó gondozásában jelent meg. Az elektronikus kiadás az NKTH által lebonyolított Felsőoktatási Tankönyv‐ és Szakkönyv‐támogatási Pályázat keretében készült, a DocBook XML formátumot Bíró Szabolcs készítette. Copyright © 2007 Kondorosi Károly Copyright © 2007 Szirmay‐Kalos László Copyright © 2007 László Zoltán Jogi közlemény A jelen digitális tartalom internetes közreadását a Nemzeti Kutatási és Technológiai Hivatal 2006‐ban nyújtott támogatása tette lehetővé.
1
Ajánlás Könyvünk 1997‐es megjelenése óta sok kritikát, de még több pozitív visszajelzést kaptunk. Számos oktatási intézményben látjuk a kötelező, vagy ajánlott irodalmak listáján, és – örömünkre – nem csak az informatika szakokon. Ez azt bizonyítja, hogy az objektumorientált megközelítés egyre inkább hat az informatika alkalmazási területein, és egyre inkább képes betölteni azt a szerepét, hogy alapja lehessen az alkalmazási területek szakértői és az informatikusok által egyaránt érthető formális rendszermodelleknek. Megtisztelő, hogy könyvünk a DIGIT2005 digitális szakkönyvpályázaton támogatást nyert, és így internetes kiadásban is elérhetővé válik. Ugyanakkor nem kis fejtörést okozott számunkra, hogy hogyan reagáljunk az eltelt tíz esztendő szakmai fejlődésére, hiszen a szoftverfejlesztés az informatika egyik legdinamikusabban fejlődő területének és egyben üzletágának bizonyult ebben az időszakban. Ennek megfelelően új irányzatok, módszerek, eszközök, fogalmak jelentek, jelennek meg, amelyek közül nem egyszerű kiválasztani a lényegeseket, a maradandókat. A komponens‐technológia, az aspektus‐orientált és az intencionális programozás, a versengő és egymással kölcsönhatásban fejlődő Java és .NET technológiák, az agilis szoftverfejlesztés, a C# nyelv, az analízis‐, architekturális és tervezési minták, az új, integrált fejlesztő környezetek (mint például a Visual Studio, vagy az Eclipse) – mind‐mind új, lényeges elemekkel színesítették a palettát, és ismeretük elengedhetetlen egy képzett informatikus számára. A szakma egyik legnagyobb hatású konzorciuma, az Object Management Group (OMG), számos szabványt, ajánlást dolgozott ki, amelyek eredményeként a módszertanok, jelölésrendszerek egységesedtek, a fogalmak tisztábbá váltak. Az egységes modellező nyelv (Unified Modelling Language, UML), a modellvezérelt architektúra (Model Driven Architecture, MDA), az objektum metamodell (Meta‐ Object Facility, MOF), az objektumok együttműködésének elosztott rendszerekben is alkalmazható szabványa (Common Object Request Broker Architecture, CORBA), az interfészleíró nyelv (Interface Definition Language, IDL), széles körben elterjedt szabványokká váltak. A konzorciumnak a szakma legnagyobb piaci szereplői is tagjai, így a szabványok gyakorlati alkalmazása és a forgalmazott termékekben való megjelenése is biztosított. Az OMG dokumentumainak jelentős része nyílt, elérhető a www.omg.org portálon. Az internetes kiadás előkészítésekor irreális célkitűzés lett volna minden lényeges újdonság tárgyalása, akár csak felületesen is. Valamilyen mértékű átdolgozást azonban feltétlen szükségesnek láttunk, hiszen – egy tankönyvtől elvárhatóan – a jelölésrendszernek alkalmazkodnia kell a szabványokhoz, a példaprogramoknak pedig lefuttathatóknak kell maradniuk a mai rendszereken is. Az internetes kiadást tehát az eredeti könyvhöz képest a következők jellemzik: Megtartottuk az eredeti célkitűzést, azaz bemutatjuk az objektumorientált szoftverfejlesztés alapjait: az analízist, tervezést és a C++ nyelvű implementációt. A b