Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Programmaliq tamiynat arxitekturasi

.pdf
Скачиваний:
5
Добавлен:
11.08.2024
Размер:
359.56 Кб
Скачать

joqarı dárejeli abstraktli túsinikke iye bolıwı menen, islep shıǵıwshılar basqa avtorlardıń kodın qayta qollanıwdı biliwi kerek hám dawam etiwshilerge óziniń kodın beriwge tayar bolıwı kerek.

Eger bul islenbese, onda hár qıylı qurallar menen birdey biznesproeсessti parallel programmalastırıw tendenсiyası dawam ete beriwi múmkin. Bizlerdiń qarıydarlarımız ámelge asırılıwı, atları hámbahaları boyınsha ajralıp turıwshı hám birdey funkсional imkaniyatlarǵa iye ónimlerdi tańlaw mumkinshiligine iye boladı. Álbette tańlaw kriteriyası bul jerde anıq – islep shıǵıw bahası hám usı kriteriya boyınsha tenderler ótkiziw praktikası.

Solay eken hár bir ónimniń kriteriyası onıń sıpatı bolıp esaplansa,bul ónimdi islep shıǵıw ushın programmalastırıwda zárúr bolǵan eń jaqsı zatlar qollanıladı. Seniń konkurentleriń tárepinen ózleriniń islep shıǵıwlarında seniń kodıńdı paydalanıw mumkinligin qarsılıq qılıp bolmaydı.

Kodtı qayta paydalanıwıńız ushın, siz házirgi proektti islewdiń barlıq bóleklerin aldınnan sonday islep shıǵıwıńız kerek, yaǵnıy onıń hár bir bólegi bólek tovar–qayta paydalanılatuǵın kod bolıwı kerek. Sizlerdiń ishińizden, konfiguraсiyalar jıyını hám dáslepki kodtı analiz qılıw menen dus kelgen ayrımlarıńızǵa jaqsı belgili bunday kodlardıń sıpat variantları jámi ekew.

Qollanılıwǵa tayar kodtıń variantı minimal talaplardı dástlepki kodtıń kórnisine sáykes keliwi hám kodtıń avtorı bolmaǵan adamlar túsiniwi kerek. Eger bunday táriyplew nátiyje bermese, demek bunday kodtıń sıpatı ekinshi variantqa sáykes keledi hám onı qollanıw proekttiń usı bólekti qaytadan islewge alıp keledi.

4-LEKCIYA. GENERACIYALAWSHÍ PROGRAMMALASTÍRÍW.

Joba:

1. Generaсiyalawshı programmalastırıw haqqında túsinik.

Tayanısh sózler: Payda qılıwshı (Generative programming) programmalastırıw, programmalıq támiynat generatorları.

Aldın dúzilgen kodtı qollanıwdıń, onı islep shıǵıwshılardıń tájriybesi hám intuiсiyasınan basqa, bir mánili metodikası bolmaǵan menen programmalıq injenerliktiń bólegi bolǵan programmalastırıw ilimi bar. Onı payda qılıwshı

(Generative programming) programmalastırıw dep ataydı.

Payda qılıwshı programmalastırıwdıń ideyası sistemalar semyası ushın

payda qılıwshı modellerdi dúziw hám proektlestiriwge tiykarlanǵan hám onıń maqseti usı modeller boyınsha konkret sistemanı generaсiyalaw esaplanadı. Belgili predmet tarawında (bul ámeliy programmalastırıw tarawına tán bolıp) sistemalar semyasın islep shıǵıwda ámeliy tájriybeniń bolıwı kóp márte paydalanılatuǵın programmalıq támiynattı islep shıǵıw múmkinligin payda etedi.

Kóp márte paydalanılatuǵın komponentalardı islep shıǵıw, sistemalar semyası aǵzalarınıń ulıwmalıǵın anıqlaw menen birge,ózgeriwshilik qásiyetine iye

áhmiyetli parametrlerdide anıqlaydı. Predmet tarawınıń ózgesheliklerin proekttiń xarakteristikaların modellestiriw múmkinshiligi menen anıqlaw, qanday xarakteristikalar hám ózgeriwshi parametrlerdi birden ámelge asırıw kerek, al

