Практикалық жұмыс №5

Зертханалық жұмыс№5

Тәжірибелік сабақ №5

Жолдар кестесі - StringGrid компоненті;

Мазмұны:

1. ListBox және ComboBox тізімдерінен таңдау компоненттері;

2. Жолдар кестесі - StringGrid компоненті;

3. Cells[ACol, ARow: Integer]: string;

4. Иерархиялық мәліметтер компоненттері – TreeView и ListView;

5. Chart көмегімен графиктер мен диаграммаларды жасау;

6. Бас меню –MainMenu компоненті;

7. Жүйелік диалогтар.

Ескерту. Есептеу нәтижесі нұсқа бойынша жасалынатын қосымша үшін дайындалады.

 Қосымшаның Файл (тазалау/оқу/матрицаны жазу/ нәтижені басып шығару/икемдеу операциялары), Есеп (нұсқаға сәйкес тапсырмалар), Анықтама (нұсқаға сәйкес тапсырмалар бойынша ақпарат) пункттері бар бас менюі болу керек;

 Қосымшаның матрицамен жұмыс істеу үшін келесі пункттері болу керек: ену, файлдан оқу, файлда сақтау, ағымдағы матрицаны тазалау.ввод, чтение из файла, сохранение в файле и очистку текущей матрицы. «Открыть», «Сохранить» және «Сохранить как» командалары тиісті жүйелік диалогтарды қолдану керек;

 Матрицаны енгізу кестелі формада болуын қамтамасыз ету керек (матрицаның максималды үлкендігі – 20×20);

 Тапсырма орындалуының нәтижесі үлкендігі өзгертілетін жеке терезелерде құрылуы керек;

 Менюдің барлық бөлімдері мен барлық басқарушы элементтеріне тез қатынау батырмалардың, негізгі командаларға қатынаудың ыстық пернелердің бар болуы;

 Шапшаң батырмалар не өзге компоненттерден тышқан курсорын жылжытқанда қалқып шығатын еске түсіру таңбашалары болу керек;

 Қолданушыға түрлі ақпаратты ұсыну мен жайылған еске түсірулерлер үшін қолданылатын қалып жолағы болу керек;

 Негізгі бөлімдерді қайталайтын, шапшаң батырмалардың 2ден кем емес аспапты панельдері болу керек. Аспапты панельдер автоматты айналдыруы болуы міндетті;

 Икемдеу Командасы, бас меню мен аспапты панельдерді икемдеуге мүмкіндік беру керек;

Қолданушы кезкелген компоненттен тышқанның оң батырмасымен шерткенде контекстік, қалқымалы терезелер істеуі керек;

Басқарушы элементтердің фокусын ауыстырып қосудың ойластырылған тізбегі болуы шарт;

 Қолданушы F1 барырмасы немесе менюдің сәйкес бөлімін таңдағанда тақырыптары көрінетін анықтама файлы болуы керек;

 Қосымшаның пиктограммасынан тышқанның оң жақ батырмасымен шерткенде қолданушыға қолжетімді версиясы туралы ақпаратты ұсыну;

 Өткен сеанста орнықтырылған икемдеудің кезекті жұмыс істегенде қайта қосылуы мүмкін болатын қосымшаны икемдеудің бар болуы;

 Қосымшаны орнату, Windowsта тіркеу не жою үшін Құралдар (бұл бірнеше файлдары бар қосымшалар үшін керек; қарапайым бағдарламалар үшін ол арнайы құралдарды қажет етпейді)

Жеке тапсырмалар

2.1-кесте-Тапсырма

№ | Тапсырма
1 | Жоғарғы үшбұрышты матрицаның элементтер сомасын есептеу Матрицаның әр жолының ең үлкен элементтерін табу. Матрицаның әр бағанасының ең үлкен элементтерін табу.
2 | Төменгі үшбұрышты матрицаның оң элементтер сомасын есептеу Матрицаның ең кіші элементін, оның жолы мен бағанасының нөмірін табу. Матрицаны транспонирлеу, нәтижесін кесте формасына шығару.
3 | Жоғарғы үшбұрышты матрицаның жұп сандарының көбейтіндісін есептеу. Сандарының сомасы максималды мәнге ие элемент және оның индексткрін табу. Нөлдік емес сандардың көбейтінділерінің сомасы 5-ке бөлінетін матрица жолдарының нөмірлерін табу.
4 | Матрицаның әр бір жолының элементтер модульдерінің максималды сомаларын есептеу. Тақ сан болып табылатын матрица элементтер санының сомасын табу. Матрицаның бірінші және соңғы жолдарының орнын ауыстыру.

5

Егер матрицаның ең үлкен элементі минималды элементінің абсолютті мәнінпн үлкен болса, онда барлық теріс элементтерді олардың модульдарымен алмастыру.

Нөлдік емес сандардың көбейтінділерінің сомасы максималды болатын элемент және оның индекстерін табу.

Матрицаның диагональдық қасиетке сәйкес келетінін анықтау.

6

Егер матрицаның ең үлкен элементі жұп жол және тақ бағанада орналасса, онда матрицаның барлық элементін осы ең үлкен элементке бөлу.

Егер массивтің теріс элементтерін олардың квадраттарымен алмастыру нәтижесінде жол бойынша кері тізбекті құраса, онда әр жолдың элементтер сомасын табу, болмаса көбейтіндісін табу.

Цифрларының сомасы жұп болатын элементтерді табу.

7 | Егер массивтің элементтері жол бойынша өспелі тізбек құраса, онда барлық теріс элементтерін нөлдермен алмастыру. Массивтің ең үлкен шамасынан кейінгі барлық элементтерді 10ға арттыру. Цифрларының сомасы 30-дан асатын элементтер мен индекстерін табу.
8 | Цифрларының сомасы минималды элементтер мен индекстерін табу. Матрицаның жолдарының максималды элементтерінің сомасын бағананың минимплды элементтерінің сомасына көбейтіндісіе табу. Егер массивтің қандайда бір A(i,j) элементі A(i,j) < 11 шартына сәйкес болса, онда матрицаның барлық теріс элементтерін олардың квадраттарымен алмастыру.

9

Матрицаның барлық оң элементтерін олардың квадраттарымен алмастыру, ал теріс элементтерін 10ға көбейту.

Егер массивта бір де бір элемент 10 мәнімен болмаса, онда матрицаның ең кіші элементін осы санға алмастыру, өйтпегенде оны нөлге алмастыру.

Нөлдік емес цифрларының көбейтінділерінің сомасы 100-ден асатын элемент пен олардың индекстерін табу.

10 | Тақ сан болатын матрица элементтерінің цифрлар сомасын табу. Элементтер цифрларының сомасы минималды болатын матрица жолының нөмірін табу. Матрицаның бірінші және соңғы бағаналарының орнын ауыстыру.
11 | Матрицаның нөлдік емес цифрлар көбейтінділерінің сомасын табу Элементтер цифрларының сомасы максималды болатын матрица бағанасының нөмірін табу. Матрицаның әр жолының ең үлкен элементтерінің нөмірлерін табу.
12 | Матрицаның әр жолының элементтерінің цифрлар сомаларын табу. Теріс элементінен басталатын жолдар мен оң элементпен аяқталатын бағаналар қиылысында орналасқан матрица элементтерінің сомасын табу. Ең құрмағанда бір теріс элементі бар матрица жолдарының санын анықтау.

13

Егер төртбұрышты матрицаның ең үлкен элементі басты диагональда орналасса, барлық элементтерді 10-ға, болмаса 0.5ке көбейту.

Басты диагональ бойындағы жолдардың теріс элементіне жолдағы өзіне дейінгі сандар сомасын қосу, оң элементіне өзінен кейінгі сандар сомасын қосу

Матрицаның әр бағанасының элементтері сандарының сомасын табу.

