Баспадан
Сіздердің ескертулеріңіз, ұсыныстарыңыз, сауалдарыңыз болып жатса, онда
мына электрондық пошта адресіне жіберіңіздер: comp@piter.com («Питер» баспа-
сы, компьютерлік редакция).
Біз сіздердің пікірлеріңізді білуге əрдайым қуаныштымыз!
Біздің кітаптар туралы толық ақпаратты баспаның Web-сайтынан таба аласыз-
дар: http://www.piter.com.
5
I БӨЛІМ
Құрылымдық программалау
Жақсы программаларды жазу ісі
ақыл, талғам жəне сабырлылықты талап етеді.
Б. Страуструп
Дəстүрлі программалау технологиясы программалардың негізгі тұтыну-
шылары ғылыми мекемелер ғана болған кезде, есептеу ресурстары шектеулі
болып, ал программаны сүйемелдеу мəселелері əлі белгісіз болған жағдайда
қалыптасты. Программа сапасының негізгі көрсеткіштері ретінде оның тар
мағынасындағы тиімділігі мен жинақылығы есептелді. Уақыт өте келе, про-
граммалар күрделілігінің артуына байланысты, оларды құруға үлкен ұжым ның
бірнеше жыл еңбегі кететін болды, осылардың нəтижесінде программалық
жүйелер мерзімінен кешігіп жəне көптеген қателермен шығарылып отырды.
Программалық жабдықтамалар жасаудың дағдарысы программаның өмір-
лік циклі барысында – оны жазу жоспары пайда болғаннан бастап қолданудан
алып тастағанға дейінгі кезеңде – программалар құрудың жалпы шығындарын
азайтатын жаңа тəсіл табу қажеттілігіне алып келді. Мұндай технология
өткен ғасырдың 70-ші ж. басында пайда болып, құрылымдық программалау
деген атауға ие болды. Оның негізін программалау теориясы мен жоғары
білікті мамандардың жеке тəжірибесінің дамуын ескеру, сонымен қатар
программаларға қойылатын соңғы талаптар мен оларды жасаудың өндірістік
сипат алуын есепке алу құрайды.
Программаларға қойылатын негізгі талап – олардың специфика-
цияларымен толық үйлесімді түрде жұмыс істеуі жəне қолданушының кез
келген іс-əрекеттеріне дұрыс жауап қайтаруы болып табылады. Соны-
мен қатар, программа көрсетілген мерзімде шығуы керек жəне қажетті
өзгертулер мен толықтыруларды жедел енгізуге мүмкіндік беруі тиіс.
Өкінішке орай, мұндай жағдайда пайдаланылатын жады көлемі мен алгоритм-
дер тиімділігі кейінгі орындарға қойылады. Басқаша айтқанда, программалар
сапасының қазіргі кездегі критерийлері – бұл, алдымен, сенімділік, сонымен
қатар программаны жазып бітіру жұмысы мен оны сүйемелдеуді дұрыс
жоспарлау. Осындай мақсаттарға қол жеткізу үшін программа құрылымы
қарапайым болып, ол жеңіл оқылуы жəне жылдам өзгертілуі қажет.
6
Құрылымдық программалау – бұл белгілі бір ережелерге сүйене отырып,
программаның жасалу уақыты мен қателер санын азайтуға, сондай-ақ оны
түрлендіруді жеңілдетуге мүмкіндік беретін программалар құру техноло-
гиясы. Құрылымдық тəсіл жоба құрудың барлық сатыларын қамтиды, олар:
специ фикациялау, жобалау, программалаудың өзі жəне оны тесттен өткізу.
С++ тілінде программалау барысында белгілі бір тəртіпке жүгінудің маңызы
аса зор. Бұл тілдің икемділігі мен мүмкіндіктерінің кеңдігі соншалықты, егер
бастан-аяқ өзіңізді белгіленген бір шекаралық аймақта ұстамасаңыз, програм-
ма тез арада түзету мен басқаруға келмейтін бір ірі «құбыжыққа» айналып
кетеді.
Программалаудың құрылымдық тəсілі айтарлықтай ірі жобаларды сəтті
құруға мүмкіндік берді, бірақ программалық жабдықтамалар күрделілігі
күннен-күнге арта түсті, сол себепті осы қиындықты шешетін құралдарды
үздіксіз дамыту қажеттілігі туындады. Құрылымдық программалау идеяла-
ры ары қарай объектіге бағытталған программалау (ОБП) ісіне жалғасып, өз
шешімін тапты. ОБП – бұл өте көлемді программалық жүйелер құрылымын
қарапайым түрде жасап, олардың басқарылуын жеңілдетіп құруға мүмкіндік
беретін технологиялар.
Программа құрудың ең жақсы жалғыз ғана тəсілі болмайды. Əртекті
жəне күрделілік деңгейі əртүрлі есептерді шығару үшін программалау
технологияларының да бірнеше түрін қолдану қажет. Қарапайым жағдай-
ларда программаларды құрылымдық түрде жазу негіздерін меңгеру жеткілікті.
Ал күрделі жобалар құру үшін тілдің толық көлемін еркін меңгеру жеткіліксіз,
оған қоса программаларды жобалау мен түзету қағидаларын, стандартты жəне
басқа да кітапханалар мүмкіндіктерін, т.б. білген жөн. Көбінесе есеп неғұрлым
күрделенген сайын, оны шешуге қажетті құралдарды меңгеруге соғұрлым көп
уақыт керек болады.
Біз тілдің құрамы мен негізгі құрылымын – программаларды жазуға
қажетті, бірақ оған толық жеткілікті бола қоймайтын саланы оқып үйренуден
бастаймыз.
|