Həyat dövrü bu anda başa çatır. Xülasə: Proqram təminatının həyat dövrü

Salam, əziz Xabrovitlər! Düşünürəm ki, inkişaf, tətbiq və istifadənin hansı modellərini xatırlamaq kimsə üçün maraqlı olacaq proqram təminatıəvvəllər mövcud idi, indi hansı modellər əsasən istifadə olunur, niyə və əslində nədir. Bu mənim kiçik mövzum olacaq.

Əslində, nədir proqram təminatının həyat dövrü- sistemin yaradılması və sonrakı istifadəsi prosesində baş verən hadisələr silsiləsi. Başqa sözlə, bu, hər hansı bir yaradılışın ilkin anından etibarən vaxtdır proqram məhsulu hazırlanması və həyata keçirilməsinin sonuna qədər. Həyat dövrü proqram təminatı modellər kimi təqdim edilə bilər.

Proqram təminatının həyat dövrü modeli- proqram məhsulunun hazırlanması, istifadəsi və saxlanması zamanı həyata keçirilən fəaliyyət proseslərini və tapşırıqları ehtiva edən struktur.
Bu modelləri 3 əsas qrupa bölmək olar:

  1. Mühəndislik yanaşması
  2. Tapşırığın xüsusiyyətlərini nəzərə alaraq
  3. Müasir Sürətli İnkişaf Texnologiyaları
İndi birbaşa mövcud modelləri (alt sinifləri) nəzərdən keçirək və onların üstünlüklərini və mənfi cəhətlərini qiymətləndirək.

Kodlaşdırma və səhvlərin idarə edilməsi modeli

Tamamilə sadə model universitet tələbələri üçün xarakterikdir. Məhz bu modelə əsasən tələbələrin əksəriyyəti, deyək ki, laboratoriya işlərini inkişaf etdirir.
Bu model aşağıdakı alqoritmə malikdir:
  1. Problemin formalaşdırılması
  2. Performans
  3. Nəticənin yoxlanılması
  4. Lazım gələrsə, birinci nöqtəyə keçin
Model də dəhşətli köhnəlmiş. 1960-1970-ci illər üçün xarakterikdir, buna görə də nəzərdən keçirdiyimiz aşağıdakı modellərdən praktiki olaraq heç bir üstünlüyü yoxdur, lakin aşkar çatışmazlıqlar var. Birinci qrup modellərə aiddir.

Şəlalə Proqramının Həyat Dövrü Modeli (Şəlalə)

Diaqramda təqdim etdiyim bu metodun alqoritmi əvvəlki modelin alqoritmi ilə müqayisədə bir sıra üstünlüklərə malikdir, həm də bir sıra üstünlüklərə malikdir. ağırçatışmazlıqlar.

Üstünlüklər:

  • Ciddi müəyyən edilmiş qaydada layihə mərhələlərinin ardıcıl icrası
  • Hər mərhələdə məhsulun keyfiyyətini qiymətləndirməyə imkan verir
Dezavantajları:
  • Mərhələlər arasında əks əlaqənin olmaması
  • Proqram məhsulunun inkişafının real şərtlərinə uyğun gəlmir
Birinci qrup modellərə aiddir.

Aralıq İdarəetmə ilə Kaskad Modeli (Whirlpool)

Bu model alqoritm baxımından əvvəlki modelə demək olar ki, bərabərdir, lakin buna baxmayaraq, var rəy həyat dövrünün hər bir mərhələsi ilə çox əhəmiyyətli bir çatışmazlıq yaradır: İnkişaf xərclərinin 10 qat artması. Birinci qrup modellərə aiddir.

V modeli (test vasitəsilə inkişaf)

Bu model daha yaxındır müasir üsullar Bununla belə, alqoritmin bir sıra çatışmazlıqları var. Bu, Ekstremal Proqramlaşdırmanın əsas təcrübələrindən biridir.

Model əsaslı prototipin inkişafı

Bu model prototipləşdirmə və məhsul prototipinə əsaslanır.
prototipləşdirmə proqram təminatının həyat dövrünün ilkin mərhələlərində istifadə olunur:
  1. Aydın olmayan tələbləri aydınlaşdırın (UI prototipi)
  2. Bir sıra konseptual həllərdən birini seçin (ssenarilərin həyata keçirilməsi)
  3. Layihənin mümkünlüyünü təhlil edin
Protopipe təsnifatı:
  1. Üfüqi və şaquli
  2. Birdəfəlik və təkamül
  3. kağız və hekayə lövhələri
Üfüqi prototiplər - emal məntiqinə və verilənlər bazasına təsir etmədən yalnız UI modelləri.
şaquli prototiplər - memarlıq həllərinin yoxlanılması.
Birdəfəlik prototiplər - sürətli inkişaf üçün.
təkamülçü prototiplər təkamül sisteminin ilk yaxınlaşmasıdır.

Model ikinci qrupa aiddir.

Spiral proqram təminatının həyat dövrü modeli