14 | Матрицаның оң және теріс элемнеттерінің санын анықтау. Егер матрицаның басты диагональ бойында ең құрмағанда бір теріс элементі бар болса, онда басты диагональ бойындағы әр элементке өзінің алдындағы элементтер сомасын қосу. Матрицаның әр жолының нөлдік емес цифрлары көбейтінділерінің сомасын табу.
15 | Элементтердің ең үлкен теріс және ең кіші оң мәндерін табу.. Ең үлкен элементі бар жолдан кейін орналасқан жолдардағы барлық элементтерді 10ға арттыру. Элементтер сандарының сомасы 3-ке бөлінетін матрица жолдарының нөмірлерін табу.
16 | Төртбұрышты матрицаның бас диагоналіне параллель жіне одан жоғары сызықтар бойында жатқан элементтер сомасын анықтау Қиылысында минималды элемент орналасқан жол мен бағана элементтерінің сомасын анықтау. Элементтер сандарының сомасы минималды бағана нөмірін табу.
17 | Элементтер сандарының сомасы максималды жол нөмірін табу. Егер массивте теріс элементтердің саны көбірек болса, онда барлық теріс элементтерді 99-ға, болмаса 100-ге алмастыру. Бас диагональда және одан төмен орналасқан матрицаның тақ элементтерінің санын анықтау.
18 | Бас диагональда және одан жоғары орналасқан матрицаның жұп элементтерінің санын анықтау. Жұп сан болатын барлық элементтер мен олардың индекстерін анықтау. Бұрышты диагональдан төмен орналасқан, нөлдік емес матрица элементтерінің санын анықтау.
19 | Тақ сан болатын барлық элементтер мен олардың индекстерін анықтау. Матрицаның минималды элементінің нөлдік емес санының көбейтіндісін анықтау. Симметрияның тік сызығына қатысты симметриялы орналасқан матрица элементтерінің орнын алмастыру.
20 | Матрицаның әр бағанасының нөлдік емес элемент сандарының көбейтіндісін табу. Матрицаның максималды элементінің цифрлар сомасын табу. Бас диагональға қатысты симметриялы орналасқан матрица элементтер мәндерінің орнын алмастыру.

Бақылау сұрақтары

1. ListBox тізімінде қанша элемент орналасқанын қалай білуге болады?

2. StringGrid компонентінде бекітілген және бекітілмеген бағаналар мен жолдар санын қалай белгілеуге болады?

3. Қолданушы жүйелік диалогпен жұмыс жасағанда әрекетті аластатқанын қалай білуге болады?

4. Файлды ашу/сақтау диалогында таңдалған файлды, ал түсті таңдау диалогында таңдалған түсті және шрифтті таңдау диалогында таңдалған шрифтті қалай анықтауғаболады?

5. TreeView ағашында тораптарды қалай қосып/жоюға болады?

6. Қай қасиет ListView компонентінде элементтерді көрсету түрін таңдауға мүмкіндік береді (ірі белгілер, ұсақ значки және т.б.)

ListBox және ComboBox тізімдерінен таңдау компоненттері

ListBox және ComboBox Компоненттері жолдардың тізімін көрсетеді. Олар бірбірінен ажыратылады, ең біріншіден ListBox мәліметті тек көрсетіп, қолданушыға оларды таңдауға мүмкіндік берсе, ComboBox мәтінді түзетуге мүмкіндік береді. Одан басқа тізімдерді көрсету формасында айырмашылық бар. ListBox тізімді ашылған терезеде көрсетеді, егер олар сыймаса оларды айналдыру жолағының тізіміне автоматты қосады. ComboBox тізімді ашылған және түсіп шығатын тізім түрінде көрсетіп қосымша терезесінің аумағын үнемдеуге мүмкіндік береді.

Екі компоненттің ерекше қасиеті ол Tstrings қарастырылған типі бар, Items жолдар тізімі. Оны Объектілер Инспекторы терезесіндегі осы қасиеттің батырмасын басып, жобалау кезінде толтыруға болады.

ListBox компонентінде қолданушыға көп таңдауды ұснатын MultiSelect қасиеті бар. Егер MultiSelect = false, онда қолданушы тізімнен бірақ элементті таңдай алады. то пользователь может выбрать только один элемент списка. Бұл жағдайда тек орындау кезіндеқол жетімді Itemlndex қасиетінен таңдалған жолдың индексін білуге болады. Егер бірдебір жол таңдалмаса, онда Itemlndex = –1. Көптеген таңдауда берілген элемент таңдалғанын Boolean типті Selected[Index: Integer] қасиетін тексеру арқылы білуге болады. Columns қасиеті тізім көрсетілетін бағаналар санын анықтайды. Егер ол сыймаса, ListBox компонентінің терезесінен көрсетіледі.

Sorted қасиеті тізімді алфавит бойынша орналастырады. Sorted = True болса, жаңа жолдар тізім соңына емес, алфавит бойынша енгізілелі. lbStandardқа енгізілген Style қасиеті жолдар тізізіміне сәйкес келеді. Styleдың өзге мәндері тізімде тек мәтін ғана емес, сонымен қатар суреттерді көрсетуге мүмкіндік береді.

ListBox компонентіне ұқсайтын, тағы бір компонент бар – бұл индикаторлары бар CheckListBox тізімі. Ол тура ListBox сияқты, бірақ әрбір жолдың қасында қолданушы өзгерте алатын индикатор бар.

Енді ComboBox компонентін қарастырайық. Оның суретінің стилі Style қасиетімен анықталып, келесі негізгі мәндерге ие бола алады:

2.2-кесте-Қолданушылар

esDropDown | Қолданушыға мәтінді енгізу мен түзетуге мүмкіндік беретін, бірдей биіктіктегі жолдары бар, түсіп шығатын тізім.
csSimple | Қолданушыға мәтінді енгізу мен түзетуге мүмкіндік беретін, бірдей биіктіктегі жолдары мен түзету терезесі бар, ашық тізім.
csDropDownList | Бірдей биіктіктегі жолдары бар, бірақ түзету терезесі жоқ түсіп шығатын тізім.

Қолданушыны таңдау Text қасиетінің мәні бойынша анықтауға болады. Егер қолданушы таңдаған элемент индексін таңдау қажет болса, Itemlndex қасиетін пайдалануға болады.

Жолдар кестесі - StringGrid компоненті

StringGrid Компоненті жолдардан тұратын кесте болып табыллады.. Кесте мәліменттері тек оқу үшін не түзетілетін бола алады. Кесте айналдыру жолақтарынан тұрады, бекітілген бірінші жолдар мен бағаналалардың саны тұрақты болып, айналмауы мүмкін. Осылайша, компонент терезесінде үнемі тұратын жолдар мен бағаналардың тақырыптарын беруге болады. Кестенің әр бір ұяшығына сәйкес элементті қоюға болады.

StringGrid Компоненті мәтіндік ақпаратты кестелік түрде көрсету үшін арналған. Компоненттің көрсетілетін мәтінді анықтайтын, негізгі қасиеттері:

2.3-кесте-Бағана

Cells[ACol, ARow: Integer]: string | Бағана мен жол индекстерімен ACol мен ARow ұяшықта болатын жол.
Cols[Index: Integer]: TStrings | Index индексі бар бағанада болатын жолдар тізімі.
Rows[Index: Integer]: ТStrings | Index индексі бар жолда болатын жолдар тізімі.
Objects [ACol, ARow: Integer] :TObject | Бағана мен жол индекстерімен ACol мен ARow ұяшықта болатын жолмен байланысты объект.

Аталған қасиеттердің барлығы орындалу барысында қол жетімді. Мәтіндерді бағдарламалық, жеке ұяшықтар бойынша немесе бірден TStrings сыныбының әдістерінің көмегімен беруге болады.

ColCount пен RowCount қасиеттері сәйкесінше бағаналар мен жолдар санын, FixedCols және FixedRows (бекітілген, айналмайтын жолдар мен бағаналар саны) қасиеттерін анықтайды. Бекітілген ұяшықтардың түсі FixedColor қасиетімен анықталады. LeftCol мен TopRow қасиеттері Экранда бірінші көрінетін жіне ағымдағы айналып жатқан жол мен бағана индекстерін анықтайды.

Кесте бағандарының ұзындығы мен ені DefaultColWidth және DefaultRowHeight қасиеттерімен қойылады. Кесте ұяшықтарын шектейтін сызық ені GridLineWidth көмегімен.

ScrollBars қасиеті кестедегі айналу жолақтарының санын анықтайды. Мұнда кестенің тиісті үлкендікке сыйатынына байланысты айналу жолақтары пайда болады не жойылады.

Options қасиеті кестенің көрптен қасиеттерін анықтайды: бекітілген (goFixedVertLine мен goFixedHorzLine) және бекітілмеген (goVertLine и goHorzLine) үяшықтардағы тік және көлденең сызықтардың бар болуы, бағана мен жолдар үлкендігін өзгерту мүмкіндігі(goColSizing и goRowSizing), бағана мен жолдың орнын ауыстыру және т.б. Options қасиетінің маңызды элементі goEditing – кесте құрамын түзету мүмкіндігі.

Негізінен StringGrid компоненті қолданушы ұяшықтан қандайда бір мәндерді таңдау үшін қолданылады. Col мен Row қасиеттері бағана индексі мен ерекшеленген бағанды көрсетеді. Сонымен қатар қолданушының ұяшықтардың көп санын белгілеу мүмкіндігі бар.

