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

3-lekciya. Programmalıq támiynattıń ómirlik cikli.

Jobası:

1.Programmalıq támiynat ómirlik cikli (SDLC) túsinigi hám basqıshları.

2.SDLC modelleri: Kaskadlı (Waterfall) hám V-model.

3.Iterativ hám Spiral modeller: Táwekelshilikti basqarıw.

4.Agile (Iykemli) metodologiyalar hám zamanagóy tendenciyalar.

Ómirlik cikli túsinigi hám tiykarǵı basqıshları

Programmalıq támiynattıń ómirlik cikli (Software Development Life Cycle - SDLC) – bul programmalıq ónimniń payda bolıw ideyasınan baslap, onıń paydalanıwdan shıǵarılıp tastalıwına shekemgi bolǵan waqıt aralıǵın hám usı aralıqtaǵı processlerdi súwretleytuǵın model. SDLC programmanı jaratıw procesin basqarılıwshı, tártipli hám boljawǵa bolatuǵın etiw ushın zárúr. Eger qurılısta imarat salıw ushın joba, fundament, diywal hám aqlaw basqıshları bar bolsa, programmalıq injeneriyada da tap sonday anıq basqıshlar bar. Bul basqıshlar proekttiń quramalılıǵına qaramastan, barlıq programmalıq támiynatlarǵa tiyisli bolıp tabıladı.

SDLC-diń birinshi basqıshı – "Talaplardı analizlew" (Requirements Analysis). Bul basqıshta "Ne jaratıw kerek?" degen sorawǵa juwap izlenedi. Buyırtpashı (klient) hám paydalanıwshılar menen sóylesiw arqalı sistemanıń funkcional hám funkcional emes talapları jıynaladı. Mısalı, sistema qanday wazıypalardı orınlawı kerek, qanday tezlikte islewi kerek, qáwipsizlik talapları qanday? Bul maǵlıwmatlar "Texnikalıq tapsırma" (SRS - Software Requirements Specification) hújjetine jazıladı. Bul basqısh eń áhmiyetli basqısh bolıp esaplanadı, sebebi dáslepki talaplardaǵı qáte pútkil proekttiń qulawına alıp keliwi múmkin. Ekinshi basqısh – "Proektlestiriw" (Design). Bul basqıshta "Qalay jaratıw kerek?" degen soraw sheshiledi. Talaplar tiykarında sistemanıń arxitekturası, maǵlıwmatlar bazasınıń strukturası, interfeys dizaynı hám algoritmler islep shıǵıladı. Proektlestiriw eki dárejege bólinedi: "Joqarı dárejeli proektlestiriw" (High-level design) – ulıwma arxitektura hám moduller, hám "Tómen dárejeli proektlestiriw" (Low-level design) – hárbir moduldıń ishki logikası hám klasslar. Nátiyjede "Dizayn hújjeti" (DDS - Design Document Specification) payda boladı, ol baǵdarlamashılar ushın "sızılma" wazıypasın atqaradı.

Úshinshi basqısh – "Islep shıǵıw" yamasa "Konstrukciyalaw" (Development / Coding). Bul basqıshta dál sol kod jazıw procesi júredi. Proektlestiriw hújjetlerine sáykes programmistler kod jazadı, modullerdi jaratadı hám maǵlıwmatlar bazasın dúzedi. Bul SDLC-diń eń uzaq hám eń kóp resurs talap etetuǵın bólegi bolıwı múmkin. Keyingi basqıshlar – "Testlew" (Testing) hám "Ornatıw/Qollapquwatlaw" (Deployment / Maintenance). Testlewde qáteler tabılıp dúzetiledi, al qollap-quwatlaw basqıshında programma paydalanıwshıǵa tapsırılıp, oǵan xızmet kórsetiledi hám jańalanıp turadı.

Kaskadlı (Waterfall) hám V-model

