Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД_жауаптар.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
915 Кб
Скачать
☆
  1. Қарапайым программалық жүйелердің 4 мысалын келтіріңіз.

  • Калькулятор қарапайым программалық жүйеге жатады деп ойлаймын. Себебі ол компьютер сияқты күрделі иерархиялық жүйе құрамайды. Калькулятор төрт негізгі бөліктен тұрады: синтаксистік программалар талдауынан,енгізу функциясы, аттар таблицасы және басқару программасынан (драйвер) тұрады.

  • Желдеткіш (кондиционер) қарапайым программалық жүйе ретінде. Ол компрессор, конденсатор, испаритель, термолегулярлық вентиль, желдеткіштен (вентилятор) тұрады.

  • Номерді анықтай алатын үй телефоны (домашний телефон с определительом). Номерді анықтауға болатын телефондарда кішкентай эраны болады. Бұл экраннан арнайы жасалған программа бойынша біз бізге келіп түсетін номерді көре аламыз. Ал телефонның басқа бөліктері қарапайым үй телефон сияқты бөліктерден тұрады.

  • Электронды фоторамка (цветовая фоторамка) қарапайым программылық жүйе ретінде. Мұндай фоторамкалардың пульт арқылы басқарып та отыра алатындайы да бар. Аккумулятор арқылы жұмыс істейтін фоторамкалар да бар. Олар 40 минуттан 3сағатқа дейін жұмыс істей алады. Ол тағы жа дисплей, жад сияқты бөліктерден тұрады. Ал кейбіреулері сыртқы жад арқылы жұмыс істейді.

  1. Күрделi программалық жүйелердің 4 мысалын келтіріңіз.

  • Персоналды компьтерді күрделі жүйе мысалы ретінде қарастыруға болады. Көптеген персоналды компьютерлер жүйелік плата, пренетақта, монитор, қандай да бір типтегі сыртқы жады құрылғысы сияқты негізгі бірдей бөліктерден тұрады. Біз бұл бөліктердің кез келгенін алып тағы да басқа бөліктерге бөле аламыз. Мысалы жүйелік плата оперативті жад, орталық процессор және шинадан тұрады. Және бұл бөліктердің әрқайсысын тағы бөліктерге бөлуге болады. Орталық процессор регистр мен басқару схемасынан тұрады. Ал бұлардың өзі диод,транзистор және т.б. қарапайым бөліктерден тұрады. Бұл күрделі иерархиялық жүйе мысалы болып табылады.

  • Ұялы телефон күрделі программалық жүйеге жатады. Ол диапазоны 1-2 ГГц қабылдапжібергіш құрылғы, түрлі түсті және монохромды дисплей, интерфрейстік құрылғылар, аккумулятор және арнайы жасалған басқарғыш контроллерден тұратын күрделі жоғары технологиялық электронда құрылғы.

  • Теледидар күрделі программалық жүйе ретінде. Теледидар ол ЖК матрицадан (қабаттарының арасында сұйық кристалдар бар мөлдір пластина), жарық шығарғыш (неондақ лампа), контактық жгут пластикалық корпус сияқты т.б. элементтерден тұрады. Ал ЖК матрицаның әрбір пикселі екі мөлдір электродтар арасында орналасқан молекулалар қабатынан тұрады. Осылай теледидар да күрделі иерархиялық жүйе құрады.

  • Электрондақ сағат күрделі программалық жүйе ретінде. Кейбір электрондық сағыттарда тек қана сағат қана емес сонымен қоса күн, ай, жыл тіпті ауа райында көрсетіп тұрады.

  1. Программалық қамтамасыз етудiң күрделiгiнiң себебтері.

Программалық қамтамасыз етудiң күрделiгi: анықтама, мысалдар.

Күрделiлiк төрт негiзгi себептердi шақырады:

  • Әзірлеуде тапсырысты аралап шығатын нақты заттар саласының күрделiлiгі;

  • Әзiрлеу процесiн басқарудың қиыншылығы;

  • Программаның жеткілікті иілгіштігін қамтамасыз ету қажеттілігі;

  • Үлкен дискреттi жүйелердің мiнез-құлықтарын қанағаттанарлықсыз тәсiлдерiмен сипаттау.