StringGrid компонентінің көптеген оқиғаларының ішінен қолданушы ұяшықты таңдағанда пайда болатын OnSelectCell оқиғасын атап айтқан жөн. Осы оқиғаның өңдеушісіне белгіленген ұяшықтың жолы мен бағанасы ACol мен Arow, таңдаудың мүмкіндігі туралы логикалық жалауша CanSelect сияқты параметрлер жіберіледі. CanSelect параметрін ұышықты таңдауға рұқсат бермеуге болады, оның мәнін false деп.

Иерархиялық мәліметтер компоненттері – TreeView и ListView

TreeView компоненті иерархиялық мәліметті ағаш түрінде көрсетіп, қолданушыға өзіне қажетті тораптарды таңдауға мүмкіндік береді. Иерархиялық ақпарат әртүрлі болуы мүмкін: есептеу нәтижесінің, құжаттама немесе кәсіпорынның құрылымы. Ағаштың әр торабымен кейбір мәліметтер байланысуы мүмкін.

TreeView-дің негізгі қасиеті – ағаштың тораптары туралы ақпаратты қамтитын Items болып табылады. Жеке тораптардың ақпаратына қатынау, осы индекстік тораптар тізімі арқылы жүзеге асырылады. Мысалы: TreeView1.Items[1] – бұл ағаштың 1 индекспен торабы (ағаштың екінші торабы). Әр торап өз қасиеті мен әдістері бар, ТТгееNodes типті объект болып табылады.

Жобалау кезінде ағаштың қалыптастырылуы ағаш тораптарын түзетуші терезесінде іске асырылады. Әр жаңа торап үшін Item Properties панелінде бірқатар қасиеттерді белгілеуге болады. Бұл біріншіден Text қасиеті – тораптың қасынан пайда болатын жазу. Image Index пен Selected Index қасиеттері торап үшін көрсетілетін, пиктограммалар индексін анықтайды. Бұл индекстер ImageList жеке компонентінде сақталынатын, суреттер тізіміне сәйкес келеді. Осы компонентке бағдарды сіздер TreeView компонентінің Images қасиетінде жасай аласыз.

Біз жобалау кезінде ағашты құрастыруды қарастырдық. Алайда ағаш қосымшаның жұмыс істеуі кезінде де құрастырыла алады. Ол үшін TTreeNodes типті объектілердің әдістері қызмет жасап, ағашқа жаңа тораптарды қосуға мүмкіндік береді.

2.4-кесте-Жаңа мәндер

Add(Node; S); | Жаңа S мәтіні бар торапты Node торабы орналасқан соңғы торап ретінде кірістіреді.
AddFirst(Node, S); | Жаңа S мәтіні бар торапты Node торабы орналасқан деңгейдің бірінші торабы ретінде кірістіреді.
Insert(Node, S); | Жаңа S мәтіні бар торапты сол деңгейге Node торабынан кейін кірістіреді.
AddChild(Node, S); | S мәтіні бар торапты Nodeтың соңғы еншілес торабы ретінде қосады.
AddChildFirst(Node, S); | S мәтіні бар торапты Nodeтың бірінші еншілес торабы ретінде кірістіреді.

Аталған әдістердің әрқайсысы кірістірілген торапты қайтарады. Әр тораппен белглі объект байланысты болуы мүмкін. Мұндай тораптарды қосу жоғарыдағы әдістерге ұқсас, бірақ параметр ретінде объектіге сілтемесі бар AddObject, AddObjectFirst, InsertObject, AddChildObject, AddChildObjectFirst әдістерімен жүзеге асырылады.

Тораппен байланысқан объектіні оның Data қасиетінің көмегімен табуға болады–мысалы, TreeView1.Items.Item[1].Data.

Тораптарды жою үшін екі әдіс бар: ағашты тазартатын, Clear және ,белгіленген Node торабы мен оның барлық ұрпақтораптарын жоятын, Delete(Node).

Ағашты қайта құрумен байланысты көптеген тораптарды жасау не жоюлар нәтижесінде жарықтың жағымсыз жыпылықтауына әкелуі мүмкін. Мұндайды BeginUpdate және EndUpdate әдістерін қолданып, болдырмауға болады. Алғашқысы ағаштың қайта салынуына жол бермей, екіншісі рұқсат етеді. алдын алып, Избежать этого можно с помощью методов BeginUpdate и EndUpdate. Первый из них запрещает перерисовку дерева, а второй – разрешает. Осылайша, ағаш құрылымын өзгерту келесідей жүзеге асырылады:

TreeView1.Items.BeginUpdate;

<ағашты өзгерту операторлары>

TreeView1.Items.EndUpdate;

Егер BeginUpdate әдісі бірнеше рет қолданылса, онда ағаштың қайта салынуы соншалықты рет EndUpdate әдісі қолданылғаннан кейін жасалынады.

Тораптар қасиеті ішінен Count қасиетін (торап, басқармалы мәліметтер, еншілес тораптар саны) атап айтқан.

TreeView компонентінің маңызды қасиеті болып Selected табылады. ол қолданушы белгілеген торапты көрсетеді. Осы қасиетті пайдаланып, бнлгңленген торап үшін орындалуға тиіс операцияларды бағдарламалап қоюға болады. Егер ешқай торап таңдалмаса, онда Selected мәні тең nil.

TreeView компонентінің ReadOnly қасиеті қолданушыға көрсетілетін мәліметті өзгертуге тиым салуға мүмкіндік береді. Егер түзету рұқсат етілсе, түзету кезінде OnEditing мен OnEdited оқиғалары пайда болады. (OnEditing өңдеушідегі var AllowEdit: Boolean параметрі түзетуге тиым салуға мүмкіндік береді).

ShowButtons, ShowLines, ShowRoot сияқты TreeView компонентінің қасиеттер тізімі ағаштың бейнелеуіне жауап беріп, одан тораптың, сызықтардың ашылуын көрсететін батырмаларды қоюға не алып тастауға мүмкіндік береді. SortType қасиеті ағаштың бұтақтары мен тораптарын автоматты сұрыптауға мүмкіндік береді.

ListView компоненті Windows 95/98 стилінде жұмыс істеуге мүмкіндік беріп, мәліметтерді тізім, кесте, ірі және ұсақ пиктограммалар түрінде көрсетеді. Ақпаратты көрсету стилі ViewStyle қасиетімен анықталып, ол келесі мәндерді қабылдайды: vsIcon – ірі белгілер, vsSmallIcon – ұсақ белгілер, vsList – тізім, vsReport – кесте.

Көрсетілетін ақпараттың құрамын сипаттайтын, компоненттің негізгі қасиеті – Items. Әр торапқа Caption (пиктограмманың қасында пайда болатын жазу) қасиеті белгіленеді. ImageIndex қасиеті пиктограмма индексін анықтайды. Индекс ImageList жеке компоненттерінде сақталатын, суреттер тізіміне сәйкес келеді. Бұл компоненттерге сілтемені vsIcon пен SmallImages және vsList и vsReport режимдері үшін LargeImages қасиеттерінде беруге болады.

Columns қасиеті vsReport режимі және ShowColumnHeaders (тақырыптарды көрсету) қасиетінде кесте тақырыптарының тізімін анықтайды.

Chart көмегімен графиктер мен диаграммаларды жасау

Chart Компоненті түрлі диаграмма мен графиктерді құруға мүмкіндік береді. Ол TChartSeries типті Series объектілерінің қорабы болып табылады. Әр компонент бірнеше серияны кіргізе алады. Егер сіз графикті көрсеткіңіз келсе, онда әр серия графиктегі бір қисық сызыққа сәйкес келеді. Егер сіз диаграммаларды көрсеткіңіз келсе, онда Если диаграммалардың кей түрлеріне бірнеше серияны бірінің үстіне бірін қоюға болады.

Диаграмманың жасалуы мен түзетілуі Диаграмалар Редакторы көмегімен іске асырылады.

Диаграмма үшін мәліметті тек мәліметтер базасының кестесінен ғана емесғ сонымен қатар қолмен енгізуге болады. Ол үшін Series жаңа элементін Диаграмалар Редакторы арқылы (мысалы Bar мәліметтер сериясының типі) қосу керек және оқиғаны өңдеушіде Form1.OnCreate келесіні енгізіңіз:

Series1.Clear; { Очистить данные };

{ Добавить Значение, Метку, Цвет };

Series1.Add(25, 'Barcelona', clTeeColor);

Series1.Add(50, 'Rome', clTeeColor);

Series1.Add(30, 'San Francisco', clTeeColor);

Series1.Add(50, 'New York', clTeeColor);

Series1.Add(40, 'Los Angeles', clTeeColor);

Series1.Add(35, 'London', clTeeColor);

Бас меню –MainMenu компоненті

Delphiде менюді ұсынатын екі компонент: МаinMenu – бас меню, және PopupMenu – қалқымалы меню, екеуі визуалды емес компоненттер.