Spiral Model aşağıdan yuxarıya və aşağıdan yuxarıya konsepsiyaların üstünlüklərini birləşdirmək üçün həm dizaynı, həm də artımlı prototipləşdirməni birləşdirən proqram təminatının inkişaf etdirilməsi prosesidir.

Üstünlüklər:

  • Sürətli nəticələr
  • Rəqabət qabiliyyətinin artırılması
  • Tələblərin dəyişdirilməsi problem deyil
Dezavantajları:
  • Səhnə tənzimlənməsinin olmaması
Üçüncü qrupa kimi modellər daxildir ekstremal proqramlaşdırma(XP), SCRUM, artan model(RUP), lakin mən onlar haqqında ayrı bir mövzuda danışmaq istərdim.

Diqqətiniz üçün təşəkkürlər!

Annotasiya.

Giriş.

1. Proqram təminatının həyat dövrü

Giriş.

Riley Proqramlaşdırma Prosesi Addımları

Giriş.

1.1.1. Problemin formalaşdırılması.

1.1.2. Həll dizaynı.

1.1.3. Alqoritmin kodlaşdırılması.

1.1.4. Proqram dəstəyi.

1.1.5. Proqram təminatı sənədləri.

1.1-ci bənd üzrə nəticə

1.2. Lehmana görə ZhTsPO-nun tərifi.

Giriş.

1.2.1 Sistemin tərifi.

1.2.2. İcra.

1.2.3. Xidmət.

1.2-ci bənd üzrə nəticə.

1.3. Boehm-ə görə Həyat Dövrü Proqramının Fazaları və İşləri

1.3.1. kaskad modeli.

1.3.2. Kaskad modelinin iqtisadi əsaslandırılması.

1.3.3. Kaskad modelinin təkmilləşdirilməsi.

1.3.4. Həyat dövrü mərhələlərinin tərifi.

1.3.5. Layihə üzərində əsas iş.

Ədəbiyyat.

Giriş

Kompüterlərin sənaye tətbiqi və proqramlara artan tələbat əhəmiyyətli artım üçün təcili vəzifələr qoydu proqram təminatının inkişafı məhsuldarlığı, proqramların planlaşdırılması və layihələndirilməsi üçün sənaye üsullarının işlənib hazırlanması, təşkilati, texniki, texniki, iqtisadi və sosial-psixoloji üsulların, nümunələrin və metodların maddi istehsal sferasından EHM sahəsinə köçürülməsi. Kompleks yanaşma proqram təminatının işlənib hazırlanması, istismarı və saxlanması proseslərinə bir sıra aktual problemlər qoyur ki, onların həlli proqramların tərtibatındakı “darboğazları” aradan qaldıracaq, tamamlanma müddətini azaldacaq, mövcud proqramların seçilməsini və uyğunlaşdırılmasını təkmilləşdirəcək və bəlkə də quraşdırılmış kompüterləri olan sistemlərin taleyini müəyyən edə bilər.

Böyük proqram layihələrinin hazırlanması praktikasında çox vaxt yoxdur vahid yanaşma proqram təminatının işlənməsinin məhsuldarlığının artmasına mane olan əmək məsrəflərinin, iş müddətlərinin və material məsrəflərinin qiymətləndirilməsinə və son nəticədə proqram təminatının həyat dövrünün səmərəli idarə olunmasına. İstənilən proqram məhsula çevrildiyi üçün (bəlkə də tədris, maket proqramları istisna olmaqla) onun istehsalına yanaşma sənaye məhsullarının istehsalına yanaşma ilə bir çox cəhətdən oxşar olmalıdır və proqram təminatının dizaynı məsələləri son dərəcə vacib olur. . Bu ideyanın əsasında B.U. Bunu yazdığımız Boehm "Proqram Mühəndisliyi Dizaynı" kurs işi. Bu kitabda proqram təminatının dizaynı proqram məhsulu üçün dizaynın yaradılması prosesinə aiddir.

1 Proqram təminatının həyat dövrü

GİRİŞ

LCPE, proqram təminatının yaradılması zərurəti barədə qərar qəbul edildiyi andan başlayan və tamamilə fəaliyyətdən çıxarıldığı anda başa çatan davamlı bir prosesdir.

Proqram təminatının həyat dövrünün (SLLC) mərhələlərini və fəaliyyətlərini, proqramlaşdırma prosesinin addımlarını, kaskad və spiral modelləri müəyyən etmək üçün bir neçə yanaşma var. Lakin onların hamısı ümumi fundamental komponentləri ehtiva edir: problemin ifadəsi, həllin dizaynı, həyata keçirilməsi, texniki xidmət.

Ən məşhur və tam, bəlkə də, səkkiz mərhələni əhatə edən Boehm-ə görə həyat dövrünün quruluşudur. Daha sonra daha ətraflı təqdim olunacaq.

Mümkün variantlardan biri üç əsas mərhələni əhatə edən və ən ümumi halda həyat dövrü proqramının təsvirini əks etdirən Lehmana görə yuxarı səviyyənin təsviri ola bilər.

