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

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

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

Бағдарламада Dialogs компоненттер

Мазмұны:

1. Үлгіге сәйкес;

2. Міндетті белгілеу;

3. Талаптар ерекшелігі;

4. Мәліметтер құрылымы;

5. Бағдарламалық қамтамасыз етудің архитектурасы;

6. Қолданушы интерфейсі;

7. Түсініктемесі бар код;

8. Тестілеу нәтижесі;

9. Бақылау сұрақтарына жауап.

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

 Бағдарлама бірнеше формадан құрылу керек (екіден кем емес).

 Бағдарламада қыстырма терезе болу керек;

 Бағдарламада бас меню болу керек;

 Бағдарламада қалып жолы және контекстік меню болуы шарт;

 Бағдарламаның студент жайлы ақпарат пен нұсқа бойынша тапсырмалары бар «Бағдарлама туралы...» диалог болуы міндетті;

Бағдарламада Dialogs компоненттер палитрасы бар диалог шақырылуы болуы керек. Мысалы менюда компонеттер шрифті, түсі, т.б. болуы мүмкін;

Барлық визуалды компоненттер үшін (жазу мен шекаралардан басқа) көмек жасалынуы керек;

 Формаларда ең аз дегенде Бейнелер редакторында жасалған екі сурет, әр жүйелік меню үшін бейнелер болуы шарт.

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

1. Құрамалы және аудармалы сипаттар арасындағы айырмашылық қандай?

2. Бағдарламаны орындау барысында Visible және Enabled компонеттеріне өзгеріс енгізгенде не болады?

3. Басқа форма арқылы форманы қалай ашып, жабуға болады?

4. Басқа оқиға үшін бар өңдеушіні қалай белгілеуге болады?

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

1.1- кесте – Тапсырмалар

нұсқа № | Тапсырма
1 | Delphiде жасауға болатын қосымшалар терезелерінің барлық стильдерін көрсететін бағдарлама.
2 | Бағдаршам макетін жасау. Бағдаршамның түнгі режимге ауысуын қарастыру.
3 | Белгіленген уақыт мерзімінен кейін белгіленген хабарламаны беру. Таймердің тоқтап қалу мүмкіндігін қарастыру.
4 | Енгізілген сөздер ішінен ең қысқасын белгілеу. Енгізілетін сөздер санын қарастыру.
5 | Бұрыш үшін синус, косинус пен тангенсті анықтау.Бұрышты өлшеу бірліктерін таңдау мүмкіндігін қарастыру: градус немесе радиандарда.
6 | Визуалды компоненттердің түсін, терезе қалпы мен фон түсін таңдау бағдарламасы
7 | Формада фигураны бейнелеу бағдарламасы. Фигура түрін өзгерту мүмкіндігін қарастыру.
8 | Форманы түзету терезелері үшін шрифт өлшемі мен жазу түрін таңдау бағдарламасы.
9 | Таңдалған файл ішінен суретті көрсету бағдарламасы.
10 | «Жүгірмелі жол» бағдарламасы. Алаңда мәтіннін қозғалу мүмкіндігін қарастыру
11 | Компьютермен 3х3 алаңында крестиктерноликтер ойыны.
12 | Материалды нүкте L бұрышты жазықтыққа V жылдамдығымен секіреді. Әр бір соқтығысу сайын кинетикалық энергия Z есе қысқарады. Алғашқы N нүктелерінің абциссаларын табу. Нүктелер траекторияларын бейнелеу.
13 | Жеңіл атлетика бойынша жарыста ұпай мен орындарды есептейтін табло бағдарламасы. Командалар атауларын енгізу мүмкіндігін қарастыру.
14 | Калькулятор бағдарламасы.
15 | Студенттің Рейтингпарағы бойынша жалпы ұпайларды есептейтін бағдарлама.
16 | Алфавит бойынша іздеу қызметі бар қалталы телефон ақпаратшысы бағдарламасы.
17 | Тапсырыс пен тапсырыс сомасын есептейтін мәзір бағдарламасы. Мәзірдің құрамы мен бағалардың өзгертуді қарастыру.
18 | Жүріс санын есептейтін Поле Чудес бағдарламасы.
19 | Delphiде тышқан бағдаршасы формаларын көрсету бағдарламасы .
20 | Файлдарда мәтін бөлігін іздеу бағдарламасы.
21 | Берілген санды экранда бейнеленген бухгалтерлік шоттарда көрсету.

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

 Жоба менеджері (Project Manager) (View|Project Manager или Ctrl+Alt+F11);

 Формалар дизайнері (Form Designer) (View|Toggle Form/Unit или F12);

 Бастапқы мәтінін түзету терезесі (Editor Window) (View|Toggle Form/Unit);

 Бас меню (Alt или F10);

 Компоненттер Палитрасы;

 (ComponentPalette);

 Объектілер инспекторы (Object Inspector) (View|Object Inspector или F11).

