
- •Студент пәнінің – оқу әдістемелік кешені
- •Алматы 2007
- •1.Пәннің оқу бағдарламасы – syllabus
- •1.1 Оқытушылар жөнінде мәліметтер:
- •1.3 Пререквизиттер
- •1.4 Постреквизиттер
- •1.5 Пәннің мақсаты және міндеттері
- •1.6 Тапсырманың түрлері мен тізбегі және оның орындалу графигі
- •1.7 Әдебиеттер тізімі
- •1.8 Бақылау және білім бағасы
- •Студент білімінің бағасы
- •1.9 Курстың процедурасы және саясаты
- •2. Белсенді үлестірмелі материалдардың мазмұны
- •2.2. Дәрістік сабақ конспектілері
- •Басқару үрдістері
- •Жобаның жоспары
- •Жұмыс графигі және желілік диаграммалар
- •Қауіптерді басқару
- •Өтініш анализі үрдісінің схемасы
- •Тапсырыс беруші өтініштерінің сипаттамасы (с-талаптар)
- •Жылдам прототиптеу және жүзеге асырудың зерттелуі
- •Өтініштер анализі: детальдық талаптардың қосылуы
- •Жобалаудың модельдері, каркастар және үлгілері
- •Архитектура түрлері және олардың модельдері
- •Архитектура таңдау үрдісі
- •Жүйелік диаграммасы
- •Мәліметтер ағыны диаграммасы.[17]
- •Алгоритмдердің спецификациясы
- •Объекттердің объекттері мен класстары
- •Объекті-бағытталған жобалау үрдісі
- •Объектлерді анықтау
- •Архитектура моделдері
- •Атаулар кеңістігі.
- •8.1 Сурет Интерфейстің пиктограмма формасындағы көрсетілімі.
- •8.2 Сурет Интерфейс көрсетілімінің тәріс формасы.
- •Орналастыру диаграммасы
- •8.3 Сурет. Компаненттердің орналасу моделденуі.
- •Қолданбалы интерфейсті жобалаудың қағидалары
- •Қолданушының өзара қатынасы
- •Ақпаратты көрсету
- •Қолданушыны қолдаудың құрылымы
- •Қателер туралы хабарлар
- •Анықтамалық жүйені жобалау
- •Қолданушының іс – қағазы
- •Интерфейсті бағалау
- •Программалық қамтамассыздандыру тестілеуі.
- •Құнның конструктивті моделі
- •Сақтау жүйесінің құрылымы
- •Программалық қамтаманы қоса ілестіру
- •Ілестіру процесі
- •2.3 Лабораториялық жұмыстардың жоспарлары
- •Лабораториялық сабақтардың жоспарлары
- •Қолдану бизнес - түрлерінің диаграммасы
- •Қызмет диаграммасы
- •Лабораториялық жұмыс орындалу реті
- •Қолдану жүйелік түрлерінің егжей-тегжейін ашуы
- •Қолдану түрлерінің диаграммасы
- •Лабораториялық жұмыстың орындалу реттері
- •Статикалық модельдері
- •Диаграммаларда күйлердің болуы
- •Динамикалық модель
- •Әрекеттестіктердің диаграммалары
- •Лабораториялық жұмыс орындалу реті
- •2.4 Оқытушы жетекшілігіндегі студенттердің өзіндік жұмысының сабақ жоспары (соөж) (45 сағат)
- •Оқытушы көмегінсіз студенттік өзіндік жұмысының сабақ жоспары(сөж)
- •2.6 Курстық жұмыс
- •Жүйе жұмысының сценариі
- •Курстық жұмыстың орындалу мазмұны Талапатарды қою
- •Талаптардың бизнес –моделі
- •Бизнес-варианттар қолдану моделі
- •Бизнес-класс моделі
- •Талаптарды сипаттау құжаты
- •Талаптар спецификациясы
- •Күйлер спецификациясы
- •Кластарды моделдеу
- •Клас-мәндерді анықтау ережелері
- •Ассоциацияларды моделдеу
- •Агрегациялар мен композициялар қатынасын моделдеу
- •Жалпылау қатынастарын моделдеу
- •Объектілерді моделдеу
- •Күй спецификациясы
- •Қолдану варианттарын моделдеу
- •Қызмет түрін моделдеу
- •Өзара әрекеттесуді моделдеу
- •Ашық интерфейстерді моделдеу
- •Күй өзгеруінің спецификациясы
- •Қолданушы интерфейсін жобалау
- •Қолданушы интерфейсінің моделі
- •Курстық жұмыстың орындалу мазмұны
- •Студент пәнінің – оқу әдістемелік кешені
Жүйелік диаграммасы
Жүйелік диаграммадан бастаңдар, олар қолдану нұсқаларына жататын бөлшектік талаптар немесе құрылысы үшін құрылған.
Жобалау бөлшектердің басқа қосымшалармен байланыста болып тұрғанын қолдану нұсқалары арқылы көрсетіңіздер.
Жүйелік диаграммалардың толық бөлшектілігін қамтамасыз етіңіздер.
Барлық объектілер мен класстар арнайландырылған болу керек;
Операцияларды анықтайтын әдеттегі тілдің орнына нақты функциялардың аттарын таңдаңдар.
Мәліметтер ағыны диаграммасы.[17]
Бөлшектік талаптары мен (немесе) құрылысы үшін құрылған мәліметтер ағыны диаграммасын (МАД) жинаңыздар.
Керек болса, үрдіс пен мәліметтер ағынын түсіндіру үшін қосымша МАД көрсетіңіздер.
МАД басқа модельдердің қандай бөлігіне жататындығын анықтаңыздар (мысалы класстың моделінде).
МАД-ның толық бөлшектілігін қамтамасыз етіңіздер:
Әрбір түйінде өтетін үрдісті анықтаңыздар;
Жіберілетін мәліметтердің типін анықтаңыздар;
Егер үрдістің анықтауы көп нақтылауларды талап етсе, диаграммадағы үрдістің түйіндерін ашыңыздар.
Қолдану нұсқалары бойынша құрылған жүйелік диаграммалары осы қолдану нұсқалардың класстарын көрсетеді және сценарий арқылы қолдану нұсқаларын функционалдығын сөз арқылы бейнелейтін әдістер жүйесі бойынша осы класстардың объектілердің байланысын көрсетеді. Қолдану нұсқаларды жүзеге асырудағы барлық әдістер белгілі болғандықтан, оларды объектті модельде көрсетуге болады. Сценарий бойынша қолдану нұсқаларының жүзеге асырудағы объектілер жұмысының талдау үрдісін жалғаса отырып, біз бөлшектік класстардың моделін және бөлшектік қолдану нұсқалардың моделін аламыз.
Бөлшектік жобалауында мәліметтер моделдері бөлшектеп көрсетіледі, содан кейін функциялар немесе класстар мен әдістер арқылы көрсетіледі.
Бөлшектік жобалаудың келесі қадамы – класстар, әдістер мен атрибуттардың арнайландылығы.
Класстың атрибуты мына түрде жазылады:
Көрініс аты [көптік] : түрі = бастапқы_мән {түсініктеме}
Көрініс – public, protected немесе private;
Көптік – қасиет даналардың саны;
Түсініктеме – атрибут туралы қосымша мәліметтер, мысалы, frozen түсініктемесі объектінің инициализациясынан кейін осы қасиеттің мәні өзгермейтінін көрсетеді.
Класстың операциялары мына түрде жазылады:
Көрініс аты (параметр_тізімі): нәтиженің_типі{түсініктеме},
Түсініктеме – оперциялар туралы қосымша мәліметтер, мысалы, leat полиморфтік емес оперция болатындығын білдіреді;
Параметрлер_тізімі келесі түрде жазылады:
Бағыты аты: түрі = мәні_үнсіз келісім бойынша,
Бағыт – in кіру параметрі, out – шығу параметрі, inout – өзгере алатын кіру параметрі.
Класстардың спецификациясын құруындағы пайдалы құралдарының бірі – CORBA IDL (Interface Definition Language – интерфейсті анықтайтын тіл). Ол класстар жиынтығы, класстардың атрибуттар мен функцияларды қамтамасыз ететін интерфейстерді бейнелейтін стандартты мәтіндік формат болып табылады.
Алгоритмдердің спецификациясы
Жүзеге асыратын функцияларды анықтағаннан кейін бастапқы кодты пайдаланып, қолданылатын алгоритм бейнеленеді. Осы бейнелеулердің құралдары ретінде блок-сұлбалар, псевдокод, диаграммалар болады.
Бөлшектік жобалауда жобалау үлгілері ерекше орын алады. Олар қолайлы шарттар кезінде қолдануы тиіс, болмаған жағдайда әдеттегі жобалауды күрлендіріледі.
Әр жобалау үлгілерде әдетте екі аспект болады. Бірінші аспект – класстар мен олардың байланысын бейнелейтін класстың жай моделі. Екінші аспект– үлгі әрекетінің тәсілі, оны бейнелеу үшін қолдану нұсқасының моделін қолдануға болады.
Бөлшектік жобалаудағы жобалау үлгісін пайдаланып, мысал келтірейік.
Жобалау үлгілері арқылы шешілетін жобалау мәселелерімен танысайық.
Жобалау үлгілерінің креациондық, құрылыстық және әрекеттік арасындағы ерекшеліктерін анықтаңыздар;
Бөлшектік жобалаудың әрбір кезеңдерін қарастырыңыздар.
Осы есептің неге жататындығын анықтаңыздар: күрделіні жасау, объектілердің күрделі қиыстыру құрылысын ұсыну немесе ол қосымшаның әрекеттік байланыста болады, яғни таңдалған объектінің күй тәртібімен бекітіледі.
Осы есепті шешуіндегі жобалау үлгісі бар екендігін тексеріңдер.
Артықшылықтар мен кемшіліктерін талдаңдар.
Артықшылығы жоғарғы иілгіштік болып саналады;
Кемшілігі күрделілік пен төмен нәтижелілік болып саналады.
Креациондық жобалау үлгілері – объектілерді құрудағы түрлендірулерді жасайды және олардың басқаруын қаматамасыз етеді. Креациондық жобалау үлгілеріне мыналар жатады: Singleton, Factory, Prototype, Abstract Factory, Builder.
Жобалаудың құрылымдық үлгілері – комплексті объектілерді көрсетеді, олар: ыңғайлы интерфейстермен объекттер түріндегі тізімдер, колекциялар және ағаштар. Құрылымдық үлгілерге мыналар жатады: Composite, Dicorator, Adapter, Facade, Flyweight және Proxy.
Іс-әрекетіне негізделген жобалау үлгілері – жұмыс барысындағы іс-әрекеті мен қосымшаларды басқарады, болмаған жағдайда әрбір іс-әрекет нұсқасын жобалау мен жүзеге асыруы бөлек істеуге тура келеді. Іс-әрекет үлгілеріне мыналар жатады: Interpreter, Observer, State, Iterator және Mediator. Бөлшектік жобалау орындауының нәтижесінде жобаның жоспары барлық қатынастар бойынша нақтылау болып табылады.
Негізгі әдебиеттер – 2[6 бөлім, 384-422 бет], 7[149-168, 225-241], 17[2 бөлім, 29-42 бет, 12 бөлім, 136-146 бет].
Бақылау сұрақтары:
Бөлшектік жобалау дегеніміз не?
Қолдану нұсқасы мен құрылыс бөлшектік жобалауда қандай орын алады?
Бөлшектік жобалаудағы үрдістің типтік сұлбасы қандай болады?
USDP сұлбасы бойынша жобалау туралы айтыңыз.
Интерфейстерді қолданудағы жобалау туралы айтыңыз. Талапқа сай функционалдылығын пайдаланатын қосымшаның элементтерін қалай жобалау керек?
Бөлшектік жүйелік диаграммалар және бөлшектік мәліметтер ағыны диаграммалары бөлшектік жобалауда қандай орын алады?
Класстың нұсқалары деген не? Кейін қойылған шарттар бойынша функцияларды көрсететін нұсқалар туралы айтып беріңіз.
Қандай жағдайларда блок-сұлбалар мен псевдокодтарды қолдану керек?
Жобалау үлгілерінің үш түрі туралы және бөлшектік жобалау кезінде олар қандай әрекеттерді қамтамасыз етеді?
C++ стандарты үлгілердің кітапханасы (STL) және бөлшектік жобалау туралы айтып беріңіз.
7- Дәріс. Объектті-бағытталған жобалау
Объектті-бағытталған жобалау – операциялар мен функциялардың орнына жүйенің өңдеушілері объектілер түсінігін қолданылатын стратегия. Объекттің күй-жағдайын анықтайтын операцияларды орындайтын және өзінің жеке күй-жағдайы бар объектілер байланысының программалық жүйеден құрылған.
Объектті-бағытталған жобалау үрдісі – объекттер класстарының жобалауы мен осы класстар арасындағы байланыстарды анықтайды. Жоба орындаушы бағдарлама ретінде көрсетілсе, барлық керек объектілер динамикалық класстар анықтамалары арқылы пайда болады.
Объектті-бағытталған жобалау – жүйені өңдеу объектті-бағытталған үрдістегі объектінің тек бір бөлігі, осында программалық қамтаманы құру үрдісі кезінде объектті-бағытталған әдіс қолданылады. Осы әдіс үш кезеңдердің өтуін талап етеді.
Объектті-бағытталған талдау – заттық облысының сөздігін құрайтын класстар мен объекттердің талдау әдісі болып табылады. Осында талдау объектілері нақты объектілер – мәндерді көрсетеді, сонымен қатар объектілердің орындалатын операциялар анықталады.
Объектті-бағытталған жобалау – объектті-бағытталған декомпозиция үрдісі және жүйенің логикалық және физикалық, статикалық және динамикалық жобалау модельдерін байланыстыратын жобалау әдістемесі болып табылады. Жүйенің түсіндірмесі класстар, объектілер, модульдер және үрдістер диаграммаларынан құрылады.
Объектті-бағытталған бағдарламалау – жүзеге асыру әдістемесі, қандай да бір класстың данасы болып келетін объектілердің жиынтығы, ал класстар мұрагерлік иерархиясын құрайды. Осы жағдайда әдетте динамикалық байланыс мен полиморфизммен мадақталатын класстар статикалық, объекттер динамикалық болады.
Объектті-бағытталған декомпозиция – заттық облысына кіретін класстар мен объектілеріне сай жүйені бөліп тастау үрдісі. Объектті-бағытталған декомпозиция практикалық қолдану әдістері объектті-бағытталған декомпозицияға келтіреді, осы жағдайда біз дүниені талапқа сай күй-жағдайларды қамтамасыз ететін объекттердің жиынтығы ретінде қарастырамыз.
Объектті-бағытталған жүйелер – автономиялық және тәуелсіз объектілердің жиынтығы.