Ma'ruza 11. Mavzu : Komponentlik yondoshuv. Aspektke yo'naltirilgan dasturlash


Download 20.56 Kb.
Sana18.06.2023
Hajmi20.56 Kb.
#1594006
Bog'liq
Maruza-11


Ma'ruza 11. Mavzu : Komponentlik yondoshuv. Aspektke yo'naltirilgan dasturlash
Komponentlik yondoshuv
Ekspertlarding baholashishina qaraganda axborotlik dúńyada dasturlash bo'yicha ishlarniń 75 % takroriylanib ishlanadi (masalan, narsa saqlashding hisobi, oylik hisoblash, unum chiqarishning chiqimlarini hisoblash dasturlari va t. b.). Ularning ko'plari tiplik dasturlar, biroq ularning har biriniing xossalari bor va ularni qayta ishlashga ta'sirini tiygizedi.
Murakkab dasturlarni muhayyo komponentlardan komponentlik loyihalashtirish ko'proq unumdarlıqqa ega bo'lani.
Komponentlarga o'tishlik tadrijiylik tariqasi iske oshmoqda : podprogrammalar, modullar, funkciyalar. (tabl. 4. 1).
Tablica 4. 1
Sxema evolyucii unsurov komponentov Unsur kompozicii Opisanie unsura Sxema vzaimodeystviya Predstavlenie, xranenie Rezul'tat kompozicii
Protsedura, podprogramma, funkciya Identifikator Nimaposredstvennoe obrashenie, operator vızova Biblioteki podprogramm i funkciy Dastur
Modul' Pasport modulya, svyazi Vızov moduley, integratsiya moduley Bank, biblioteki modutey Dastur s modul'noy strukturoy
Ob'ekt Opisanie sinfa Sozdanie ekzemplyarov sinfov, vızov metodov Biblioteki sinfov Ob'ektno-orientir ovannaya dastur
Komponent Opisanie logiki (biznes ), interfeysov (APL, IDL), sxemı razvertıva niya Udalennıy vızov v komponentnıx modelyax (CQV1 CORBA, OSF,... ) Regozitariy komponentov. serveri i konteynerı komponentov Rostpredelennoe komponentno-orientirovannoe prilojenie
Servis Opisanie biznes -logiki interfey sov servisa (XML, WSDL,... ) Udalennıy vızov (RPC, NIR, SOAP,... ) Indeksaciya i katalogizaciya servisov (XML, UDDL..) Rostpredelennoe serviso-orientirovannoe prilojenie
Komponentlik yondoshuv dasturlashda bor bo'lgan xozirgi yondashuvlarni toliqtıradı va kengaytiradi, ayniqsa OBP dı. Ob'ektlar PS loyihalashtirishding mantiqlik darajisini tiyrastıradı, ol komponentlar bo'lsa ob'ektlarning fizik ro'yobga oshirilishi bo'ladi. Komponentlar konstrukciyalaw yo'li bilan o'zlar ichiga axborotlik bo'lim va artefaktlardı oluvchi bazıbir abstraktsiya (spetsifikatsiya, kod, konteyner va t. b.) sifatida tuziladi. Bu bo'limda matumotlar bor : uazıypası, tayyorlangan datası, qo'lanıw shartlari (OS, muhit, platforma va t. b.). Artefakt - bu ro'yobga oshirılıw (implementation-realizaciya), interfeys (interface) va komponentti yoymoqlik (daployment).
Ro'yobga oshirılıw - bu kod bo'lib, u komponent interfeysinda aniqlangan operaciyalarga múrajaat qilınganda o'rinlanadi. Komponent operaciyalıq muhitdan, matumotlar modeligan, SUBD va t. b. aloqador bittaneshe ro'yobga oshirılıwlarga ega bo'lishi mumkin. Komponentlarni vasfroq uchun ob'ektke yo'naltirilgan tillar hámde JAVA tili tatbiq qilinadi, u yerda interfeys va sinf tushunchasi bazaviy, ular Javabeans va Enterprise Javabeans te tatbiq qilinadi va CORBA ob'ektlik modelinde tatbiq qilinadi.
Interfeys komponentning ro'yobga oshirilishiga múrajaat operaciyasın aks qildiradi, IDL yoki APL tillarinde yoziladi, u o'zlar ichiga tiplerdiń va argumentlerdi jetkerip berish operaciyaların, xotimalardi oladi. Komponent fizikalıń mangiz sifatida interfeyslar ko'pligine ega bo'lishi mumkin.
Yoymoqlik - bu fizik faylding konfugiraciyasına (versiya ) mos, ya'ni komponentti iske tushurish uchun sozlash parametrlari bilan ijrosi dir.
Komponentlar sinf turida miyrasqa ega bo'lani va modelda, kompoziciyada va integrallashgan muhit karkasinda (Freymvorkte) tatbiq qilinadi. Komponentlarni boshqarish o'zlarara aloqalarga ega bo'lgan me'moriy, komponentlik yoki interfeyslik saviyalarda o'rinlanadi. Komponent dasturlash tilida yoziladi, u amalga oshadigan operaciyalıq muhitdan (masalan, JAVA virtual' mashina muhitian) va haqiqat platformadan (masalan, CORBA platformasınan) ǵárezsiz bo'ladi.
Komponentlik dala-dashtilisler tiplari. Komponent tushunchasining kengaytmasi shablon (pattern)- abstraktsiya hisoblanadi, u umumiy kooperativlik xizmatte ob'ektlar yig'inining o'zlarara harakatlarin vasflashni qamrab oladi, uning uchun ishtrokchilarning rollarlari va javobgarchiliklari aniqlangan bo'ladi. Shablon dasturiy unsurning sxemaday takroriylanuvchi bo'lagi hisoblanadi.
Komponentlik model' komponentlar kompoziciyası bo'yicha loyixalik yechimlardi aks qildiradi, komponentlarning shablonlari tiplarin va ularning orasidagi harakatlardi aniqlaydi, shuning jo'rligida PS yumush ishlash muhitida yoymoqlik faylining shakllanishining manbai hisoblanadi.
Karkas pPS loyihasiining a'lo darajadagi abstraktsiyasin ifoda etadi, u yerda komponentlar funkciyası ularni boshqarish masalalarigan ajratilgan bo'ladi. Masalan, biznes -mantiqiyot - bu komponent funkciyası, ol karkas - ularni boshqarish. Karkas o'zlarara harakatte bo'lgan ob'ektlar ko'pligin berilgan maqsadga erishish uchun bazıbir integrallastırılgan muhit menen jipslashtiradi. Karkastı mutaxassislisiwine aloqador «aq yoki tiyra quti » deb dadaydi.
«Oq quti» tipindegi karkas o'zlar ichiga ob'ektning maqsadin va interfeysini ifodalash uchun mavhum sinflarni oladi. Amalga oshirishlikda bu sinflar konkret avlod sinflarga amalga oshirishlikding mos metodlarini ko'rsatish bilan miyras bo'lib qoladi. Bunday tiptegi karkastı foydalanish OBP ga tán bo'ladi.
«Tiyra quti» tipindegi karkas uchun uning bilinadigan qismiga kiris sharqtı o'zgartirishga ruxsat berishchi tochkalar chiqariladi.
Komponentlarning kompoziciyası mına tiplerde bo'lishi mumkin :
- kompoziciya komponent -komponent interfeys qirg'oqlari risola darajasida komponentlarning o'zlarara harakatin bevosita támiynleydi;
- kompoziciya karkas -komponent karkastıń komponentlar bilan o'zlarara harakatin támiynleydi, bunda karkas komponentlarning resurslari va interfeyslarini sistemalik darajada boshqaradı;
- kompoziciya komponent -karkas komponentning karkas menen o'zlarara harakatin «Tiyra quti» tipi bo'yicha támiynleydi, uning ko'rinishchi qisminida yoymoqlikni va servis darajada belgili funkciyanı bajarish uchun kerakli faylding vasfi joylashadi ;
- kompoziciya karkas -karkas karkaslarning o'zlarara harakatin támiynleydi, ularning har biri geterogen muhitda yoyilishi mumkin va karkasqa kirishchi komponentlarga tarmoq darajada ularning interfeyslari qirg'oqlari is harakatte bo'lmoqga ruxsat beriladi.
Komponentlar va ularning kompoziciyası, odatte, komponentlar repozitariyisında yodga olinadi, ol ularning interfeyslari - interfeyslar repozitariyisında saqlanadi.
Komponentlik dasturlashda takroriydan foydalanish - bu PS nı amalga oshirishlik vaqtidagi olingan shaklllastırılgan bilimlar qismini yangi ishlab chiqishlarda foydalanish bo'ladi.
Takroriydan foydalanılıwshı komponentlar (PIK) - bu muhayyo komponentlar, (loyixalik yechimlar, funkciyalar, shablonlar ) hisoblanadi, ular faqatgina ishlab chiquvchilarning o'zlari uchun foydalanılmaydı, ol boshqa foydalanuvchilar tomonidanda yangi PS ikemlestiriw yo'li bilan foydalaniladi, bu PS ishlab chiqishni oddiylashtiradi va ishlab chiqish paytini qisqartadı.
Muhayyo komponentlarni izlash tasnif va kataloglashtirish metodlariga asoslanadi. Tasnif metodi komponentlar haqidagi axborotni tez izlash va tanlov maqsadida uni ifodalash uchun yaratilgan, kataloglashtirish metodi bo'lsa komponentlarni repozitariyda fizik joylashtirmoq va unga ruxsattı támiynlew uchun yaratilgan.
PS ishlab chiqishding komponentlik metodologiyası. Komponentlik tizimni yaratuv PT di tahlillash va konceptual' model'di tuzishdan boshlanadi, u modelding asosida k komponentlik model tuziladi (suuret. 4. 4), u o'zlar ichiga komponentlar kompoziciyası, har xil tiptegi shablonlardan foydalanish, ular orasidagi aloqalar va PS yumush ishlash muhitida yoymoqlik operaciyaları bo'yicha loyixalik yechimlardi oladi.