Әдетте формаға бір MainMenu компоненті орналастырылады, осы жағдайда оның атауы автоматты түрде форманың Menu қасиетіне енгізіледі. Компоненттің негізгі қасиеті – Items. Оның толтырылуы MainMenu компонентінен екі шерткенде шақырылатын Меню Конструкторы арқылы жасалады.

Caption қасиеті бөлім жазуын білдіреді (жазуға шапшаң қатынау үшін амперсайд белгісін қосуға болады). Егер Caption мәні ретінде минус «–» таңбасын енгізсе, онда менюда бөлім орнына бөлектегіш пайда болады. Name қасиеті менюдің сәйкес бөлімінің объектісіне атын береді.

Shortcut қасиеті қолданушының менюға кірмейақ берілген бөліммен байланысты процедураның орындалуын шақыратын, менюдің бөліміне шапшаң қатынау үшін батырмаларын анықтайды.

Break қасиеті ұзақ менюда бөлімдер тізімін бөлу үшін қолданылады. Break мүмкін мәні; mbNone – меню бөлінуінің жоқтығы, mbBarBreak пен mbBreak – менюға бөлімдердің алдыңғыдан (mbBarBreak) жолағы мен (mbBreak) пробелдарымен бөлінген жаңа бағанасы енгізіледі.

Checked қасиеті. trueдің белгіленуі менюдің бөлімінде осы бөлімнің таңдалғанын көрсететін жалауша маркері көрінеді.

Менюдің бөліміне маркерді енгізуге мүмкіндік беретін тағы бір қасиет RadioItem. trueда қойылған осы қасиет бұл бөлімнің радиобатырма режимінде жұмыс істеу керектігін көрсетеді GroupIndex.

Әр бөлім үшін жобалау не бағдарламалау кезінде Enabled (қолжетімді) жіне Visible (көрінетін) қасиеттері орнатылуы мүмкін. Егер Enabled = false деп қойса, онда бөлім сұр түске боялып, қолданушы сырт еткеніне жауап бермейді. Егер Visible = false деп қойса, онда бөлім мүлдем көрінбейді, ал қалған бөлімдер көрінбейтіннің орнын басып қосылады.

Біз менюдің бөлімдеріне сәйкес объектілердің барлық қасиеттерін қарастырдық. Бөлімнің негізгі оқиғасы қолданушы бөлімнен шерт еткенде не шапшаң қатынау батырмаларын басқанда пайда болатын OnClick.

Жүйелік диалогтар

Қосымшаларда жиі стандартты әрекеттерді жасауға тура келеді: файлдарды ашып, жабу, палитра түстерін таңдау, шрифттар атрибуттарын белгілеу, контекстік іздеу мен алмастыру, т.б. Delphi кітапханасына сәйкесдиалогтық терезелерін іске асыратын, қолдануға ыңғайлы компоненттер қосылған. Барлық диалогтар визуалды емес компоненттер болып табылады, сондықтан олардың формада орналасқан орны маңызды емес. Осы компоненттермен жұмыс істегенде стандартты диалогтар шақырылады.

Кезкелген диалогқа шақыру әдісі – Execute. Бұл қызмет диалогтық терезені ашады, ал егер қолданушы онда қандайда бір таңдауды жүзеге асырса, онда функция trueді қайтарады. Бұл жағдайда компонент-диалог қасиетінде қолданушы таңдауы еске сақталынып, оны келесі операцияларды қолдануға болады. Егер қолданушы диалогта Қайтару не Esc батырмасын басса, онда Ехеcute функциясы falseты қайтарады. Сондықтан диалогқа шақырудың стандартты формасы:

if <Диалог>.Execute then

<операторы, использующие выбор пользователя>;

Файлдарды ашу және сақтау диалогтары

Компоненттердің барлық қасиеттері бірдей, бірақ ашу және жабу үшін олардың мағынасы кішкене өзгеше. қолданушы таңдаған файл жол түрінде қайтып оралатын негізгі қасиет– FileName. Бұл қасиеттің мәнін диалогты шақырмастан бұрын белгілеуге болады.

Түсіп шығатын диалогта пайда болатын ізделетін файлдар Filter қасиетімен белгіленеді. Жобалау кезінде бұл қасиетті фильтрлар редакторынан белгілеген ыңғайлы.

InitialDir қасиеті қолданушының диалогпен жұмыс істеп бастағанда ашылатын бастапқы каталогты анықтайды. DefaultExt қасиеті файлдың кеңейтілу мәнін келісу бойынша анықтайды. Егер бұл қасиет мәні белгіленбесе, онда қолданушы диалогта файлдың толық атауы мен кеңейтілуін белглеуі керек. Title қасиеті диалогтық терезенің тақырыбын белгілеуге мүмкіндік береді. Options қасиеті файлды таңдау шарттарын анықтайды..

OpenDialog және SaveDialog диалогтарын қолданудың мысалдарын ұсынайық. Сіздің қосымшаңыздың Memo1 түзету терзесі бар болсын. Мысалы, сіз менюдің Открыть командасы бойынша мәтіндік файлды енгізуді қалайтын, ал қандайда бір өзгертулерден кейін осы файлда мәтінді сақтауға, ал Сохранить как... командасы бойынша файлда басқа атпен сақтағыңыз келеді.

Формаға OpenDialog және SaveDialog диалогтарын енгізіңіз. Файлдың оқылуынан кейін сізге оның атын есте сақтауға тура келетіндіктен, сіз ол үшін FName айнымалы атауды белгілеуіңізге болады.:

var FName : string;

Онда команданың өңделуі келесі операторға тіреледі:

if OpenDialogl.Execute then

begin

FName := OpenDialog1.FileName;

Memo1.Lines.LoadFromFile(FName);

end;

Бұл оператор диалогты шақырып, қолданушы файлды таңдағанын тексереді (егер таңдаса, онда Execute функциясы trueды қайтарады), одан кеін таңдалған файлдың атауы FName айнымалысында сақталынады және файл Memo1 мәтініне LoadFromFile әдісімен жүктелінеді.

Сохранить командасының өңделуі оператормен орындалады:

Memo1.Lines.SaveToFilel(FName);

Осы жағдайда қандай да бір диалогқа жүгінудің қажеті жоқ, себебі файл аты белгілі: ол FName айнымалысында сақталады.

Сохранить как... командасының өңделуі оператормен орындалады:

SaveDialog1.FileName := FName;

if SaveDialog1.Execute then

begin

FName := OpenDialog1.FileWame;

Memo1.Lines.SaveToFilel(FName);

end;

Сонымен қатар Delphiда графикалық файлдарды ашып, жабудың мамандандырылған диалогтары бар: OpenPictureDialog және SavePictureDialog.

Шрифтті таңдау диалогы – FontDialog компоненті

FontDialog Компоненті шриыт атрибуттарын таңдаудың диалогтық терезесін шақырады. Онда қолданушы шрифт атауын, оның стилін, үлкендігін, т.б. атрибуттарды таңдай алады.

Компоненттің негізгі қасиеті – TFont типінің Font, онда шрифт атрибуттарының бастапқы орнатылымларын белгілеуге, атрибуттар мәндерін оқуға болады.

Сіздің қосымшаңыздың Memo1 түзету терзесі бар болсын, ондағы шрифтті қолданушы менюдағы Шрифт командасымен таңдай алады. Қосымшаға FontDialog компоненті қосылады, оның атауы FontDialog1. Онда Шрифт командасының өңделушісі келесідей болады:

if FontDialog1.Execute then

Memo1.Font.Assign(FontDialog1.Font);

Түсті таңдау диалогы – ColorDialog компоненті

ColorDialog компоненті түсті таңдау диалог терезесін шақырады. Онда қолданушы Определить цвет пернесін басып, палитраның негізгі базасынан немесе түсттерді араластыруға мүмкіндік беретін қосымша панельді таңдай алады.

ColorDialog компонентінің негізгі қасиеті – Color. Бұл қасиет қолданушы диалогта тағдап алған түсіне сәйкес келеді. Түсті таңдағанның басында түстің бастапқы жақындауын орнатқан дұрыс, оны жобалау мен бағдаолаиалау кезінде Colorды қосып жасауға болады.

Жоғарыдағы мысал үшін Memo1 компонентінің фона түсін белгілеу:

if ColorDialog1.Execute then

Memo1.Color := ColorDialog1.Color;

Сабаққа дайындалуға арналған әдістемелік нұсқаулар

Әдебиеттер:

1 Покушалова, Л.В. Метод case - study как современная технология профессионально-ориентированного обучения студентов [Текст] / Л.В. Покушалова // Молодой ученый. —2011. —No5. Т.2. —С. 155-157.