Нақты дүниенiң күрделiлiгi. Біз программалық қамсыздандыру көмегімен шешуге ұмтылған меселелер,сөзсіз жиі күрделі элементтерді тұтынады,ал тиісті программаға көп, кейде бірін-бірі жоққа шығаратын талаптар көрсетіледі. Ұшақтың көп моторлы электронды жүйесі,ұялы телефонның комутаторлы жүйесі мен жұмысының қажетті характеристикасын қарастырайық. Тіпті әрбір шекте мұндай жүйенің қалай жұмыс істейтінін түсіну жеткілікті қиын.Енді осыған ыңғайлылық, өнiмдiлiк, құн, тiрi қалу және сенiмдiлiк сияқты қосымша талаптар(жиі құрастырылмаған анық) қосылады.Тапсырманың күрделілігі Брукс жазған программалық өнімнің күрделілігін тудырады. Бұл сыртқы күрделiлiк әдетте жүйе қолданушыларының және өндеушілерінің арасындағы "ұштаспаушылыққа" байланысты туындайды:қолданушылар өңдеушілерге не істеу керектігін түсіндіретін форманы қиындықпен түсіндіреді.Кейде қолданушы болашақ программалық жүйеден не қажет екенін күнгірт көрсетеді.Негізінде бұл сол немесе басқа жақтың қателігінен емес;тек группадан әрқайсысы өз ортасында мамандандырылғандықтан оны серіктестің білімі жалықтырады. Қосымша күрделiлiктер - өңдеу кезіндегі программалық жүйе талаптары өзгерген кезде пайда болады. Үлкен программалық жүйе - бұл iрi капитал салымы және біз өзімізге - жасалғандарды әрбір ішкі талаптар өзгерген сайын қалдырып кете алмаймыз.Алайда тіпті үлкен жүйелерде қолдану процессінің эволюциялық тенденциясына ие:демек,программалық қамсыздандыруда не жиі дұрыс емес аталады деген тапсырма тұрады.Дәлірек болуы үшін бірнеше термин енгізейік:

  • бақылап отырумен қателердi жою түсiнiледi ;

  • табиғи дамумен оған деген талапты өзгерту жауабымен жүйеге өзгеріс енгізу;

  • өмірдің қаусаған және ыдыраған жүйе бөлшектерін қолдау үшін мүмкін және мүмкін емес тәсілдерді қолданып сақтау;

Әзiрлеу процесiн басқарудың қиыншылығы.Өңдеушінің негізгі міндеті қолданушыларды түсіндіріліп отырған бұйымның немесе процестің күрделілігінен қорғау үшін иллюзия құрастыру болы табылады.Программалық жүйесiнің түпнұсқаларының өлшемi тіпті оның ең маңызды қасиеттерінің санына да кірмейді,сондықтан біз түпнұсқаны қулықты және қуатты әдiстерді қолдана отырып мүмкіндігінше ықшамдырақ етіп жасауға тырысамыз,сонымен қатар өңдеу ортасында бар жобалар мен программалар да қолданылады.Дегенмен жаңа талап әрбір жаңа жүйе үшін шарасыз,ал олар көптеген программаны не "нөлден" бастап жасауға,не қолданыстағы программаны жаңаша қолдануға алып келеді.20 жыл бұрын ассемблердегі мыңдаған жолдардан тұратын программа көлемі біздің мүмкіндіктер шегінен шыққан болатын.Бүгiнде қарапайым программалық жүйелер болып,он мыңдаған немесе тіпті миллиондаған жолдардан тұратын биік дәрежелі тілдегі көледілері болып табылады.Ешбір адам мұндай программаны ешқашан толық түсіне алмайды.Тіпті біз оны құрама бөліктерге дұрыс бөлсекте, біз бәрібір жүздеген кейде мыңдаған жеке модульдерді аламыз.Сондықтан мұндай ауқымды жұмыс сан бойынша кішірек болатындай өндеушілер командасының назарын қажет етеді.Бірақ қандайда болмасын өңдеушілердің ұжымдық ұйымдасуымен байланысты қиыншылықтар әрқашанда болады.Өңдеуші қаншалықты көп болса,соншалықты олардың арасындағы байланыс пен келісімділік қиын болады, әсiресе өте үлкен жоба кезінде қатысушылар географиялық жағынан алшақта жұмыс жасаса.Қорыта келгенде,жобаны ұжымдасып орындауда басшылықтың маңызды міндеті болып өңдеудің бірлігі мен бүтіндігі болып табылады.