Dəyişiklik üçün D. Riley tərəfindən “Modula-2 Dilindən İstifadə” kitabında təqdim olunan proqramlaşdırma prosesinin addımları buradadır. Bu fikir, məncə, çox sadə və tanışdır və biz onunla başlayacağıq.

1.1 Riley Proqramlaşdırma Prosesi Addımları

Giriş

Proqramlaşdırma prosesi dörd addımdan ibarətdir (Şəkil 1):

problem bəyanatı, yəni. proqramın hansı vəzifəni yerinə yetirməli olduğu barədə adekvat fikir əldə etmək;

artıq qoyulmuş problemin həllinin layihələndirilməsi (ümumiyyətlə, belə bir həll yekun proqramdan daha az formaldır);

proqramın kodlaşdırılması, yəni hazırlanmış həllin maşında icra oluna bilən proqrama tərcüməsi;

proqram dəstəyi, yəni. proqramdakı səhvləri düzəltmək və yeni funksiyalar əlavə etmək üçün davam edən bir proses.

düyü. 1. Dörd proqramlaşdırma addımı.

Proqramlaşdırma olduğu andan başlayır istifadəçi, yəni. problemi həll etmək üçün proqrama ehtiyacı olan biri problem yaradır sistem analitiki.İstifadəçi və sistem analitiki birlikdə problem bəyanatını müəyyənləşdirirlər. Sonuncu daha sonra köçürülür alqoritmçi həllin layihələndirilməsinə kim cavabdehdir. Həll (və ya alqoritm) icrası məsələnin həllinə gətirib çıxaran əməliyyatlar ardıcıllığıdır. Alqoritm çox vaxt maşında icra olunmaq üçün uyğunlaşdırılmadığı üçün onu maşın proqramına çevirmək lazımdır. Bu əməliyyat kodlayıcı tərəfindən həyata keçirilir. Baxıcı proqrama sonrakı dəyişikliklərə görə məsuliyyət daşıyır. proqramçı. Sistem analitiki də, alqoritmçi də, kodlayıcı da və onu müşayiət edən proqramçı da - hamısı proqramçılardır.

Böyük bir proqram layihəsi vəziyyətində, istifadəçilərin, sistem analitiklərinin və alqoritmlərin sayı əhəmiyyətli ola bilər. Bundan əlavə, gözlənilməz hallar səbəbindən əvvəlki addımlara qayıtmaq lazım ola bilər. Bütün bunlar proqram təminatının diqqətli dizaynının lehinə əlavə arqument rolunu oynayır: hər bir addımın nəticələri tam, dəqiq və başa düşülən olmalıdır.

1.1.1 Problemin ifadəsi

Proqramlaşdırmada ən vacib addımlardan biri problem yaratmaqdır. O, istifadəçi və proqramçı(lar) arasında müqavilə kimi fəaliyyət göstərir. Qanuni cəhətdən zəif tərtib edilmiş müqavilə kimi, pis missiya bəyanatı da faydasızdır. Yaxşı bir problem ifadəsi ilə həm istifadəçi, həm də proqramçı yerinə yetiriləcək vəzifəni aydın və birmənalı şəkildə təmsil edir, yəni. bu zaman həm istifadəçinin, həm də proqramçının maraqları nəzərə alınır. İstifadəçi bacardığı biliyə əsaslanaraq hələ yaradılmamış proqram təminatından istifadə etməyi planlaşdıra bilər. Problemin yaxşı ifadəsi onun həllinin formalaşması üçün əsas rolunu oynayır.

Problemin formalaşdırılması (proqram spesifikasiyası); mahiyyətcə konkret proqram icra edildikdə baş verənlərin dəqiq, tam və başa düşülən təsviri deməkdir. İstifadəçi adətən kompüterə qara qutu kimi baxır: onun üçün kompüterin necə işləməsi önəmli deyil, amma vacibdir ki, kompüter istifadəçini maraqlandıran şeyi edə bilsin. Əsas diqqət insan və maşın arasındakı qarşılıqlı əlaqədir.

Yaxşı problem bəyanatının xüsusiyyətləri:

Dəqiqlik, yəni. hər hansı qeyri-müəyyənliyin istisna edilməsi. Hər hansı bir giriş üçün proqramın çıxışının nə olacağı ilə bağlı heç bir sual olmamalıdır.

tamlıq, yəni. səhv və ya gözlənilməz daxiletmə daxil olmaqla verilmiş giriş üçün bütün variantları nəzərdən keçirmək və müvafiq çıxışı müəyyən etmək.

Aydınlıq, yəni. həm istifadəçi, həm də sistem analitiki üçün başa düşülən olmalıdır, çünki problemin ifadəsi onlar arasında yeganə müqavilədir.

Çox vaxt dəqiqlik, tamlıq və aydınlıq tələbləri ziddiyyət təşkil edir. Bəli, çox hüquqi sənədlər başa düşmək çətindir, çünki onlar hər hansı ən əhəmiyyətsiz uyğunsuzluqlar istisna olmaqla, bu və ya digər müddəaları son dərəcə dəqiqliklə tərtib etməyə imkan verən rəsmi dildə yazılmışdır. Məsələn, imtahan vərəqlərindəki bəzi suallar bəzən o qədər dəqiq yazılır ki, tələbə sualı cavablandırmaqdansa, onu başa düşməyə daha çox vaxt sərf edir. Üstəlik, təfərrüatların çoxluğuna görə tələbə sualın əsas mənasını ümumiyyətlə qavraya bilməz. Ən yaxşı problem ifadəsi hər üç tələbin tarazlığına nail olandır.