2 Романов П.В. Стратегия кейс-стади в исследовании социальныхслужб//Социс,2005, No4, с 101-109.6.

3 Фливберг, Б. Кейс-стади в контексте качественно-количественнойпроблематики: Ст. из Дании] / Б. Фливберг // Социологические исследования. -2004. -No 9. -С. 15 –

4 Гагарина, Л.Г. Разработка и эксплуатация автоматизированных систем: учеб. пособие/ Л.Г. Гагарина, Д.В. Киселев, Е.Л. Федотова; ред. Л.Г. Гагарина. - М.: Форум: ИНФРА-М, 2011. - 384с. 2. Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: учеб. пособие для вузов/ В.Ю. Пирогов. - СПб. : БХВ-Петербург, 2009. - 528 с. 3.

5 Фуфаев, Д.Э. Разработка и эксплуатация автоматизированных информационных систем : учеб. Для студ. сред. проф. образования/ Д.Э. Фуфаев, Э.В. Фуфаев. - М.: Академия, 2010. - 304 с.б)

6 Федорова, Г.Н. Информационные системы : учебник/ Г.Н. Федорова. - 2-еизд., испр. - М.: Академия, 2011. - 208 с.

Қосымша:

7 Ларман К. Применение UML и шаблонов проектирования. 2-е издание.: Пер. с англ. – М.: Издательский дом “Вильямс”, 2002. – 624 с.: ил.

8 Калянов Г.Н. CASE-технологии: Консалтинг в автоматизации бизнес-процессов. 2-е изд. перераб. и доп. - М.-Горячая линия – Телеком, 2000.-320 с.

9 Вендров А.М. Проектирование программного обеспечения экономических информационных систем. Учебник. М.: Финансы и статистика, 2000.

10 Александров, Д.В. Инструментальные средства информационного менеджмента. CASE-технологии и распределенные информационные системы : учебное пособие / .В.Александров. -М. : Финансы и статистика, 2011. -225 с. -ISBN 978-5-279-03475-8;

11 http://www.bookwebmaster.narod.ru/uml.html

12 http://wm-help.net/books-online/book/57663/57663-53.html

###

###

### Зертханалық жұмыс №5

### Класс

Жұмыстың мақсаты:

1. Кластар құру және оларды пакетке біріктіру бойынша машықтар алу.

##### Өз бетінше дайындалуға арналған тапсырма:

1. Жүйе Кластары диаграммаларын құру және олдарды пакетке біріктіру технологиясын кеңсе тауарларына тапсырыс бойынша қолданба жобасын жасау мысалында зерделеу (файл ппо (кп).doc қараңыз);

2. UML тілінде класс Диаграммасын әзірлеу технологиясын зерделеу;

3. UML Ratoinal Rose бағдарлаамсында класс Диаграммасын салу процесі зерделеу;

4. Жобаланатын бағдарламалық жүйеге «Эскиздік жоба» құжатын дайындау (оның толық көлемінің 30%).

## Жұмыстың мазмұны:

1. ПК-да №3 жаттығуды орындау;

2. ПК-да №4 жаттығуды орындау;

3. ПК-да №5 жаттығуды орындау;

4. Жобаланатын бағдарламалық жүйе үшін нұсқа бойынша класс Диаграммасын салу;

5. Жүйе кластарын пакетке біріктіру;

6. Атрибуттар мен класс операцияларын анықтау;

7. Кластар арасындағы байланыстарды анықтау.

## Есеп беру мазмұны:

1. Класс диаграммасының әзірленген диаграммасын келтіру, оларды пакетке біріктіру, атрибуттар мен класс операциялары, кластар арасындағы байланыстар;

2. Берілген диаграммалардың әрбір элементін сипаттау.

##

## Әдістемелік нұсқаулар

1. Класс Диаграммасы (class diagram)

ООАП-да класс диаграммасы түрінде жүйенің логикалық моделін әзірлеу басты орынды алады. UML тілінде класс нотация қарапайым және бір кездері CASE-инструментариялармен жұмыс істеу тәжірибесі болған адамның әбірен интуициялық түсінікті. Ұқсас нотация объектілер – класс даналары үшін де, класс атауына объект атауы қосылу және барлық жазудың асты сызылу айырмасымен қолданылады.

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

Кластар диаграммасы (class diagram) объектілік-бағдарланған бағдарламалау кластарының терминологиясында жүйе моделінің статикалық құрылымын беру үшін қызмет етеді. Кластар диаграммасы, жеке алғанда, тақырыптық аймақтың, объектілер мен ішкі жүйелер сияқты жеке маңыздары арасында түрлі өзара байланыстарды бейнелей алады, сонымен қатар олардың ішкі құрылымын және қатынастарын сипаттайды. Берілген диаграммада жүйенің қызмет етуде уақытша аспектілері туралы ақпарат көрсетлмейді. Осы көзқарас тұрғысынан кластар диаграммасы жобаланатын жүйенің концептуалды моделінің одан әрі дамуы болып табылады.

Кластар диаграммасы кейбір граф болып табылады, оның төбелері "жіктегіш", типті элементтер болып табылады, олар құрылымдық қатынастардың түрлі типтерімен байланысты. Кластар диаграммасында интерфейстер, пакеттер, қатынастар және объектілер мен байланыстар сияқты жеке даналар болатынын атап өткен жөн. Берілген диаграмма туралы айтқан кезде жобаланатын жүйенің статикалық құрылымдық моделін айтады. Сондықтан кластар диаграммасын уақытқа тәуелсіз немесе инвариантты жүйенің логикалық модлеьдерінің құрылымдық өзара байланыстарының графиктік берілуі деп санау қабылданған.

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

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

Класс

Класс (class) UML тілінде объектілер жиынын бюелгілеу үшін қызмет етеді, оларда бірдей құрылым, тәртібі және басқа класс объектілермен қатынастары болады. Графикалық түрде тік бұрыш түрінде бейнеленеді, ол қосымша горизонталь сызықтармен бөлімдер мен секцияларға бөліген болуы керек (4.1-сурет). Осы тарауларда класс атауы, атрибуттар (айнымалы) және операциялар (әдістер) көрсетілуі мүмкін.

4.1-сурет – Кластар диаграммасында класты графиктік бейнелеу