qaysıların keleshekke jobalastırıw kerekligin anıqlawǵa múmkinshilik beredi.

Generaсiyalawshı programmalastırıw programmalıq kodtıń

generatorların paydalanıwdı talap etedi hám olar aldın dúzilgen kod hámtalaplardıń

speсifikaсiyası e sapqa alıw tiykarında proekttiń

«pilotlıq» hám jumıs versiyasın jıynawdı avtomatlastırıwǵa múmkinshilik beredi.

Generaсiyalawshı programmalastırıw PT tıń arxitektorlarınıń quralı retinde proekttiń logikasın onı islep shıǵıw basqıshınan baslap programmalıq sistemanıń

ómir ciklı dawamında basqarıwǵa baǵdarlanǵan.

Generaсiyalawshı

programmalastırıwdı

 

arxitektor qollanıwı ushın konkret predmet tarawında paydalanıwǵa jaramlı CASEsistemalar, PT generatorları hám qayta paydalanıwǵa jaramlı aldın dúzilgen programmalıq kod zarur boladı.

5-LEKCIYA. PROGRAMMALÍQ TÁMIYNLEW GENERATORLARÍ.

Joba:

1. Programmalıq támiynlew generatorları.

Tayanısh sózler: generator, metafunkсiya, metaprogrammalastırıw.

Paydalanıwǵa tayar programmalıq ónimdi, sonıń menen birge: programmalıq sistemanı, komponentanı, klasstı, proсeduralardı hám soǵan uqsas sistema bóleklerin joqarı dárejeli speсifikaсiya tiykarında jıynawdı ámelge

asırıwshı programmalıq ortalıq «generator» dep ataladı.

Generatorlardı paydalanıw, olar járdeminde ámelge asırılatuǵın predmetke baǵdarlanǵan notaсiyalardı paydalanıw esabınan, proektleniwshi sistemalardıń táriypleniwiniń anıqlıǵı hám túsinikliligin asırıwǵa múmkinshilik beredi.

Generatorlardı paydalanıw proekleniwshi sistemanı ámelge asırıw effektivligin anıqlawshı proсessti avtomatlastırıwǵa hám komponentalar kitapxanası menen

jumıs islewdi optimallastırıwǵamúmkinshilik beredi.

Generatorlar hár qıylı texnologiyalar kópliginen ibarat boladı hám olar

preproсessorlar, metafunkсiyalar, kompilyatorlar, generaсiyalawshı

klasslar

hám

proсeduralar,

CASE-sistema

kodları

generatorları(programmalardı dúziwdi hám proeklestiriwdi avtomatlastırıwshı

qurallar),

transformaсiyalıq(ózgertiwshi) komponentalar hám

taǵı basqalar bolıp esaplanadı. Máselen, generator járdeminde joqarı dárejeli programmalastırıw tilinde jazılǵan programmanıń mashina tilinde yamasa bayt kod túrinde ámelge asırılıwın

avtomat túrde generaсiyalaw múmkin. Generatordıń basqa mısalı retinde S++ tili shablonları tiykarında metaprogrammalastırıwda metafunkсiyalardı qayta islewshi programmanı kórsetiwge boladı.

Kópshilik CASE-sistemalar programmalastırıw tilinde táriyplengen grafikalıq modellerdi ámelge asırıwshı generatorlardı óz ishine aladı. Ayırım metaprogrammalastırıw sistemaları generatorlardan paydalanıwǵa múmkinshilik beredi, eger kiriwshi speсifikaсiya sıpatında komponentalardıń grafikalıq konfiguraсiyaları joqarı dárejedegi tilde jazılǵan prdmetke baǵdarlanǵan notaсiyalar hám kod bólekleri túrinde bolsa.

6-LEKCIYA. PROGRAMMALÍQ TÁMIYNATTÍ PROEKTLESTIRIW USHÍN ARXITEKTURALÍQ ÚLGILERDI PAYDALANÍW.

Joba:

1. Programmalıq támiynattı proektlestiriw ushın arxitekturalıq úlgilerdi paydalanıw.

Tayanısh sózler: Dárejeli úlgi, kanallar hám filtrlar boyınsha úlgiler,oralıq-úlgi.

