Komponens alapú fejlesztés
Szoftver-technológia I.
Szoftver-technológia I.
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
Szoftver-technológia I.
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
Szoftver-technológia I.
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
Szoftver-technológia I.
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
Szoftver-technológia I.
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
Szoftver-technológia I.
Middleware platform
Client
Service Common interface
Middleware platform
Middleware platform Different interfaces
Operating system A
Operating system B
7
Szoftver-technológia I.
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
Szoftver-technológia I.
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
Szoftver-technológia I.
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
Szoftver-technológia I.
Komponensek
• Szabványos • interfész • meta adatok • dokumentáció • Független • Összeépíthet! (interakciók) • metódusok • attribútumok (property) • Dokumentált 11
Szoftver-technológia I.
Komponens interfészek
• Nyújtott szolgáltatások • Igényelt szolgáltatások
12
Vezérl!elem komponensek (pl.)
Szoftver-technológia I.
Procedures
Project (Application)
Procedures
Window 1 (project main window)
Event handlers
Menu
Window Name File Control 1
Event handlers
Control 2
Event handlers
Edit
Name
Procedures
Window 2
Subcontrol 1
Event handlers
Subcontrol 2
Event handlers
Object 1 Object 2 Object 3 Object 4 Object 5 Object 6 Object 7 Object 8 Object 9 Object 10 Object 11
View
Create Date 1/1/1 1/1/1 1/1/1 1/1/1 1/1/1 1/1/1 1/1/1 1/1/1 1/1/1 1/1/1 1/1/1
Tools
Mod. Date
Dialog Name
Help
OK
Summary 2/2/2 2/2/2 2/2/2 2/2/2 2/2/2 2/2/2 2/2/2 2/2/2 2/2/2 2/2/2 2/2/2
Test Object Test Object Test Object Test Object Test Object Test Object Test Object Test Object Test Object Test Object Test Object
Cancel
New Delete
Event handlers
Control 1
Event handlers
13
Szoftver-technológia I.
Komponens alapú fejlesztés (pl.)
PSION OVAL GUI- és rendszer komponensek
14
Komponens modellek
Szoftver-technológia I.
• Komponens implementációs,
dokumentációs, felhasználási szabványok
• Interfészek definiálása, interfészelemek
15
Komponens modellek elemei
Szoftver-technológia I.
• 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
Szoftver-technológia I.
Komponens modell példa
MS ActiveX vezérl! (komponens) használata
Szoftver-technológia I.
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
Szoftver-technológia I.
Komponensek tervezése
• Generalizálás • Újrafelhasználhatóság • domén absztrakciók • adatelrejtés • függetlenség • kivételkezelés 19
Szoftver-technológia I.
Komponensek összeépítése
• Szekvenciális kompozíció • Hierarchikus kompozíció • Additív kompozíció A
A
B
A
B
(a)
B
(b)
(c)
20
Szoftver-technológia I.
Komponens illeszt!k
• Inkompatibilis interfészek • Illeszt!, adapter komponensek B
Adapter
A
21
Komponensek és CASE környezetek
Szoftver-technológia I.
• 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.)
Szoftver-technológia I.
MS Visual Basic
23
Komponensek és CASE környezetek (pl.)
Szoftver-technológia I.
24
Szoftver-technológia I.
Komponens alapú fejlesztés példa
Apple HyperCard
25
Szoftver-technológia I.
Elosztott komponensek Komponens Komponens modell
Komponens
Hálózati közeg
Komponens modell
• Kommunikációs csatorna • RPC • RMI • Socket interfész • TCP/IP • NetBIOS, IPX, AppleTalk 26
Szoftver-technológia I.
Üzenet közvetítés
27