Скачиваний:
0
Добавлен:
26.01.2026
Размер:
157.66 Кб
Скачать

11-lekciya. Programmalıq támiynattı modellestiriw.

Jobası:

1.Programmalıq modellestiriw túsinigi hám onıń maqsetleri.

2.UML (Unified Modeling Language) – Ulıwmalasqan modellestiriw tili.

3.Strukturalıq diagrammalar: Klass, Obyekt hám Komponent diagrammaları.

4.Minez-qulıq diagrammaları: Paydalanıw jaǵdayları (Use Case) hám Izbeizlik (Sequence) diagrammaları.

Modellestiriwdiń mánisi hám zárúrligi

Programmalıq támiynattı modellestiriw (Software Modeling) – bul real dúnyadaǵı quramalı sistemalardı yamasa processlerdi vizuallıq (kórnekli) hám abstrakt túrde súwretlew procesi. Qurılısta imarat salınbastan burın onıń maketi hám sızılmaları tayarlanǵanı sıyaqlı, programmalıq injeneriyada da kod jazıwdan burın (hám process waqtında) programmanıń modeli dúziledi. Model

– bul haqıyqıy sistemanıń ápiwayılastırılǵan kórinisi bolıp, ol bizge sistemanıń strukturasın hám minez-qulqın túsiniwge, analizlewge hám basqa qatnasıwshılarǵa túsindiriwge járdem beredi. Model kodtıń ornın baspaydı, biraq kodtıń "jol kórsetkishi" wazıypasın atqaradı.

Modellestiriwdiń eń tiykarǵı maqseti – "Quramalılıqtı basqarıw". Programmalıq sistemalar júdá kóp komponentlerden, baylanıslardan hám logikalıq qatlamlardan turadı. Bir adamnıń bulardıń barlıǵın basında saqlawı múmkin emes. Model arqalı biz sistemanı túrli táreplerinen (viewpoints) kóre alamız. Mısalı, bir model maǵlıwmatlar strukturasın kórsetse, ekinshi model paydalanıwshınıń háreketlerin kórsetedi. Bul "bólekle hám jeń" (divide and conquer) principine sáykes keledi. Modellestiriw arqalı biz úlken máseleni kishi hám túsinikli bóleklerge bólemiz. Ekinshi maqseti – "Kommunikaciya". Programmalıq proektte buyırtpashılar, menedjerler, analitikler hám programmistler qatnasadı. Olardıń "tilleri" hár qıylı: programmist kod tilinde sóylese, buyırtpashı biznes tilinde sóyleydi. Vizuallıq modeller (diagrammalar) bul eki topar arasındaǵı "kópir" wazıypasın atqaradı. Mısalı, blok-sxema yamasa Use Case diagramması texnikalıq bilimi joq adamǵa da programmanıń ne isleytuǵının túsindiriwge qolaylı. Model – bul ulıwma túsinisiw quralı.

Úshinshi maqseti – "Hújjetlestiriw hám Talaplardı anıqlaw". Kod jazıwdan aldın model jaratıw, talaplardaǵı qáte hám kemshiliklerdi erte anıqlawǵa járdem beredi. Qaǵazda sızılǵan modelde qáteni dúzetiw, jazılıp qoyılǵan mıńlaǵan qatar kodtı ózgertiwden ádewir arzan hám ańsat. Sondayaq, modeller keleshekte programmanı jańalaw yamasa ońlaw ushın eń áhmiyetli hújjet bolıp qala beredi. Jańa kelgen programmist kodtı oqıwdan aldın, modeldi kórip, sistemanıń ulıwma arxitekturasın tez túsine aladı.

UML – Ulıwmalasqan modellestiriw tili

Programmalıq támiynattı modellestiriwde eń keń tarqalǵan hám standartlastırılǵan til – bul "UML" (Unified Modeling Language). 1990-jılları Greydi Buch, Djeyms Rambo hám Ivar Djeykobson (Úsh dos) tárepinen islep shıǵılǵan hám OMG (Object Management Group) tárepinen standartlastırılǵan UML, búgingi kúnde Obyektke Baǵdarlanǵan Programmalastırıw (OBP) ushın "de facto" standart bolıp tabıladı. UML – bul programmalastırıw tili (kod jazıw ushın) emes, al "vizuallıq modellestiriw tili". Ol arnawlı belgiler, sızıqlar hám figuralar arqalı sistemanı súwretleydi.