Жоба менеджері жобаларды бір топқа жинақтауға мүмкіндік береді. Бұл бір және көпміндетті немесе DLL сияқты өзара байланысты жобалардың, сонымен қатар бірге орындалатын бағдарламалардың қызметін ұйымдастыруға мүмкіндік береді. Формалар дизайнері Компонеттер палитрасынан компонеттерді тышқанмен қарапайым түрде апарып қою жолымен визуалды интерфейс құруға мүмкіндік береді.Түзету терезесі бастапқы мәтіннің модульдерін, бағдарламаларын қамтиды. Бағдарламалар коды бойынша іздеу, терезенің сол жағында орналасқан, Өткізуші арқылы жүзеге асырылады. Форма және оның компонеттері үшін мәндерді белгілеу Объектілер инспекторында жасалады. Ол екі қосымша беттен тұрады (сипат және оқиға) және ағымдағы белгіленген компонентті үшін сипкт мәндерін өзгертуге мүмкіндік береді.

File|New Application таңдау керек. Осыдан кейін жобаны (яғни бағдарлама не кітапхана жасау үшін қажетті барлық файлдарды) жеке каталогта сақтап қалған жөн. Сонда келесі кеңейтілудегі файлдар жасалынады:

 DPR – «Басты» бағдарламаны қамтитын жобаның негізгі файлы;

 RES – жоба ресурстарының екілік файлы;

 CFG – жоба үшін компилятор опцияларының мәтіндік файлы;

 DOF – жоба ортасы опцияларының мәтіндік файлы;

 DPR – жобаның басты файлы;

PAS – модульдің бастапқы мәтінінің файлы;

DFM – форма файлы;

 DCU – модулдің компилирланған файлы.

Бағдарлама жобаның негізгі файлынан (.DPR) және әр форма үшін кодтары бар модульдерден (unit) құралған. Әр модуль өзінің жеке файлында сақтаулы (.PAS), компилирланған модульдердің DCU кеңейтілуі болады. (.DFM) формасындағы файл әрбір форма үшін жасалынып, құрамындағы форма мен компонеттердің екілік көрсетілімін қамтиды. .DPR жоба файлы және .PAS. модулінен басқа файлдарды түзетудің қажеттілігі жоқ.

Delphi визуалды компонеттерімен жұмыс.

Delphiдағы Формалар дизайнері түсінікті және қолдануда қарапайым, бар болғаны алғашқы кезде бос форманы Компонеттер палитрасынан түрлі объектілермен толтыру жеткілікті. Ол үшін Палитрадағы қажет элементті белгілеп, тышқанды форманың қажет жерінен сырт ету керек (немесе мөлшерін белгілеу үшін тышқанмен созу керек). Тышқан көмегімен формада орналасқан объектіні қозғалтып, мөлшерін өзгертуге болады. «Визуалды емес» (бағдарламаны орындау кезінде көрінбейтін) компонеттер өзгермейтін пиктограмма түрінде болып, форманың кезкелген жерінде орналаса алады. Визуалды компонеттер кітапханасы (Visual Component Library, VCL) құрастырушыға өзіндік қосымшаларды жасау үшін «кірпіштер» ұсынып, Delphiдің негізі болып табылады.

Компонеттер палитрасы келесі қосымша беттерден тұрады (олардың тек негізгілеріне тоқталып кетейік):

 Standard (Стандартты) – бұл беттегі компонеттердің көбісі Windows басқарудың экрандық элементтерінің аналогтары болып табылады: батырмалар, жазулар, енгізу алаңдары, тізімдер, меню, айналдыру жолақтары және т.б.;

 Additional (Қосымша) – графика, кесте, тізім, ағаш және диаграммалармен жұмыс ісетуге арналған күрделі компоненттер;

 Win32 (Windows кеңейтілген компонеттері) – Win32 APIге қосылған компоненттерінен тұрады: бетбелгі панельдері, кеңейтілген мәтіндік түзетуші, қалып жолы және т.б.;

 System (Жүйелік) – таймер, DDE, OLE сияқты жүйелік файлдарға кіру үшін қажетті компонеттерден тұрады;

 Dialogs (Диалогтар) –Windows жүйелік диалогтары: файлдарды ашу және жабу, принтерді таңдау және орнықтыру, түс пен шрифтті таңдау, іздеу мен алмастыру терезелері;

Формаға компонетті тек компоненттер палитрасынан ғана емес, сонымен қатар компоненттер тізімінен (View|Component List) қосуға болады.

Delphi түсінігінде компоненттер (component), бұл өзара ісәрекетті бағдарламамен қоса, жобалаудың визуалды ортасы (Формалар Дизайнері) көмегімен жүргізуге болатын сынып. Компонент «өз ішіндегі зат» болып табылады, ол өзіне қатынауға қасиеттер (property) арқылы ұсынады және қолданушы немесе жүйе әрекетіне өңдеупроцедураларын қосуға мүмкіндік береді. Форма да компонент болып табылады.

Delphiда графикалық интерфейстің жасалуы қажетті компонеттерге толыққан форма және олар арасында өзара әрекетті баптауын жасауға тіреледі. Ол келесінің көмегімен іске асырылады:

 компонеттер қасиеттерінің мәндерін өзгерту;

 жағдайларға дұрыс жауап беруді жазу.