Problemin ifadəsinin standart forması.

Problemin aşağıdakı ifadəsini nəzərdən keçirin: "Üç ədəd daxil edin və nömrələri ardıcıllıqla çıxarın."

Belə bir bəyanat yuxarıda göstərilən tələblərə cavab vermir: nə dəqiq, nə tam, nə də başa düşülən deyil. Həqiqətən, nömrələr hər sətirə bir daxil edilməlidir, yoxsa bütün nömrələr bir sətirdə? "Nizamla" ifadəsi böyükdən kiçiyə, kiçikdən böyüyə sıralamağı nəzərdə tutur, yoxsa onların təqdim olunduğu eyni sıra.

Aydın məsələdir ki, belə bir bəyanat bir çox suallara cavab vermir. Bütün sualların cavablarını nəzərə alsaq, problemin ifadəsi sözlü və anlaşılması çətin olacaq. Buna görə də, D. Riley istifadə etməyi təklif edir standart forma maksimum dəqiqliyi, tamlığı, aydınlığı təmin edən və daxildir:

tapşırığın adı (şematik tərif);

ümumi təsvir (tapşırığın qısa ifadəsi);

səhvlər (istifadəçilərə və proqramçılara maşının belə vəziyyətlərdə görəcəyi hərəkətləri göstərmək üçün qeyri-adi giriş seçimləri açıq şəkildə siyahıya alınmışdır);

misal ( yaxşı nümunə problemin mahiyyətini çatdıra, eləcə də müxtəlif halları təsvir edə bilər).

Misal. Problemin standart formada ifadəsi.

TITLE

Üç tam ədədi çeşidləyin.

TƏSVİRİ

Ən kiçikdən böyüyə sıralanan üç tam ədədin daxil edilməsi və çıxışı.

Hər sətirdə bir ədəd olmaqla üç tam ədəd daxil edilir. Bu halda, tam ədəd bir və ya bir neçə ardıcıl onluq rəqəmdir, ondan əvvəl "+" və ya mənfi işarəsi "-" ola bilər.

Daxil edilmiş üç tam ədəd çıxarılır, hər üçü eyni sətirdə göstərilir. Qonşu nömrələr boşluqla ayrılır. Nömrələr kiçikdən böyüyə, soldan sağa göstərilir.

1) Üçdən az rəqəm daxil edilərsə, proqram əlavə daxiletməni gözləyir.

2) İlk üçdən başqa giriş sətirləri nəzərə alınmır.

Proqram təminatının (SW) həyat dövrünü nəzərdən keçirək, yəni. onun yaradılması və tətbiqi prosesi başdan sona. Həyat dövrü bu proqram təminatının görünüşündən xəbərdar olduğu andan başlayır və tam köhnəldiyi an ilə başa çatır. Bu proses bir neçə mərhələdən ibarətdir: tələblərin və spesifikasiyaların müəyyən edilməsi, dizayn, proqramlaşdırma və texniki xidmət.

Birinci mərhələni, tələblərin və spesifikasiyaların müəyyənləşdirilməsini sistemin təhlili mərhələsi adlandırmaq olar. Üstündə quraşdırılıb Ümumi Tələb olunanlar Proqram təminatı: etibarlılıq, istehsal qabiliyyəti, düzgünlük, universallıq, səmərəlilik, məlumat ardıcıllığı və s.

Onlar müştərilərin tələbləri, o cümlədən məkan-zaman məhdudiyyətləri, zəruri funksiyalar və imkanlar, iş rejimləri, dəqiqlik və etibarlılıq tələbləri və s. ilə tamamlanır, yəni istifadəçi nöqteyi-nəzərindən sistemin təsviri hazırlanır.

Müəyyən edərkən spesifikasiyalar(proqram təminatının təmin etməli olduğu tələblər və parametrlər toplusu) proqram təminatının funksiyalarının dəqiq təsviri hazırlanır, giriş və aralıq dillər hazırlanır və təsdiqlənir, alt sistemlərin hər biri üçün çıxış məlumatlarının forması, digər proqram təminatı ilə mümkün qarşılıqlı əlaqə sistemlər təsvir edilir, proqram təminatının genişləndirilməsi və dəyişdirilməsi alətləri dəqiqləşdirilir, xidmət göstərən və əsas alt sistemlər interfeysləri hazırlanır, verilənlər bazası məsələləri həll edilir, əsas alqoritmlər təsdiqlənir.

Bu mərhələnin nəticəsi proqram təminatının xüsusi təsvirini ehtiva edən əməliyyat və funksional spesifikasiyalardır. Spesifikasiyanın inkişafı müştərilərlə daimi təmasda olan, əksər hallarda aydın və real tələbləri formalaşdıra bilməyən sistem analitiklərinin diqqətli işləməsini tələb edir.

