Web - жүйелерді бөлу
1990-жылдар: объектілік технологиялардың қалыптасуы
Ақпараттық жүйелерді дамыту тарихында 1990-жылдар объектілік технологиялардың қалыптаса бастаған кезеңі ретінде танылады. Осы уақытта объектілік деректер базасын басқару жүйелері (БҚБЖ) нарығы құрылып, қарқынды дами түсті.
Деректер базасы бағдарламалық қамтамасыз етуі нарығында жетекші болған Oracle, Informix және IBM компанияларының объектілік-реляциялық серверлерінің заманауи нұсқалары пайда болуына байланысты, 1996–1997 жылдары реляциялық ортадан объектілік ортаға көшу үрдісі белсенді жүрді. Бұл өзгерістер талдаудың объектілік тәсілдерін және жүйелерді жобалаудың дамуын ынталандырды.
Индустрияның сұранысы: сапа, жылдамдық және құн
Көптеген компаниялар үшін бағдарламалық қамтамасыз етудің стратегиялық маңызы артқан сайын, индустрия өндірісті автоматтандыру, сапаны көтеру, сондай-ақ өнімді нарыққа шығару құнын және уақытын қысқарту жолдарын іздеді. Нәтижесінде коммерциялық бағдарламалық өнімдерді әзірлеуге арналған түрлі әдістер кең тарала бастады.
Негізгі тіректер
- Компоненттік технологиялар (қайта пайдаланылатын құрамдастарға сүйену)
- Үлгілік тәсілдер (patterns) арқылы қайталанатын шешімдерді стандарттау
- Инструменттік орта (framework) көмегімен құрылымды біріздендіру
Неге модельдеу маңызды?
Модельдеу жүйені түсіну үшін қажет. Алайда бір ғана модель жеткіліксіз: тривиалды емес кез келген жүйені түсіну үшін өзара байланысты көптеген модельдер құруға тура келеді. Бұл бағдарламалық жүйенің архитектурасын түрлі көзқарас тұрғысынан сипаттай алатын тілдің қажеттігін айқын көрсетті.
Нәтиже
Осы қажеттіліктен UML — модельдеудің бірыңғайланған тілі пайда болды. UML бағдарламалық қамтамасыз ету сызбаларын құруға арналған стандартты құрал ретінде орнықты.
UML деген не?
Модельдеудің бірыңғайланған тілі (Unified Modeling Language — UML) — бағдарламалық жүйелерді ерекшелендіру, визуализациялау, спецификациялау, құрастыру және құжаттау үшін қолданылатын тіл. Ол бизнес-модельдер сияқты бағдарламалық емес жүйелерді де сипаттауға мүмкіндік береді.
UML — бұл тек белгішелер жиыны емес: әр нотацияның артында нақты анықталған семантика бар. Сондықтан бір әзірлеуші жасаған модельді басқа адам бірмәнді түсініп, қажет болса, аспаптық құрал арқылы да өңдей алады.
Не істей алады?
Артефактілерді құжаттау, құрастыру, нақтылау және көрсету.
Қалай құрылады?
Тіл сөздік пен ережелерге сүйенеді: олар модельді қалай құру және қалай оқу керегін түсіндіреді.
Нені айтпайды?
UML қай жағдайда қай модельді құру керек екенін өзі нұсқамайды — бұл әдіснама мен тәжірибеге байланысты.
UML құрамдастары: OCL
UML-дің құрамдас бөлігі ретінде OCL (Object Constraint Language — объектілерге шектеу қою тілі) қолданылады. OCL модельдегі ережелер мен шектеулерді формальды әрі анық түрде көрсетуге көмектеседі.
Тарихи қалыптасуы
- 1994 ж. қазан: Rational Software Corporation компаниясынан Гради Буч (Grady Booch) және Джим Рамбег (Jim Rumbaugh) OMT (Object Modeling Technique) әдістемесін біріздендіру жұмысын бастады.
- 1995 ж. қазан: бірыңғайландыру әдісінің алдын ала нұсқасы ұсынылды.
- 1995 ж.: экономикалық құлдырау кезінде Ивар Якобсон (Ivar Jacobson) және оның Objectory компаниясы Rational құрамына қосылып, OOSE (Object-Oriented Software Engineering) тәсілімен біріктіру күшейді.
UML құрудағы мақсаттар
- Объектілік әдістемені (тек бағдарламалық қамтамасыз ету үшін ғана емес) пайдалана отырып, модельдеуді қамтамасыз ету.
- Тілдің анық және бірізді тұжырымдамасын қалыптастыру.
- Күрделі жүйелердегі ауқым (көлем) мәселесін шешуге мүмкіндік беру.
- Адамға да, машинаға да түсінікті модельдеу тілін жасау.
Қолданылу аясы
UML кез келген жүйені модельдеуге жарайды: кәсіпорын деңгейіндегі ақпараттық жүйелерден бастап, таратылған web-қосымшаларға және нақты уақыттағы кіріктірілген жүйелерге дейін. Тілдің мәнерлілігі жүйені жасау және оны әрі қарай дамытуға қатысты көптеген көзқарасты қамтуға мүмкіндік береді.
Бағдарламалық жүйелерде әсіресе тиімді
- Кәсіпорын ауқымындағы ақпараттық жүйелер
- Банктік және қаржылық қызмет көрсету
- Телекоммуникациялар
- Көлік жүйелері
- Қорғаныс өнеркәсібі, авиация және ғарыш саласы
- Бөлшек сауда
- Медициналық электроника
- Ғылым және зерттеу
- Таратылған web-жүйелер
Бағдарламалық инженериямен шектелмейді
UML-дың қолданылу аясы тек бағдарламалық қамтамасыз етуді модельдеумен шектелмейді. Мысалы, ол заң саласындағы құжат айналымын, ауруханалардағы пациенттерге қызмет көрсету үдерістерін, сондай-ақ аппараттық құралдарды жобалауды модельдеуге де қолайлы.
Концептуалды модель және оқу тәсілі
UML-ды үйренуді оның концептуалды моделінен бастаған дұрыс. Ол үш негізгі элементтен тұрады: базалық құрылыс блоктары, олардың үйлесімділігін анықтайтын ережелер және тілдің жалпы механизмдері.
UML — бұл тек тіл, яғни бағдарламалық қамтамасыз ету үдерісінің құрамдастарының бірі. Ол модельденетін нақтылықтан тәуелсіз болғанымен, модельдеу үдерісі итеративті әрі қадамдық түрде ұйымдастырылған кезде ерекше ыңғайлы.
Код пен ойлау: неге ортақ тіл қажет?
Көптеген бағдарламашылар үшін жобаны ой елегінен өткізу код жазумен тең сияқты көрінеді. Шынында, кейбір нәрселер тікелей программалау тіліндегі кодта айқынырақ беріледі: бағдарлама мәтіні алгоритмдер мен өрнектерді жазудың ең қысқа жолы болуы мүмкін. Дегенмен, бұл жағдайда да әзірлеуші формальды болмаса да модельдеумен айналысады — идеяларын тақтаға немесе қағазға түсіреді.
Формальды модельдеусіз туындайтын мәселелер
- Бірізді коммуникация: концептуалды модель туралы талқылау тек барлық қатысушылар ортақ тілде сөйлегенде нәтижелі болады. Ішкі “өз тілін” жасау жаңа қызметкер үшін түсінуді қиындатады.
- Көрінбейтін құрылым: мәтіндік тіл шеңберінен шықпай, жүйенің кейбір аспектілерін толық түсіну мүмкін емес. Мысалы, класс иерархиясының жалпы көрінісін кодты бөлшектеп оқымай тұтас қабылдау қиын.
- Білімнің жоғалуы: автор өз ойындағы модельді айқын түрде бекітпесе, ол басқа жұмысқа ауысқан кезде маңызды білім де бірге кетуі мүмкін.
UML осы мәселелердің кемінде бірін тікелей шешеді: команда ішіндегі тілдесуді жеңілдетеді. Кейбір бөліктерді мәтін түрінде, ал басқаларын графикалық модельдермен беру тиімді. Көптеген күрделі жүйелерде бір ғана программалау тілімен жеткізе алмайтын құрылымдар кездеседі — бұл жерде UML-дың графикалық табиғаты ерекше пайдалы.
UML жасаудағы негізгі қағидалар
- Пайдаланушыларға мағыналы модельдер құруға және олармен тиімді байланысуға мүмкіндік беретін мәнерлі тілді ұсыну.
- Негізгі тұжырымдамаларды кеңейту үшін кеңейту және мамандандыру механизмдерін қарастыру.
- Нақты программалау тілдерінен және әзірлеу үдерістерінен тәуелсіздікті қамтамасыз ету.
- Тілді түсіну үшін формальды негіз қалыптастыру.
Қорытынды: UML-дың мүмкіндіктері
- Объектіге бағытталған: талдау және жобалау нәтижелерін сипаттау қазіргі ОО-тілдердегі бағдарламалау тәсілдеріне семантикалық тұрғыдан жақын.
- Көпқырлы сипаттама: жүйенің түрлі аспектілерін және мүмкін болатын практикалық көзқарастарын толық көрсетуге мүмкіндік береді.
- Оқуға жеңіл: диаграмма синтаксисімен тез танысуға ыңғайлы.
- Кеңейтілімді: мәтіндік және графикалық стереотиптер арқылы бейімдеуге болады, бұл оны басқа салаларда да қолдануға жол ашады.
- Кең таралған: UML индустрияда кең қолданылады және белсенді дамуда.
Әдебиеттер
- Боггс У., Боггс М. UML және Rational Rose. — М.: ЛОРИ, 2000. — 577 б.
- Wikipedia: UML (ru.wikipedia.org/wiki/UML).
- Turboreferat сайты (анықтамалық материалдар).