Кіріспе

Шлаер-Меллор әдісі, сондай-ақ объектіге бағытталған жүйелерді талдау (OOSA) немесе объектіге бағытталған талдау (OOA) деп белгілі, 1988 жылы Салли Шлаер мен Стивен Меллор ұсынған объектіге бағытталған бағдарламалық құралды дамыту әдістемесі. Бұл әдіс құжатталған талдауды соншалықты дәл етеді, осыған байланысты талдау моделін платформаға қатысты модельдердің бірнеше қадамдары арқылы өзгертудің орнына, тікелей мақсатты архитектураға аудару арқылы жүзеге асыру мүмкін болады. Жаңа мыңжылдықта Шлаер-Меллор әдісі UML нотациясына көшіп, Executable UML болып дамыды.

Аударма v. өңдеу

Шлаер-Меллор әдісінің мақсаты – құжатталған талдауды соншалықты дәлдеу, осы талдау моделін өңдеудің орнына тікелей аударма арқылы іске асыру мүмкін болсын. Шлаер-Меллор терминологиясында бұл рекурсивті жобалау деп аталады. Қазіргі (2011) терминологияда біз Шлаер-Меллор әдісі Бірыңғай модельдеу тілімен (UML) байланысты модельге бағытталған архитектураның (MDA) бір түрін қолданады дейміз. Осы аудармалық тәсілді пайдалану арқылы іске асыру әрқашан талдаудан тікелей жасалады (қолмен немесе көбінесе автоматты түрде). Бұл Шлаер-Меллор әдісінде жобалау жоқ дегенді білдірмейді, керісінше, кез келген аппараттық/бағдарламалық платформалар комбинациясы үшін кез келген Шлаер-Меллор талдау моделін орындай алатын виртуалды машина бар деп есептеледі. Бұл Java және Ada бағдарламалау тілдерінің негізіндегі виртуалды машиналарға ұқсас, бірақ олар бағдарламалау деңгейінен гөрі талдау деңгейінде жұмыс істейді. Мұндай виртуалды машина жобаланып, іске қосылғаннан кейін, оны әртүрлі қолданбаларда қайта пайдалануға болады. Шлаер-Меллор виртуалды машиналары Abstract Solutions, Mentor Graphics және Pathfinder Solutions сияқты бірқатар құрал жеткізушілерден коммерциялық түрде қолжетімді.

Семантикалық ыдырау

Шлаер-Меллор бірнеше (мәселелік) доменде семантикалық жіктеуді ұсынады. Талдау және жобалау модельдерінің аражігін бөлу: Талдау домені жүйенің не істеу керектігін нақты көрсетеді, ал жобалау домені – Шлаер-Меллор виртуалды машинасының нақты бір аппараттық және бағдарламалық платформада қалай жұмыс істейтінінің моделі. Бұл модельдер өзара байланыссыз, олардың арасындағы жалғыз байланыс – модельдерді бейнелеу үшін қолданылатын нотация. Жүйе талаптарын модельдеу және оларды нақты, өзара байланысы жоқ тақырыптар бойынша топтастыру. Бұрынғы жолаушылар пойзы мысалына оралып келсек, есік механизмдері, моторларды басқару және тежегіш жүйелеріне негізделген жеке семантикалық модельдер құруға болады. Әр топтастыру дербес қарастырылады және модельделеді. Топтастырулар арасындағы жалғыз анықталған қатынас – тәуелділік, мысалы, жолаушылар пойзының жұмысы есік механизмдеріне де, моторларды басқаруға да тәуелді болуы мүмкін. Тежегіш жүйелері моторларды басқаруға тәуелді болуы мүмкін. Есік механизмдері, моторларды басқару және тежегіш жүйелерінің домендік модельдері әдетте жалпыға қолданылатын, қайта пайдаланылатын қызмет домендері ретінде қарастырылады, ал жолаушылар пойзының басқару домені өте өнімге қатысты қосымша домен болуы мүмкін. Нақты бір жүйе домендерден және домендер арасындағы анықталған байланыстардан тұрады. Байланыс – клиент рөліндегі доменнің сервер рөліндегі доменге қатысты болжамдары тұрғысынан сипатталады.

Нақты іс-қимыл тілі

Автоматтандырылған кодты жасау талаптарының бірі – Шлаер-Меллор объектілерінің динамикалық мінез-құлқын білдіру үшін қолданылатын шекті күй машиналарындағы әрекеттерді нақты модельдеу. Шлаер-Меллор объектіге бағытталған талдау әдістерінің арасында осындай тізбекті мінез-құлқыны Action Data Flow Diagrams (ADFD) арқылы графикалық түрде бейнелеуде ерекше. Шлаер-Меллорды қолдаған құралдар нақты әрекеттер тілін ұсынды. Әрекеттер тілдері ADFD тәсілін ескіртіп, барлық әрекеттер мәтіндік форматта жазылатын болды.

Сынау және симуляция

Шлаер-Меллор әдісінің трансляциялық көтерілісі автоматтандырылған сынақ және модельдеу орталарына (код жасау кезінде мақсатты платформаны ауыстыру арқылы) қолайлы келеді, және бұл Шлаер-Меллордың және басқа MDA негізделген әдістердің кіріктірілген жүйелерді әзірлеу кезінде танымал болуының себебінің бір бөлігі болуы мүмкін, онда мақсатты жүйелерде, мысалы, ұялы телефондарда немесе қозғалтқышты басқару жүйелерінде сынақ жүргізу әсіресе қиын. Мұндай сынақтарды тиімді және өнімді ететін нәрсе – Шлаер-Меллор виртуалды машинасының түсінігі. Көптеген OOA/OOD әдістері сияқты, Шлаер-Меллор оқиғаларға негізделген, хабар алмасу ортасы болып табылады. Осы жалпы көзқарасқа сәйкес, Шлаер-Меллор виртуалды машинасы Мемлекеттік модельдерге негізделген, басымдықпен оқиғалар механизмін талап етеді, бұл әртүрлі мемлекеттік машиналардағы әрекеттерді бір уақытта орындауға мүмкіндік береді. Шлаер-Меллорды іске асыру үшін осы модельдің толық қолдауын қамтамасыз ету қажет болғандықтан, модельдеудегі сынақ мақсатты платформадағы сынаққа өте жақын модель болуы мүмкін. Ұақыт шектеулеріне күшті байланысты функционалды сынау қиын болғанымен, жүйенің көп бөлігінің мінез-құлқы басымды орындау моделіне байланысты жоғары дәрежеде болжамды.

Сындар

Шлаер-Меллор қауымдастығында іс-әрекеттерді білдіру үшін жалпыға келісілген мәтіндік тіл болған емес. Құрал жеткізушілер өздерінің авторлық құқықтары сақталған және бақыланатын іс-қимыл тілдерін жасады. Грэхам (1994) Шлаер-Меллор әдісін объектіге бағытталған талдаудың ерте мысалы ретінде сипаттады, бірақ оны толыққанды объектіге бағытталған деп санау қиын. Грэхамның сөзіне қарағанда, әдісте "мұрагерлік ұғымы жоқ. Кітаптарында сипатталғандай, бұл деректерді модельдеудің объектіге негізделген ғана кеңейтілген түрі еді". Капрец (1996) Грэхаммен келісе отырып, Шлаер-Меллор әдісі "объектіге бағытталған идеялардың көп бөлігін қамтымайды және қарапайым графикалық нотация қолданылады", ол негізінен "басқа құрылымдалған әдістердегі қатынас диаграммалары мен деректер ағыны диаграммаларынан" алынған.