Олардың негізгі компонеттері мен қасиеттерін қарастырайық:

 TMainMenu (Бас Меню) – форманың басты менюі болып, «көрінбейтін» компонеттентке жатады. Менюді жасау үшін TMainMenu–ді басты формаға қойып, Меню дизайнерін (тышқанды екі сырт етіп не Объектілер Инспекторында Items қасиетін таңдап ) іске өқосуға болады;

 TPopupMenu (Қалқымалы меню) – объектінің үстінен тышқанның оң жақ батырмасын басу нәтижесінде пайда болатын контекстік менюді жасауға мүмкіндік береді;

 TLabel (Таңба) – әдетте бағдарламамен жұмыс істегенде өзгермейтін экранда мәтінді көрсету үшін қолданылады;

 TEdit (Енгізу алаңы) – мәтіннің бір жолақты фрагментін көрсету және түзету үшін қолданылады;

 TButton (Батырма) – бағдарламының орындалуы уақытында батырманы басып қандай-да бір іс-әрекетті орындауға мүмкіндік береді. Батырманы формаға қойып, оны екі рет сыртқанда (не Объектілер Инспекторынан Events|OnClick-ті таңдап) батырманы басудың өңдеуші кодын қосуға болады;

 TCheckBox (Жалауша) – түрлі опцияларды қосып/өшіруге мүмкіндік береді;

 TRadioButton (Радиобатырма) – (TradioGroup көмегімен бірге топтастырылған) қол жетімді опциялардың ішінен тек біреуін таңдауға мүмкіндік береді;

 TListBox (Тізім) – айналдырылатын элементтер тізімін көрсету үшін қажет;

 TComboBox (Түзетілетін тізім) – көбіне біріктірілген TListBox пен Tedit-ке ұқсайды. ComboBox-тың бірнеше типі бар, бірақ ең тамылалысы түсіп шығатын (drop-down) тізімі. Түзетілетін мәтіннің Типі (не стилі) Style қасиетімен қойылады;

 TTimer (Таймер) – Interval қасиетінде көрсетілген уақыт аралығы арқылы OnTimer оқиғасы шақырылады. Уақыт аралығы 1-ден 65535 миллисекундқа дейін болуы мүмкін. Таймерді іске қосу үшін оның Enabled қасиетін «шындық»-қа орнату керек;

 TShape (Фигура) – формада қарапайым графикалық примитивтерді көрсету үшін қолданылады: шеңбер, квадрат, эллипс және т.б. Фигура типі Shape қасиеті арқылы анықталынады;

 TStatusBar (Қалып жолы) – бағдарламаның қалып жолы еске түсіруді және басқа да ақпаратты көрсетеді.

 Компонеттердің «табиғаты», яғни ішкі құрылымына байланысты компонеттердің бірнеше қасиеттер типтері:

 Қарапайым қасиеттер – бұл сандар мен жолдар болып табылатын мәндер;

 Аталынатын қасиеттер алдын ала анықталған, True не False мәндерін қабылдай алатын, boolean типті қасиеттері сияқты мәндерін қабылдай алады;

 Құрама қасиеттер – бұл тіркелеген мәндер мен қасиеттерді қабылдайтындар. Объектілер инспекторы оларды ағаш формасында көрсетеді. Мұндай қасиеттердің екі түрі бар: (төртбұрышты жақшада көрсетілетін) көбейтінділер және (Font қасиеті сияқты түрлі мәндер типтерінен тұратын) комбинирланған мәндер.

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

Delphi жобаны жасау (Инспектор көмегімен Формалар Дизайнері) режимінде де, бағдарламаны жасау (бағдарлама кодында мәндерді белгілеу) режимінде де компонеттер қасиеттерін оңай басқаруға мүмкіндік береді.

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

 Enabled – жұмыс істеу үшін компонеттің «қолжетімдігін» анықтайтын логикалық жалауша. Қолжетімсіз компонеттер (Enabled қасиеті false-қа тең) әдетте сұр түске боялып тұрады;

 Visible – бағдарламаның орындалуы кезінде компонеттің «көрінушілігін» анықтайтын логикалық жалауша.;

 Constraints – компонеттердің максималды және минималды үлкендігін анықтайтын құрама қасиет. Үлкендігін өзгерткенде ол осы параментрлерімен шектеледі;

 Anchors – объектінің ата-компонетіне «байланыстылығын» көрсететін жалаушаларды белгілейтін құрама қасиет. Егер, формадағы жазудың бұл қасиеті [akTop,akLeft] мәніне ие болса, онда форманың үлкендігін өзгерткенде белгі терезенің оң жақ, жоғарғы бұрышында қалады. Егер, бұл қасиетті [akLeft,akRight]-ке тең деп көрсетсе, онда жазу терезенің үлкендігін өзгерту барысында созылады;

 Align – компонеттің ата-компонетіне қатысты түзетілуі;

 Width, Height – компонеттің пиксельдардағы Ұзындығы мен Ені;

 Color – компонент боялатын түс;

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

 Cursor – компонент үшін курсор пішінін таңдауға мүмкіндік беретін атаулы қасиет;

 Name – компонент үшін айнымалы есімі. Әдетте ол бағдарламада қлданылып, компоненттің тип атауы мен ағымдағы нөмірінен құрылады, мысалы: Label1, Label2, белгі үшін TLabel және т.б.;

 Caption – компонентте көрсетілетін мәтіндік жол. TEdit объектісі үшін Text қасиетін, ал Tmemo мен TRichEdit компоненттері үшін (көпжолақты және кеңейтілген редауторлар) – Lines-ты қолдану керек.;

 Items – компоненттер үшін, қандай-да бір тізімі бар, элементтер коллекециясын белгілейді (мысалы TlistBox не TComboBox);

 Hint, ShowHint – еске түсіруді көрсету керек па, жоқ па екендігін көрсететін мәтін мен логикалық жалауша.

