Негізгі әдебиеттер 1.Искакова, К.А. Бағдарламалау технологиясы [Мәтін]: Оқу құралы / К.А. Искакова.- Алматы: Нур-Принт, 2018.- 216 б.
2.Кемельбекова, Ж. СИ бағдарламалау тілі [Мәтін]: Оқу құралы / Ж. Кемельбекова, Г. Абишова.- Шымкент, 2018.- 176б.
3. Медешова, А.Б. Бағдарламалау [Мәтін]: Оқу құралы / А.Б. Медешова, Ғ.Г. Мұхамбетова.- Алматы: Бастау, 2017.- 368б.
4. Стауструп Б. Программалау 1-том. СС++ тілін пайдалану қағидалары мен тәжірибесі. Оқулық-Алм, 2016-688, (ҚР БЖҒМ «Оқулық» орталығы бекіткен)
Қосымша әдебиеттер 1. Жүнісбеков, Ж.С. Программалау есептерін шығару практикумы Шымкент -2018ж
2. Балғанова, М.С. Программалау есептерін шығару практикумы Шымкент-2018
Лекция 6. Бағдарламалаудың әдістемесі.
Жоспары: Бағдарлама құрудың сатылары мен деңгейлері. Бағдарлама құруға техникалық тапсырма. Бағдарламаларды техникалық жобалаудың сатылары.
Сапалы интерфейсті құру “пайдаланушы мүддесі бәрінен де артық” принципін және соған сәйкес бүкіл бағдарламалық өнімді құру әдістемесін іске асыруды қарастырады. Ағылшын тілді әдебиетте мұндай қарастыруды суреттеу үшін User-centered Design(UCD) – “жасалған зат пайдаланушыға арналған” термині қолданылады. Бәрінен басқа, бұл технология, интерфейсті ертерек жобалап, бағдарламалық өнімді құру кезінде ары қарай дамытуға негізделген. Пайдаланушы интерфейсінің «жақсы» құрамы мынада – пайдаланушы бағдарламалық қамтаманы басқарып отырғанын байқайды, ал керісінше емес. Интерфейс қарапайымдылығы. Қарапайым интерфейс бұл – пайдаланушының үйреншікті шешу әдістерін өзгертпейтін интерфейс. Дербес жағдайда қосымша берген жауаптар мен хабарламалар қосымша түсініктемелерді қажет етпеуі тиіс. Аталмыш пәндік облыста қолданылатын белгілеулер мен терминдер жүйесін сақтап қалу орынды болады. Пайдаланушыға таныс суреттер мен түсініктерді қолдану тапсырмаларды орындалу барысында интуитивті түсінікті интерфейсті қамтамассыз етеді. Интерфейстің келісімділігі. Келісімділік интерфейсі пайдаланушыларға білімдерін жаңа есептерге көшіруге және жаңа аспектілерді үйренуге мүмкіндік береді. Келісімділік интерфейстің барлық аспектілеріне маңызды. Оның ішінде команда аттары, ақпаратты визуалды түрде көрсету және интерактивті элементтердің тәртібі де бар. Жасалынып отырған бағдарламалық қамтамада келісімділік қасиетін іске асыру үшін оның әртүрлі аспектілерін ескеру қажет. Қосымшаның шеңберіндегі келісімділік. Бір команда бір қызметті қай жерде кездескеніне қарамастан бірдей орындауы керек. Мысалы, егер бір диалог терезесінде “Көшіру” командасы сәйкес қызметті дереу орындауды білдірсе, онда басқа терезеде пайдаланушыдан көшіретін ақпараттың орны туралы қосымша көрсетуді талап етпеуі тиіс. Жұмыс ортасы шеңберіндегі келісімділік. Операциялық жүйемен (мысалы, OC Windows) берілген интерфейспен келісімділікті қолдай отырып, сіздің қосымшаңыз пайдаланушының басқада қосымшалармен жұмыс істегенде алған білімі мен дағдыларына сүйене алады. Интерфейстің жақындылығы («кешірім» принципі). Әдетте пайдаланушылар жаңа бағдарламалық қамтамамен жұмысты көптеген қателер жіберу арқылы түсінеді. Жұмыстың әр сатысында бағдарлама пайдаланушыға қай қимыл жүйеге зиян келтіретінін айтып отырса жақсы болар еді, немесе қатені түзету мүмкіндігі болса тіпті жақсы. Жақсы ойластырылған интерфейс дегеннің өзінде пайдаланушылар қате жіберулері мүмкін. Бұл қателердің “физикалық” (дұрыс емес команда немесе мәліметтерді кездейсоқ таңдау) және “логикалық” түрлері (команда немесе мәліметтерді таңдау туралы дұрыс емес шешім қабылдау) болады. Тиімді интерфейс қатемен аяқталатын оқиғаны болдырмауы қажет. Ол сонымен қатар пайдаланушының мүмкін қателеріне икемделуі және қателерді жою процесін жеңілдетуі қажет “Кері байланыс” принципі Пайдаланушының кері байланыстық қатынасының мағынасы - пайдаланушы әрбір қадамы туралы визуалды, кейде дыбыстық расталуы қажет, яғни бағдарламалық қамтамаға берілген команда қабылданғаны расталуы керек. Сонымен қатар орындалған қадам табиғатын ескеруі қажет. Кері байланыс пайдаланушы мен жүйенің соңғы өзара әрекеттесуі кезінде және уақтылы орындалғанда ғана тиімді болып саналады. Компьютер түскен есепті орындап жатқанда, пайдаланушыға орындалу процесінің жағдайын, керек жағдайда процесті тоқтатуға мүмкіндік беру пайдалы. Интерфейстің қарапайымдылығы. Интерфейс қарапайым болуы қажет. Қолдану және үйренуге қолайлы, жеңіл болуы көзделеді. Берілген қосымшаның функционалды мүмкіндіктеріне қатынасуға мүмкіндік берілуі керек. Кең функционалды мүмкіндікке рұқсат алу мен жұмыс істеуді қарапайымдандыру бір-біріне қарама-қарсы. Осы мақсаттарды орындау үшін тиімді интерфейсті жасау қажет. Қарапайымдылықты сақтаудың бір түрі – пайдаланушыға келесі қадамды орындауы үшін минималды мәлімет беру. Жекелей айтқанда, көпсөзді командалық атаулар мен хабарламаларды айналып өту. Ойланылмаған немесе шектен тыс сөздер пайдаланушының керекті мәліметті алу мүмкіндігін қиындатады. Қарапайым, бірақ тиімді интерфейсті құрудың басқа бір жолы – элементтерді мағыналы мәні және логикалық өзара байланысымен экранда орналастыру. Бұл пайдаланушының жұмыс істеу барысында ассоциативті ойлануына мүмкіндік береді. Тізбектелген ашылу (диалогтық терезе, меню және т.б) арқылы пайдаланушыға көмектесуге болады. Тізбектелген ашылу ақпараттың келесі қадамды орындауы үшін керекті ғана бөлігін әр мезетте экранда көрсетеді. Пайдаланушыға арналған ақпараттың көлемі азайған сайын, өңделетін ақпарат көлемі де азаяды. Осындай ұйымдастырудың мысалы ретінде иерархиялық менюді атауға болады. Оның әр деңгейі пайдаланушымен таңдалған жоғары деңгейдегі бір бөлігіне сай. Интерфейстің иілгіштігі Интерфейстің иілгіштігі – бұл пайдаланушының дайындық деңгейі мен өнімділік еңбегін ескеру қасиеті. Иілгіштік қасиет – енгізілген мәліметтердің немесе диалогтың құрылымын өзгертуді болжайды. Иілгіш интерфейс тұжырымдамасы қазіргі кездегі адам мен компьютер арасындағы негізгі зерттеу аумағы болып саналады. Негізгі мәселе - диалогты өзгертуді ұйымдастыруда емес, ал оған өзгерту енгізуде қандай белгілерді қолдануында. Бейімделудің үш түрі белгілі: нақты, толық және косметикалық. Нақты бейімделу кезінде пайдаланушы диалогтық қолдау деңгейін таңдайды. Мұндай бейімделудің қарапайым нүсқасы екі деңгей ережесін қолдануға негізделген. Оған сәйкес жүйе диалогтың екі түрін қамтамассыз етеді: - толығымен, егжей-тегжейлі (бастауыш пайдаланушылар үшін); - қысқаша (дайындалған пайдаланушылар үшін); Екі деңгей ережесі N-деңгейлі диалог ережесіне дейін ұлғаюы мүмкін.
Бірақ оның бірнеше кемшілігі бар:
- дағдының біртіндеп жиналатыны туралы факт ескерілмейді; - пайдаланушы жүйенің бір бөлігін жақсы біліп, бір бөлігін білмеуі мүмкін; - пайдаланушы өзінің дайындық деңгейін өзі айқындауы, баға берудің объективтілігін төмендетеді. Толық бейімделу кезінде диалогтық жүйе пайдаланушының моделін соңғы оқыту барысында болған өзгертулер нәтижесіне байланысты құрастырады. Өз кезегінде пайдаланушының сипаттамасын анықтау мәселесі негізгі мәселе болып табылады. Оны шешу үшін сипаттама үшін нені пайдалану керектігін анықтау керек: пайдаланушының жауап беруге кеткен уақыты, оның қанша рет көмекке жүгінгенін немесе қате сипаты және сұралған көмек түрі. Косметикалық бейімделу пайдаланушының жүрісін ескермей диалогтың иілгіштігін қамтамассыз етуі, бірақ диалогтың нақты стилін таңдамауы керек. Мұндай бейімделуге келесі әдістерді қолдану арқылы жетуге болады: - алдын ала келісім бойынша қабылданғандықты қолдану; - қысқартуларды қолдану; - жауаптарды озық енгізу; - көпдеңгейлік көмек; - көптілділік. Алдын ала келісім бойынша қабылданғандықты қолдану. Оның мәні – пайдаланушы өзгертпегенше жүйе қандай да бір параметрдің бастапқы мәнін қолданады. Бұл жағдайда жүйе бейімделуінің екі аспектісі орындалады: біріншіден бастаушы пайдаланушы жүйенің үндеместік түрде көптеген параметрлерін қолдануға мүмкіндігі бар. Екіншіден жүйе көп қолданылатын немесе соңғы берілген мәндерді есте сақтай алады. Бастаушы пайдаланушылар жеңілдігі үшін үндеместік түрде қолданылатын мәндер экранға жүйенің сәйкесінше сұрағымен экранға шығарылуы мүмкін. Мысалы: “құжатты тіркеу күні?[ағымдағы]”. Үндеместік түрде мән қабылдаудың ең тараған түрі – нөлдік енгізу, яғни жүйе сұрағына жауап ретінде “Енгізу” батырмасын басу. Егер командалық тіл қолданылса, онда пайдаланушы үндеместік түрде қолданылатын параметрді өткізіп жібереді. Қысқартуды қолдану команданың толық атының орнына оның кез-келген мүмкін қысқартуларын, белгіленуін қарастырады. Жауаптарды озық енгізу идеясының негізі, пайдаланушы диалогтың кезекті жүрісінде бір ғана жауап емес, тізбектелген жауапты енгізуге мүмкіндігі бар. Көпдеңгейлі көмек әдіс идеясында экранға басында бастапқы деңгей туралы ақпарат шығады, сонан соң пайдаланушы кілттік сөздің көмегімен төмен деңгейге өту арқылы алынған ақпаратты нақтылай алады. Осындай приципте гипертекстік жүйеге оқытатын қазіргі Help-жүйелердің көбі жұмыс істейді.
Көптілділік интерфейстің мағынасы мынада, пайдаланушы қолданып отырған құрылғыларына байланысты емес, ал пайдаланушы берген және алған ақпараттар оның ана тілінің нормаларына сәйкес болуы қажет. Көптілділікті жүзеге асырудың мүмкін жолы – пайдаланушының қозғалысына жүйенің құралдар реакциясын құру (сұраныс-ақпараттар, көмек-ақпараттар, қателер туралы ақпарат). Ол бағдарламалау тілінің (құралдық құрылғылар) синтаксисінен жеке құрылады.
Интерфейстің эстетикалық тартымдылығы, визуалды компоненттерді жобалау бағдарламалық интерфейсті өңдеудің ең маңызды құраушы бөлігі болып табылады. Пайдаланатын объектілерді мүлтіксіз визуалды түрде көрсету, әртүрлі объектілердің өзара қатынасы мен жүрісі туралы өте маңызды қосымша ақпаратты жеткізуді қамтамасыз етеді. Әрбір экранға шыққан визуалды элементке пайдаланушы көңіл бөлуі қажет. Экранда берілген ақпаратты пайдаланушы түсініп қана қоймай, сонымен қатар оның маңызды аспектілеріне көңіл бөлетіндей графикалық ортаны қалыптастыру қажет. Жоғарыда айтылғандарды қорыта келе, тиімді пайдаланушы интерфейсін құруға мүмкіндік беретін төмендегідей негізгі ережелерді қалыптастыруға болады: - пайдаланушы интерфейсін жобалауды, қосымшаны құруда жеке кезең ретінде қарастыруға болады. Оның орындалуы мүмкін болғанша ерте басталғаны жөн; - интерфейсті іске асыратын аппаратты-бағдарламалық құрылғылардың мүмкіндіктерін және ерекшеліктерін ескеру қажет; - құрастырылып отырған қосымша кіретін пәндік облыстың ерекшеліктері мен дәстүрлерін ескеру қажет; - интерфейсті құрастыру процессі итерациялық түрде болуы қажет. Оның негізгі элементі болып алынған нәтиженің мүмкін пайдаланушымен келісуі болып табылады; - интерфейсті іске асыру әдістері мен құрылғылары, оның пайдаланушының қажеттілігі мен сипаттамаларына бейімделу мүмкіндігін қамтамасыз етуі керек.