Əməliyyat xüsusiyyətləri proqram təminatının sürəti, tələb olunan yaddaş xərcləri haqqında məlumatları ehtiva edir texniki vasitələr, etibarlılıq və s.

Funksional spesifikasiyalar proqram təminatının yerinə yetirməli olduğu funksiyaları müəyyən edir, yəni. sistemin necə etməli olduğunu deyil, nə etməli olduğunu müəyyən edirlər.

Spesifikasiyalar tam, dəqiq və aydın olmalıdır. Tamlıq, spesifikasiyalarda olanlar istisna olmaqla, proqram tərtibatçılarının öz işləri zamanı müştərilərdən digər məlumatları əldə etmə ehtiyacını aradan qaldırır. Dəqiqlik fərqli şərhlərə imkan vermir. Aydınlıq həm müştəri, həm də tərtibatçı tərəfindən birmənalı şərhlə başa düşülmə asanlığını nəzərdə tutur.

Spesifikasiyaların mənası:

1. Spesifikasiyalar proqram təminatının hazırlanması üçün tapşırıqdır və onların həyata keçirilməsi tərtibatçı üçün qanundur.

2. Spesifikasiyalar proqram təminatının hazırlığını yoxlamaq üçün istifadə olunur.

3. Spesifikasiyalar proqram təminatı sənədlərinin ayrılmaz hissəsidir, proqram təminatının saxlanmasını və dəyişdirilməsini asanlaşdırır,


İkinci mərhələ proqram təminatının dizaynıdır. Bu mərhələdə:

1. Proqram təminatının strukturu formalaşdırılır və spesifikasiyalarla müəyyən edilmiş alqoritmlər hazırlanır.

2. Modulların tərkibi alqoritm sxemlərinin öyrənilməsi əsasında onların iyerarxik səviyyələrə bölünməsi ilə qurulur.

3. İnformasiya massivlərinin strukturu seçilir.

4. Modullararası interfeyslər sabitdir.

Mərhələnin məqsədi mürəkkəb proqram təminatının işlənib hazırlanması tapşırıqlarının daha az mürəkkəb olan alt tapşırıqlara ierarxik bölünməsidir. Bu mərhələdəki işin nəticəsi ayrı-ayrı modullar üçün spesifikasiyalardır, sonrakı parçalanması yersizdir.

Üçüncü mərhələ - proqramlaşdırma. Bu mərhələdə modullar proqramlaşdırılır. əvvəlki mərhələdə alınan dizayn həlləri proqramlar şəklində həyata keçirilir. Ayrı-ayrı bloklar hazırlanır və yaradılan sistemə qoşulur. Tapşırıqlardan biri də budur məlumatlı seçim proqramlaşdırma dilləri. Eyni mərhələdə kompüter tipinin xüsusiyyətləri ilə bağlı bütün məsələlər həll edilir.

Dördüncü mərhələ - proqram təminatının sazlanması bütün tələbləri, sistemin bütün struktur elementlərini sağlam düşüncə və büdcə imkanları daxilində mümkün qədər çox məlumat kombinasiyası üzərində sınaqdan keçirməkdir. Mərhələ proqramlarda səhvlərin müəyyən edilməsini, proqram təminatının funksionallığının yoxlanılmasını, həmçinin spesifikasiyalara uyğunluğunun yoxlanılmasını əhatə edir.

Beşinci mərhələ - müşayiət, olanlar. səhvlərin düzəldilməsi, sistemin bütün elementlərinin istifadəçinin tələblərinə uyğun olaraq əlaqələndirilməsi, bütün lazımi düzəlişlərin və dəyişikliklərin edilməsi prosesi.

Proqram təminatının hazırlanmasına başlamazdan əvvəl marketinq aparılmalıdır.

Marketinq yaradılmış proqram məhsuluna (texniki, proqram təminatı, istifadəçi) tələbləri öyrənmək üçün nəzərdə tutulmuşdur. Mövcud analoqlar və rəqib məhsullar da öyrənilir. Material, əmək və maddi resurslar, həmçinin təxmini inkişaf qrafikləri. Proqram təminatının inkişaf mərhələləri GOST 19.102-77 ilə təsvir edilmişdir. Ona uyğun olaraq adları veririk və Qısa Təsvir hər bir mərhələ (bax Cədvəl 1). Bu Beynəlxalq Standart proqramların və proqram sənədlərinin işlənib hazırlanması mərhələlərini müəyyən edir kompüterlər, təyinatından və əhatə dairəsindən asılı olmayaraq komplekslər və sistemlər.

Cədvəl 1

Proqram təminatının yaradılması üzrə işlərin inkişaf mərhələləri, mərhələləri və məzmunu

Həyat dövrü proqram təminatı sisteminin yaradılması və istifadəsi modelidir. Müxtəlif dövlətləri əks etdirir proqram təminatı sistemi, bu proqram təminatı sisteminə ehtiyac yarandığı andan və onun yaradılması haqqında qərar qəbul edildiyi andan proqram təminatı sisteminin fəaliyyətdən tamamilə çıxarılması ilə başa çatır.