UML diagrammaları eki úlken toparǵa bólinedi: "Strukturalıq diagrammalar" (Structural Diagrams) hám "Minez-qulıq diagrammaları" (Behavioral Diagrams). Strukturalıq diagrammalar sistemanıń statikalıq tárepin, yaǵnıy onıń qurılısın kórsetedi: qanday klasslar, obyektler, komponentler bar hám olar qalay baylanısqan. Minez-qulıq diagrammaları bolsa sistemanıń dinamikalıq tárepin, yaǵnıy waqıt ótiwi menen sistemanıń qalay ózgeretuǵının hám paydalanıwshı menen qalay qarım-qatnas jasaytuǵının kórsetedi. UML-de barlıǵı bolıp 14 túrli diagramma bar (UML 2.5 versiyasında). UML tek sızılma emes, onıń artında anıq semantika (mánis) jatır. Mısalı, klass diagrammasındaǵı "romb" belgisi "agregaciya" (pútin hám bólek) mánisin bildirse, "úshmúyeshlik" belgisi "miyrasxorlıq" (inheritance) mánisin bildiredi. Bul belgilerdiń mánisi standart bolǵanlıqtan, dúnyanıń qálegen jerindegi injener UML diagrammasın birdey túsinedi. Bul xalıqaralıq komandalarda islesiw ushın oǵada áhmiyetli.

Zamanagóy CASE (Computer-Aided Software Engineering) quralları (mısalı, Enterprise Architect, Visual Paradigm, StarUML) UML diagrammalarınan avtomat túrde kod generaciya etiw (Forward Engineering) yamasa kerisinshe, kodtan diagramma jaratıw (Reverse Engineering) imkaniyatın beredi. Bul "Model-Driven Development" (MDD) koncepciyasınıń tiykarı bolıp tabıladı. Yaǵnıy, model tek súwret emes, al kodtıń ajıralmas bólegine aylanadı.

Strukturalıq diagrammalar: Klass hám Komponent

Strukturalıq diagrammalardıń eń áhmiyetlisi hám eń kóp qollanılatuǵını

– bul "Klass diagramması" (Class Diagram). Klass diagramması sistemanıń statikalıq strukturasın klasslar, olardıń atributları, metodları hám klasslar arasındaǵı qatnasıqlar (Association, Inheritance, Dependency) arqalı kórsetedi. Klass diagramması – bul programmanıń "skeleti". Ol maǵlıwmatlar bazasın proektlestiriwde hám OBP kodın jazıwda tikkeley qollanba bolıp tabıladı. Diagrammada hárbir klass úsh bólekli tórtmúyeshlik penen súwretlenedi: atı, atributları hám operaciyaları. "Obyekt diagramması" (Object Diagram) klass diagrammasınıń anıq bir waqıttaǵı kórinisi (snapshot) bolıp tabıladı. Eger klass diagramması abstrakt (klasslar) bolsa, obyekt diagramması konkret (obyektler hám olardıń mánisleri) boladı. Mısalı, klass diagrammasında "Student" hám "Kurs" bar bolsa, obyekt diagrammasında "Azamat" atlı student hám "Matematika" atlı kurs bolıwı múmkin. Bul diagramma quramalı maǵlıwmatlar strukturasın testlew hám túsiniw ushın qollanıladı.

"Komponent diagramması" (Component Diagram) sistemanıń fizikalıq yamasa logikalıq modullerge (komponentlerge) bóliniwin hám olar arasındaǵı ǵárezlilikti kórsetedi. Komponent – bul ózbetinshe isleytuǵın hám almastırılıwı múmkin bolǵan programmalıq birlik (mısalı, .dll fayl, .jar fayl, veb-servis). Bul diagramma joqarı dárejeli arxitekturanı (High-Level Design) kórsetiw ushın qollanıladı hám interfeysler arqalı komponentlerdiń qalay baylanısatuǵının (Assembly connector) anıqlaydı.