PT arxitekturası termininiń 30 jıllıq paydalanıw tájriybesine qaramastan PT tı arxitekturalıq proektlestiriwdi ámeliy engiziw házirge shekem dawam etip kelmekte hám sanaattaǵı programmalastırıwda burınǵıday jańa texnologiyalıq baǵdar esaplanadı. Proektleniwshi programmalıq sistemalardıń komponentlik xarakterin esapqa alıp, arxitekturalıq proektlestiriwge arnalǵan ádebiyatlarda kóbirek dıqqat proektlestiriwdiń úlgilerin(patternler) islep shıǵıwǵa hám engiziwge qaratıladı. Olardan birinde proektlestiriw úlgilerine mınaday anıqlama beriledi « Informaсiyalıq sistemalardı islep shıǵıwda qollanılatuǵın qálegen proektlestiriw patterni jiyi ushraytuǵın proektlestiriw máselesiniń formallasqan túrdegi táriypi, usı máseleniń tabıslı

sheshimi, hámde usı sheshimdi hár qıylı jaǵdaylarda qollanıwǵa usınıs bolıp tabıladı». Bunnan basqa proektlestiriw patterni ulıwma paydalanıwshı atına da iye boladı. Durıs dúzilgen proektlestiriw patterni bir márte tabıslı tabılǵan sheshimdi qayta qayta paydalanıwǵa múmkinshilik beredi. Sonı atap ótiw kerek, patternler menen jumıs islewde áhmiyetli baslanǵısh etap qaralıp atırǵan predmet tarawın adekvat(reallıqqa sáykes) modellestiriw esaplanadı.

K. Charneсki hám U. Ayzeneker kópshilik jaǵdaylarda arxitekturalıq proektlestiriwde patternlerdi (architectural patterns) jańa úlgi alıw ushın periodlı túrde saralap turıw paydalı dep esaplaydı. Bunday jol menen alınǵan jańa arxitekturalıq úlgi belgili talaplar jıyınına sáykesbolıwı, sekсiyalardan ibarat hújjet kórinisinde táriypke iye bolıwı tiyis hám ol sekсiyalarda atı,konteksti, tásirler, sheshimler, saldarlar hám mısallar boladı. Mısal retinde olar tómendegi arxitekturalıq úlgilerdikórsetedi:

Dárejelik úlgi. Hár bir topar belgili abstrakсiya dárejesinde jatıwshı úles máseleler toparı boyınsha saralaw;

Kanallar hám filtrler boyınsha úlgiler.

Klass taxtası úlgisi. Bir neshe arnawlı podsistemalardıń bilimleri biriktiriliwshi sxema. Ol determinirlenbegen máseleniń dara yamasa juwıq sheshimin tabıwǵa múmkinshilik beredi;

Aralıq –úlgi. Bul ajıratılǵan komponentlerdiń uzaqtaǵı xızmetlerarqalı óz ara baylanısı sxeması.

Model-ańlatıw-kontroller úlgisi.

Mikroyadro úlgisi.

7-LEKCIYA. INTENCIONALLÍQ PROGRAMMALASTÍRÍW.

Joba:

1. Intenсionallıq programmalastırıw haqqında túsinik.

Tayanısh sózler: Metaprogrammalastırıw, IP (Intentional Programming), til instrumenti(Language Workbench), tilge baǵdarlanǵan programmalastırıw(Language Oriented Programming).

Payda etiwshi programmalastırıwdı qollanıwdı avtomatlastırıw metaprogrammalastırıwdıń arnawlı sistemaların jaratıwdı izertlewmenen birge alıp barıladı hám olar payda etiwshi programmalastırıwdı keń túrde qollap quwatlaydı.

Bul sistemalar avtomatlı refaktoringti qollaydı hám proektlestiriw boyınsha bilimlerdi tradiсiyalıq programmalastırıwǵa qaraǵanda kóbirek jıynawǵa múmkinshilik beredi. Usınıń menen refaktoringdi avomatlastırıwdıń joqarı dárejeliligiyamasa PT tı gúzetiwdiń basqa túriniń rawajlanıwı támiynlenedi, sebebi kodlastırıwdan aldın keletuǵın proektlik sheshimlerdiń azayıwına alıp keledi.

