Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással 2
Az újrafelhasználás el!nyei Nagyobb megbízhatóság Csökkentett fejlesztési kockázat Specialisták, domén szakért!k hatékonyabb kihasználása Szabványos megoldások Gyorsabb fejlesztés 3 Alkalmazás újrafelhasználás Teljes alkalmazás újrafelhasználása Testreszabható alkalmazások (COTS specializálás) COTS (Commercial O"-the-Shelf) szoftverek integrációja Szoftver termék vonalak 4
COTS specializálás Komplett alkalmazás, spec. API-val Specializálás platform specializálás környezeti specializálás funkcionális specializálás folyamat specializálás Telepítés utáni konfigurálás, testreszabás 5 COTS integrálás Rendszer integrálás adapterek, middleware Integrációs problémák nincs funkcionalitási és teljesítmény kontrol nem irányítható a termék fejlesztése támogatási nehézségek 6
Middleware platform Client Service Common interface Middleware platform Middleware platform Different interfaces Operating system A Operating system B 7 Komponens alapú fejlesztés CBSE megközelítés OO fejlesztési problémák objektumok létrehozása vs. felhasználása bináris csomagok OO: öröklés, polimorfizmus, egységbezárás komponensek: egységbezárás 8
CBSE elemek Független komponensek - interfészek Komponens szabványok - integrálás Middleware - komponens együtt m#ködés Komponens alapú fejlesztési folyamat 9 CBSE problémák Komponensek megbízhatósága Komponensek tanúsítása Rejtett tulajdonságok Komponensek és követelmények összevetése 10
Komponensek Szabványos interfész meta adatok dokumentáció Független Összeépíthet! (interakciók) metódusok attribútumok (property) Dokumentált 11 Komponens interfészek Nyújtott szolgáltatások Igényelt szolgáltatások 12
Vezérl!elem komponensek (pl.) Procedures Procedures Event handlers Project (Application) Window 1 (project main window) Menu Control 1 Event handlers Window Name File Edit View Tools Help Dialog Name Control 2 Event handlers Subcontrol 1 Event handlers Create Mod. Name Summary Date Date Object 1 1/1/1 2/2/2 Test Object Object 2 1/1/1 2/2/2 Test Object Object 3 1/1/1 2/2/2 Test Object Object 4 1/1/1 2/2/2 Test Object Object 5 1/1/1 2/2/2 Test Object Object 6 1/1/1 2/2/2 Test Object Object 7 1/1/1 2/2/2 Test Object Object 8 1/1/1 2/2/2 Test Object Object 9 1/1/1 2/2/2 Test Object Object 10 1/1/1 2/2/2 Test Object Object 11 1/1/1 2/2/2 Test Object New Delete OK Cancel Subcontrol 2 Event handlers Procedures Event handlers Window 2 Control 1 Event handlers 13 Komponens alapú fejlesztés (pl.) PSION OVAL GUI- és rendszer komponensek 14
Komponens modellek Komponens implementációs, dokumentációs, felhasználási szabványok Interfészek definiálása, interfészelemek 15 Komponens modellek elemei Interfészek interfész definíció kompozíciós szabályok Felhasználási információk elnevezési konvenciók meta adat hozzáférés Felhasználás, beépítés csomagok dokumentáció 16
Komponens modell példa MS ActiveX vezérl! (komponens) használata 17 Komponens orientált fejlesztés menete komponensek alkalmassági értékelése komponens adaptálása whitebox graybox blackbox rendszer összerakása a komponensekb!l a rendszer fejlesztése 18
Komponensek tervezése Generalizálás Újrafelhasználhatóság domén absztrakciók adatelrejtés függetlenség kivételkezelés 19 Komponensek összeépítése Szekvenciális kompozíció Hierarchikus kompozíció Additív kompozíció A A A B B B (a) (b) (c) 20
Komponens illeszt!k Inkompatibilis interfészek Illeszt!, adapter komponensek B Adapter A 21 Komponensek és CASE környezetek objektumok, szoftver elemek felhasználói felület elemek vizuális editorok eseménykezel!k elosztott kód paraméterezés fejlesztési id!ben 22
Komponensek és CASE környezetek (pl.) MS Visual Basic 23 Komponensek és CASE környezetek (pl.) 24
Komponens alapú fejlesztés példa Apple HyperCard 25 Elosztott komponensek Komponens Komponens Komponens modell Hálózati közeg Komponens modell Kommunikációs csatorna RPC RMI Socket interfész TCP/IP NetBIOS, IPX, AppleTalk 26
Üzenet közvetítés 27