"Jaylasıw diagramması" (Deployment Diagram) – programmalıq támiynattıń apparatlıq támiynatqa (serverler, kompyuterler, qurılmalar) qalay ornatılatuǵının kórsetedi. Bul diagramma sistemalıq administratorlar hám DevOps injenerleri ushın zárúr. Onda "Túyinler" (Nodes - serverler) hám olardıń ishinde isleytuǵın "Artefaktler" (Artifacts - programmalar) kórsetiledi. Mısalı, Veb-serverde qaysı kod, Maǵlıwmatlar bazası serverinde qaysı baza turǵanın usı diagrammadan biliwge boladı.

Minez-qulıq diagrammaları: Use Case hám Ózara háreketlesiw

Minez-qulıq diagrammalarınıń eń birinshisi hám talaplardı analizlew basqıshında eń kóp qollanılatuǵını – bul "Paydalanıw jaǵdayları diagramması"

(Use Case Diagram). Bul diagramma sistema menen kim (Actor - paydalanıwshı yamasa basqa sistema) qalay (Use Case - wazıypa) baylanısatuǵının kórsetedi. Mısalı, "Bankomat" sistemasında Actor – "Klient", al Use Case – "Aqsha sheshiw", "Balanstı tekseriw". Bul diagramma

sistemanıń ishki jumısın emes, al onıń sırtqı funkcionalın kórsetedi. Ol klient penen talaplardı kelisiw ushın eń qolaylı qural.

"Ózara háreketlesiw diagrammaları" (Interaction Diagrams) obyektler arasındaǵı xabar almasıw procesin súwretleydi. Olardıń eń ataqlısı – "Izbe-izlik diagramması" (Sequence Diagram). Bul diagrammada waqıt joqarıdan tómenge qaray ótedi. Obyektler (qatnasıwshılar) gorizontal jaylasadı hám olar arasındaǵı xabarlar (metod shaqırıwları) strelkalar menen kórsetiledi. Sequence diagramması anıq bir scenariydiń (mısalı, "Login qılıw") qalay orınlanatuǵının adımba-adım kórsetip beredi. Bul diagramma logikanıń durıslıǵın tekseriw hám quramalı algoritmlerdi proektlestiriw ushın zárúr.

"Jaǵdaylar diagramması" (State Machine Diagram) bir obyekttiń ómiri dawamındaǵı túrli jaǵdayların (States) hám bir jaǵdaydan ekinshisine ótiw (Transition) shártlerin kórsetedi. Mısalı, "Buyırtpa" obyektiniń jaǵdayları: "Jaratıldı" -> "Tólendi" -> "Jiberildi" -> "Jetkizildi". Bul diagramma reaktiv sistemalar, protokollar hám biznes-processlerdiń ózgeriwsheńligin modellestiriw ushın qollanıladı.

"Is-háreket diagramması" (Activity Diagram) – bul dástúrli bloksxemanıń (flowchart) UML-degi analogı. Ol processlerdiń, algoritmlerdiń hám is-háreketlerdiń izbe-izligin kórsetedi. Bunda tarmaqlanıw (decision), parallel orınlanıw (fork/join) hám cikller kórsetiledi. Activity diagramması biznesprocesslerdi (BPMN uqsas) hám quramalı esaplaw algoritmlerin vizuallastırıw ushın keń qollanıladı.

Juwmaqlap aytqanda, modellestiriw – bul programmalıq injeneriyanıń tili. Kod jazıwdan aldın model jaratıw, bizge "ormandı aǵashlardan ajıratıp kóriwge" (see the forest for the trees) járdem beredi. UML diagrammaları arqalı biz sistemanıń strukturasın hám minez-qulqın tolıq qadaǵalay alamız, qátelerdi aldın ala kóremiz hám sapalı arxitektura qura alamız. Jaqsı model – tabıslı programmanıń yarımı.

BAQLAW SORAWLARÍ:

1.Programmalıq támiynattı modellestiriwdiń "Quramalılıqtı basqarıw"daǵı roli qanday?

2.UML (Unified Modeling Language) degen ne hám ol ne ushın standartlastırılǵan?

3.Klass diagramması menen Obyekt diagrammasınıń ayırmashılıǵı nede?

4."Use Case" diagramması kimler ushın (programmistler me, klientler me?) kóbirek paydalı hám nege?

5.Izbe-izlik diagramması (Sequence Diagram) programmanıń qaysı aspektin (statikalıq yamasa dinamikalıq) kórsetedi?

Соседние файлы в папке Programmalıq támiynat qurılması hám evolyuciyası