ISOIES 12207 beynəlxalq standartı proqram təminatının hazırlanması zamanı tamamlanmalı olan prosesləri, fəaliyyətləri və tapşırıqları ehtiva edən həyat dövrü çərçivəsini müəyyən edir. Bu standarta əsasən, proqram təminatının həyat dövrü üç qrup prosesə əsaslanır:

    əsas həyat dövrü prosesləri, yəni əldə etmə, təchizat, inkişaf, istismar və texniki xidmət;

    əsas proseslərin həyata keçirilməsini təmin edən köməkçi proseslər, yəni sənədləşdirmə, yoxlama, sertifikatlaşdırma, keyfiyyətin qiymətləndirilməsi və digərləri;

    təşkilati proseslər, yəni layihənin idarə olunması, layihə infrastrukturunun yaradılması və təlimi.

İnkişaf müəyyən tələblərə uyğun olaraq proqram təminatı yaratmaq üçün bütün işləri əhatə edir. Buraya dizayn və istismar sənədlərinin icrası, proqram məhsullarının performansını və keyfiyyətini yoxlamaq üçün lazım olan materialların hazırlanması daxildir.

İnkişaf prosesinin əsas mərhələləri:

    müştəri tələblərinin təhlili;

    dizayn;

    həyata keçirilməsi (proqramlaşdırma).

Əməliyyat prosesinə proqram təminatının işə salınması üzrə işlər, o cümlədən iş yerlərinin konfiqurasiyası, kadr hazırlığı, əməliyyat problemlərinin lokallaşdırılması və onların səbəblərinin aradan qaldırılması, proqram təminatının müəyyən edilmiş qaydalar çərçivəsində modifikasiyası və sistemin modernləşdirilməsi üçün təkliflərin hazırlanması daxildir.

Hər bir proses müəyyən vəzifələr və onların həlli üsulları, həmçinin ilkin məlumatlar və nəticələrlə xarakterizə olunur.

Proqram təminatının həyat dövrü, bir qayda olaraq, iterativ xarakter daşıyır, yəni xarici şərtlərin dəyişən tələblərinə və məhdudiyyətlərin tətbiqinə uyğun olaraq dövri olaraq təkrarlanan ən erkənlərdən başlayaraq mərhələlər həyata keçirilir.

Proqram təminatının həyat dövrü modelləri

İnkişaf mərhələlərinin icra qaydasını və mərhələdən mərhələyə keçmək üçün meyarları müəyyən edən bir neçə həyat dövrü modeli mövcuddur. Bu günə qədər iki həyat dövrü modeli ən çox istifadə edilmişdir: kaskadlıspiral.

Əvvəllər mövcud olan homojen informasiya sistemləri ah hər tətbiq bir vahid idi. Bu cür tətbiqləri inkişaf etdirmək üçün şəlalənin həyat dövrü modeli də adlandırılır klassik və ya şəlalə.

Şəlalə modelindən istifadə edərkən, inkişaf mərhələlərin ardıcıllığı kimi nəzərdən keçirildi və növbəti aşağı mərhələyə keçid yalnız hazırkı mərhələdə bütün işlər tam başa çatdıqdan sonra baş verir. Aydındır ki, şəlalə modelində inkişaf sistem səviyyəsində başlayır və təhlil, dizayn, kodlaşdırma, sınaq və texniki xidmət yolu ilə davam edir.

Şəkil 1 - Şəlalə modelinin inkişafının əsas mərhələləri

1. Sistem təhlili kompüter sistemində hər bir elementin rolunu və elementlərin bir-biri ilə qarşılıqlı əlaqəsini müəyyən edir. Proqram təminatı böyük bir sistemin bir hissəsi hesab edildiyi üçün təhlil bütün sistem elementləri üçün tələblərin müəyyən edilməsi ilə başlayır. Sistemin təhlilinə ehtiyac, proqram təminatının digər elementlərlə interfeysi formalaşdıqda aydın şəkildə özünü göstərir, yəni. aparat və ya verilənlər bazası ilə. Eyni mərhələdə layihənin planlaşdırma vəzifələrinin həlli başlayır. Layihənin planlaşdırılması zamanı layihələndirmə işlərinin həcmi və onların riski, zəruri əmək məsrəfləri müəyyən edilir, iş tapşırıqları və iş qrafiki formalaşdırılır.

Tələblərin təhlili bir proqram elementinə aiddir. Bu mərhələdə hər bir elementin funksiyaları, onun xüsusiyyətləri və interfeysi dəqiqləşdirilir və təfərrüatlandırılır. Eyni mərhələdə layihənin planlaşdırılması probleminin həlli tamamlanır.

2. Dizayn yaratmaqdan ibarətdir:

    proqram arxitekturaları;

    proqram təminatının modul strukturu;

    proqram təminatının alqoritmik strukturu;

    məlumat strukturları;

    giriş/çıxış interfeysi (giriş/çıxış məlumat formaları).