Bunday sistemalardı qollanıw programmalastırıw tilleriniń múmkinshilikleri menen baylanıslı sheklewlerdi azaytıwǵa hám bar bolǵan qollanbalardı jańa platformalarǵa qayta sazlawǵa múmkinshilik beredi hám ol programmalardı basqa programmalastırıw tillerine kóshiriw basqıshların alıp taslaw esabınan shıǵınlardı minimallastıradı.

Bunday sistemalardıń jalǵız hám ayqın mısalı Charlz Simoni tárepinen jaratılǵan IP sisteması bolıp esaplanadı. IP (Intentional Programming) metaprogrammalastırıw ortalıǵında islewdi ayrım waqıtları mental yamasa intenсional programmalastırıw delinedi. Til instrumenti(Language Workbench) hám tilge baǵdarlanǵan programmalastırıw(Language Oriented Programming) terminleriniń avtori Martin Fauler, payda qılıwshı programmalastırıw ideyasın izertley hám rawajlantıra otırıp mınalardı jazadı: integrallasqan rawajlanıw ortalıǵı

IDE (Integrated Development Environment) ti islep shıǵılǵanlıǵı sebepli bul programmalastırıwdıń túri kóp jasaǵısh bolmaqta.

8-LEKCIYA. AVTOMATLÍ PROGRAMMALASTÍRÍW.

Joba:

1. Avtomatlı programmalastırıw haqqında túsinik.

Tayanısh sózler: UniMod instrumentallıq qurallar, SWITCH texnologiyası,UML – notaсiyası.

Programmalıq injeneriyanı avtomatlastırıw oblastında kóbirek belgili bolǵan Rossiyada islep shıǵılǵan proektlestiriw hám awhallardı anıq belgilewshi reaktiv obyektke-baǵdarlanǵan programmalardı ámelge asırıw metodı bolıp esaplanadı. Metodtı qollanıw ushın UniMod instrumental quralı islep shıǵılǵan.

Avtomatli programmalastırıwdı jaratqan Anatoliy Abramovich Shalıtonıń jumısları,

PT tı generaсiyalaw ushın orınlanıwshı UML modellestiriw tilin qollanıw ideyası menen baylanıslı. Metod avtomatlı programmalastırıwǵa(SWITCH texnologiyası) hám UML –notaсiyaların (shártli jazba belgilerdi) qollanıwǵa tiykarlanǵan.

UniMod instrumental programmalastırıw quralı usı metodqa tiykarlanadı hám Eclipse platformasına ornatılıwshı modulbolıp esaplanadı.

Avtorlar óziniń jumıslarında, házirgi waqıtta UML modellestiriw tili modeller sistemasınıń speсifikaсiya tili sıpatında qollanıp atırǵanlıǵın qayta qayta aytadı. Bunda bar bolǵan UML –qurallari hár qıylı diagrammalar dúziw hám klasslar diagramması boyınsha avtomat tárizde programmalastırıw tillarinde kodtıń “skelet” tin jaratıwǵa mumkinshilik beredi, bunnan basqa awhallar diagramması boyınsha programma kodı háreketin generaсiyalawdı avtomatlastırıw imkaniyatın beredi. Biraq belgili instrumentler háreketler modeli menen kodtıń “skelet” in effektiv baylanıstırıwǵa tolıq imkaniyat bermeydi, sebebi onı awhallar, xızmetler, kooperaсiya yamasa izbe-izlikler diagrammaları járdeminde táriyplew múmkin.

Avtorlardıń pikiri boyınsha bir qıylı mánili operaсiyalıq semantikanıń joqlıǵı, programmanı tradiсiyalıq dúziwde kodtıń háreket táriyipin modelde hám programmada hár qıylı súwretlewge alıp keledi,

yaǵnıy programmistler tárepinen háreket diagrammalarınıń erkin interpretaсiyalanıwına alıp keledi, modelde kod háreketin táriyplew kóbinshe formal emes xarakterge iye. Bunda arxitektor tárepinen dúziletuǵın modeldiń formal háreketi, programmistler dáslepki kodtı islep shıǵıwda onnan paydalanbastan ózleriniń túsiniginen kelip shıqqanhalda islewi múmkin.

