Кіріспе

Жобаны кезеңдік кезеңдерде модельдеу

Суарна модельдемесі – даму қызметтерін сызықтық, кезеңдік бөліктерге бөлу, яғни олар бір-біріне тікелей жүзеге асырылады, мұндағы әрбір кезең алдыңғы кезеңнің нәтижелеріне тәуелді және міндеттердің мамандануына сәйкес келеді. Бұл әдіс итеративті және икемді әдістердің арасында ең азы болып саналады, себебі прогресс көбінесе бір бағытта ("суарна сияқты төменге") тұжырымдама, бастама, талдау, жобалау, құрылыс, сынақ, енгізу және техникалық қолдау кезеңдері арқылы жүзеге асырылады. Суарна модельдемесі – бағдарламалық жасақтаманы дамытуда қолданылған ең алғашқы SDLC әдісі. Суарна даму модельдемесі өндіріс және құрылыс салаларында пайда болды, онда жоғары құрылымдалған физикалық ортада жобалау өзгерістері даму процесінің басында-ақ тым қымбатқа түсетіні анықталды. Бағдарламалық жасақтаманы дамыту үшін алғаш рет қабылданған кезде, білімге негізделген шығармашылық жұмыстар үшін танылған баламалар болған жоқ.

Тарих

Бағдарламалық жасақтауда осындай фазаларды пайдалануды сипаттайтын алғашқы таныстырылымды Герберт Д. Бенингтон 1956 жылғы 29 маусымда Цифрлық компьютерлер үшін озық бағдарламалау әдістері туралы симпозиумда өткізді. Бұл презентация SAGE бағдарламалық жасақтамасын әзірлеу туралы болды. 1983 жылы мақала Бенингтонның алғы сөзімен қайта жарияланды, онда фазалар тапсырмалардың мамандануына сәйкес ұйымдастырылғаны және процесс шын мәнінде жоғарыдан төменге қатаң түрде орындалмағаны, бірақ прототипке байланысты екендігі түсіндірілді. Алайда, ол тек процесстің соңында ғана сынақ жүргізілгендіктен, оның "қауіпті және сәтсіздікке алып келуі мүмкін" деп сипаттаған үлкен кемшіліктері бар деп ойлады. "Шарлауық" терминін ең ертерек 1976 жылы Белл мен Тейердің мақаласында қолданған болуы мүмкін. 1985 жылы АҚШ Қорғаныс министрлігі бағдарламалық қамтамасыз етуді әзірлеуші мердігерлермен жұмыс істеу үшін DOD STD 2167 стандартында шарлауық үлгіні қабылдады. Бұл стандарт бағдарламалық жасақтаманы әзірлеудің қайталануларын "бағдарламалық жасақтаманы әзірлеу циклының тізбектелген фазалары" деп атады және мердігер "келесі алты фазаны қамтитын бағдарламалық жасақтаманы әзірлеу циклын іске асыруға тиіс: Бағдарламалық талаптарды талдау, Алдын ала жобалау, Егжей-тегжейлі жобалау, Кодтау және Бөлімдік сынау, Интеграция және Сынау" деп мәлімдеді.

Сын

Клиенттер жұмыс істейтін бағдарламалық жасақтаманы көрмей, өздерінің нақты талаптарын білмей қалуы мүмкін, соның салдарынан талаптарын өзгертеді, бұл қайта жобалауға, қайта әзірлеуге және қайта сынауға, сондай-ақ шығындардың өсуіне алып келеді. Дизайнерлер жаңа бағдарламалық өнім немесе мүмкіндікті жобалау кезінде болашақта туындауы мүмкін қиындықтарды болжастыра алмайды. Мұндай жағдайда, жаңадан ашылған шектеулерді, талаптарды немесе проблемаларды ескермейтін дизайнды жалғастырудың орнына, оны қайта қараған дұрыс. Ұйымдар клиенттерден нақты талаптардың жетіспеушілігін жою үшін жүйелік талдаушыларды қолданыстағы қолмен жүзеге асырылатын жүйелерді зерттеуге және олардың қызметін талдап, оларды қалай алмастыруға болатынын анықтауға тартады. Бірақ тәжірибеде жүйелік талдау мен бағдарламалауды қатаң түрде бөліп қарастыру қиын. Өйткені, кез келген күрделі жүйені іске асыру барысында жүйелік талдаушы ескермеген мәселелер мен ерекше жағдайлар сөзсіз анықталады. Таза "шарлауық" үлгісімен байланысты туындаған проблемаларға жауап ретінде "Сашими (үстіңгі жағынан жабатын кезеңдері бар шарлауық), кіші жобалары бар шарлауық және тәуекелді азайту шарлауық" сияқты өзгертілген шарлауық үлгілері енгізілді.