Класты бейнелеудің міндетті элементі оның атауы болып табылады. Диаграмманы әзірлеудің бастапқы кезеңдерінде жеке кластар, тек сәйкес кластың аты көрсетілген қарапайым тік бұрышпен бейнеленуі мүмкін (5.1, а-сурет). Диаграмманың жеке компонеттеріне жұмыс жүргізу шамасына қарай кластарды сипаттау атрибуттармен (5.1, б-сурет) және операциялармен ( 5.1, в-сурет толықтырылады.

Диаграмманың соңғы нұсқасында үш бөлімнен немесе секциядан тұратын кластардың анағұрлым тоолық сипаттамасы болатыны болжанады. Кейде кластарды белгілеуде қосымша төртінші тарау пайдаланылады.

Атрибуттар мен операциялар секциялары бос болған кезде де класты белгілеуде ол, класты UML тілінің басқа элементтерінен бірден айыру үшін горизонталь сызықпен бөлінеді. Диаграммада кластарды графиктік бейнелеу мысалдары 4.2-суретте келтірілген. Бірінші жағдайда "Тік бұрыш" класы үшін (4.2, а-сурет) тек оның атрибуттары – оның орналасуын аықтайтын координаталық жазықтықтағы нүктелер ғана көрсетілген. "Терезе" класы үшін (4.2, б-сурет) тек оның операциялары ғана көрсетілген, атрибуттар секциясы бос қалдырылды. Для класса "Шот" (5.2, в-сурет) класы үшін төртінші секиця қосымша бейнеленген, онда ерекшелік – мерзімі өткен кредиттік карточканы өңдеуден бас тарту көрсетілген.

4.2-сурет – Диаграммада кластарды графиктік бейнелеу мысалы

Класс атауы

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

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

Класс атауларының мысалдары "Қызметкер", "Компания", "Жетекші", "Клиент", "Сатушы", "Менеджер", "Офис" сияқты және модельденетін тақырыптық аймаққа және жобаланатын жүйенің функционалдық белгіленуіне тікелей қатынасы болатын т.б. зат есімдер болуы мүмкін.

Класта даналар немесе объектілер бола алмайды. Бұл жағдайда ол абстракты класс деп аталады, ал оның атауын белгілеу үшін көлбеу шрифт (курсив) пайдаланылады. UML тілінде, абстракттік элементке жататын кез келген мәтін курсивпен жазылады. Берілген жағдай UML тілінің сәйкес элементтерін сипаттаудың семантикалық аспектісі болып табылады.

Кейбір жағдайларда, сол немесе басқа класс қандай пакетке жататынын айқын көрсету қажет. Осы мақсатта бөлгіш — қосарлы қос нүкте "::" арнайы символы пайдаланылады. Класс атауын жазу жолының синтаксисі бұл жағдайда мынадай болады <Пакет атауы::<Класс атауы>. Басқаша айтқанда, класс атауы алдында пакеттің атауы айқын көрсетілген болуы керек, оған оы жатқызған жөн. Мысалы, егер "Банк" атауы бар пакет анықталған болса, онда "Шот" класы осы банкте "Банк::Шот" түрінде жазылуы мүмкін. .

Класс атрибуты

Класс тік бұрышының екінші жоғарыдағы секциясында атрибуттар (attributes) немесе қасиеттер жазылады. UML тілінде класс атрибуттарын жазудың белгілі стандарттауы қабылданған, ол кейбір синтаксистік ережелерге бағынады. Кластың әрбір атрибутына мәтінің жеке жолы сәйкес келеді, ол атрибуттың көріну кванторынан, атрибут атауынан, оның еселігінен, атрибут мәнінің типінен тұрады және мүмкін, оның бастапқы мәндері:

<көріну кванторы><атрибут атауы>[еселік]:

< атрибут типі> = <бастапқы мәні>{жол-қасиеттері}

Көріну кванторы үш ықтимал шешімдердің бірін қабылдай алады және осыған сәйкес арнайы символдардың көмегімен бейнеленеді:

 Символ "+" жалпы қол жетерлік (public) типті көріну аймағы бар атрибутты білдіреді. Осы көріну аймағы бар атрибут қол жетерлік немесе диаграмма анықталған пакеттің кез келген басқа класынан көрінерлік;

 Символ "#" қорғалған типті көріну аймағы бар атрибутты білдіреді (protected). Осы көріну аймағы бар атрибут қол жетерлік емес немесе берілген кластың ішкі кластарынан басқа барлық кластар үшін көрінбейді;

 Ақырында, "-" белгісі жабық типті көріну аймағы бар атрибутты білдіреді (private). Осы көріну аймағы бар атрибут қол жетерлік емес немесе барлық кластар үшін бірдей көрінерлік емес.

Көріну кванторы түсірілген болуы мүмкін. Бұл жағдайда оның болмауы жай атрибуттың көрінерлігі нұсқалмайтынын білдіреді. Бұл жағдай келісім бойынша қабылданған келісімдерден бағдарламалаудың дәстүрлі тілдерімен ерекшеленеді, сонда көрінерлік квантордың болмауы public немесе private ретінде пайымдалады. Алайда шартты графикттік белгілердің орнына сәйкес түйінді сөздерді жазуға болады: public, protected, private.

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

Атрибут атауы сәйкес атрибут сәйкестендіргіші ретінде пайдаланылатын мәтін жолы болып табылады, сондықтан да берілген класс шектерінде бірегей болуы тиіс. Атрибут атауы атрибуттың синтаксистік белгісінің жалғыз міндетті элементі болып табылады.

Атрибут еселігі жеке класс құрамына енетін берілген типтегі нақты атрибуттардың жапы санын сипаттайды. Жалпы жағдайда еселік сәйкес атрибут атауынан кейін квадрат жақшаларға мәтін жолы түрінде жазылады:

[төменгі шекара1 .. жоғарғы шекара1, төменгі шекара 2.. жоғарғы шекара 2, ..., төменгі шекара k .. жоғарғы шекара k],

мұнда төменгі шекара мен жоғарғы шекара тұтас оң сандар болып табылады, олардың әрбір жұбы тұтас сандардың жеке тұйықталған аралығын белгілеу үшін қызмет етеді, оның төменгі (жоғарғы) шекарасы төменгі шекара (жоғарғы шекара) мәніне тең. Тұтас алғанда, еселіктің берілген шартты белгісі сәйкес аралықтардың теориялық-көптік бірігуіне сәйкес келеді. Жоғарғы шекара ретінде арнайы сивол "*" пайдаланылуы мүмкін, ол еркін тұтас оң санды білдіреді. Басқаша айтқанда, бұл сәйкес атрибут еселігінің шектеусіз жоғары мәнін білдіреді.

Аралықтан алынатын еселік мәндері бірқалыпты ұлғаятын тәртіпте төменгі және жоғарғы шекаралар арасында жататын жеке сандарды жіберместен жүреді. Осы кезде келесі ережені ұстанады: аралықтардың сәйкес төменгі және жоғарғы шекаралар еселік мәніне енеді. Егер еселік ретінде жалғыз сан көрсетілетін болса, онда атрибут еселігі берілген санға тең деп қабылданады. Егер де "*" жалғыз тіл көрсетілетін болса, онда бұл, атрибут еселігі еркін тұтас оң сан немесе ноль болуы мүмкін.

Мысал ретінде атрибуттар еселігін берудің келесі нұсқаларын қарастырамыз.

 [0..1], атрибут еселігі 0 немес 1 мәнін қабылдай алатынын білдіреді. Осы кезде 0 берілген атрибут үшін мәннің болмауын білдіреді.

 [0..*], атрибут еселігі 0 үлкен немес тең кез келген тұтас оң санды қабылдай алатынын білдіреді. Осы еселік қарапайым символ — [*] түрінде қысқа жазылуы мүмкін.

 [1.:*] атрибут еселігі 1 көп немесе тең кез келген тұтас оң мәнді қабылдай алатынын білдіреді.

 [1..5] атрибут еселігі 1, 2, 3, 4, 5сандарының кез келген мәнін қабылдай алатынын білдіреді.

 [1..3,5,7] атрибут еселігі 1, 2, 3, 5, 7 сандарының кез келген мәнін қабылдай алатынын білдіреді.

 [1..3,7.. 10] атрибут еселігі 1, 2, 3, 7, 8, 9, 10 сандарының кез келген мәнін қабылдай алатынын білдіреді.

 [1..3,7..*] атрибут еселігі 1, 2, 3, сандарының кез келген мәнін, сонымен қатар 7 көп немесе тең кез келген тұтас оң мәнді қабылдай алатынын білдіреді.

Егер атрибут еселігі нұсқалмаған болса, онда келісім бойынша оның 1..1 тең мәні қабылданады, яғни дәл 1.

Атрибут типі, семантикасы сәйкес модель спецификациясы тілімен анықталатын өрнек болып табылады. UML нотациясында атрибут типі кейде бағдарламалау тіліне байланысты анықталады, оны берілген модельді жүзеге асыру үшін пайдалануға болады. Қарапайым жағдайда атрибут типі пакет немесе модель шектерінде мағыналанған мәні болатын мәтін жолымен көрсетіледі, оларға қарастырылатын класс жатады.

Класс атрибуттары атаулары мен типтерін беру мысалдарын келтіруге болады:

 түс: Соlоr — мұнда түс атрибут атауы болып табылады, Color — берілген атрибут типінің атауы. Аталған жазбаны түсті беру үшін дәстүрлі пайдаланылатын RGB-модельді (қызыл, жасыл, көк) анықтай алады. Бұл жағдайда Color типінің атауы көптеген бағдарламалау тілдерінде түсті беру үшін қабылданатын семантикалық конструкцияны сипаттайды;

 қызметкердің есімі [1..2] : String — мұнда қызметкер есімі атрибут атауы болып табылады, ол атауы, мүмкін, нақты қызметкердің тегі туралы ақпаратты беру үшін қызмет етеді. String (Жол) атрибутының типі, атаудың жеке мәні бір немесе екі сөзден тұратын мәтін жолы болып табылатын фактіні көрсетеді (мысалы, "Кирилл" немесе "Дмитрий Иванович"). Көптеген бағдарламалау тілдерінде String деректер типі болатындықтан, қолданыстағы ағылшын тілді терминді пайдалану программистердің көпшілігінде түсінбестік тудырады. Алайда UML тілінде барлық терминдер ағылшын тілді түсінікте берілетіндіктен, берілген жағдайда Жазу жолы атрибутының типі ретінде пайдалану алпы тасталмайды және қолайлылық түсініктерімен ғана анықталады;

 көрінуі: Boolean — мұнда көріну абстракты атрибут атауы (мұнда курсив кездейсоқ емес), ол монитор экранында сәйкес класты көзбен берудің болуын сипаттай алады. Бұл жағдайда Boolean типі, берілген атрибуттың ықтимал мәндері екі логикалық мәндердің бірі: шындық (true) немесе жалған (false) болып табылатынын білдіреді. Осы кезде шындық мәні монитор экранында графиктік бейнелеудің болуына, ал жалған мәні оның болмауына сәйкес болуы мүмкін, бұл туралы түсіндірме жазбада қосымша нұсқалады. Көріну атрибутының еселігі нұсқалмағандықтан, ол келісім бойынша 1 мәнін қабылдайды. Бұл жағдайда атрибут типінің ағылшын тілді атауы бағдарламалау тілдерінде сәйкес базалық типтің болуымен толық ақталған. Берілген атрибуттың абстракты сипаты берілген атрибут жазбасында курсив мәтінмен белгіленеді;

 форма: Көп бұрыш — форма атрибутының атауы жазықтықта геометриялық фигура болып табылатын класты сипаттай алады. Бұл жағдайда Көп бұрыш атрибутының типі, жеке геометриялық фигура үш бұрыш, тік бұрыш, ромб, бес бұрыштың және кез келген басқа көп бұрыштың, формасына келе алады, бірақ шеңбер немесе эллипс емес. Берілген жағдайда сәйкес ағылшын тілді терминді пайдаланудың мақсаттаы болуы екіталай, себебі Көп бұрыш типі бағдарламалау тілдері үшін базалық болып табылмайды.

Бастапқы мән кластың жеке данасын құру моментінде сәйкес атрибут үшін кейбір бастапқы мәнді беру үшін қызмет етеді. Мұнда мәнннің нақты атрибут типіне жататындық ережесін ұстану қажет. Егер бастапқы мән көрсетілмеген болса, онда сәйкес атрибут мәні кластың жаңа данасын жасау моментінде анықталмаған. Екінші жағынан, сәйкес объект конструкторы бағдарламаны орындау прроцесінде, егер қажеттілік болатын болса, бастапқы мәнді алдын ала анықтай алады.

Атрибуттардың бастапқы мәндерінің мысалдары ретінде атрибуттарды берудің келесі жоғарыда толықтырылған нұсқаларын келтіруге болады:

 цвет:Соlоr = (255, 0, 0) — түстің RGB-моделінде бұл берілген атрибут үшін бастапқы мән ретінде таза қызыл қызыл түске сәйкес келеді;

 қызметкердің атауы [1..2]:String = Иван Иванович — мүмкін бұл, жетекші атауы 2]:81пп§ = Иван Иванович жағдайына сәйкес келетін типтік жағдай емес шығар;

 көріну: Вооlеаn = шындық — класс данасын жасау моментінде монитор экранында берілген объектіге сәйкес келетін көрінерлік терезе жасалатын жағдайға сәйкес келуі мүмкін;

 форма: Көп бұрыш = тік бұрыш — комментарий талап етуі екіталай, себебі мұнда әңгіме жасалатын объектінің геометриялық формасы түрінде болады.