Программаның жеткілікті иілгіштігін қамтамасыз ету қажеттілігі.Үй құрылыс компаниясы әдетте өзіне полиматериалдар жеткізіп отыратын өзінің жеке орманы болмайды.Алайда программалық индустрияда мұндай тәжірибе қарапайым іс болып табылады.Айырмашылығы:программалау шектi иiлгiштiкке ие болады және өңдеушi кез-келген деңгейдегі абстракцияға тиісті өзiн қажеттi барлық элементтермен қамтамасыз ете алады.Мұндай иiлгiштiк өте қызығарлықтай.

Ол өңдеушіні абстракцияның мейілінше биік дәрежелі элементтерінен құралатын болашақ конструкцияның базалы құрылыстық блоктарын өз күшімен құрастыруға мәжбүрлейді.Құрылыстық индустриядан айырмашылығы,көптеген конструктивті элементтер мен сапалы материалдардың бірыңғай стандарты бар,программалық индустрияда мұндай стандарттар мүлде жоқ.Сондықтан программалық өңдеулер өте қиын сиымды іс болып қалады.

Үлкен дискреттi жүйелердің мiнез-құлықтарын қанағаттанарлықсыз тәсiлдерiмен сипаттау.Біз жоғарыға допты лақтырғанда оның траекториясын сенімді болжай аламыз,сондықтан қалыпты жағдайда мұнда белгілі физикалық заңдылықтар орындалатынын білеміз.Егер біз допты өте үлкен жылдамдықпен лақтырғанда ,ол жол ортасында кенеттен тоқтап,бағытын өзгертсе қатты таң қалар едік. Жеткiлiксiз шегерілген программада доптың ұшуын жобалауда жеңіл жағдай пайда болуы мүмкін.

Үлкен қолданбалы программа ішiнде жүздеген немесе мыңдаған айнымалылыр және бірнеше басқару ағындары болады.Айырмашылығы:осы айнымалалардың толық жинағы,олардың ағымдағы мәндері,ағымдағы мекен-жайы мен әр процесс үшiн шақырудың стегi қолданбалы программаның күйiн әрбір уақытта суреттейдi.Бiздiң бағдарламаны орындау цифрларланған компьютерде жүзеге асырылғандықтан,біз дискретті күйлер жүйесін аламыз.Лақтырылған доптың қозғалысы сияқты аналогты жүйе керісінше үздіксіз болып табылады.Д.парнас жазады: "Біз сөйлеген кезде жүйе үзiлiссiз функция болып суреттеледі,біз онда бүркеме тосын сыйлар жоқтығын айтамыз. Ену параметрлерiндегі шағын өзгерiстер әрқашан шығуда шағын өзгерiстерді шақырады".Басқа жағынан дискретті жүйелер өз табиғатында ақырлы сандардың мүмкіндікті күйіне ие,алайда үлкен жүйелерде бұл сан комбинаториканың ережелерiне сәйкес өте үлкен.Біз жүйелерді бір бөлігі екіншісіне минималды әсер ететіндей бөліктерге бөліп жобалауға тырысамыз.Әрбір оқиға сыртқы программалық жүйеге қатысты оны жаңа күйге ауыстыруы мүмкін және бір күйден екінші күйге ауысу әрқашан анықтала бермейді.