Dizayn problemlərini həll edərkən əsas diqqət gələcək proqram məhsulunun keyfiyyətinə verilir.

3. Kodlaşdırma və ya inkişaf dizaynın nəticələrinin proqram koduna çevrilməsindən ibarətdir.

4. Sınaq proqram məhsulunun funksiyaları, məntiqi və həyata keçirilməsi formasındakı qüsurları müəyyən etmək üçün proqramın icrasıdır.

5. Texniki xidmət aşağıdakı məqsədlər üçün idarə olunan proqram təminatına dəyişikliklərin edilməsidir:

    səhv düzəlişləri;

    proqram təminatından kənar mühitdəki dəyişikliklərə uyğunlaşma;

    proqram təminatının müştəri tələblərinə uyğun təkmilləşdirilməsi.

Şəlalə modelindən istifadənin üstünlükləri:

    hamı üçün plan və vaxt cədvəli verir layihə mərhələləri, bununla da inkişafın gedişatını tənzimləmək;

    hər mərhələdə layihə sənədlərinin tam dəsti formalaşdırılır, tamlığı və ardıcıllığı yoxlanılır;

    məntiqi ardıcıllıqla yerinə yetirilən işlərin mərhələləri bütün işlərin tamamlanma vaxtını və müvafiq xərcləri planlaşdırmağa imkan verir.

Kaskad modeli informasiya sistemlərinin qurulmasında özünü yaxşı sübut etdi, bunun üçün inkişafın ən başlanğıcında sistemdəki bütün tələblər olduqca dəqiq şəkildə tərtib edilə bilər, məsələn, mürəkkəb hesablama sistemləri, müxtəlif real vaxt sistemləri və s.

Şəlalə modelinin çatışmazlıqları:

    real layihələr tez-tez standart addımlar ardıcıllığından kənara çıxmağı tələb edir;

    şəlalə modeli proqram təminatı üçün ilkin tələblərin dəqiq formalaşdırılmasına əsaslanır, lakin bəzi hallarda, reallıqda, layihənin başlanğıcında müştərinin tələbləri yalnız qismən müəyyən edilir;

    Layihənin həyata keçirilməsinin nəticələri yalnız bütün işlər başa çatdıqdan sonra sifarişçiyə təqdim olunur.

Proqram təminatının hazırlanması prosesində daim əvvəlki mərhələlərə qayıtmaq və əvvəllər qəbul edilmiş qərarları dəqiqləşdirmək və ya yenidən nəzərdən keçirmək zərurəti ilə əlaqədar olaraq, şəlalə modeli əsasında real proqram təminatının hazırlanması prosesi aşağıdakı diaqramla göstərilə bilər (şək. 2).

Şəkil 2 - Şəlalə modeli əsasında proqram təminatının yaradılması prosesi

Proqram təminatının həyat dövrü altı mərhələdən ibarətdir:

- tələblərin təhlili;

– spesifikasiyaların müəyyən edilməsi;

- dizayn;

- kodlaşdırma;

- sınaq;

- müşayiət.

Tələblərin təhlili. Proqram təminatının hazırlanmasında son dərəcə vacibdir. Bu mərhələdə buraxılan səhvlər, hətta sonrakı mərhələlər qüsursuz həyata keçirilsə belə, hazırlanmış proqram məhsulunun təcrübənin tələblərinə, onun tətbiqi sahəsinə cavab verməməsinə səbəb ola bilər. Bu mərhələdə rəqabətqabiliyyətli məhsullar yaratmaq üçün suallara aydın cavablar alınmalıdır. növbəti suallar:

Proqram nə etməlidir?

– Həllinə töhfə verməli olduğu real problemlər hansılardır?

- Giriş məlumatları nədir?

Çıxış nə olmalıdır?

Dizaynerin hansı resursları var?

Spesifikasiyaların tərifi. Spesifikasiya- proqramın, verilənlər elementinin və ya digər obyektin xassələrinin, xüsusiyyətlərinin və funksiyalarının dəqiq və tam formal təsviri. Müəyyən dərəcədə bu mərhələni əvvəlki mərhələnin nəticələrindən irəli gələn nəticələrin formalaşdırılması hesab etmək olar. Proqram tələbləri gələcək proqramın performans xüsusiyyətlərini açıq şəkildə müəyyən edən spesifikasiyalar toplusu kimi təqdim edilməlidir. Bu cür xüsusiyyətlərə icra sürəti, sərf olunan yaddaş miqdarı, tətbiqin çevikliyi və s. aid edilə bilər.

Dizayn. Bu mərhələdə spesifikasiyalara cavab verməli olan proqramın ümumi strukturu yaradılır; müəyyən edilmişdir ümumi prinsiplər proqramın müxtəlif komponentləri arasında idarəetmə və qarşılıqlı əlaqə.

Kodlaşdırma. Dizayn dilində yazılmış strukturların proqramlaşdırma dilinə tərcümə edilməsindən ibarətdir.

Test. Bu mərhələdə proqramların hərtərəfli yoxlanışı aparılır.