Атрибуттар беру кезінде екі қосымша синтаксистік конструкциялар пайдаланылуы мүмкін – бұл атрибут жолын сызу және фигуралы жақшаларда түсіндірме мәтін.

Атрибут жолын сызу, сәйкес атрибут – атрибуттың типімен анықталатын оның кейбір аймағынан алынған мәндердің ішкі жиынын қабылдауы мүмкін екенін білдіреді. Осы мәндерді бір типті жазбалар жиыны немесе жиынтығында кластың әрбір объектісін сипаттайтын жинағы ретінде қарастыруға болады.

Мысалы, егер кейбір атрибут тік бұрыш формасы түрінде берілген болса, онда бұл, берілген кластың объектілердің бірнеше түрлі формалары болуы мүмкін екенін білдіреді, олардың әрқайсысы тік бұрыш болып табылады. Басқа мысал ретінде атрибутты номер_шот:Integer түрінде беру қызмет ете алады, бұл Қызметкер объектісі үшін, жалпы саны алдын ала белгіленбейтін шоттардың кейбір ішкі жиынының болуын білдіреді.

Жол-қасиет атрибут мәнін көрсету үшін қызмет етеді, олар объектілердің берілген типімен жұмыс істеу кезінде бағдарламада өзгертілуі мүмкін емес. Фигуралы жақшалар тұтастай класс үшін сәйкес атрибуттың белгіленген мәнін білдіреді, ол кластың артықшылықсыз барлық қайта жасалатын даналарын қабылдауы тиіс. Бұл мән атрибуттың бастапқы мәні ретінде қабылданады, ол келесімен қайта анықтала алмайды. Жол-қасиеттің келісім бойынша болмауы, сәйкес атрибут мәні бағдарламада өзгеруі мүмкін екенімен пайымдалады. Мысалы, жол-қасиет атрибутында жалақы жазу: Currency = = {$500} кейбір ұйымда "Қызметкер" класының әрбір объектісі үшін бекітілген жалақыны белгілеу үшін қызмет етуі мүмкін. Екінші жағынан, берілген атрибутты жалақы түрінде жазу: Currency = $500 Қызметкердің жаңа данасын жасаған кезде (аналогиы – жұмысқа жаңа қызметкерді қабылдау) ол үшін келісім бойынша $500 жалақы белгіленетіненн басқа ештеме емесін білдіреді. Алайда жеке қызметкерлер үшін көп жаққа да, аз жаққа артықшылық жасалауы мүмкін, бұған бағдарламада қосымша қамқорлық жасау керек.

Операция

Тік бұрыштың жоғарыдан үшінші секциясында операциялар немесе класс әдістері жазылады. Операция (operation) кластың әрбір данасын белгілі талап бойынша беретін кейбір сервис болып табылады. Операцияның жиынтығы класс тәртібінің функционалдық аспектісін сипаттайды. Класс операциясын UML тілінде жазу да стандартталған және белгілі бір синтаксистік ережелерге бағынады. Осы кезде кластың әр операциясына жеке жол сәйкес келеді, ол операцияның көріну кванторынан, операция атауынан, операция қайтаратын мән типінің өрнегінен тұрады және мүмкін, берілген операцияның жол-қасиеті:

<көріну кванторы><операция атауы>(параметрлер тізімі):

<қайтарылатын мән типінің өрнегі>{жол-қасиет}

Көріну кванторы, класс атрибуттары жағдайындай, ықтимал мәндерінің біреуін қабылдай алады және осыған сәйкес арнайы символдың көмегімен бейнеленеді. "+" символы жалпы қол жетерлік типті көріну аймағы бар операцияны білдіреді. "#" символы қорғалған (protected) типті көріну аймағы бар операцияны білдіреді. Соңында "-" символы жабық (private) типті көріну аймағы бар операцияны белгілеу үшін пайдаланылады. ілдіреді используется для обозначения операции с областью видимости типа закрытый (private).

Көріну кванторы операция үшін түсірілген болуы мүмкін. Бұл жағдайда оның болмауы, операцияның көрінерлігі нұсқалмайтынын білдіреді. Шартты графиктік белгілердің орнына сәйкес түйін сөзді де: public, protected, private жазуға болады.

Нақты бағдарламалау тілдеріне қатысты қосымша көріну кванторлары анықталуы мүмкін. Бұл жағдайда осындай толықтырулар базалық нотацияның кеңеюі болып табылады және табиғи тілде мәтін формасында немесе жол-қасиет түрінде сәйкес түсіндірмелерді талап етеді.

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

Параметрлер тізімі үтірмен бөлінген формальды параметрлер тізімі болып табылады, олардың әрқайсысы келесі түрде берілуі мүмкін:

<параметр түрі>< параметр атауы>:< типті өрнектеу>=< параметрді келесімі бойынша өрнектеу>.

Мұнда параметр түрі — параметр түрі көрсетілмеген жағдайда келісім бойынша in мәні бар in, out немесе inout түйінді сөздерінің бірі. Параметр атауы - сәйкес формальды параметр сәйкестендіргіші. Типті өрнектеу сәйкес формальды параметр үшін нақты бағдарламалау тіліне тәуелді қайтарылатын мән типінің спецификациясы болып табылады. Соңында келісім бойынша мән жалпы жағдайда формальды параметр мәні үшін өрнек болып табылады, оның синтаксисі нақты бағдарламалау тіліне тәуелді және онда қабылданған шектеулерге бағынады.

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

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

Барлық класқа әрекет ету аймағы бар операция тип өрнегінің атауын және жолының астын сызу арқылы көрсетіледі. Келісім бойынша операция облысы деп класс объектісі түсіндіріледі. Бұл жағдайда операция типін орнектеу атауы мен жолы сызылмайды.

Жүйе жағдайын өзгерте алмайтын операцияда, осыған сәйкес, ешқандай қосалқа эффект болмайды, жол-қасиетпен "{сұраныс}" ("{query}") белгіленеді. Қарсы жағдайда операция жүйе жағдайын өзгерте алады, дегенмен оның бұны жасайтынына кепілдік жоқ.