SDLC modelleriniń eń áyyemgisi hám klassikalıq túri – bul "Kaskadlı model" (Waterfall Model). Bul modelde barlıq basqıshlar (Talaplar, Proektlestiriw, Kodlaw, Testlew, Qollap-quwatlaw) biri-birinen keyin, sarqırama (kaskad) sıyaqlı izbe-iz orınlanadı. Bir basqısh tolıq tamamlanbay turıp, keyingi basqıshqa ótiwge bolmaydı. Hárbir basqıshtıń sońında hújjetlestiriw hám tastıyıqlaw (sign-off) procesi boladı. Mısalı, talaplar tolıq jazılıp hám qol qoyılmaǵansha, kod jazıw baslanbaydı. Waterfall modeliniń artıqmashılıǵı – onıń ápiwayılıǵı hám tártipliligi. Ol anıq jobalastırıwdı hám hújjetlestiriwdi talap etedi, bul bolsa proekttiń múddeti hám byudjetin aldın ala boljawǵa járdem beredi. Bul model talapları ózgermeytuǵın, anıq hám turaqlı proektler ushın (mısalı, medicinalıq úskeneler yamasa áskeriy sistemalar) júdá qolaylı. Biraq onıń kemshiligi – "Iykemli emesligi". Eger testlew basqıshında talaplardaǵı qáte tabılsa, process basına (Talaplar basqıshına) qaytıwı kerek boladı, bul júdá qımbatqa túsedi hám kóp waqıt aladı.

Waterfall modeliniń jaqsılanǵan túri – bul "V-model" (Verification and Validation Model). V-modelde islep shıǵıw processleri (V háribniń shep tárepi) menen testlew processleri (V háribiniń oń tárepi) bir-birine parallel qoyılǵan. Hárbir islep shıǵıw basqıshına sáykes keletuǵın testlew basqıshı bar. Mısalı, Talaplar analizi basqıshında "Qabıllaw testleri" (Acceptance Tests) jobalastırıladı, al Proektlestiriw basqıshında "Integraciyalıq testler" tayarlanadı. Kod jazılıp bolıwı menen, testlew tómennen joqarıǵa qaray (Birlik testlewden baslap) alıp barıladı.

V-modeldiń tiykarǵı filosofiyası – "Testlewdi erte baslaw". Testlew tek kod jazılıp bolǵannan keyin emes, al proekt baslanǵannan baslap jobalastırıladı. Bul qátelerdi erte basqıshta tabıwǵa hám olardı dúzetiw zárúrligin azaytıwǵa járdem beredi. V-model joqarı isenimlilikti talap etetuǵın sistemalar ushın (aviaciya, avtomobil basqarıw sistemaları) keń qollanıladı. Biraq ol da Waterfall sıyaqlı iykemlilik jetispewshiliginen (ózgerislerge qıyın beyimlesiwden) azap shegedi.

Iterativ hám Spiral modeller

Kaskadlı modellerdiń kemshiliklerin (ózgerislerge beyimlese almaw) joytıw ushın "Iterativ model" (Iterative Model) oylap tabıldı. Bul modelde proekt tolıq bir cikl menen emes, al bir neshe kishi cikller (iteraciyalar) arqalı ámelge asırıladı. Dáslepki iteraciyada sistemanıń eń tiykarǵı funkciyaları islep shıǵıladı hám paydalanıwshıǵa kórsetiledi. Keyingi iteraciyalarda sistemaǵa jańa funkciyalar qosıladı hám bar bolǵanları jaqsılanadı. Hárbir iteraciya óziniń kishi SDLC cikline (Analiz, Dizayn, Kod, Test) iye. Iterativ modeldiń eń úlken artıqmashılıǵı – "Paydalanıwshıdan erte keri baylanıs (feedback) alıw". Paydalanıwshı proekttiń sońın kútpesten, onıń aralıq nusqaların kórip, óz pikirlerin hám ózgerislerin ayta aladı. Bul "Qáte ónim jaratıw" qáwipin azaytadı. Mısalı, birinshi ayda paydalanıwshı login hám registraciyanı kóredi, ekinshi ayda tovar izlewdi kóredi. Eger oǵan dizayn unamasa, onı erte basqıshta ózgertiw ańsat.

"Spiral model" (Spiral Model) – bul iterativ modeldiń bir túri bolıp, ol tiykarınan "Táwekelshilikti (Risk) basqarıwǵa" baǵdarlanǵan. Barri Boehm tárepinen usınılǵan bul model spiral tárizli bolıp, hár bir aylanısı (spiral) tórt sektordan turadı: Maqsetlerdi anıqlaw, Táwekelshilikti analizlew, Islep shıǵıw/Testlew hám Jobalastırıw. Hárbir iteraciyada eń úlken qáwipler (mısalı, texnologiyanıń jaramlılıǵı, byudjettiń jetispewshiligi) analizlenedi hám prototipler jaratıladı.