Müşayiət. Bu sistemin əməliyyat mərhələsidir. Proqram testinin nə qədər mürəkkəb olmasına baxmayaraq, təəssüf ki, böyük proqram sistemlərində bütün səhvləri tamamilə aradan qaldırmaq olduqca çətindir. Əməliyyat zamanı aşkar edilmiş səhvlərin aradan qaldırılması bu mərhələnin birinci vəzifəsidir. Ancaq bu, təmir zamanı edilənlərin hamısı deyil. Baxım zamanı aparılan proqramın əməliyyat təcrübəsinin təhlili müəyyən hissələrdə "darboğazları" və ya uğursuz dizayn qərarlarını aşkar etməyə imkan verir. proqram paketi. Belə təhlil nəticəsində hazırlanmış sistemin təkmilləşdirilməsi üzrə işlərin aparılması barədə qərar qəbul edilə bilər. Dəstək həmçinin konsultasiyaları, sistem istifadəçilərinin təlimini, istifadəçilərin sistemin yeni versiyaları haqqında məlumatla operativ təmin olunmasını da əhatə edə bilər. Baxım mərhələsinin keyfiyyəti böyük ölçüdə proqram məhsulunun kommersiya uğurunu müəyyən edir.

Test. Proqramı yoxlamaq üçün üç aspekt var:

- düzgünlük;

– icra səmərəliliyi;

- hesablama mürəkkəbliyi.

Təsdiqləmə proqramın tam olaraq nəzərdə tutduğu şeyi etdiyini yoxlayır. Alqoritmin riyazi mükəmməlliyi onun proqrama tərcüməsinin düzgünlüyünə zəmanət vermir. Eyni şəkildə, nə kompilyator diaqnostik mesajlarının olmaması, nə də əldə edilən nəticələrin ağlabatan görünüşü proqramın düzgünlüyünə kifayət qədər zəmanət vermir. Tipik olaraq, doğrulama bir sıra testlər hazırlamaq və həyata keçirməkdən ibarətdir. Bundan əlavə, proqramları hesablamaq üçün bəzən əldə edilmiş həlləri artıq məlum olan həll ilə müqayisə etmək mümkündür. Ümumiyyətlə, verə bilməzsiniz ümumi həll proqramın düzgünlüyünü yoxlamaq üçün.

Hesablama mürəkkəbliyinin yoxlanılması, bir qayda olaraq, alqoritmin mürəkkəbliyinin eksperimental təhlilindən və ya eyni problemi həll edən iki və ya daha çox alqoritmin eksperimental müqayisəsindən ibarətdir.

Tətbiqin səmərəliliyini yoxlamaq düzgün proqramı daha sürətli işləmək və ya daha az yaddaş istifadə etmək üçün bir yol tapmaqdan ibarətdir. Proqramı təkmilləşdirmək üçün alqoritmin qurulması prosesində icranın nəticələrinə baxılır. Hər şeyi nəzərə almadan mümkün variantlar və proqramın optimallaşdırılması istiqamətləri, burada proqramın icra sürətini artırmaq üçün bir neçə faydalı yol var.

Birinci üsul aşağıdakı qaydaya əsaslanır. Toplama və çıxma vurma və bölmədən daha sürətlidir. Tam ədədlərin arifmetikası həqiqi ədədlərin arifmetikasından daha sürətlidir. Beləliklə, X+X 2*X-dən yaxşıdır, burada * vurma işarəsidir. Tam ədədlər üzərində əməliyyatlar apararkən yadda saxlamaq lazımdır ki, ikili say sistemindən istifadə sayəsində ikiyə çoxlu olan ədədlərə vurma müvafiq sayda sola sürüşmə ilə əvəz edilə bilər.

İkinci yol, lazımsız hesablamaları aradan qaldırmaqdır.

Tətbiqin səmərəliliyini yoxlamaq üçün üçüncü üsul bəzi tərtibçilərin boolean ifadələri qiymətləndirmək üçün kodlar qurmaq qabiliyyətinə əsaslanır ki, nəticə aşkar olduqda qiymətləndirmə dayansın. Məsələn, A və ya B və ya C ifadəsində A doğrudursa, B və C dəyişənləri artıq yoxlanılmır. Beləliklə, siz A, B, C dəyişənlərini elə təşkil etməklə vaxta qənaət edə bilərsiniz ki, birinci dəyişən doğru olma ehtimalı ən yüksək olan, sonuncu isə ən az doğru olan dəyişən olsun.

Dördüncü texnika dövrlərin aradan qaldırılmasıdır.

Beşinci texnika dövrələrin açılmasıdır.

Bu optimallaşdırma üsullarının tam siyahısı deyil. Burada yalnız ən bariz olanlar var. Bundan əlavə, qeyd etmək lazımdır ki, sürət axtarışında iştirak etmək həmişə lazım deyil, çünki bu, çox vaxt proqramların oxunuşunu pisləşdirir. Qazancın "cüzi" olduğu halda, onu proqramın aydınlığına və oxunaqlılığına üstünlük verməyə dəyməz.