Жүйенің өнімділігін арттыру үшін бір операциялар - параллель немесе бір мезгілде, ал басқалары – тек бірізді орындалуы мүмкін. Бұл жағдайда операцияның орындалу параллельдігін нұсқау үшін В этом случае для указания параллельности выполнения операции используется строка-свойство вида "{concurrency = имя}" түрінде жол-қасиет пайдаланылады, онда атауы келесі мәндердің бірін қабылдай алады: бірізді (sequential), параллель (concurrent), қорғалатын (guarded). Осы кезде берілген мәнедр үшін келесі семантиканы ұстанады: При этом придерживаются следующей семантики для данных значений:

 бірізді (sequential) — берілген операция үшін оның жүйеде жалғыз орындалуын қамтамасыз ету қажет, басқа операциялардың бір мезгілде орындалуы қателерге немесе класс объектілерінің бүтіндігінің бұзылуына алып келуі мүмкін;

 параллель (concurrent) — берілген операция өздерінің ерекшелік шамаларына қарай жүйеде басқа операциялармен параллель орындалуы мүмкін, осы кезде параллельдік модельді жүзеге асыру деңгейінде қолданылуы керек;

 қорғалатын (guarded) — берілген операцияға барлық жүгінулер берілген класс бүтіндігін сақтау мақсатында уақытпен қатаң реттелген болуы керек, осы кезде оны орындау кезеңінде ерекше жағдайларды бақылау бойынша қосымша шаралар қабылдануы мүмкін.

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

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

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

Операциялардың тәртібі ескерту операциясына қосылған формада қосымша көрсетілуі мүмкін. Бұл жағдайда ескерту мәтіні, егер ол бағдарламалаудың кейбір тілінде формальды спецификация болатын және "UML тілінің семантикалық шектеулері" элементіне сәйкес келетін болса, жақшалармен жабылады. Қарсы жағдайларда ескерту мәтіні табиғи тілде қарапайым сипаттау болып табылады және жоғарғы оң бұрышы «бүгілген» тік бұрышпен белгілденеді (4-тарауы қараңыз).

Формальды параметрлер тізімі мен қайтарылатын мән типі көрсетілмеуі мүмкін. Атрибуттар мен операциялардың көріну кванторы арнайы белгі немесе символ түрінде көрсетілуі мүмкін, олар кейбір инструменттік құралда модельдерді графиктік беру үшін пайдаланылады. Операциялардың, сондай-ақ атрибуттардың атаулары -жол (кіші) әрпінен, ал олардың типтері бас (үлкне) әріппен жазылады. Осы кезде операциян,ы жазу жолының міндетті бөлігі операция атауының және дөңгелек жақшалардың болдуы болып табылады.

Операцияларды жазу мысалдары ретінде жеке операциялардың келесі белгілерін келтіруге болады:

 +жасау() — кластың жеке объектісін жасау бойынша абстракты операцияны белгілеуге болады, ол жалпы қол жетімді болып табылады және формальды параметрлер бюолмайды. Бұл операция өзінің орындалуынан кейін ешқандай мәнді қайтармайды;

 +сурет салу (форма: Көп бұрыш = тік бұрыш, бояу түсі: Color = (О, О, 255)) — монитор экранында көк түсті тік бұрышты аймақты бейнелеу бойынша, егер берілген операция аргументтері ретінде басқа мәндер көрсетілмеген болса, операцияны белгілей алады;

 клиент шотын сұрастыру (шот номері:1п1е§ег):Сиггепсу — банк клиентінің ағымдағы шотында қаражаттың болуын бекіту бойынша операцияны білдіреді. Осы кезде берілген операция аргументі тұтас саны түрінде жазылатын (мысалы, "123456"). Осы операцияны орындау нәтижесі қабылданған ақшалай пішімде жазылған кейбір сан болып табылады (мысалы, $1,500.00);

 хабарлама беру():{"Нольге бөлу қатесі"} — берілген операция мағынасы түсініктемені талап етпейді, себебіжол-қасиетте операциялар болады. берілген хабарлама монитор экранында кейбір санды нольге бөлуге әрекеттену жағдайында пайда болуы мүмкін, бұған жол берілмейді.

Кластар арасыдағы қатынастар

Кластардың ішкі құрылысы немесе құрылымынан басқа сәйкес диаграммада кластар арасында түрлі қатынастар көрсетіледі. Осы кезде осындай қатынастар типтерінің жиынтығы UML тілінде бекітілген және осы қатынастар типтерінің семантикасымен алдын ала анықталған. UML тілінде базалық қатынастар немесе байланыстар төмендегілер борлып табылады:

 Тәуелділік қатынасы (dependency relationship);

 Ассоциация қатынасы (association relationship);

 Жалпылау қатынасы (generalization relationship);

 Жүзеге асыру қатынасы (realization relationship).

Осы қатынастардың әрқайсысында диаграммада өзінің графиктік берілуі болады, ол сәйкес кластардың объектілері арасында өзара байланыстрады бейнелейді.

Тәуелділіктер қатынасы

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

Тәуелділік қатынасы графиктік түрде оның шеттерінің бірінде стрелкасы ("—>" немесе "<—") бар сәйкес элементтер арасында үзік сызықпен бейнеленеді. Кластар диаграммасында берілген қатынас жеке кластарды өзара байланыстырады, осы кезде стрелка тәуелділік класс-клиентінен тәуелсіз класқа немесе класс-көзге бағытталған (4.3-сурет). Берілген суреттеекі класс бейнеленген: Класс_А және Класс_Б, осы кезде Класс_Бкейбір тәуелділік көзі болып табылады, ал Класс А – осы тәуелділік клиенті.

4.3-сурет – Кластар диаграммасында тәуелділік қатынасының графиктік бейнесі

Тәуелділік класс-клиенті және класс-көзі ретінде модель элеметтерінің тұтас жиыны қатыса алады. Бұл жағдайда тәуелділік көзінен шығатын стерлкасы бар бір сызық кейбір нүктеде бірнеше жеке сызықтарға ыдырайды, олардың әрқайсысында класс-клиент үшін жеке стрелка болады. Мысалы, егер С класының қызмет етуі А класы мен В класының жүзеге асыру ерекшеліктеріне тәуелді болса, онда берілген тәуелділік келесі түрде бейнелене алады (4.4-сурет).

4.4 - сурет – Класс-клиент (С класы) және класс-көздер (Л класы және Б класс) класс-көздері арасында графикпен беру

Стрелка міндетті емес, бірақ тырнақшаларда стандартты түйінді сөзбен және міндетті емес жеке атаумен белгіленуі мүмкін. Тәуелділіктердің қатынасы үшін тәуелділіктердің кейбір арнайы түрлерін белгілейтін түйінді сөздер алдын ала анықталған. Осы түйінді сөздер (стереотиптер) стрелканың жанында тырнақшаларда жазылады, ол берілген тәуелділікке сәйкес келеді. Тәуелділіктердің қатынасы үшін стереотиптердің мысалдары төменде берілген:

 "access" — класс-клиенттер үшін класс-көздің ашық атрибуттары мен операцияларының қолжетімдігін белгілеу үшін қызмет етеді;

 "bind" — класс-клиент өзінің келесі параметризациясы үшін кейбір шаблонды пайдалана алады;

 "derive" —класса-клиент атрибуттары класс-көз атрибуттары бойынша есептелуі мүмкін;

 "import" — класс-көздің ашық атрибуттары мен операциялары, егер олар тікелей сонда хабарланған сияқты класс-клиент бөлігі болады;

 "refine" — класс-клиент, жобамен жұмыс барысында қосымша операция пайда болған кезде тарихи сипат себептеріне қарай класс-көзді нақтылау ретінде қызмет ететінін көрсетеді.

Тәуелділік қатынасы UML тілінде қатынастың анағұрлым жалпы түрі болып табылады. Қарастырылатын қатынастардың барлық басқа түрлерін берілген қатынастың жеке жағдайы деп санауға болады. Алайда өзіндік семантикалық қасиеттер мен басқа қатынастар типтері үшін қосымша сипаттамаларды бөлу маңыздылығы диаграммаларды қарастыру кезінде олардың өз бетінше қарастырылуын байланыстырады.

Бақылау сұрақтары:

1. Rational Rose интерфесінің элементтері. Сипаттамасы

2. Браузерде қандай компоненттер орналасқан?

3. Байланыс түрлері, сипаттамасы

4. ОБП принциптері, сипаттамасы

5. Класстар арасындағы қатынас түрлері, сипаттамасы

6. Атрибуттардың көріну кванторлар түрлері

7. Атрибут, операция ұғымдары

8. Логикалық көрсетілімде қандай диаграммалар құрастырылуы мүмкін?

9. Класстар диаграммасы үшін қандай нотациялар қолданылады?

10. Нотация дегеніміз не?

Сур. 6.7. Банкомат моделі үшін класстар диаграмманың түрі