• Nem Talált Eredményt

6.3 Az objektum-orientált tervezési folyamat

6.3.2 Objektumorientált tervezés

Az analízis a megvalósítandó rendszer egy lehetséges modelljét alakítja ki, elvonatkoztatva attól, hogy a modellben szereplő dolgokat az implementáció során milyen elemekkel képviseltetjük, illetve attól, hogy a tevékenységeket ki és milyen módon hajtja végre.

Informatikai rendszerek kialakítása során a rendszer szereplőit, a végrehajtott tevékenységeket szoftver és hardver elemekkel fogjuk realizálni, ami azt jelenti, hogy az absztrakt modellt le kell képeznünk a fizikai rendszerünk által biztosított szolgáltatásokra. Ezt a leképzési folyamatot nevezzük tervezésnek, amely ily módon az implementáció előkészítése.

A tervezés három szintjét különböztetjük meg. Az architekturális tervezés során a létrehozandó programot, mint egészet érintő kérdésekben döntünk. A külső interfész tervezése a külvilággal történő kapcsolattartás módját és részleteit írja le. Az objektumtervezés célja a programot felépítő elemek, az osztályok és objektumok, egyenkénti részletes tervezése, specifikálása.

A tervezés, mint az elemzés és az implementáció közötti kapocs, nem csupán az elemzés termékeire épít, hanem figyelembe veszi az implementáció lehetőségeit is.

6.4 Ellenőrző kérdések

1. Mi a különbség az objektum és az objektumosztály között?

2. Mit jelent az egységbezárás fogalma?

3. Lehet-e példánya az absztrakt osztályoknak?

4. Mit jelent az objektumváltozó?

5. Mi a sztereotípia?

62

6. Mit jelent a polimorfizmus?

7. Mi a funkciója az interfész osztályoknak?

8. Mit jelent az osztályok között asszociációs kapcsolat és hogyan valósulhat meg?

9. Milyen előnyei vannak az osztályok közötti öröklésnek?

10. Mit jelent az hogy az objektumoknak állapota van?

63

7 UNIFIED MODELING LANGUAGE

A számítógép hardver gyors fejlődésének köszönhetően a számítógép alapú rendszerek nagysága és komplexitása folyamatosan növekszik. A hozzájuk kapcsolódó szoftveripari fejlesztésekre jellemző, hogy a megrendelők és felhasználók egyre kifinomultabb alkalmazásokat akarnak. A fejlesztés során a szoftverkövetelmények feltárása, dokumentálása, annak alapján egy megvalósítható szoftverterv kidolgozása, a lehetséges megoldások összevetése·a működési feltételekkel mind-mind külön költséget jelent. Az egyre összetettebb fejlesztésekben a költséghatékonyság növelésének kulcsa az egységes kezelésmód. A költségek csökkentését egy a szoftvermérnökök számára készült általános eljáráskészlet teszi lehetővé, amely egy megfelelően választékos, ezáltal számos különböző helyzetben alkalmazható, de meghatározott és nem csak általános problémák kezelésére is alkalmas leíró, modellezési nyelven alapul. A szoftvertechnológiában a legelterjedtebb ilyen nyelv az UML (Unified Modeling Language, egységes modellezési nyelv), amely az üzleti folyamatok, programalkalmazások és rendszerfelépítések stb. modellezésére használt szabványos grafikus modellezési nyelv [3,4,5,6,7,9,18].

Az UML történetének kezdete a 80-as évek végéhez és a 90-es évek elejéhez köthető, amikor számos objektumközpontú modellezési eljárást dolgoztak ki programok modellezésére. Ezek eltérő szemlélettel, eltérő grafikus modellezési eljárások és jelölések alkalmazásával készültek. A legelterjedtebb modellezési eljárások az Object Modeling Technique, az Objectory Method és a Booch Method voltak.

A 90-es évek közepén a Rational Software cég a módszerek egységesítéseként, az Object Modeling Technique és Booch Method ötvözésével, megalkotta az UML 0.8 változatát, amelyet akkor még Unified Method-nak neveztek. 1995-ben az Objectory Method megalkotójának csatlakozásával kidolgozták a Unified Method 0.9-es változatát, amely az objektumorientált tervezés területén a szabványosítási eljárásokat szervező Object Management Group (OMG - http://www.omg.org) szabványa lett. Később számos más vállalat, mint az IBM, az Oracle és Platinum Technologies csatlakozott a fejlesztésekhez, majd 1997-ben beadták az OMG-hez a Unified Method 1.0-s változatát, amelyet akkorra már átneveztek Unified Modeling Language-re. Azóta az OMG független szabványtestületként átvette az UML fejlesztését, és további UML változatokat tett közzé. A legfrissebb változat jelenleg az UML 2.0 verzió.

A 90-es évek közepén a Rational Software cég vezetésével e módszerek egységesítéseként megszületett a Unified Modeling Language 1.0 változata, amely az objektumorientált tervezés területén a szabványosítási eljárásokat szervező Object Management Group (OMG - http://www.omg.org) szabványa lett. Azóta az OMG független szabványtestületként átvette az UML fejlesztését, és további UML változatokat tett közzé. A legfrissebb változat jelenleg 2014-ben az UML 2.5 verzió.

Az UML tartalmaz egy alapul szolgáló metamodellt, amely bővíthetősége révén az UML elég rugalmassá válik ahhoz, hogy testreszabhatjuk a céljainknak megfelelően, alkalmazkodva mind a jelenlegi, mind a jövőbeli szükségletekhez. Az UML metamodellje az UML modellek nyelvét és szerkezetét írja le. Más szóval, az UML metamodell határozza meg az UML-el végzett modellezés szabályait. Az UML modellek számos különböző elemből tevődnek össze.

A metamodell határozza meg ezen elemek tulajdonságait, azt, hogy milyen módokon kapcsolódhatnak egymáshoz, illetve hogy mit jelent egy ilyen kapcsolat. Az UML elemeknek a metamodellben szereplő meghatározását alkalmazva új UML modellezési elemeket hozhatunk létre, és azokat további tulajdonságokkal ruházhatjuk fel. Ez lehetővé teszi, hogy az igényeknek megfelelően új jellemzőkkel és viselkedésmódokkal lássuk el az elemet,

64

miközben az továbbra is megfelel majd az eredeti elem szerkezetének és jelentésének, így a felhasználók testreszabhatják az UML-t.

A beépített bővítési, kiterjesztési lehetőségek segítségével az UML széleskörűen alkalmazható a legtöbb modellezési feladat esetében. Számos példát láthatunk üzleti folyamatok, szervezetek, adatrendszerek, hardver és szoftver felépítmények, beágyazott rendszerek stb. modellezésére. Általában különféle nyelvek alkalmazásával modelleznénk ezeket a rendszereket, azonban a kiterjesztési lehetőségek kihasználásával az egymással kapcsolatban lévő rendszerek együttes modellezése nagymértékben leegyszerűsödik, minden elemet ugyanazon nyelven modellezünk, amely elősegíti az információ megosztását a létrehozott modellek között. Az UML-ben létrehozott modellek a rendszerben lezajló folyamatok, a rendszerfelépítések, valamint az alrendszerek és rendszerelemek rendszeren belüli egymásra hatásának egy grafikus, vizuális leírását adják meghatározott grafikus jelek alkalmazásával.