Қасиеттен басқа кез-келген компонент өзі жауап бере алатын оқиғалар жиынымен сипатталады. Оқиға деп қолданушының іс-әрекетін түсіну қажет: тышқан не батырмаларды шерту, курсордың орнын ауыстыру. Объектілердің өздері де әрекет ете алады: комполнентті жасау немесе іске қосу, құрамын өзгерту, т.б. Қосымшаларды бағдарламалау түп негізінде осы оқиғаларды өңдеушілерді жазуға бағдарланған. Осы қасиеттерді атауға келісім жасалынған, мысалы OnDblClick тышқанды екі ретшертуге, OnKeyUp басылған батырма босатылған кездегі оқиғаға сәйкес келеді. Өңдеушіні (event handler) белгілеу Объектілер инспекторында қажетті оқиғаны таңдау арқылы іске асырылады, бұл кезде Delphi сәйкес өңдеуші-процедураға автоматты түрде тақырыпты қосады.

Delphi-ді зерттеуге көмектесетін қарапайым қосымшаны қадамдап жасаудың үлгісі берілген. Код мысалдарында үндемеу бойынша (мысалы TLabel үшін Label1) жасалынған идентификаторлар есімдері қолданылады. Қосымша көмекті Delphi анықтамасында (F1 батырмасы) алуға болады.

Delphi-ді қосып, өзіңіздің жаңа қосымшаңызды жасаңыз (File|New Application).

1. Үндемеу бойынша жасалынған Form1 формасы үшін келесі қасиеттерді белгілеңіз:

Caption – ‘Тест-Қосымша’ (форма терезелеріне тақырыпты белгілейді), Width – 300, Height – 200

2. Формаға TMainMenu менюін қойыңыз. Меню Дизайнерін іске қосып, менюдің келесі пункттерін қосыңыз (TMenuItem компоненттері):

Caption қасиетінде ‘&Файл’ (Alt+<батырма> көмегімен менюдің элементіне тез енуді амперсанд қамтамасыз етеді);

Caption – ‘&Выбор цвета…’;

Hint – ‘Изменение цвета метки’;

Caption – ‘&Выход’;

ShortCut – Alt+X;

Hint – ‘Выход из приложения’.

‘&Помощь’

Caption – ‘&О Программе…’;

ShortCut – F1;

Hint – ‘Справка о программе’.

3. Формаға TStatusBar (Win32 бетбелгісі) компонентін қосыңыз. True-да AutoHint қасиетін өзгертіңіз – бұл ағымдағы белгіленген компонент үшін қалып жолында еске түсірулерді көрсетуге мүмкіндік береді.

4. Менюдан жаңа диалог қосыңыз File|New…|Dialogs|Standard Dialog. Оның атауын (Caption) ‘О Программе’-да өзгертіңіз. Одан ‘Cancel’ батырмасын алып тастаңыз (Del көмегімен) және сол жаққа қарай ‘Ok’ батырмасын жылжытыңыз. Timage суретін қосып, онда өз файлыңызды (на выбор) көрсетіңіз, Picture қасиетінде.

5. Диалогқа бағдарлама сипаттамасы бар бірнеше (TLabel) белгілерін қойыңыз да, оларды мәтінді (Caption), түзтілуді (Alignment) және шрифт қасиетін (Font) талғамыңыз бойынша өзгертіңіз.

Енді диалогты ашу үшін кодты қосу керек. Мысалы диалог айнымалысы OKBottomDlg деп аталған. (Unit1) басты формасының модуліне ӨТкізуші арқылы қайта қосылып, диалог модулінің қосылуын қосыңыз (File|Use Unit…|Unit2). Менюді таңдауды өңдеу процедурасын қосу үшін бас менюдің сәйкес элементінен (‘О Программе…’) шерту керек не Инспеторда өңдеушіні OnClick ып, келесілерді енгізу қажет:

OKBottomDlg.ShowModal; {Диалогты ашу}

7. ‘Выход’ меню элементі үшін өңдеушіні енгізіңіз:

Close; {Закрытие формы}

8. Бағдарламаны қосып көру үшін Run|Run не F9-ды басыңыз.

9. Басты формаға итүсті таңдау диалогын қосыңыз (Dialogs қосымша бетінде TColorDialog).

