S01-8 Komponens alapú szoftverfejlesztés 2

Tartalom

  1. Komponens megvalósítása: kölcsönhatás modell, viselkedési vagy algoritmikus modell és strukturális modell.
  2. Komponens megtestesítés: finomítás és fordítás, a normál objektum forma (NOF) fogalma, komponensek újrafelhasználása, polcról levett komponensek, rendszer létrehozása komponensekből, termékcsalád fogalma.
  3. Rendszer létrehozása polcról levehető komponensekből.
  4. A burkoló és a híd fogalma, szerepük.

1. Komponens megvalósítása

A megvalósítás tartalmazza:

A megvalósítás dokumentumai tartalmazzák:

Komponens megvalósítás meta-modellje

Komponens megvalósítás meta-modellje

1.1 Kölcsönhatás modell

1.2 Viselkedési vagy algoritmikus modell

1.3 Strukturális modell

2. Komponensek megtestesítése (embodiment)

Azon tevékenységek összefoglaló neve, amelyek során a rendszerünk absztrakt specifikációból konkrétabb, például végrehajtható, vagy telepíthető komponenst hozunk létre.

A megtestesítés lépései:

Egy modell transzformálása forráskóddá manuális tevékenység, nem automatizálható, mert a modell és a forráskód szemantikus leírása különbözik: más a jelölésmód (szintaxis) és a leírás szemantikája is

Manuális transzformálás

Manuális transzformálás

2.1 Finomítás és fordítás

Két alapvető elv:

Finomítás: Egy reláció ugyanazon dolog kétféle leírása között, csak az újabb már jobban részletezett.

Fordítás: Egy reláció egy dolog két különböző leírása között, azonos részletességi szinten.

A fenti két lépés alapján a manuális transzformáció felbontása:

Finomítás és fordítás

Finomítás és fordítás

2.2 NOF (Normal Object Form)

Elemei:

2.3 Komponensek újrafelhasználása

Kompozíció/dekompozíció és absztrakció/konkretizáció dimenziókhoz tartozó aktivitás. Általában az újrafelhasznált komponens nem felel meg a specifikációnak teljes mértékben, megoldás lehet:

Ha nem sikerül már meglévő komponenst találni, egy újat kell létrehozni:

2.4 Polcról levett komponensek (COTS)

COTS (Commercial off-the-shelf) komponens: egy óriási funkcionalitással felvértezett, gyorsan hozzáférhető, készre csomagolt szoftver. A belsejéről semmit nem tudunk, kizárólag a funkciói és a kommunikációt bonyolító interfészei publikusak.

Az összetettebb, nagy rendszerek fejlesztésénél egyre inkább előtérbe kerülnek a polcról levehető, kész komponensek. Fő okai:

2.5 Rendszer létrehozása komponensekből (felépítés, telepítés)

A megtestesítés folyamatának két utolsó lépése tartozik ide, úgy mint a fizikai komponensek elkészítése és azok telepítése a célplatformra. Különböző telepítési forgatókönyvek léteznek a telepítésre:

Pontos irányelvek nincsenek arra, hogy hogyan konstruáljuk meg és telepítsük fel a rendszerünket.

2.6 Termékcsalád fogalma

Azon elvek, amik szerint már eleve újrafelhasználható, generikus komponenseket lehet létrehozni (az eddigiekben egy adott probléma megoldásához készített komponensek újrafelhasználhatóvá tételével foglalkoztunk). Itt az újrafelhasználás kérdése már az architektúra szintjén jelenik meg.

Termékcsalád: egy generikus rendszer vagy pontosabban egy generikus komponens keretrendszer, amely alkalmas több hasonló rendszer létrehozására.

Termékcsalád mérnökség: A termékcsalád mérnökség nem más mint egy felhasználó által tervezett komponens újrafelhasználásának egy szervezési módja.

Termékcsalád

Termékcsalád

Egy új fejlesztési dimenziót hoz be a szoftverfejlesztésbe, ez az alkalmazás és keretrendszer mérnökség. Az alkalmazás mérnökség a közös mag példányosításával foglalkozik, még a keretrendszer mérnökség a közös mag kifejlesztésével, vagyis:

3. Rendszer létrehozása polcról levehető komponensekből

Az újrafelhasználhatóság akkor a legegyszerűbb, ha a specifikációk megegyeznek (elvárt és kínált).

COTS integráció

COTS integráció

A 2.23. ábra baloldala azt az általános esetet mutatja be, amikor a felhasználó a fejlesztést ezen szempontok figyelembevételével készíti el. A 2.23. ábra jobboldala ellenben azt az esetet mutatja be, amikor szintaktikus és szemantikus eltérés van az elvárt és a szolgáltatott interfészek között.

Megfelelési térkép elkészítése

Szemantikus térkép elkészítése

Megjegyzés: megfelelési térkép - összehasonlíthatóak-e (jelölésrendszer), szemantikus térkép -mi a különbség és a hasonlóság

COTS integráció

COTS integráció

4. A burkoló és a híd fogalma, szerepük

Wrapper (burkoló): egy különleges komponens a beburkolandó komponens és a környezete közé

Bridge (híd): egy tetszőleges komponens követelményeit fordítja át egy másik komponens számára, hogy biztosítsa neki a szükséges feltételeket

További források