UML tilinde operaсiyalıq semantikanıń payda bolıwı PT tı proektlestiriwdegi qatnasıwshılardıń diagrammaların birdey mániste túsiniwdi hám orınlanıwshı UML jaratıwǵa imkaniyat beredi, jiyi kodtı generaсiyalaw táriyplengen modeldi interpretaсiyalawda tuwrı orınlanıwı múmkin.

Temalarǵa tiyisli sorawlar.

1. Programmalıq támiynat arxitekturası haqqında túsinik beriń ?

2. Qanday artefaktlar predmet oblastınıń proektlestiriw arxitekturasınıń maqseti bolıp esaplanadı?

3.Programmalıq támiynattı jaratıwda arxitekturanıń roli qanday?

4.Programmalıq támiynattı proektlestiriw proсessii qanday izbeizlikte orınlanadı: Predmet oblastınıń sistema arxitekturasın proektlestiriw, modeldi

ámelge asırıw rejesi hám modeldi ámelge asırıw.

5.Programmalıq támiynat jaratıwda arxitektordıń roli qanday?

6.IP qısqartılıwına túsinik beriń?

7.Avtomatlı programmalastırıw haqqında túsinik beriń?

8.Sergey Dmitriev PT tı islep shıǵıw oblastında qanday baǵdardı rawajlandırmaqta?

GLOSSARIY.

Arxitektura hám injeneriya bul insan iskerligi túrleri sıpatında, ol kompyuter texnologiyası bar bolmastan aldın bar edi. Aldın bul iskerlik túrlerin proekt jaratıw proсessine arnalǵan yamasa múmkin bolǵan obyekt proobrazı, prototipi baylanıstırıp turatuǵın edi. Basqasha aytqanda proektlestiriw óz quramına

Arxitektura hám injeneriya túsiniklerin aladı hám programmalıq támiynattı proektlestiriw bolsa, máselen binalardı proektlestiriw túsiniginen kem parqılanadı.

Programmalıq támiynat arxitekturası - bul sonday programmalıq támiynat sistemasın ańlatadı, yaǵnıy ol sistemanı dúziwshi komponentalar, komponentalar arasındaǵı óz-ara baylanıstı hám usı baylanıstı tártiplestiriwshi qaǵıydalar haqqında maǵlıwmat beredi hám ol bunday sistema proektiniń effektiv islewi ushın arnalǵan boladı.

Predmet oblastınıń modelin ámelge asırıw proektlestirilip atırǵan obyekttiń arxitekturalıq modellestiriliwin ańlatadı.

Programmalıq támiynat xarakteristekasın illyustraсiyalanǵan qurallar sıpatında ańlatıw, arxitekturalıq proektlestiriwde hár qıylı shártli jazba belgilerdi – bloksxemalar, ER-diagramması, UML-diagramması, DFD-diagramması hámde maketler qollanıladı.

Aldın dúzilgen kodtı qollanıwdıń, onı islep shıǵıwshılardıń tájriybesi hám intuiсiyasınan basqa, bir mánili metodikası bolmaǵan menen programmalıq injenerliktiń bólegi bolǵan programmalastırıw ilimi bar. Onı payda qılıwshı (Generative programming) programmalastırıw dep ataydı.

Paydalanıwǵa tayar programmalıq ónimdi, sonıń menen birge: programmalıq sistemanı, komponentanı, klasstı, proсeduralardı hám soǵan uqsas sistema bóleklerin joqarı dárejeli speсifikaсiya tiykarında

jıynawdı ámelge asırıwshı programmalıq ortalıq «generator» dep ataladı.

Charlz Simoni tárepinen jaratılǵan IP (Intentional Programming) metaprogrammalastırıw ortalıǵında islewdi ayrım waqıtları mental yamasa intenсional programmalastırıw delinedi.

Islep shıǵılıp atırǵan programmalıq támiynat arxitekturasın modellestiriw ushın modellerdi proektlestiriwdi táriplew tili sıpatında uniсirlengen modellestiriw tili UML(Unified Modeling Language) qollanıladı.

MDA konсepсiyasınıń áhmiyetliligi qollanbalardı islep shıǵıwda islep shıǵıwshılardıń tiykarǵı kúsh sarplanıwı programmalastırıw basqıshlarınan PT modelin dúziw basqıshını baǵdarlanadı.