10. Оған Жазу (TLabel) ‘Цветная метка’ компонентін қойыңыз.

11. OnDblClick компонентіне екілік шертудің өңдеушісін қосыңыз:

Application.MessageBox('Түсті бастапқысына қайтарамыз!', 'Сброс!', MB_OK);

With Label1 do {Форма белгісімен жұмыс істейміз}

Font.Color := clBlack; {Жазу үшін түс қоямыз}

12. Меню элементін қайталайтын батырманы қосыңыз. Батырмаға келесі қасиеттерді беріңіз:

Caption – ‘Выбор цвета…’,

ShowHint – True,

Hint – ‘Мені бас!|Белгі түсін өзгерту’ (Символ ‘|’ белгісі компонент үшін қысқа және ұзын жолдар түріндегі көмекті қоюға мүмкіндік береді.

13. Элементжәне батырма үшін кодты қайталамау үшін басты менюға түсті таңдау процедурасын енгіземіз. Tform сыныбына, жабық класс (Private Declarations) аумағына процедура хабарламасын қоямыз: procedure ChangeColor;

және астында процедура денесін қосамыз:

procedure TForm1.ChangeColor;

begin

{Егер қолданушы түсті таңдаса}

if ColorDialog1.Execute then

with Label1 do {Работаем с меткой формы}

Font.Color := ColorDialog1.Color; {Диалогтан түсті таңдаймыз}

end;

14. Енді меню элементі мен батырмасы үшін OnClick өңдеушілеріне ChangeColor шақыруларын қосамыз:

ChangeColor;

15. Жобаны бөлек каталогта сақтап (File|Save Project As) бағдарламаны қосыңыз.

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

Әдебиеттер:

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

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

Прецеденттер диаграммасы

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

1. Пайдалану диаграммасын құруға үйрену (прецеденттер).

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

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

2. Ratoinal Rose-де прецедент Диаграммасын жасау процесін зерделеу;

3. Жобаланатын бағдарламалық жүйеге қойылатын талаптар Спецификациясын дайындау (жүйенің функционалдығы, оның шекаралары және ықтимал пайдаланушылар);

4. Жобаланатын бағдарламалық жүйеге «Көру» құжатын дайындау.

Жұмыс мазмұны:

1.№1 жаттығуды ДК орындау;

2.Жобаланатын бағдарламалық жүйені нұсқа бойынша пайдаланудың нұсқалар диаграммасын жасау.

Есеп мазмұны:

1.Жұмыстың атауы және мақсаты;

2.Жеке тапсырма;

3.Жобаланатын жүйенің функционалдық тәртібіне қойылатын жалпы талаптар;

4.Жобаланатын бағдарламалық жүйеге қойылатын талаптар Спецификациясы;

5.Әзірленген прецеденттер Диаграммасы.

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

Пайдалану нұсқаларының әдісі. Прецеденттер диаграммасы

Жеткілікті түрде ұзақ уақыт мерзімі ішінде объективті-бағдарлы, сондай-ақ дәстүрлі құрылымдық жобалау процесінде де әзірлеушілер жүйеге қойылатын талаптарды жақсылап түсінуге көмектесетін типтік сценарийді пайдаланады. Осы сценарийлер соншалық формальды емес түрде түсіндіріледі – олар әрқашан пайдаланылады және өте сирек құжатталады. Якобсон өзінің OOSE әдісінде «пайдалану нұсқасы» (Use Case) ұғымын алғаш рет енгізді және оған жобаны әзірлеу мен жоспарлаудың негізгі элементі болатындай мәнділік берді.

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

Пайдалану нұсқаларының диаграммасын әзірлеу мына мақсаттарды көздейді:

 Жүйені жобалаудың бастапқы кезеңдерінде модельденетін тақырыптық аймақтың жалпы шекаралары мен контексін анықтау;

 Жобаланатын жүйенің функционалдық тәртібіне қойылатын жалпы талаптарды тұжырымдау;

 Жүйенің бастапқы концептуалды моделін логикалық және физикалық модельдер түрінде одан әрі тәптіштеу үшін әзірлеу;

 Жүйе әзірлеушілердің оның тапсырушыларымен және пайдаланушыларымен өзара әрекеттесу үшін бастапқы құжаттар дайындау.

Берілген диаграмманың мәні мыналардан тұрады: жобаланатын жүйе маңыздар немесе пайдалану нұсқаларының көмегі арқылы жүйемен өзара әрекеттесетін актерлер жиыны түрінде беріледі. Осы кезде актер (actor) немесе әрекет етуші тұлға деп, жүйемен сырттан өзара әрекеттесетін кез келген нәрсені атаймыз. Бұл адам, техникалық құрылғы, бағдарлама немесе кез келген басқа жүйе бола алады, ол әзірлеушінің өзі анықтағанадй модельденетін жүйеге әсер ету көзі ретінде қызмет етеді. Өз кезегінде пайдалану нұсқасы (Use Case) жүйе актерге беретін сервистерді сипаттау үшін қызмет етеді. Басқа сөзбен айтқанда, әрбір пайдалану нұсқасы жүйе актермен диалог кезінде жасайтын әрекеттердің кейбір жинағын анықтайды. Осы кезде актерлердің жүйемен өзара әрекеті қалай жүзеге асырылатыны туралы ештеме айтылмайды.

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

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

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

Пайдалану нұсқасы

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

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

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

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

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

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

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

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

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

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

Актерлер

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

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

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

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

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

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

Актердің осындай формальды емес анықтамасымен келісілетін кез келген маңыз актер данасы немесе мысалы болып табылады. Модельденетін жүйе үшін актер ретінде пайдаланушы-субъектілер де, сондай-ақ басқа жүйелер де болуы мүмкін. Жүйені пайдаланушылар әрқашан осы жүйеге қатысты сыртқы болып табылатындықтан онда олар әрқашан актерлер түрінде беріледі.

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

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

Интерфейстер

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

Пайдалану нұсқаларының диаграммасында интерфейс кішкене дөңгелек түрінде бейнеленеді, оның жанына оның атауы жазылады . Атауы ретінде зат есім болуы мүмкін, ол сәйкес ақпаратты немесе сервисті (мысалы «қадаға», "сирена", "бейнекамера"), бірақ көбінесе мәтін жолын (мысалы "деректер базасына сұраныс", "енгізу формасы", "дыбыстық сигналды беру құрылғысы") сипаттайды. Егер атауы ағылшын тілінде жазылатын болса, онда ол бас әріптен басталуы керек I, мысалы, ISecurelnformation, ISensor.

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

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

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

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

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

Ескертулер гарфиктік түрде «бүгілген» жоғары оң бұрышы бар тік бұрышпен, белгіленеді. Тік бұрыштың ішінде ескерту мәтіні болады. Ескерту диаграмманың кез келген элементіне жатуы мүмкін, бұл жағдайда оларды үзік сызық жалғайды. Егер ескерту бірнеше элементке жататын болса, онда одан сәйкес бірнеше сызықтар жүргізіледі. Әрине, ескертулер пайдалану нұсқасы диаграммасында ғана емес, сондай-ақ басқа канондық диаграммаларда да қатыса алады.

Егер ескертуде "constraint" түйінді сөзі көрсетілетін болса, онда берілген ескерту, диаграмманың өзіне емес, модельдің сәйкес элементіне қойылатын шектеу болып табылады. Осы кезде шектеу жазбасы фигуралы жақшалармен жабылады және ОСL тілінің айтылуын дұрыс құрастыру ережелеріне сәйкес келуі тиіс. Объектілік шектеулер тілі мен оны пайдалану мысалдары қолданбада қарастырылады. Алайда пайдалану нұсқаларының диаграммалары үшін шектеуді модельге енгізу ұсынылмайды, себебі олар жүйенің жеке аспектілерін жеткілікті түрде қатаң регламенттейді. Осындай регламенттеу жүйенің жалпы моделінің формальды емес сипатына қайшы келеді, сол ретінде қатысады.

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

UML тілінде актерлер мен пайдалану нұсқалары арасында бірнеше стандартты қатаныстар түрі болады:

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

Кеңею қатынасы (extend relationship);

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

Қосылу қатынасы (include relationship).

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

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

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

Ассоциация еселігі (multiplicity) диаграмма компонентінің белгісімен қатар көрсетіледі, ол берілген ассоциацияға қатысушы болып табылады. Еселік берілген компоненттің нақты даналарының жалпы санын сипаттайды, олар берілген ассоциация элементтері ретінде қатыса алады. Пайдалану нұсқалары диаграммасына қарай еселікте бір немесе бірнеше цифрлар түрінде арнайы белгісі және мүмкін, арнайы символы "*" (жұлдызша) болады.

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

Пайдалану нұсқалары диаграммалары үшін ассоциация қатынасы еселігін жазудың төрт негізгі түрі болып табылады:

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

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

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

{бірінші сан, бірінші сан+1, бірінші сан+2, ..., екінші сан]. Бірінші сан арифметикалық мағынада екінші саннан қатаң түрде кіші болуы керек екені айқын, осы кезде бірінші сан 0 тең болуы керек.

Қауымдастық еселігін жазудың осындай түрінің мысалы — "1..5". Бұл жазба, берілген ассоциация элементтері ретінде қатысуы мүмкін берілген компоненттің жеке даналар саны тұтас сандар жиынының {1, 2, 3, 4, 5} ішінде қайсыбір алдын ала белгілі санға тең болатынын білдіреді. Бұл жағдай, мысалы актер ретінде – банк клиентін, ал пайдалану нұсқасы ретінде – банкте шот ашу шарасын қарастырған жағдайда орын алуы мүмкін. Осы кезде берілген банкте әрбір клиенттің жеке шотының саны кейбір қосымша ойластырулардан шыға отырып, 5-тен аспауы мүмкін. Осы қосымша түсініктер жобаланатын жүйеге қатысты сыртқы талаптар болып табылады және ООАП бастапқы кезеңдерінде оның тапсырушысы анықтайды.

 Екі нүктемен бөлінген екі символ. Осы кезде олардың бірі тұтас теріс емес сан немесе 0, ал екіншісі – арнайы символ "*". болып табылады. Мұнда символ "*" еркін соңғы тұтас теріс емес санды білдіреді, оның мәні ассоциацияның сәйкес қатынасын беру моментінде белгісіз.

Ассоциация еселігін жазудың осындай түрі — "2..*". Жазба, берілген ассоциация элементтері ретінде қатысуы мүмкін берілген компоненттің жеке даналар саны натурал сандардың ішкі жиынының ішінде алдын ала белгсіз санға тең: {2, 3, 4}.

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

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

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

Ассоциация қатынасының семантикалық ерекшеліктерін анағұрлым мұқият сипаттау кітаптың келесі тарауларында басқа диаграммаларды қарастыру кезінде беріледі.

Кеңею қатынасы. Кеңею қатынасы жеке пайдалану нұсқасы даналарының анағұрлым жалпы нұсқамен өзара байланысын анықтайды, оның қасиеті берілген даналарды бірлесіп біріктіру тәсілі негізінде анықталады. Метамодельде кеңею қатынасы бағытты болып табылады және кейбір пайдалану нұсқасының жеке мысалдарына қатысты берілген пайдалану нұсқасы үшін анықталған нақты шарттар орындалуы керектігін көрсетеді. Сонымен, егер А пайдалану нұсқасыннан В пайдалану нұсқасына кеңею қатынасы орын алатын болса, онда бұл В пайдалану нұсқасы данасының қасиеттері А кеңейтілген пайдалану нұсқасында қасиеттер болу арқасында толықтырылуы мүмкін екенін білдіреді.

Пайдалану нұсқалары арасында кеңею қатынасы бастапқы пайдалану нұсқасы үшін кеңею болып табылатын пайдалану нұсқасынан бағытталған стерлкасы бар (тәуелдік қатынасының нұсқасы) үзік сызықпен белгіленеді. Стерлкасы бар берілген сызық, "extend" ("кеңейтеді") түйінді сөзімен белгіленеді.

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

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

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

Жоғарыда берілген мысалда тауар алуға тапсырыс рәсімдеу кезінде тек кейбір жағдайларда ғана барлық тауарлар каталогын клиентке ұсыну талап етілуі мүмкін. Осы кезде кеңею шарты клиенттен тауарлар каталогын алуға сұраныс болып табылады. Каталогты алғаннан кейін клиенттің оны зерделеуіне біршама уақыт қажет екені айқын, сол уақыт бойы тапсырысты рәсімдеу тоқтатылады. Каталогпен танысқаннан кейін клиент немесе жеке тауарды таңдау пайдасына, немесе сатып алудан мүлдем бас тартуды шешеді. Сервис немесе "Тауар алуға тапсырыс рәсімдеу" пайдалану нұсқасы, клиент танысу үшін тауарлар каталогын алғаннан кейін клиенттің таңдауына жауап бере алады.

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

Жалпылау қатынасы

Жалпылау қатынасы А кейбір пайдалану нұсқасы В пайдалану нұсқасына дейін жалпылануы мүмкін фактісін көрсету үшін қызмет етеді. Бұл жағдайда А нұсқасы В нұсқасының специализациясы болып табылады. Осы кезде В – А-ға қатысты бабасы немесе атасы болады, ал А нұсқасы — В пайдалану нұсқасына қатысты ұрпақ деп аталады. Ұрпақ өзінің атасының барлық қасиеттері мен тәртібін мұра ететінін, сонымен қатар жаңа қасиеттермен және тәртіп ерекшеліктерімен толықтырылуы мүмкін екенін атап өткен жөн. Графиктік түрде берілген қатынас боялмаған үш бұрыш формасында стрелкалы тұтас сызықпен белгіленеді, ол аталық пайдалану нұсқасын көрсетеді. Бұл стрелкасы бар сызықтың арнайы атауы бар — "жалпылау" стрелкасы.

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

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

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

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

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

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

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

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

Жобамен жұмыс істеудің жалпы реттілігі кітапта канондық диаграммаларды қарастыру реттілігіне ұқсас. Жаңа жобаны әзірлеудің бастапқы қадамы жеке модельдер немесе канондық диаграммалар салу контексінде көріністер жасау болып табылады.

Жаңа жоба үшін типтік жобалар шеберін пайдалануға болады (егер ол берілген конфигурацияда орнатылған болса). Типтік жобалар шебері File->New (Файл->Жасау) менюінен қол жетерлік. Егер шебер қол жетерлік болмаса, онда диаграмманың таза терезесі бар бағдарлама интерфейсі пайда болады.

Егер дайын жоба болатын болса (mdl - модель кеңейтілген файл), онда оны File->Open (Файл->Oткрыть) менюі арқылы келесі түрлендіру үшін ашуға болады. Бұл жағдайда бағдарлама қолданыстағы жобаны онда болатын барлық диаграммалармен, спецификациялармен және құжаттармен бірге жүктейді.

Жобамен жұмыс сеансы аяқталғаннан кейін орындалған жұмысты mdl кеңеюімен жоба файлында сақтау қажет. Бұны File->Save(Файл->Сақтау) немесе File->Save As(Файл->Қалай сақтау керек) менюі арқылы істеуге болады. Осы кезде жоба туралы барлық ақпарат, элементтердің диаграммаларымен және спецификацияларымен қоса, бір файлда сақталады.

Басқа бағдарламалар сияқты Rational Rose, модельдің түрлі элементтерін беру үшін шрифттар мен түстерді таңдау сияқты ортаның жаһандық параметрлерін реттеуге мүмкіндік береді. Шрифттарды реттеу Tools->Options (Инструменттер->Параметрлер) менюі арқылы жүргізіледі. Ортаның өзіне тән ерекшелігі кириллица символдарымен жұмыс істеу мүмкіндігі болып табылады. Алайда, модель элементтерінің, одан әрі бағдарламалық код мәтінін генерациялау арқылы спецификациясы кезінде, элементтердің атаулары мен қасиеттерін бағдарламалаудың сәйкес тілі қолдау беретін тіл символдарымен бірден жазу керек екенін атап өткен жөн.

Сызық түсін өзгерту үшін Edit->Diagram Object Properties->Line Color (Түзету->Диаграмма объектісінің қасиеті->Сызық түсі) меню пунктін пайдалау қажет. Бұл жағдайда арнайы түс палитрасы ұсынылады, онда диаграммалардағы сызықтар үшін лайықты түс таңдауға болады.

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

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

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

Пайдалану нұсқалары диаграммасын Rational Rose ортасында әзірлеу үшін диаграмма терезесінде сәйкес диаграмманы белсендіру қажет. Бұны түрлі тәсілдермен жасауға болады:

 Браузерде пайдалану нұсқаларының берілуін айқындау (Use Case View) және Main (Басты) пиктограммасында екі рет шерту керек;

 Browse-Use Case Diagram (Браузер-»Пайдалану нұсқалары диаграммасы) меню пункті арқылы.

Осы кезде пайдалану нұсқалары диаграммасын әзірлеуге тән графиктік жұпынылық болатын арнайы инструменттер панелі пайда болады.

2.1 - сурет - Пайдалану нұсқалары диаграммасы үшін арнайы инструменттер панелінің сыртқы түрі

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

Элемент атауын әзірлеуші немесе элементті диаграммада бірден орналастырғаннан кейін, немесе жобамен кейінгі жұмыс барысында өзгерте алады. Тышқанның оң батырмасын таңдап алынған элементте шерту бойынша элементтің контекстік менюі шақырылады, оның опциялары арасында Open Specification (Спецификацияны ашу) пункті болады. Бұл жағдайда арнайы қосымша беті бар диалогтық терезе белсендіріледі, олардың жиектеріне берілген элемент бойынша барлық ақпаратты енгізуге болады.

Осындай тәсілмен салынған пайдалану нұсқалары диаграммасының мысалы келесі түрге ие бола алады.

2.2 - сурет - Rational Rose ортасында пайдалану нұсқалары диаграммасын әзірлеу мысалы

Пайдалану нұсқалары диаграммасы модельдің жоғары деңгейлі берілуі болып табылады, сондықтан онда тым көп пайдалану нұсқалары мен актерлері болмау керек. Одан кейін салынған диаграмма пайдалану нұсқалары мен актерлер сияқты жаңа элементтерді қосу немесе оларды жою арқылы өзгеруі мүмкін. Элементті диаграммадан ғана емес, модельден де жою үшін тұтастай жойылатын элементті диаграммада бөліп көрсету және Edit-»DeIete from Model меню пунктін пайдалану қажет.

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

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

Пайдалану нұсқалары диаграммасын әзірлеу бойынша ұсыныстар. Пайдалану нұсқалары диаграммасының басты белгіленуі сәйкес пакет ұғымының көмегімен жүйеге функционалдық талаптар қоюды қалыптастырумен шектеледі және жобалудың ерте кезеңінде алынған модельді келістіру мүмкіндігімен шектеледі. Пайдалану нұсқаларының кез келгені жеке элементтерді пайдаланудың ішкі нұсқалары жиынына одан әрі декомпозицияға түсуі мүмкін, олар бастапқы маңыз түзеді. Модельде актерлердің ұсынылған жалпы саны — 20 аспайды, ал пайдалану нұсқалары — 50 аспайды. Қарсы жағдайда модель өзінің көрнектілігін жоғалтады және өзімен кейбір басқа диаграммалардың бірін алмастырады.

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Объектіге бағытталған программалау?

2. Объект дегеніміз не?

3. Қасиеттерге не жатады?

4. Оқиғаларға не жатады?

5. ОБП негізгі принциптері? сипаттамасы

6. Case құралдарының жіктелуі

7. Категория бағытының функциялар

8. Типті бағытының құралдары

9. Модель дегеніміз не?

10. Rational Rose құралы интерфейіс элементтері, сипаттамасы

11. Браузер қандай көрсетілімдерді қолдайды

12. Актер –дің сипаттамасы

13. Прецедент-тің сипаттамасы

14. Rational Rose –тің тағайындалуы