Spiral model úlken, qımbat hám quramalı proektler ushın eń qolaylı model esaplanadı (mısalı, NASA proektleri). Ol proektti basqarıwshılarǵa hár qádemde qáwiplerdi bahalawǵa hám kerek bolsa proektti toqtatıwǵa yamasa baǵdarın ózgertiwge imkaniyat beredi. Degen menen, bul model qımbat hám quramalı bolıp, kishi proektler ushın artıqsha (overkill) bolıwı múmkin. Spiral modelde "Prototip" (jumıs nusqası) jaratıw processine úlken itibar beriledi.

Agile (Iykemli) metodologiyalar

Búgingi kúnde eń keń tarqalǵan SDLC kózqarası – bul "Agile" (Iykemli) metodologiyası. Agile – bul anıq bir model emes, al bir neshe metodikalardı (Scrum, Kanban, XP) birlestiretuǵın filosofiya. 2001-jılı qabıl etilgen "Agile Manifesti"ne sáykes, processler hám qurallardan góre adamlar hám qatnasıqlar, hújjetlestiriwden góre islep turǵan programma, shártnamadan góre buyırtpashı menen sheriklik, hám jobaǵa ámel etiwden góre ózgerislerge beyimlesiw áhmiyetlirek dep esaplanadı.

Agile metodologiyası (mısalı, Scrum) proektti qısqa iteraciyalarǵa – "Sprintlerge" (ádette 2-4 hápte) bóledi. Hárbir sprinttiń basında komanda

wazıypalardı jobalastıradı, al sońında tayın, jumıs isleytuǵın ónim bólegin (Increment) buyırtpashıǵa kórsetedi. Bul jerde talaplar proekt dawamında qálegen waqıtta ózgeriwi múmkin hám komanda bul ózgerislerge tez reakciya bildiredi. Agile komandaları ózin-ózi shólkemlestiretuǵın hám kros-funkcional (hámme qánigeler birge isleytuǵın) boladı. Agile zamanagóy biznes talaplarına – "Tezlik" hám "Iykemlilikke" (Time-to-market) eń jaqsı juwap beretuǵın usıl. Startaplar hám internet-proektler ushın bul ideal tańlaw, sebebi olar bazardaǵı jaǵdayǵa qaray tez ózgeriwi kerek. Biraq Agile turaqlı qatnasıwdı hám joqarı kásiplik dárejeni talap etedi. Eger buyırtpashı proektke aktiv qatnasa almasa yamasa komanda tártipsiz bolsa, Agile "Xaosqa" aylanıp ketiwi múmkin.

Zamanagóy tendenciyalarǵa "DevOps" (Development + Operations) kiredi. DevOps – bul islep shıǵıw (Dev) hám ekspluataciya (Ops) komandalarınıń birigiwi. Ol SDLC-diń sońǵı basqıshların (testlew, ornatıw, baqlaw) avtomatlastırıwǵa hám "Úziliksiz integraciya/Úziliksiz jetkiziw" (CI/CD) konveyerin qurıwǵa qaratılǵan. DevOps programmalıq támiynat evolyuciyasın tezletedi: kod jazılǵannan keyin bir neshe minutta avtomat túrde testlenip, paydalanıwshılarǵa jetkiziliwi múmkin (mısalı, Facebook yamasa Google kúnine mıńlaǵan ret jańalanadı). Bul SDLC-diń sheksiz cikl (Infinity Loop) kórinisine ótiwin bildiredi.

BAQLAW SORAWLARÍ:

1.SDLC (Software Development Life Cycle) degenimiz ne hám onıń tiykarǵı 5 basqıshı qaysılar?

2.Kaskadlı (Waterfall) modeldiń tiykarǵı kemshiligi nede hám ol qanday proektler ushın jaramlı?

3.V-modeldiń Waterfall modelinen ayırmashılıǵı hám "Testlewdi erte baslaw" principiniń áhmiyeti qanday?

4.Spiral modeldiń tiykarǵı ózgesheligi bolǵan "Táwekelshilikti (Risk) analizlew" ne ushın kerek?

5.Agile metodologiyasınıń tiykarǵı principleri (Manifest) hám onıń iterativ modellerden (Scrum) paydalanıw sebepleri nede?

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