Suuret. 4. 4. Konceptual'naya sxema postroeniya PS iz komponentov v srede Internet



Muhayyo komponentlar Internet repozitariysınan olinadi va PS ishlab chiqishda foydalaniladi, uni tuzish texnalogiyasi ѲC nıń keyingi etaplarında vasflanadi.
1. Komponentlarni tasnifroq va kataloglashtirish tizimidan kelib chiqib PIK lerdi izlash, tanlov va yangi komponentlarni ishlab chiqish - bu interfeyslar spetsifikatsiyasini, komponentlarning is harakati va funkcionallıǵın shaklllasqan aniqlash hámde komponentlarni annotaciyalaw va tizim repozitariyasında yoki Internette joylashtirmoq hisoblanadi.
2. PS bo'lgan taqozolarni ishlab chiqish (Requirements) - bu PS nıń funkcionallıq, funkcionallıq emas va boshqa xususiyatlarin vasfroq va shakllantirish dir.
3. PS nıń is harakatin tahlillash (Behavioral Onalysis) tizimning funkciyaların, loyihalashtirish tavsilotin va ularni bajarish metodlarini aniqlashdan iborat bo'ladi.
4. Interfeyslar spetsifikatsiyasi va komponentlarning o'zlarara harakatlari (Interface and Interaction Specification) deb komponentlar rollarlarini taqsimlashdi, interfeyslarni, ularning identifikatsiyasini va komponentlarning o'zlarara harakatlarin harakatlar oqimi (workflow) qirg'oqlari aks ettirishga aytiladi.
5. Komponentlar yig'ini integratsiyasi va PIK (Application Assembly and Component Reuse) lerdi bitta yaxlit muhitga umumiylash PIK lerdi tanlov va adaptatsiyalashga (ikemlestiriw), qoidalar yig'inini aniqlashga, integratsiya shartlariga va tizim karkasining konfiguraciyasın qurishga asoslanadi
6. Komponentlarni va muhittı testen o'tkazish bo'lak komponentlarning va PIK lerdiń va o'shanaqa oq PS integrallashgan komponentlarining durustligini tekshirish uchun verifikaciya va testlashtirish metodlariga asoslanadi.
7. Yoymoqlik deb (System Daployment) komponentlik konfiguraciyanıń planini, foydalanuvchi muhiti, bo'lak komponentlarni yoymoqlikni va PS yumush ishlashi uchun maqsadli komponentlik konfiguraciyanı yaratuvni hisobga olib, utimizaciyalawga aytamız.
8. PSnı kuzatuv (System Support and Maintenance) PS yumush ishlashinde xatolardi va to'xtashlarni tahlillashdan, xatolardi izlash va tuzatishlardan, PS takroriy testen o'tkazishdan va yangi komponentlarni integrallashgan muhit talablari va shartlariga rudalarliktiriwden iborat bo'ladi.
4. 4. Aspektke-yo'naltirilgan dasturlash
Aspektke- yo'naltirilgan dasturlash (AOP) - bu o'zgarishlarga ikemli PS nı unga yangi aspektlerdi (funkciyalardı) qo'shish qirg'oqlari yaratuv paradigmasi hisoblanadi, bunda xavfsizlik támiynlenedi, boshqa muhit menen komponentlar o'zlarara harakatte bo'ladi, PS nıń bo'laklarining matumotlarga bitta vaqtda ruxsat olishi va yangi umumiy sistemalik vositalarni chaqirish sinxronizaciyalanadı.
Aspekt sifatida muhitda komponentlarning o'zlarara harakatin amalga oshirishlikchi, ma'lumotlarni qo'riqlovchi PIK bo'lishida mumkin, dastur fragmentide, bo'lishida mumkin.
PS unsurlarining har xil bo'laklarinda joylashgan aspektlerdi taqribiy iske oshirishlik ikkiyoqlama havolalar mexanizmi va belgili qo'shimcha funkciyanı olish uchun aspektli fragment menen aloqani iske oshirishlikchi ulanishlik tochkaları bilan támiynlenedi.
ABP (AOP) asosida PT masalalarini bitta satr funkcionallıq komponentlarga ajratish metodi yotani, har xil turdagi qo'shimcha aspektlerdi tatbiq zarurligin aniqlash va bo'lak komponentalardagi aspektler joylashishi zurur bo'lgan tochkalardı o'rnatish yotani.
ABP foydalanib taqribiy tizimni ishlab chiqish texnalogiyasi mına umumiy etaplardı qamrab oladi (rasm. 4. 6):
- modullar va ajratilgan aspektlerdi ko'p marta foydalanish sharti bilan funkcionallıq masalalarni dakompoziciyalaw;
- PT diń o'zlarara harakatlarin, sinxronlastırıwdı va boshqa masalalarini támiynlew uchun aspektlerdiń spetsifikatsiya tillarin tahlillash va konkret aspektlerdi aniqlash ;
- aspektlerdi komponentlarga joylashtirmoq tochkaların aniqlash va boshqa unsurlar bilan havolalardi va aloqalarni shakllantirish ;
- aspektlerdiń funkcional komponentalar bilan aloqasin aniqlash va fil'trlarni ishlab chiqish ;
- ko'p marta qo'llaniladigan funkcionallıq modullar bilan aspektlerdiń tutashish tochkalarındagi kompoziciya mexanizmlarini (protseduralar chaqirishin, metodlar, ilinisiwler) aniqlash ;
- ob'ektlik yoki komponentlik modeldi tuzish, uni metodlar yoki aspektler o'rinlovchi topshiriqlar, ob'ektlarga havolalar jo'natuvchi kiris va sharq xabarlar filtrlari bilan to'ldirish ;
- PT masalalarini amalga oshirishlik uchun zarur bazıbir funkcionallıq modullarni tanlov uchun kengeytilgen kutubxonani tahlillash ;
- aspektler va modullarni yaktan sozlash, o'ndan so'ng muhayyo dasturiy unumga kompoziciyalaw.

Suuret. 4. 6. Texnologicheskaya sxema loyihasirovaniya PS sredstvami AOP


PSdı aspektler qollanib yaratuv jarayonida ІR- kengaytirishlar kutubxonasi, aktiv kutubxonalar, Smalltalk va dasturlash tillari foydalaniladi. ІR-kutubxona funkcii kompilyatorlar funkciyalarınan, optimallashtirish, redaktirlestiriw, tasvirlash vositalarinan iborat bo'ladi. Masalan, masssivleri bor ifodalarni hisoblash uchun matricalar kitobjanaları foydalaniladi.
ABP nıń boshqa turdagi kutubxonalari - aktiv kutubxonalar, ular faqatgina PT tushunchalarini amalga oshirishlikding bazaviy kodlarini o'zlar ichiga olib qo'ylarmastan, ol optimallashtirish, ikemlestiriw, vizuallashtirish va redaktirlew di támiynlewshi maqsadli kodtı ham qamrab oladi. Aktiv kutubxonalar agentlardi aqliylashtiruvchi instrumentlar bilan toliqtırılıp boriladi va ularning yordamida PT diń konkret masalalarini amalga oshirishlik uchun farqli agentlardi ishlab chiqish támiynlenedi.
Download 20.56 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling