Программалық құралдардың өңдеуделуі компьютер технологиясы және оның жұмыс орынының ұғымы.
CASE-тың анықталғанда өндiрудегi кейбiр қиындықтар пайда болады - (ПТ өңдеудегi компьютер технологиясы) .CASE - бұл (Компьютер - программалаудағы көмектесетін инженерия) ағылшын Computer-Aided Software Engineeringлерiн абревиатура. ПТ-да бiрақ компьютердi (қолдану ) ендi әлдеқашан кем дегенде (компилятор ең болмаса қолданылады) бірақ өндемейдi. Ұғым шындықта, бұл бiртiндеп қалай бұл әрдайым ұғым қандай болмасын қатал анықтауы болмайтында болатынын бұзылып қалатын мағына (арнайы ) тарлау салады. CASE-ға бастапқы (программалық аспаптар) программалық қолдауды қолданумен (талаптардың анықтауы, ПТ-ның сыртқы сипаттамасы және архитектурасының өңдеуi) ПТ-ның өңдеудiң ерте кезеңдерiнiң CASE-қа ендi ақпаратты алады және (қоса және оның бақылап отыруы) ПТ-ның жинағы тiршiлiк циклдасының инженериясы, бiрақ тек қана сол жартылай немесе толық бағдарлама өңдеудiң көрcетiлген ерте кезең алған құжаттар бойынша шығаратында жағдайда. CASE осы жағдайда - технология ПТ-ты өңдеудi (дәстүрлi ) қол технологиясынан айырмашылығы бола бастады: технологиялық үдерiстердi мазмұнғана емес, олардың жиынтығы да өзгердi. ПТ өңдеулер компъютер технологиясын дәл қазiр қолданумен мiнездеуге болады ПТ-ның график түрiнде талаптар және график түрiнде спецификацияларының өңдеулерi үшiн программалық қолдау, программалау тiлi немесе (жартылай немесе толық ) машина кодында, түпнұсқасын анықтауды программалық қолдау бағдарламалардың автоматты генерациясы қандай болмасын ол өзгермейді.Сонымен бiрге ПТ-ның өңдеуiн компьютер технологиясы «Қағассыз» болып табылғанын айтады, яғни компьютер ұсыныс өлшеулi программалық құжаттар. Алайда, қиын бұл белгiлер ПТ-ның өңдеуiн қол технологиясын компьютерден болған деген сенiмдi айыру. Демек компьютер өзi маңызды технологияларында ерекшеленбеген. ПТ-ның өңдеудi қол технологиясының бас айырмашылығы компьютерден төмендегiдей болады. Қол технологиясы компьютер технологиясы әртүрлi өңдеушi ПТ бiрдей түсiнiлетiн құжаттардың өңдеуiне сонда бағытталған компьютер технологиясының программалық қолдауын құжаттардың (интерпретация ) семантикалық түсiнуiн қамтамасыз етуге бағытталған. Құжаттардың компьютер ұсынысы мұндай олардың түсiнуiн әлi бiлдiруге жеткiлiксiз болады.Құжаттардың сонда семантикалық түсiнуi бағдарламалардың автоматты генерациясының мүмкiндiгiн программалық қолдауға бередi, мұндай түсiнудi қамтамасыз етудi қажеттiлiк қажет және кiретiн құжаттардың әр түрлi график түрiнде формалары iстейдi. Тап солай ПТ–ның өңдеу және бақылап отырудың технологиялық үдерiстерiн жиынтығы да өзгертуге ұтымды мүмкiндiк бередi.
Компьютер технологиясының мәндерi өткiзiлген талқылаудан циклдегi оған қатысты өзгерiстерi де түсiнуге болады. Егер ПТ өңдеу бойынша негiзгi күштердi қол технологиясының қолдануы (кодтау ) программалау және (тестеу) талқылау шындығында кезеңде iстелiнсе, онда компъютер технологиясының қолдануында - (талаптардың анықтауы және функционалдық спецификация) ПТ-ның өңдеудiң ерте кезеңдерiне жатады. Сонымен бiрге құжаттаманың сипаты айтарлықтай өзгердi: өңдеушi әр түрлi дәрежелерге (қолданушы ) тапсырма берушiдегi мәлiметтерi берiлу бағдарланған табандатқан үйреншiктi емес құжаттардың тiркесi орынына таңдаулы қолданбалы интерфейс қолдайтын ПТ және үстiрт функционалдық спецификациялар түп тұлғалар қалыптасады, (немесе түбегейлi олардың бөлiгi болмаса)ПТ бағдарламалардың (генерация ) автоматты синтезi үшiн жеткiлiктi.Сонымен бiрге өңдеушiлерге және қолданушыларға қажеттi құжаттаманың бiр бөлiгiнiң автоматты генерациясының мүмкiндiгi қажеттi пайда болды. (кодтаулар ) қол программалауы орынына - керек емес автономды талқылаумен iстейтiн және бағдарламалардың тестеу бағдарламалардың автоматты генерациясы: ол орынына қабылдайды құжаттаманың терең автоматты семантикалық бақылауы жеткiлiктi. Айтарлықтай ПТ-ның бақылап отыруын сипаттайық: ол өзгередi өңдеушi- жүргiзушiнiң барлық өзгерiстерi итке тек қана (қоса және түп тұлға) спецификацияда, өңге өзгерiстердi енгiзiледi автоматты iске асады. Компъютер технологиясының қолдануы бар ПТ-ның айтылған тiршiлiк циклiнiң есепке алуымен (1-шi сурет) келесi схемамен көрсетуге болады.
Түпнұсқасын анықтау қолданушының аралығында өзара әрекеттесудi жанама сипаттаманы алмастыруға мүмкiндiк бередi және барлық қажеттi бөлшектердi бекiтумен әдiс және бұл өзара әрекеттесудi стильнiң қолданушысын төте сайлауды (ПТ-ға талаптарының анықтауы және сыртқы сипаттамада) автоматты түрде орнатуға болады.
Қолданбалы интерфейстiң дәл сипаттамасы, компъютер технологиясының түсiнiктi программалық қолдауына кәзiргi жағдайда өндiрiп алады, және де қолданушының жауапты қатысуымен: өңдеушi әр түрлi мүмкiндiктер және қолданушы мониторда қолданушыға көрсетедi қолайлы оны варианттар үшiн таңдайды, қолданушысы олардың үстiнде ол жұмыстанылатын ақпараттық объекттер және операциялардың белгiсi, оны өңдеушi арқылы ендiредi рұқсаттың әдiсiн таңдайды олардың әр түрлi терезелермен, мәзiр, виртуалды клавиатуралармен ол ұластырады әр түрлi бөлiктер және перденiң бөлшектерiнiң даярлауларын көлемдi кiтапханасы бар күйiне келтiрiлетiн қабықтың компьютер технологиясының программалық қолдауындағы бар болуға бұның барлық негiзделу тағы сол сияқтылар.Нәтижеде көрcетiлген әсерлер ПТ қабықпен анықталады – ПТ жоғарғы бағдарлаушы деңгей. Сiрә, мұндай түпнұсқасын анықтау қолданушымен және өңдеушiнiң аралығында тосқауылдың жеңуiн жақсы әдiс болып табылады. Спецификациялардың өңдеуi бiрнеше әртүрлi процесстерге ыдырайды. Егер (талаптардың анықтауы) спецификациялардың өңдеуiн бастапқы кезеңдi шығарса, онда процесстер бұл формализацияланған құжаттардың жасауына, өйткенi жетектеп жүнетiн әдiстердi қолданылады. формализацияланған спецификациялар тiлдерiн қолданылады.Сонымен бiрге спецификациялардың әр түрлi схемалар және жеткiлiктi ақпараттық ортаның құрылымы және ПТ-ның басқаруын құрылымдарды анықтауға формалданатын диаграммалардың жасау жетектеп жүнетiн графикалық тәсiлдерi кең қолданылады. Мысалы, мұндай құрылымдарға мәлiмет сипаттамасының спецификацияларының алгебралық тiлiнелерi операциялық немесе аксиоматикалық семантиканы ) қолданушы көрсетiлген бөлiктерi және бағдарламалар немесе (негiзделетiн бағдарламалардың спецификациясына логикалық жолдарында) логикалық спецификациялар тiлдерi жалғанады. Мұндай спецификациялар бағдарламаларды автоматты шығаруға едәуiр дәрежеде немесе толық мүмкiндiк бередi.Программалауды технологияның аспапты жүйелерi. Өңдеулер және ұзақ тiршiлiк циклi бар үлкен Пт-ды бақылап отыруын компьютер қолдауы үшiн программалауды технологияның аспапты жүйелерiн қолданылады. Программалауды технологияның аспапты жүйесi - бұл программалық және аппаратты аспаптардың интеграцияланған жиынтығы, өңдеу және шеңберiнде нақтылы технологияның ағымында жинағы оның тiршiлiк циклдасының үлкен ПТ-ның бақылап отыруының қолдайтын барлық процесстерi. Бұл анықтаудан компьютер қолдауын бұл сыныптың келесi негiзгi сызықтары шығады: жинақтылық, ұжымдық өңдеуге хабарланғандық, технологиялық айқындық, үйлесiмдiлiк.
Ұжымдық өңдеуге хабарланғандық жүйе ұжымның жұмысымен (management ) басқаруды қолдайтынын және бұл ұжымның әртүрлi мүшелерi үшiн технологиялық үдерiстердi өнiмнiң әр түрлi бөлiктерiне әртүрлi қол жеткiзу құқықтары қамтамасыз етуi керек болатынын бiлдiредi. Компьютер қолдауын технологиялық айқындық оның жинақтылығы программалауды қандай болмасын нақты технологияның шеңберлерiмен шектелгенiн бiлдiредi. Программалауды технологияның аспапты жүйелерi болады бiрде аяқтаған олардың аспапты қол тимеушiлiгi болу үшiн үлкен және ПТ жеткiлiктi.Қосылатын аспаптардың оларында жиыны сондықтан тiлдер және программалауды таңдаулы технология қолданылатын пәндiк облыстардың қажеттiктерiнiң есепке алуымен мұқият iрiктеледi. Компьютер қолдауын үйлесiмдiлiктi бiлдiредi мәлiметтiң үйлесiмдiлiк, қолданбалы интерфейс бойынша үйлесiмдiлiк, (функцияларға) әсерлер бойынша үйлесiмдiлiк, Мәлiметтiң үйлесiмдiлiк аспаптар жүйенiң (ақпараттық объекттер) мәлiметтердiң бөлiктерiнiң әр түрлi қолданылатын жүйелерiнiң тәуелдiлiгi бiр-бiрiмен анықтайтын бекiтiлген (үлгiмен ) ақпараттық схемасымен сәйкес жұмыс iстегенiн бiлдiредi. Қолданбалы интерфейс бойынша үйлесiмдiлiк барлық аспаптар бiртұтас қолданбалы интерфейспен топтастырғанын бiлдiредi. Бiрiншiден, әсерлер бойынша үйлесiмдiлiк жүйеде барлық аспаптар жалпы бөлiмдерде болатынын бiлдiредi, екiншiден орындаудың жанында өз функцияларының бiр аспаптары басқа аспаптарға айнала алады.
Әрбір қабат барлық қабаттардың ішкі құрылуын білмей-ақ, алдын-ала анықталған интерфейс арқылы міндетті түрде қатысатын (анағұрлым төменірек) қабатпен басқару бойынша (компоненттерге айналу) өзара әсерлесе алады;
Әрбір қабат не басқа қабаттардан жасыратын, не келесі қабаттарға (көрсетілген, интерфейс арқылы) олардың кейбір абстракцияларын қамтамасыз ететін нақты ресурстарға ие.
Осылайша, қабатталған бағдарламалық жүйеде әрбір қабат бірілгендердің кейбір абстракциясын ұйымдастыра алады. Қабаттар арасындағы байланыстар әрбір қабаттың төменгі алмасуына айналу параметрлерінің мәндерін таратумен және төменнен жоғарғы қабатқа айналу нәтижелерін жіберумен шектелген. Бірнеше қабаттары бар глобальды берілгендерді қолдану рұқсат етілмеген.
Мысал ретінде операциялық жүйені тұрғызуға арналған мынадай архитектураны қолдануды қарастырайық. Мұндай архитектураны ТНЕ операциялық жүйесін құру кезінде дейсктра қолданған. Бұл операцииялық жүйе қабаттан тұрады (Сурет 1). Нөлінші қабатта барлық үзлістердің өңделуі және орталық процессордың пакеттік режимде бағдарламаларға (үрдістерге) бөлінуі жүзеге асырылады. Тек қана осы қабат жүйенің мультбағдарламалық аспектілері жөнінде хабардар етілген. Бірінші қабатта жүйенің беттік ұйымдасуын басқару орындалады. Барлық жоғары тұрған қабаттарға виртуалды үздіксіз (беттік емес) жад тиесілі.Екінші қабатта оператор консолімен (басқару тетігі) байланыс жүзеге асады. Тек осы қабат қанаконсольдің техникалық сипаттамаларын біледі. Үшінші қабатта берілгендердің кіріс және шығыс ағындарының буферизациясы жүзеге асады және кіріс пен шығыс абстрактілі каналдары жүзеге асады, сондықтан қосымша бағдарламалар кіріс пен шығыс құрылғыларының техникалық сипаттамаларын білмейді.
Қосымша бағдарламалар
|
3: Берілгендердің кіріс және шығыс байланысын басқару;
|
2:Оператордың консолімен байланысты қамтамасыз ету;
|
1: Жадпен басқару;
|
0: Үрдістердің диспетчерленуі және синхронизациясы.
|
Параллель жұмыс жасайтын бағдарламалардың ұжымы бір мезгілде орындалу кезінде қатыса отырып, өзара әсерлесуге қабілетті бағдарламалрды қамтиды. Бұл дегеніміз, мұндай бағдарламалар біріншіден оперативті жадқа шақырылған, белсендірілген және бір немесе бірнеше орталық процессорларды уақыт бойынша өзгермелі түрде бөле алады, екіншіден, базасында олардың синхронизациясы жүзеге асатын динамикалық әсерлерді (орындалу үрдісінде) өзара жүзеге асыра алады.
Әдетте мұндай үрдістер арасындағы өзара әсерлесу бір-біріне кейбір мәліметтерді жіберу жолымен жүзеге асады.
Мұндай архитектураның қарапайым түрі UNIX операциялық жүйесінде ұйымдасу құрылғылары бар болатын конвейерлер болып табылады. Конвейер әрбір бағдарламаның ең соңғысынан басқа стандарт шығысы осы тізбектің келесі бағдарламасының стандарт кірісімен байланысқан бағдарламалар тізбегін көрсетеді.(Сурет 2). Конвейер мәліметтердің кейбір ағындарын өңдейді.Осы ағынның әрбір мәліметі бірінші бағдарламаның кірісіне келіп түседі, ал оны өңдеп өңделген мәліметті келесі бағдарламаға жібереді, ал өзі ағынның келесі реттегі мәліметтерін өңдеуге кіріседі. Осылайша конвейердің әрбір бағдарламасы жұмыс істейді: орындалған бағдарламадан мәліметті алып жән өңдей отырып, өңделген мәліметті келесі бағдарламаға жібереді, ал конвейердің соңғы бағдарламасы бүкіл конвейердің жұмыс нәтижесін шығарады.( нәтижелі мәлімет) .Осылайша, n бағдарламалардан тұратын конвейерде бір мезгілдегі өңделу де n мәліметтерге дейінгі мәліметтер орналаса алады. Әрине конвейердің түрлі бағдарламалары келесі мәләметтерді өңдеуге уақыттың түрлі үзіктерін жұмсай алатынын ескере отырып, осы үрдістердің (кейбір үрдістер күту кезеңінде, не өңделген мәліметті жіберу мүмкіндігінде бола алады) қандай да бір синхрнизациялау тәсілін қамтамасыз ету керек.
Анағұрлым жалпы жағдайда параллель әсерлесетін бағдарламалардың ұжымы мәліметтер порты бар жүйеге ұйымдаса алады.
Мәліметтер порты өзімен бірге мәліметтердің кейбір ретіне қызмет ететін бағдарламалық жүйелерді қамтиды: ол бағдарламалардан қайсыбір мәліметті сақтауға қабылдай алады, және келесі мәліметтерді оның талабы бойынша басқа бағдарламаға бере алады. Қайсыбір бағдарламамен кейбір порттарға берілген мәлімет енді, бұл бағдарламаға (және оның ресурсын қолдануға) тиесілі болмайды, оның сұранысы бойынша қайсыбір бағдарламаға реті бойынша жіберілмейінше, ол басқа ешқандай бағдарламаға тиісті болмайды. Осылайша, мәліметті жіберетін бағдарлама осы мәліметті қабылдайтын бағдарлама оны өңдеуге дайын болмаса (егер тек қабылдайтын порт толып қалмайтын болса) күту кезеңінде орын алмайды.
Мәліметтер порттары бар бағдарламалық жүйе мысалы 3- суретте келтірілген И порты осы суретте келтірілген паралель әсерлесетін бағдарламалар ұжымына арналған шығыс мәліметтер порты ретінде қарастырылады.
Бағдарламалық жүйелі мәліметтер порты қатқыл конфигурациялы және иілгіш конфигурациялы болуы мүмкін.
Қатқыл конфигурациялы портты жүйелерде әрбір бағдарлама бір немесе бірнеше кіріс порттармен тығыз байланыста болады.
Мұндай бағдарлама мәліметтерді беру үші беру адресін нұсқау қажет: бағдарама аты және оның кіріс портының аты. Бұл жағдайда, жүйенің конфигурациясын жөндеу барысында қолданбалы бағдарламалар өзгереді: таратылатын мәлімет адресін өзгертеміз. Иілгіш конфигурациялы портты жүйелерде әрбір бағдарлама кіріс және шығыс виртуалды портымен байланысты. Мұндай жүйені қосу барысында пайдаланушы көрсеткен әрбір шығыс виртуалды портының кез-келген кіріс виртуалды портының мәліметтер негізінде алдын-ала арнайы бағдарламалық компонент көмегімен баптау жүргізу қажет.Осылайша, бұл жағдайда жүйенің конфигурациясын өзгертуде қолданбалы бағдарламаны қандай да бір түзетудің қажеті жоқ. Керек түзетулер мәліметтерді баптауда көрсетіеді.Алайда бұл жағдайда жүйені баптайтын арнайы бағдарламалық компоненттің болуы шарт.
Достарыңызбен бөлісу: |