
8-lekciya PT-A
.pdf8-lekciya. Obyektke baǵdarlanǵan arxitekturalardı proektlestiriw.
Jobası:
1.Talaplardı analizlew
2.Klasslardı anıqlaw hám dizayn
3.Obektler arasındaǵı qatnasıqlardı belgilew
4.UML diagrammaların paydalanıw
5.Dizayn patternlerin qollanıw
6.Arxitekturalıq stillerdi tańlaw
1. Talaplardı analizlew.
Obektke baǵdarlanǵan arxitekturanı proektlestiriw processinde talaplardı analizlew - bul júdá áhmiyetli baslanǵısh basqısh. Bul basqıshta sistemaǵa bolǵan barlıq talaplar anıqlanadı, úyrenledi hám dokumentlestiriledi. Talaplardı analizlew processi tek funkcionallıq talaplardı emes, al sonnıń menen birge sistemanıń ónimdarlıǵı, isenimliligi, keńeytiliwshiligi hám basqa da sapa kórsetkishlerine baylanıslı bolǵan funkcionallıq emes talaplardı da óz ishine aladı. Bul basqıshta jobanıń maqsetleri, sheklewleri hám tiykarǵı mápli táreplerdiń kútiwleri de anıqlanadı.
Talaplardı analizlew barısında hár qıylı usıllar qollanıladı. Olarǵa intervyu alıw, sorawnamalar ótkeriw, ushırasıwlar shólkemlestiriw, hújjetlerdi úyreniw hám bar bolǵan sistemalardı baqlaw kiredi. Analiz barısında alınǵan maǵlıwmatlar sistemalanadı hám strukturalastırıladı. Bul processte use-case diagrammaları, aǵım diagrammaları hám basqa da vizual qurallar paydalanılıwı múmkin. Talaplardı analizlew nátiyjesinde alınǵan maǵlıwmatlar keyingi basqıshlarda sistemanıń obektlik modelin dúziw ushın tiykar bolıp xızmet etedi.
Talaplardı analizlew basqıshınıń juwmaǵında talaplar specifikaciyası dúziledi. Bul hújjet sistemaǵa bolǵan barlıq talaplardı tolıq hám anıq súwretleydi. Ol keleshekte sistemanıń dizaynı, implementaciyası hám testlew processleri ushın tiykarǵı maǵlıwmat deregi bolıp xızmet etedi. Talaplar specifikaciyası sistemanıń funkcionallıǵın, ónimdarlıǵın, isenimliligin, qáwipsizligin hám basqa da sapa kórsetkishlerin anıq belgileydi. Sonnıń menen birge, bul hújjet mápli tárepler arasında kelisim dúziw hám jobanıń nátiyjeliligin bahalaw ushın da qollanıladı.
2. Klasslardı anıqlaw hám dizayn.
Obektke baǵdarlanǵan arxitekturanı proektlestiriw processinde klasslardı anıqlaw hám dizayn - bul sistemanıń tiykarǵı qurılıs blokların jaratıw basqıshı. Bul basqıshta talaplar analizi nátiyjesinde alınǵan maǵlıwmatlar tiykarında sistemanıń obektlik modeli dúziledi. Klasslardı anıqlaw processi sistemadaǵı tiykarǵı
koncepciyalardı, olardıń qásiyetlerin hám óz-ara baylanısların identifikaciyalawdı óz ishine aladı. Bul processte UML (Unified Modeling Language) sıyaqlı modellestiriw tillerinen keń paydalanıladı. Klasslar diagrammaları, obektler diagrammaları hám basqa da UML diagrammaları sistemanıń strukturasın hám dinamikasın kórsetiw ushın qollanıladı.
Klasslardı dizaynlaw barısında bir qatar principler esapqa alınadı. Olarǵa inkapsulyaciya, miyrasxorlıq hám polimorfizm sıyaqlı obektke baǵdarlanǵan programmalastırıwdıń tiykarǵı koncepciyaları kiredi. Hár bir klass anıq maqsetke iye bolıwı, bir funkciyanı atqarıwı hám basqa klasslar menen minimal baylanısqa iye bolıwı kerek. Bul principler sistemanıń modulligin, qayta qollanılıwshılıǵın hám keńeytiliwshiligin támiyinleydi. Sonnıń menen birge, dizayn úlgileri (design patterns) de keń qollanıladı. Olar - belgili problemalardı sheshiwdiń standart usılları bolıp, olar sistemanıń sapasın hám qayta qollanılıwshılıǵın arttıradı.
Klasslardı anıqlaw hám dizayn basqıshınıń aqırında sistemanıń tolıq obektlik modeli dúziledi. Bul model sistemadaǵı barlıq klasslardıń, olardıń atributları menen metodlarınıń, sonday-aq klasslar arasındaǵı qatnasıqlardıń tolıq súwretlemesin óz ishine aladı. Bul model sistemanıń arxitekturasın anıq kórsetip beredi hám keyingi implementaciya basqıshı ushın tiykar bolıp xızmet etedi.
Sonnıń menen birge, bul basqıshta dúzilgen model sistemanıń talaplarǵa sáykesligin tekseriw ushın qollanıladı hám zárúr bolǵan jaǵdayda dúzetiwler kirgiziledi. Jaqsı dizaynlanǵan klasslar sisteması - bul obektke baǵdarlanǵan arxitekturanıń tabıslı bolıwınıń girewi.
3. Obektler arasındaǵı qatnasıqlardı belgilew.
Obektke baǵdarlanǵan arxitekturanı proektlestiriw processinde obektler arasındaǵı qatnasıqlardı belgilew - bul sistemanıń dinamikalıq strukturasın anıqlawdıń áhmiyetli basqıshı. Bul basqıshta klasslar arasındaǵı baylanıslar, olardıń óz-ara tásiri hám bir-birine tásir etiw usılları anıqlanadı. Qatnasıqlardı durıs belgilew sistemanıń isenimli, keńeytiliwshiligi hám qollap-quwatlanıwı ushın úlken áhmiyetke iye. Ádette, obektler arasındaǵı qatnasıqlar UML diagrammaları, sonıń ishinde klasslar diagrammaları, yacheykalı diagrammalar hám izbe-izlik diagrammaları járdeminde kórsetiledi.
Obektler arasındaǵı qatnasıqlardıń bir neshe túri bar. Bulardıń eń keń tarqalǵanları - associaciya, agregaciya, kompoziciya hám miyraslaw. Associaciya - bul eki klass arasındaǵı ulıwma baylanıstı kórsetedi. Agregaciya hám kompoziciya - bul "pútin-bólek" qatnasıǵın kórsetedi, bunda bir obekt basqa obekttiń quramına kiredi. Miyraslaw bolsa bir klasstıń basqa klasstan qásiyetlerdi hám metodlardı alıwın kórsetedi. Hár bir qatnasıq túri óziniń specifikalıq maqsetine iye hám belgili
jaǵdaylarda qollanıladı. Qatnasıqlardı durıs tańlaw hám qollanıw sistemanıń strukturasın anıq hám nátiyjeli etedi.
Qatnasıqlardı belgilew processinde obektler arasındaǵı baylanıslardıń baǵıtı, kópligi (multiplicity) hám rolleri de anıqlanadı. Baǵıt - bul qatnasıqtıń qaysı tárepten baslanıp, qaysı tárepke qaray baǵdarlanǵanın kórsetedi. Kóplik - bul qatnasıqqa qatnasıwshı obektlerdiń sanın anıqlaydı. Roller bolsa hár bir obekttiń usı qatnasıqtaǵı funkciyasın súwretleydi. Bul faktorlardıń hámmesi sistemanıń ulıwma arxitekturasına tásir etedi hám onıń islenimin anıqlaydı. Jaqsı oylastırılǵan qatnasıqlar sistemanıń iykemliligin, keńeytiliwshiligin hám qayta qollanılıwshılıǵın arttıradı, al jaman dizaynlanǵan qatnasıqlar sistemanıń quramalasıwına hám qollap-quwatlawdıń qıyınlasıwına alıp keliwi múmkin.
4. UML diagrammaların paydalanıw.
Obektke baǵdarlanǵan arxitekturanı proektlestiriw processinde UML (Unified Modeling Language) diagrammaların paydalanıw - bul sistemanıń strukturasın hám dinamikasın vizual túrde kórsetiwdiń kúshli quralı. UML - bul standartlastırılǵan modellestiriw tili bolıp, ol programmalıq támiynattı jobalaw, vizualizaciyalaw hám dokumentlestiriw ushın keń qollanıladı. UML diagrammaları sistemanıń hár qıylı aspektlerin súwretlewge múmkinshilik beredi, sonıń ishinde statikalıq struktura, dinamikalıq háreket hám funkcionallıq. Bul diagrammalar jobanıń barlıq qatnasıwshıları arasında kommunikaciyanı jaqsılawǵa, sistemanıń quramalasqan bóleklerin túsiniwge hám arxitekturalıq sheshimlerdi qabıl etiwge járdem beredi.
UML diagrammalarınıń bir neshe túri bar, olardıń hár biri sistemanıń belgili bir aspektin súwretleydi. Mısalı, klasslar diagramması sistemanıń statikalıq strukturasın kórsetedi, onda klasslar, olardıń atributları, metodları hám klasslar arasındaǵı qatnasıqlar súwretlenedi. Izbe-izlik diagramması obektler arasındaǵı xabar almasıwdı waqıt boyınsha kórsetedi. Háreket diagramması sistemadaǵı logikalıq processlerdi hám algoritmlerdi súwretleydi. Komponent diagramması sistemanıń fizikalıq qurılısın hám komponentler arasındaǵı baylanıslardı kórsetedi. Hár bir diagramma túri óziniń specifikalıq maqsetine iye hám sistemanıń hár qıylı aspektlerin túsiniwge járdem beredi.
UML diagrammaların paydalanıw arxitekturanı proektlestiriw processiniń barlıq basqıshlarında áhmiyetli. Talaplardı analizlew basqıshında use case diagrammaları qollanılıwı múmkin, al klasslar identifikaciyası hám dizaynı basqıshında klasslar diagrammaları paydalanıladı. Obektler arasındaǵı qatnasıqlardı belgilew waqtında izbe-izlik hám kommunikaciya diagrammaları qollanıladı. Sistemanıń ulıwma arxitekturasın kórsetiw ushın komponent hám ornalastırıw diagrammaları paydalanıladı. UML diagrammaların durıs paydalanıw
sistemanıń dizaynın jaqsılawǵa, qátelerdi erte anıqlawǵa hám jobanıń ulıwma sapasın arttırıwǵa alıp keledi. Sonlıqtan, UML diagrammaların paydalanıw obektke baǵdarlanǵan arxitekturanı proektlestiriwdiń bir bólegi bolıp esaplanadı.
Olar tek ǵana sistemanıń vizual kórinisin bermeydi, al sonday-aq arxitekturanıń sapasın arttırıwǵa, qátelerdi azaytıwǵa hám jobanıń ulıwma nátiyjeliligin joqarılatıwǵa járdem beredi. Bul qurallar programmistler, dizaynerler hám basqa da joba qatnasıwshıları arasında ónimli kommunikaciyanı támiyinleydi, bul bolsa óz gezeginde jobanıń sátli ámelge asırılıwına alıp keledi.
5. Dizayn patternlerin qollanıw.
Obektke baǵdarlanǵan arxitekturanı proektlestiriw processinde dizayn patternlerin qollanıw - bul programmalıq támiynattı islep shıǵıwdıń eń áhmiyetli aspektlerinen biri. Dizayn patternleri - bul jiyi ushırasatuǵın programmalıq máselelerdi sheshiwdiń sınalǵan hám tastıyıqlanǵan usılları. Olar programmistlerge qayta-qayta payda bolatuǵın máselelerdi sheshiwde tájiriybeden ótken sheshimlerdi usınıs etedi, bul arqalı kod sapasın arttıradı hám rawajlandırıw processin tezlestiredi.
Dizayn patternleriniń bir neshe túrleri bar, olardıń hár biri belgili bir maqsetke xızmet etedi. Mısalı, jaratıwshı patternler (Singleton, Factory Method, Abstract Factory) obektlerdi jaratıw processin basqarıwǵa járdem beredi. Strukturalıq patternler (Adapter, Bridge, Composite) klasslar hám obektler arasındaǵı qatnasıqlardı shólkemlestiriwge arnalǵan. Háreket patternleri (Observer, Strategy, Command) bolsa obektler arasındaǵı kommunikaciya hám juwapkershiliklerdi bólistiriwdi optimallastıradı.
Dizayn patternlerin durıs qollanıw arxitekturanıń iykemliligin, keńeytiliwin hám qayta qollanılıwın támiyinleydi. Biraq, olardı mexanikalıq túrde qollanıw emes, al hár bir jaǵdayda olardıń zárúrligin hám orınlılıǵın bahalaw kerek. Dizayn patternlerin shennen tıs qollanıw sistemanıń quramalasıwına alıp keliwi múmkin. Sonlıqtan, arxitektor hár bir patternniń artıqmashılıqları menen kemshiliklerin túsiniwi hám olardı jobanıń talaplarına sáykes qollanıwı áhmiyetli.
6. Arxitekturalıq stillerdi tańlaw.
Obektke baǵdarlanǵan arxitekturanı proektlestiriw processinde arxitekturalıq stillerdi tańlaw - bul sistemanıń ulıwma strukturasın hám onıń komponentleri arasındaǵı óz-ara baylanıslardı anıqlaytuǵın áhmiyetli adım. Arxitekturalıq stil - bul sistemanıń shólkemlestiriwi ushın ulıwma sxema bolıp, ol komponentlerdiń jaylasıwın, olardıń juwapkershiliklerin hám bir-biri menen baylanısıw usılların belgileydi. Durıs tańlanǵan arxitekturalıq stil sistemanıń sapasın, ónimdarlıǵın hám keńeytiliwin támiyinleydi.
Hár bir arxitekturalıq stildiń óziniń artıqmashılıqları hám kemshilikleri bar. Mısalı, qabatlı arxitektura (Layered Architecture) sistemanı logikalıq bólimlerge ajıratıwǵa járdem beredi, bul onıń túsinikliligin hám qollap-quwatlanıwın jaqsılaydı. Mikroservislik arxitektura (Microservices Architecture) úlken hám quramalı sistemalardı kishi, ǵárezsiz xızmetlerge bóliwge múmkinshilik beredi, bul masshtablanıwdı hám jeke komponentlerdi rawajlandırıwdı ańsatlastıradı.
Waqıyaǵa tiykarlanǵan arxitektura (Event-Driven Architecture) bolsa, sistemanıń bólekleri arasında bos baylanıstı támiyinleydi, bul onıń iykemliligin arttıradı.
Arxitekturalıq stildi tańlawda bir qatar faktorlardı esapqa alıw kerek. Bular qatarına sistemaǵa qoyılatuǵın funkcional hám funkcional emes talaplar, masshtablanıw zárúrligi, ónimdarlıq talapları, qáwipsizlik máseleleri hám t.b. kiredi. Sonday-aq, joba komandasınıń tájiriybesi hám bilimleri, qolda bar resurslar hám waqıt sheklewleri de esapqa alınıwı kerek. Kóbinese, bir sistemada bir neshe arxitekturalıq stillerdi aralastırıp qollanıw múmkin, bul hár bir stildiń artıqmashılıqlarınan paydalanıwǵa imkaniyat beredi.
BAQLAW SORAWLARÍ:
1.Obyektke baǵdarlanǵan arxitekturanı proektlestiriw processinde talaplardı analizlew ne ushın áhmiyetli?
2.Talaplardı analizlew basqıshında qanday usıllar qollanıladı?
3.Talaplar specifikaciyası nege kerek?
4.Klasslardı anıqlaw processinde qanday UML diagrammaları qollanıladı?
5.Inkapsulyaciya, miyrasxorlıq hám polimorfizm qanday rollerdi atqaradı?
6.Dizayn principleri klasslardıń islep shıǵıwına qanday tásir etedi?
7.Obektler arasındaǵı qatnasıqlardı belgilewde qanday faktorlar esapqa
alınadı?
8.UML diagrammaları ne ushın qollanıladı hám olar qanday túrlerge
bólinedi?
9.Klasslar diagramması qanday maǵlıwmat beredi?
10.Dizayn patternleri nege qerek hám olar qanday túrlerge ajıraladı?
11.Factory Method hám Singleton patternleri qanday maqsetlerde qollanıladı?
12.Arxitekturalıq stillerdi tańlaw sistemanıń ónimdarlıǵına qanday tásir
etedi?
13.Qaysı arxitekturalıq stiller bar hám olar qanday artıqmashılıqlarǵa iye?
14.Mikroservislik arxitektura qanday sistemaslar ushın jaqısıraq?
15.Waqıyaǵa tiykarlanǵan arxitekturanıń negizgi basqıshları qanday?